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 "StjTrgBEMCJetPatchTowerIdMap2006.h"
00011
00012 #include "StjTrgMuDst.h"
00013
00014 #include "StjTrgSoftMuDstEmcTriggerMakerFactory.h"
00015 #include "StjTrgSoftMuDstTriggerSimuMakerFactory.h"
00016
00017 class StjTrigger2006DataMaker : public StMaker {
00018
00019 public:
00020
00021 StjTrigger2006DataMaker(const Char_t *name, TDirectory* file, StMuDstMaker* uDstMaker, StEmcTriggerMaker* emcTrigMaker)
00022 : StMaker(name), _file(file), _uDstMaker(uDstMaker)
00023 , _softTrgFactory(new StjTrgSoftMuDstEmcTriggerMakerFactory(emcTrigMaker, uDstMaker, new StjTrgBEMCJetPatchTowerIdMap2006()))
00024 { }
00025
00026 StjTrigger2006DataMaker(const Char_t *name, TDirectory* file, StMuDstMaker* uDstMaker, StTriggerSimuMaker* simuTrig)
00027 : StMaker(name), _file(file), _uDstMaker(uDstMaker)
00028 , _softTrgFactory(new StjTrgSoftMuDstTriggerSimuMakerFactory(simuTrig, uDstMaker, new StjTrgBEMCJetPatchTowerIdMap2006()))
00029 { }
00030
00031 virtual ~StjTrigger2006DataMaker() { }
00032
00033 const char* GetCVS() const
00034 {static const char cvs[]="Tag $Name: $ $Id: StjTrigger2006DataMaker.C,v 1.2 2008/11/21 01:38:06 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* _bht2Writer;
00045 StjTrgWriter* _bjp1_1Writer;
00046 StjTrgWriter* _bjp1_2Writer;
00047
00048 public:
00049
00050 Int_t Init()
00051 {
00052 StjTrgPassCondition* minbPassCondition = new StjTrgPassConditionHardOnly;
00053 StjTrg* minbTrg = new StjTrgMuDst(117001, minbPassCondition, _uDstMaker, _softTrgFactory->create());
00054 StjTrgPassCondition* minbFillCondition = new StjTrgPassConditionHardOnly;
00055 _minbWriter = new StjTrgMBWriter("trg117001", "trg117001", _file, minbTrg, minbFillCondition);
00056
00057 StjTrgPassCondition* bht2PassCondition = new StjTrgPassConditionHardAndSoft;
00058 StjTrg* bht2Trg = new StjTrgMuDst(137213, bht2PassCondition, _uDstMaker, _softTrgFactory->create());
00059 StjTrgPassCondition* bht2FillCondition = new StjTrgPassConditionHardOrSoft;
00060 _bht2Writer = new StjTrgHTWriter("trg137213", "trg137213", _file, bht2Trg, bht2FillCondition);
00061
00062 StjTrgPassCondition* bjp1_1PassCondition = new StjTrgPassConditionHardAndSoft;
00063 StjTrg* bjp1_1Trg = new StjTrgMuDst(137221, bjp1_1PassCondition, _uDstMaker, _softTrgFactory->create());
00064 StjTrgPassCondition* bjp1_1FillCondition = new StjTrgPassConditionHardOrSoft;
00065 _bjp1_1Writer = new StjTrgJPWriter("trg137221", "trg137221", _file, bjp1_1Trg, bjp1_1FillCondition);
00066
00067 StjTrgPassCondition* bjp1_2PassCondition = new StjTrgPassConditionHardAndSoft;
00068 StjTrg* bjp1_2Trg = new StjTrgMuDst(137222, bjp1_2PassCondition, _uDstMaker, _softTrgFactory->create());
00069 StjTrgPassCondition* bjp1_2FillCondition = new StjTrgPassConditionHardOrSoft;
00070 _bjp1_2Writer = new StjTrgJPWriter("trg137222", "trg137222", _file, bjp1_2Trg, bjp1_2FillCondition);
00071
00072 _minbWriter->Init();
00073 _bht2Writer->Init();
00074 _bjp1_1Writer->Init();
00075 _bjp1_2Writer->Init();
00076
00077 return kStOk;
00078 }
00079
00080 Int_t Make()
00081 {
00082 _minbWriter->Make();
00083 _bht2Writer->Make();
00084 _bjp1_1Writer->Make();
00085 _bjp1_2Writer->Make();
00086
00087 return kStOk;
00088 }
00089
00090 Int_t Finish()
00091 {
00092 _minbWriter->Finish();
00093 _bht2Writer->Finish();
00094 _bjp1_1Writer->Finish();
00095 _bjp1_2Writer->Finish();
00096
00097 return kStOk;
00098 }
00099
00100 ClassDef(StjTrigger2006DataMaker, 0)
00101
00102 };