LCTuple  1.6.0
LCTuple.h
1 #ifndef LCTuple_h
2 #define LCTuple_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
8 #include "MCParticleFromRelationBranches.h"
9 
10 #include "JetBranches.h"
11 
12 
13 using namespace lcio ;
14 using namespace marlin ;
15 
16 class TTree ;
17 class CWBranchesSet ;
18 class CollectionBranches;
19 
37 class LCTuple : public Processor {
38 
39  public:
40 
41  virtual Processor* newProcessor() { return new LCTuple ; }
42 
43 
44  LCTuple() ;
45 
49  virtual void init() ;
50 
53  virtual void processRunHeader( LCRunHeader* run ) ;
54 
57  virtual void processEvent( LCEvent * evt ) ;
58 
59 
60  virtual void check( LCEvent * evt ) ;
61 
62 
65  virtual void end() ;
66 
67 
68  protected:
69 
72  std::string _mcpColName ;
73  std::string _mcpRemoveOverlayColName ;
74  std::string _recColName ;
75  std::string _jetColName ;
76  std::string _isolepColName ;
77  std::string _trkColName ;
78  std::string _cluColName ;
79  std::string _sthColName ;
80  std::string _trhColName ;
81  std::string _schColName ;
82  std::string _cahColName ;
83  std::string _vtxColName ;
84  std::string _pfoRelName ;
85  std::string _relName ;
86 
87 
88 
89  bool _mcpColWriteParameters ;
90  bool _recColWriteParameters ;
91  bool _jetColWriteParameters ;
92  bool _isolepColWriteParameters ;
93  bool _trkColWriteParameters ;
94  bool _cluColWriteParameters ;
95  bool _sthColWriteParameters ;
96  bool _trhColWriteParameters ;
97  bool _schColWriteParameters ;
98  bool _cahColWriteParameters ;
99  bool _vtxColWriteParameters ;
100 
101 
102  bool _jetColExtraParameters ; /* Enables writing extra jet parameters */
103  bool _jetColTaggingParameters ; /* Enables writing jet tagging parameters */
104 
105 
106  StringVec _relColNames ;
107  StringVec _relPrefixes ;
108 
109  TTree* _tree ;
110 
111  CWBranchesSet* _evtBranches ;
112  CollectionBranches* _mcpBranches ;
113  CollectionBranches* _mcpremoveoverlayBranches ;
114  CollectionBranches* _recBranches ;
115 // CollectionBranches* _jetBranches ;
116  JetBranches* _jetBranches ;
117  CollectionBranches* _isolepBranches ;
118  CollectionBranches* _trkBranches ;
119  CollectionBranches* _cluBranches ;
120  CollectionBranches* _sthBranches ;
121  CollectionBranches* _trhBranches ;
122  CollectionBranches* _schBranches ;
123  CollectionBranches* _cahBranches ;
124  CollectionBranches* _vtxBranches ;
125  MCParticleFromRelationBranches* _mcRelBranches ;
126 
127  std::vector<CWBranchesSet*> _relBranchesVec ;
128 
129  int _nRun ;
130  int _nEvt ;
131 } ;
132 
133 #endif
std::string _mcpColName
Input collection name.
Definition: LCTuple.h:72
Base class for branches of collections.
Definition: CollectionBranches.h:23
Creates a simple column wise ntuple in a ROOT tree from LCIO collections.
Definition: LCTuple.h:37
MCParticleFromRelationBranches holds branches created from MCParticleCollection.
Definition: MCParticleFromRelationBranches.h:22
JetBranches holds branches created from a ReconstructedParticle collection.
Definition: JetBranches.h:62
CWBranchesSet holds a set of branches in a columnwise ntuple that are filled from one collection...
Definition: CWBranchesSet.h:20