00001
00002
00003 #ifndef STJETMAKER_H
00004 #define STJETMAKER_H
00005
00006
00007 class TTree;
00008
00009
00010 class StMuDstMaker;
00011 class StFourPMaker;
00012 class StJetPars;
00013 class StppAnaPars;
00014 class StJets;
00015 class StJetEvent;
00016 class StjeParticleCollector;
00017 class StjeJetFinderRunner;
00018 class StjeJetCuts;
00019 class StjeTreeWriter;
00020 class AbstractFourVec;
00021
00022
00023 #include <list>
00024 #include <vector>
00025
00026 using namespace std;
00027
00028
00029 #include "StMaker.h"
00030 #include "StJetFinder/StProtoJet.h"
00031
00032 class StJetMaker : public StMaker {
00033 public:
00034 StJetMaker(const char* name, StMuDstMaker* uDstMaker, const char* outputFile);
00035 virtual ~StJetMaker();
00036
00037 Int_t Init();
00038 Int_t Make();
00039 Int_t Finish();
00040
00041 TTree* tree() const;
00042
00043 void SetTreeWriter(StjeTreeWriter* treeWriter);
00044
00045 void addAnalyzer(const StppAnaPars* anapars, StJetPars* jetpars, StFourPMaker* fourPMaker, const char* name);
00046
00047 StJets* getStJets(const char* branchName = "ConeJets12") const;
00048 StJetEvent* getStJetEvent(const char* branchname = "ConeJets12") const;
00049
00050 StjeTreeWriter* getTreeWriter() { return _treeWriter; }
00051
00052 const char* GetCVS() const
00053 {static const char cvs[]="Tag $Name: $ $Id: StJetMaker.h,v 1.58 2010/06/05 03:13:13 pibero Exp $ built "__DATE__" "__TIME__; return cvs;}
00054
00055 private:
00056 struct StJetBranch {
00057 TString name;
00058 vector<const AbstractFourVec*> particles;
00059 list<StProtoJet> protojets;
00060 StjeParticleCollector* particleCollector;
00061 StjeJetFinderRunner* jetFinder;
00062 StjeJetCuts* jetCuts;
00063
00064 StJetBranch(const StppAnaPars* anapars, StJetPars* jetpars, StFourPMaker* fourPMaker, const char* name);
00065
00066 void clear()
00067 {
00068 particles.clear();
00069 protojets.clear();
00070 }
00071 };
00072
00073 vector<StJetBranch*> mJetBranches;
00074
00075 StjeTreeWriter* _defaultTreeWriter;
00076 StjeTreeWriter* _treeWriter;
00077
00078 ClassDef(StJetMaker,0);
00079 };
00080
00081 #endif // STJETMAKER_H