MarlinTPC  1.2.0
DistortionPerformanceProcessor.h
1 /*
2  * DistortionPerformanceProcessor.h
3  *
4  * Created on: October 2nd, 2013
5  * Author: amunnich
6  */
7 
8 #ifndef DISTORTIONPERFROMANCEPROSECCOR_H
9 #define DISTORTIONPERFROMANCEPROSECCOR_H
10 
11 #include <marlin/Processor.h>
12 #include <lcio.h>
13 
14 #include "ModuleDistortionCalculator.h"
15 
16 // Aida
17 #ifdef MARLIN_USE_AIDA
18 //AIDA
19 #include <marlin/AIDAProcessor.h>
20 #endif
21 
22 //GEAR
23 #include "gear/TPCParameters.h"
24 
25 #include "TH1.h"
26 #include "TNtuple.h"
27 
28 
29 namespace marlintpc
30 {
36  class DistortionPerformanceProcessor : public marlin::Processor
37  {
38  public:
39 
40  virtual Processor* newProcessor() { return new DistortionPerformanceProcessor; }
41 
43 
44  virtual void init();
45 
46  virtual void processRunHeader(lcio::LCRunHeader* run);
47 
48  virtual void processEvent(lcio::LCEvent* evt);
49 
50  virtual void check(lcio::LCEvent* evt);
51 
52  virtual void end();
53 
54 
55  protected:
56  std::string _inputColName;
57 
58 
59  private:
60 
61  ModuleDistortionCalculator * _myModuleDistortionCalculator;
62 
66  std::map< std::pair<int,int>, TH1*> _HistogramsRow;
67  std::map< std::pair<int,int>, TH1*> _HistogramsZ;
68 
69  TNtuple * _xyDistortionsTuple;
70  TNtuple * _zDistortionsTuple;
71 
75  std::map< std::pair<int,int>, std::pair<double,double> > _ResultsRow;
76  std::map< std::pair<int,int>, std::pair<double,double> > _ResultsZ;
77 
78  const gear::TPCParameters* _GearParameters;
79 
80  //count failed intersections
81  int _failedIntersections;
82  int _intersectionCalls;
83  };
84 }
85 
86 #endif //DISTORTIONPERFORMANCEPROSECCOR_H
std::string _inputColName
Name of the input collection with tracks.
Definition: DistortionPerformanceProcessor.h:56
Class to calculate distortions per row along the row.
Definition: ModuleDistortionCalculator.h:28
Marlin processor for distortion analysis Computes the distortion along a row for all hits on input tr...
Definition: DistortionPerformanceProcessor.h:36