00001 #include "StMaker.h"
00002
00003 #include "StjTrgPassCondition.h"
00004
00005 #include "StjTrgMuDst.h"
00006
00007 #include "StjBEMCMuDst.h"
00008
00009 #include "StjTrgJPWriter.h"
00010 #include "StjTrgHTWriter.h"
00011 #include "StjTrgMBWriter.h"
00012 #include "StjTrgBEMCJetPatchTowerIdMap2005.h"
00013
00014 #include "StjTrgSoftPass.h"
00015 #include "StjTrgSoftEtThresholdBHT.h"
00016 #include "StjTrgSoftEtThresholdBJP.h"
00017
00018 #include "StjTrgMuDst.h"
00019
00020 class StjTrigger2005DataMaker2 : public StMaker {
00021
00022 public:
00023
00024 StjTrigger2005DataMaker2(const Char_t *name, TDirectory* file, StMuDstMaker* uDstMaker)
00025 : StMaker(name), _file(file), _uDstMaker(uDstMaker)
00026 { }
00027
00028 virtual ~StjTrigger2005DataMaker2() { }
00029
00030 const char* GetCVS() const
00031 {static const char cvs[]="Tag $Name: $ $Id: StjTrigger2005DataMaker2.C,v 1.2 2008/08/19 20:01:01 tai Exp $ built "__DATE__" "__TIME__; return cvs;}
00032
00033 private:
00034
00035 TDirectory* _file;
00036
00037 StMuDstMaker* _uDstMaker;
00038
00039 StjTrgWriter* _minbWriter;
00040 StjTrgWriter* _bht1Writer;
00041 StjTrgWriter* _bht2Writer;
00042 StjTrgWriter* _bjp1Writer;
00043 StjTrgWriter* _bjp2Writer;
00044
00045 public:
00046
00047 Int_t Init()
00048 {
00049 StjBEMC* bemc = new StjBEMCMuDst(_uDstMaker, true);
00050
00051 StjTrgPassCondition* minbPassCondition = new StjTrgPassConditionHardOnly;
00052 StjTrg* minbTrg = new StjTrgMuDst(96011, minbPassCondition, _uDstMaker, new StjTrgSoftPass());
00053 StjTrgPassCondition* minbFillCondition = new StjTrgPassConditionHardOnly;
00054 _minbWriter = new StjTrgMBWriter("trgMINB", "trgMINB", _file, minbTrg, minbFillCondition);
00055
00056 StjTrgPassCondition* bht1PassCondition = new StjTrgPassConditionHardAndSoft;
00057 StjTrgSoft* softbht1 = new StjTrgSoftEtThresholdBHT(bemc, 2.0);
00058 StjTrg* bht1Trg = new StjTrgMuDst(96201, bht1PassCondition, _uDstMaker, softbht1);
00059 StjTrgPassCondition* bht1FillCondition = new StjTrgPassConditionHardOrSoft;
00060 _bht1Writer = new StjTrgHTWriter("trgBHT1", "trgBHT1", _file, bht1Trg, bht1FillCondition);
00061
00062 StjTrgPassCondition* bht2PassCondition = new StjTrgPassConditionHardAndSoft;
00063 StjTrgSoft* softbht2 = new StjTrgSoftEtThresholdBHT(bemc, 3.0);
00064 StjTrg* bht2Trg = new StjTrgMuDst(96211, bht2PassCondition, _uDstMaker, softbht2);
00065 StjTrgPassCondition* bht2FillCondition = new StjTrgPassConditionHardOrSoft;
00066 _bht2Writer = new StjTrgHTWriter("trgBHT2", "trgBHT2", _file, bht2Trg, bht2FillCondition);
00067
00068 StjTrgBEMCJetPatchTowerIdMap* bemcJpTowerMap = new StjTrgBEMCJetPatchTowerIdMap2005();
00069
00070 StjTrgPassCondition* bjp1PassCondition = new StjTrgPassConditionHardAndSoft;
00071 StjTrgSoft* softbjp1 = new StjTrgSoftEtThresholdBJP(bemc, bemcJpTowerMap, 4.0);
00072 StjTrg* bjp1Trg = new StjTrgMuDst(96221, bjp1PassCondition, _uDstMaker, softbjp1);
00073 StjTrgPassCondition* bjp1FillCondition = new StjTrgPassConditionHardOrSoft;
00074 _bjp1Writer = new StjTrgJPWriter("trgBJP1", "trgBJP1", _file, bjp1Trg, bjp1FillCondition);
00075
00076 StjTrgPassCondition* bjp2PassCondition = new StjTrgPassConditionHardAndSoft;
00077 StjTrgSoft* softbjp2 = new StjTrgSoftEtThresholdBJP(bemc, bemcJpTowerMap, 5.0);
00078 StjTrg* bjp2Trg = new StjTrgMuDst(96233, bjp2PassCondition, _uDstMaker, softbjp2);
00079 StjTrgPassCondition* bjp2FillCondition = new StjTrgPassConditionHardOrSoft;
00080 _bjp2Writer = new StjTrgJPWriter("trgBJP2", "trgBJP2", _file, bjp2Trg, bjp2FillCondition);
00081
00082 _minbWriter->Init();
00083 _bht1Writer->Init();
00084 _bht2Writer->Init();
00085 _bjp1Writer->Init();
00086 _bjp2Writer->Init();
00087
00088 return kStOk;
00089 }
00090
00091 Int_t Make()
00092 {
00093 _minbWriter->Make();
00094 _bht1Writer->Make();
00095 _bht2Writer->Make();
00096 _bjp1Writer->Make();
00097 _bjp2Writer->Make();
00098
00099 return kStOk;
00100 }
00101
00102 Int_t Finish()
00103 {
00104 _minbWriter->Finish();
00105 _bht1Writer->Finish();
00106 _bht2Writer->Finish();
00107 _bjp1Writer->Finish();
00108 _bjp2Writer->Finish();
00109
00110 return kStOk;
00111 }
00112
00113 ClassDef(StjTrigger2005DataMaker2, 0)
00114
00115 };