"MarlinReco"  1.32.0
NewLDCCaloDigi.h
1 #ifndef DIGITIZER_NEWLDCCALODIGI_H
2 #define DIGITIZER_NEWLDCCALODIGI_H 1
3 
4 #include "marlin/Processor.h"
5 #include <IMPL/CalorimeterHitImpl.h>
6 #include "lcio.h"
7 #include <string>
8 #include <vector>
9 
10 using namespace lcio ;
11 using namespace marlin ;
12 
13 const int MAX_LAYERS = 200;
14 const int MAX_STAVES = 16;
15 
68 class NewLDCCaloDigi : public Processor {
69 
70  public:
71 
72  virtual Processor* newProcessor() { return new NewLDCCaloDigi ; }
73 
74 
75  NewLDCCaloDigi() ;
76 
77  virtual void init() ;
78 
79  virtual void processRunHeader( LCRunHeader* run ) ;
80 
81  virtual void processEvent( LCEvent * evt ) ;
82 
83  virtual void check( LCEvent * evt ) ;
84 
85  virtual void end() ;
86 
87  virtual void fillECALGaps() ;
88 
89 
90  protected:
91 
92  int _nRun{};
93  int _nEvt{};
94 
95  std::vector<std::string> _ecalCollections{};
96  std::vector<std::string> _hcalCollections{};
97 
98 
99  std::string _outputEcalCollection0{};
100  std::string _outputEcalCollection1{};
101  std::string _outputEcalCollection2{};
102  std::string _outputHcalCollection0{};
103  std::string _outputHcalCollection1{};
104  std::string _outputHcalCollection2{};
105  std::vector<std::string> _outputEcalCollections{};
106  std::vector<std::string> _outputHcalCollections{};
107  std::string _outputRelCollection{};
108 
109  float _thresholdEcal{};
110  std::vector<float> _thresholdHcal{};
111 
112  int _digitalEcal{};
113  int _digitalHcal{};
114 
115  std::vector<float> _calibrCoeffEcal{};
116  std::vector<float> _calibrCoeffHcal{};
117 
118  std::vector<int> _ecalLayers{};
119  std::vector<int> _hcalLayers{};
120 
121  int _ecalGapCorrection{};
122  float _ecalGapCorrectionFactor{};
123  float _ecalModuleGapCorrectionFactor{};
124  float _ecalEndcapCorrectionFactor{};
125  float _hcalEndcapCorrectionFactor{};
126 
127 
128  std::string _cellIDLayerString{};
129  std::string _cellIDModuleString{};
130  std::string _cellIDStaveString{};
131 
132 
133  std::vector<CalorimeterHitImpl*> _calHitsByStaveLayer[MAX_STAVES][MAX_LAYERS];
134  std::vector<int> _calHitsByStaveLayerModule[MAX_STAVES][MAX_LAYERS];
135 
136  float _zOfEcalEndcap{};
137  float _barrelPixelSizeT[MAX_LAYERS]{};
138  float _barrelPixelSizeZ[MAX_LAYERS]{};
139  float _endcapPixelSizeX[MAX_LAYERS]{};
140  float _endcapPixelSizeY[MAX_LAYERS]{};
141  float _barrelStaveDir[MAX_STAVES][2]{};
142 
143 
144 } ;
145 
146 #endif
147 
148 
149 
=== NewLDCCaloDigi Processor === Simple calorimeter digitizer Processor.
Definition: NewLDCCaloDigi.h:68