MarlinTPC  1.2.0
GridPixPixelClusterProcessor.h
1 #ifndef GridPixPixelClusterProcessor_h
2 #define GridPixPixelClusterProcessor_h 1
3 
4 #include "GridPixXrayObject.h"
5 
6 //c++
7 #include <string>
8 #include <sstream>
9 #include <vector>
10 #include <map>
11 #include <list>
12 #include <cmath>
13 
14 //lcio
15 #include <lcio.h>
16 #include <EVENT/LCCollection.h>
17 #include <EVENT/LCRelation.h>
18 #include <EVENT/TrackerHit.h>
19 #include <EVENT/TrackerData.h>
20 #include <IMPL/LCCollectionVec.h>
21 #include <IMPL/LCRelationImpl.h>
22 #include <IMPL/TrackerHitImpl.h>
23 #include <IMPL/TrackerDataImpl.h>
24 
25 //marlin
26 #include <marlin/Global.h>
27 #include <marlin/Processor.h>
28 
29 //gear
30 #include <gear/GEAR.h>
31 #include <gear/TPCModule.h>
32 #include <gear/TPCParameters.h>
33 #include <gear/PadRowLayout2D.h>
34 
35 //aida
36 #include <AIDA/AIDA.h>
37 #include <marlin/AIDAProcessor.h>
38 
39 //root
40 #include <TH1D.h>
41 #include <TH2D.h>
42 
43 namespace marlintpc{
44 
46 {
47 
48  std::map<int,int>* _chargeMap;
49 
50 public:
51 
52  CompareByCharge(std::map<int,int>* chargeMap) : _chargeMap(chargeMap) {}
53 
54  bool operator()(int firstCellID0, int secondCellID0) const
55  {
56  return (*_chargeMap)[firstCellID0] < (*_chargeMap)[secondCellID0];
57  }
58 
59 };
60 
61 
62 class GridPixPixelClusterProcessor : public marlin::Processor
63 {
64 
65 public:
66 
67  virtual Processor* newProcessor(){ return new GridPixPixelClusterProcessor; }
68 
70 
72 
73  virtual void init();
74 
75  virtual void processRunHeader( lcio::LCRunHeader* run );
76 
77  virtual void processEvent( lcio::LCEvent* evt );
78 
79  virtual void check( lcio::LCEvent* evt );
80 
81  virtual void end();
82 
83 protected:
84 
85  std::string _inputCol;
86 
87  std::string _outputHits;
88  std::string _outputData;
89 
90  int _outputIsTransient;
91 
92  double _maxSharedFraction;
93 
94  int _minSharingCharge;
95  int _minChargeOnPixel;
96 
97  int _minNoPixel;
98 
99  std::vector<TH1D*> _histoVec;
100  std::vector<TH2D*> _scatterVec;
101 
102  int _nColumn;
103  int _nRow;
104 
105 };//class GridPixPixelClusterProcessor
106 
107 }//namespace marlintpc
108 
109 #endif
Definition: GridPixPixelClusterProcessor.h:62
Definition: GridPixPixelClusterProcessor.h:45