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