00001
00002
00003
00004
00005
00006 #ifndef STJETSIMUREADER_H
00007 #define STJETSIMUREADER_H
00008
00009 #include "StMaker.h"
00010 #include "StJetMaker/StJetMaker.h"
00011
00012 class TTree;
00013 class TFile;
00014 class StMuDstMaker;
00015 class StJetSkimEvent;
00016
00017 class StJetSimuReader : public StMaker{
00018
00019
00020 public:
00021
00023 typedef map<string, StJets*, less<string> > JetBranchesMap;
00024
00026 StJetSimuReader(const char* name, StMuDstMaker* uDstMaker);
00027 virtual ~StJetSimuReader();
00028
00029 virtual Int_t Init();
00030 virtual Int_t Make();
00031 virtual Int_t Finish();
00032
00034 virtual void InitFile(const char* file);
00035
00037 virtual void InitJetSkimFile(const char* file);
00038
00041 virtual void InitTree(TTree* tree);
00042
00044 int preparedForDualRead();
00045
00047 JetBranchesMap& jetsMap();
00048
00050 void exampleSimuAna();
00051
00053 TTree* tree() {return mTree;}
00054
00056 TTree* skimTree() {return mSkimTree;}
00057
00059 StJetSkimEvent* skimEvent() {return mSkimEvent;}
00060
00061 private:
00062 JetBranchesMap mStJetsMap;
00063 TFile *mFile;
00064 TTree *mTree;
00065 TFile* mSkimFile;
00066 TTree* mSkimTree;
00067 StMuDstMaker *mDstMaker;
00068 int mCounter;
00069 bool mValid;
00070 StJetSkimEvent* mSkimEvent;
00071 ofstream* mOfstream;
00072
00073
00074 ClassDef(StJetSimuReader,1)
00075 };
00076
00077
00078
00079 inline StJetSimuReader::JetBranchesMap& StJetSimuReader::jetsMap(){
00080 return mStJetsMap;
00081 }
00082
00083 #endif // STJETSIMUREADER_H