MarlinTPC  1.2.0
TripletResolutionPerformanceProcessor.h
1 #ifndef TRIPLETRESOLUTIONPERFORMANCEPROCESSOR_H
2 #define TRIPLETRESOLUTIONPERFORMANCEPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include "marlin/Global.h"
6 
7 #include <lcio.h>
8 #include <string>
9 
10 //MarlinTPC
11 #include "ModuleDistortionCalculator.h"
12 //GEAR
13 #include "gear/TPCParameters.h"
14 
15 //ROOT
16 #include "TH1D.h"
17 #include "TNtuple.h"
18 
19 
20 namespace marlintpc
21 {
22 
51 class TripletResolutionPerformanceProcessor : public marlin::Processor
52 {
53  public:
54 
55  virtual Processor* newProcessor() { return new TripletResolutionPerformanceProcessor; }
56 
58 
59  virtual void init();
60 
61  virtual void processRunHeader(lcio::LCRunHeader* run);
62 
63  virtual void processEvent(lcio::LCEvent* evt);
64 
65  virtual void check(lcio::LCEvent* evt);
66 
67  virtual void end();
68 
69 
70  protected:
71  /* the place for protected and private member data and functions */
72  std::string _inputColName;
73 
74  private:
75 
76  int _xyTripletsBins;
77  float _xyTripletsRange;
78  int _zTripletsBins;
79  float _zTripletsRange;
80 
84  std::map< std::pair<int,int>, TH1*> _zTripletsRow;
85  std::map< std::pair<int,int>, TH1*> _xyTripletsRow;
86 
87 
91  TH1 * _zTripletsAll;
92  TH1 * _xyTripletsAll;
93 
94 
95  TNtuple * _allRowsTuple;
96  TNtuple * _singleRowsTuple;
97  TNtuple * _bestRowTuple;
98 
99 
100  int _meanMethodZ;
101  int _meanMethodXY;
102  int _bestModule;
103  int _bestRow;
104 
105  const gear::TPCParameters* _gearParameters;
106 
107 };
108 } // namespace marlintpc
109 #endif // TRIPLETRESOLUTIONPERFORMANCEPROCESSOR_H
std::string _inputColName
Name of the input collection.
Definition: TripletResolutionPerformanceProcessor.h:72
Resolution calculator.
Definition: TripletResolutionPerformanceProcessor.h:51