MarlinTPC  1.2.0
PRFPerformanceProcessor.h
1 #ifndef PRFPERFORMANCEPROCESSOR_H
2 #define PRFPERFORMANCEPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 
8 //GEAR
9 #include "gear/TPCParameters.h"
10 
11 #include "TH2.h"
12 #include "TNtuple.h"
13 // Aida
14 #ifdef MARLIN_USE_AIDA
15 //AIDA
16 #include <marlin/AIDAProcessor.h>
17 #endif
18 
19 
20 namespace marlintpc
21 {
30 class PRFPerformanceProcessor : public marlin::Processor
31 {
32 public:
33 
34  virtual Processor* newProcessor() { return new PRFPerformanceProcessor; }
35 
37 
38  virtual void init();
39 
40  virtual void processRunHeader(lcio::LCRunHeader* run);
41 
42  virtual void processEvent(lcio::LCEvent* evt);
43 
44  virtual void check(lcio::LCEvent* evt);
45 
46  virtual void end();
47 
48 
49 protected:
50  /* the place for protected and private member data and functions */
51  std::string _inputColName;
52 
53 
54 private:
55 
56 
60  std::map< std::pair<int,int>, TH2*> _histogramsRow;
61  TH2 * _prfAll;
62 
63  const gear::TPCParameters* _gearParameters;
64 
65  TNtuple * _singleRowsTuple;
66  TNtuple * _bestRowTuple;
67  TNtuple * _allRowsTuple;
68  TNtuple * _singleRowsTupleCorrected;
69  TNtuple * _bestRowTupleCorrected;
70 
71 
72 
73  int _bestModule;
74  int _bestRow;
75 
79  std::map< std::pair<int,int>, std::pair<double,double> > _resultsRow;
80 
81 
82 
83 };
84 } // namespace marlintpc
85 #endif // PRFPERFORMANCEPROCESSOR_H
Marlin processor for PRF analysis.
Definition: PRFPerformanceProcessor.h:30
std::string _inputColName
Name of the input collection.
Definition: PRFPerformanceProcessor.h:51