00001
00002
00003
00004
00005 #ifndef STJETSKIMEVENTMAKER_H
00006 #define STJETSKIMEVENTMAKER_H
00007
00008 #include "StMaker.h"
00009 #include <string>
00010 using namespace std;
00011
00012 #include <TRef.h>
00013
00014 class TFile;
00015 class StMuDstMaker;
00016 class StMCAsymMaker;
00017 class TTree;
00018 class StJetSkimEvent;
00019 class StJetSkimTrig;
00020 class StJetSkimTrigHeader;
00021
00022 class StJetSkimEventMaker : public StMaker
00023 {
00024 public:
00025
00026 StJetSkimEventMaker(const Char_t *name, StMuDstMaker* uDstMaker, const char *outputFile);
00027 virtual ~StJetSkimEventMaker();
00028
00029 virtual Int_t Init();
00030 virtual Int_t InitRun(int runnumber);
00031 virtual Int_t Make();
00032 virtual Int_t Finish();
00033 virtual void Clear(const Option_t*);
00034
00035 TTree* tree() const { return mTree; }
00036 StJetSkimEvent* event() const { return mEvent; }
00037
00038 void addSimuTrigger(int trigId) {mSimuTrigIds.push_back(trigId);}
00039
00040 const char* GetCVS() const
00041 {static const char cvs[]="Tag $Name: $ $Id: StJetSkimEventMaker.h,v 1.7 2009/12/15 19:08:12 pibero Exp $ built "__DATE__" "__TIME__; return cvs;}
00042
00043 protected:
00044 StMuDstMaker* muDstMaker;
00045 StMCAsymMaker* mcAsymMaker;
00046
00047 private:
00048 const char* outName;
00049 TFile* mOutfile;
00050 TTree* mTree;
00051 StJetSkimEvent* mEvent;
00052 TRef mCurrentHeaderRef;
00053 vector<int> mSimuTrigIds;
00054 bool isRealData;
00055
00056 void fillTriggerSimulationInfo(StJetSkimTrig &trig);
00057 void fillThresholds(StJetSkimTrigHeader &header);
00058
00059 ClassDef(StJetSkimEventMaker,0)
00060 };
00061
00062
00063 #endif // STJETSKIMEVENTMAKER_H