StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StJetMaker.h
1 // -*- mode: c++;-*-
2 // $Id: StJetMaker.h,v 1.59 2014/08/06 11:43:22 jeromel Exp $
3 #ifndef STJETMAKER_H
4 #define STJETMAKER_H
5 
6 // ROOT
7 class TTree;
8 
9 // STAR
10 class StMuDstMaker;
11 class StFourPMaker;
12 class StJetPars;
13 class StppAnaPars;
14 class StJets;
15 class StJetEvent;
18 class StjeJetCuts;
19 class StjeTreeWriter;
20 class AbstractFourVec;
21 
22 // C++ STL
23 #include <list>
24 #include <vector>
25 
26 using namespace std;
27 
28 // STAR
29 #include "StMaker.h"
30 #include "StJetFinder/StProtoJet.h"
31 
32 class StJetMaker : public StMaker {
33 public:
34  StJetMaker(const char* name, StMuDstMaker* uDstMaker, const char* outputFile);
35  virtual ~StJetMaker();
36 
37  Int_t Init();
38  Int_t Make();
39  Int_t Finish();
40 
41  TTree* tree() const;
42 
43  void SetTreeWriter(StjeTreeWriter* treeWriter);
44 
45  void addAnalyzer(const StppAnaPars* anapars, StJetPars* jetpars, StFourPMaker* fourPMaker, const char* name);
46 
47  StJets* getStJets(const char* branchName = "ConeJets12") const;
48  StJetEvent* getStJetEvent(const char* branchname = "ConeJets12") const;
49 
50  StjeTreeWriter* getTreeWriter() { return _treeWriter; }
51 
52  const char* GetCVS() const
53  {static const char cvs[]="Tag $Name: $ $Id: StJetMaker.h,v 1.59 2014/08/06 11:43:22 jeromel Exp $ built " __DATE__ " " __TIME__; return cvs;}
54 
55 private:
56  struct StJetBranch {
57  TString name;
58  vector<const AbstractFourVec*> particles;
59  list<StProtoJet> protojets;
60  StjeParticleCollector* particleCollector;
61  StjeJetFinderRunner* jetFinder;
62  StjeJetCuts* jetCuts;
63 
64  StJetBranch(const StppAnaPars* anapars, StJetPars* jetpars, StFourPMaker* fourPMaker, const char* name);
65 
66  void clear()
67  {
68  particles.clear();
69  protojets.clear();
70  }
71  };
72 
73  vector<StJetBranch*> mJetBranches;
74 
75  StjeTreeWriter* _defaultTreeWriter;
76  StjeTreeWriter* _treeWriter;
77 
78  ClassDef(StJetMaker,0);
79 };
80 
81 #endif // STJETMAKER_H
Definition: StJets.h:24