CMS 3D CMS Logo

GlobalDigisProducer.h
Go to the documentation of this file.
1 #ifndef GlobalDigisProducer_h
2 #define GlobalDigisProducer_h
3 
13 // framework & common header files
20 //#include "DataFormats/Common/interface/Provenance.h"
25 
26 //DQM services
29 
30 // ecal calorimeter info
39 
40 // hcal calorimeter info
52 //#include "Geometry/Records/interface/IdealGeometryRecord.h"
53 //#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
54 //#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
55 //#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
57 
58 // silicon strip info
62 
63 // silicon pixel info
66 
67 // muon DT info
72 
73 // muon CSC Strip info
76 
77 // muon CSC Wire info
80 
81 // event info
87 
88 // helper files
89 //#include <CLHEP/Vector/LorentzVector.h>
90 //#include <CLHEP/Units/SystemOfUnits.h>
91 
92 #include <iostream>
93 #include <cstdlib>
94 #include <string>
95 #include <memory>
96 #include <vector>
97 #include <map>
98 
99 #include "TString.h"
100 
101 class PGlobalDigi;
102 
104 {
105 
106  public:
107 
108  typedef std::vector<float> FloatVector;
109  typedef std::vector<double> DoubleVector;
110  typedef std::vector<int> IntVector;
111  typedef std::map<uint32_t,float,std::less<uint32_t> > MapType;
112 
113  explicit GlobalDigisProducer(const edm::ParameterSet&);
114  ~GlobalDigisProducer() override;
115  void beginJob( void ) override;
116  void endJob() override;
117  void produce(edm::Event&, const edm::EventSetup&) override;
118 
119  private:
120 
121  // production related methods
122  void fillECal(edm::Event&, const edm::EventSetup&);
123  void storeECal(PGlobalDigi&);
124  void fillHCal(edm::Event&, const edm::EventSetup&);
125  void storeHCal(PGlobalDigi&);
126  void fillTrk(edm::Event&, const edm::EventSetup&);
127  void storeTrk(PGlobalDigi&);
128  void fillMuon(edm::Event&, const edm::EventSetup&);
129  void storeMuon(PGlobalDigi&);
130 
131  void clear();
132 
133  private:
134 
135  // parameter information
142 
143  // Electromagnetic info
144  // ECal info
145 
146  IntVector EBCalmaxPos;
147  DoubleVector EBCalAEE;
148  FloatVector EBCalSHE;
149 
150  IntVector EECalmaxPos;
151  DoubleVector EECalAEE;
152  FloatVector EECalSHE;
153 
155  FloatVector ESCalSHE;
156 
160 
161  std::map<int, double, std::less<int> > ECalgainConv_;
164 
165  // HCal info
166 
167  FloatVector HBCalAEE;
168  FloatVector HBCalSHE;
169 
170  FloatVector HECalAEE;
171  FloatVector HECalSHE;
172 
173  FloatVector HOCalAEE;
174  FloatVector HOCalSHE;
175 
176  FloatVector HFCalAEE;
177  FloatVector HFCalSHE;
178 
181 
182  // Tracker info
183  // SiStrip
184 
187 
190 
191  FloatVector TIDW1ADC, TIDW2ADC, TIDW3ADC;
193 
198 
200 
201  // SiPxl
202 
203  FloatVector BRL1ADC, BRL2ADC, BRL3ADC;
204  IntVector BRL1Row, BRL2Row, BRL3Row;
205  IntVector BRL1Col, BRL2Col, BRL3Col;
206 
210 
212 
213  // Muon info
214  // DT
215 
217  FloatVector MB1Time, MB2Time, MB3Time, MB4Time;
219 
221 
222  // CSC Strip
223 
226 
227  FloatVector CSCStripADC;
228 
230 
231  // CSC Wire
232 
233  FloatVector CSCWireTime;
234 
236 
237  // private statistics information
238  unsigned int count;
239 
240  //fix for consumes
256 
257 }; // end class declaration
258 
259 #endif
260 
261 #ifndef GlobalHitMap
262 #define GlobalHitMap
263 
264 // geometry mapping
265 static const int dTrk = 1;
266 static const int sdPxlBrl = 1;
267 static const int sdPxlFwd = 2;
268 static const int sdSiTIB = 3;
269 static const int sdSiTID = 4;
270 static const int sdSiTOB = 5;
271 static const int sdSiTEC = 6;
272 
273 static const int dMuon = 2;
274 static const int sdMuonDT = 1;
275 static const int sdMuonCSC = 2;
276 static const int sdMuonRPC = 3;
277 static const int sdMuonRPCRgnBrl = 0;
278 static const int sdMuonRPCRgnFwdp = 1;
279 static const int sdMuonRPCRgnFwdn = -1;
280 
281 static const int dEcal = 3;
282 static const int sdEcalBrl = 1;
283 static const int sdEcalFwd = 2;
284 static const int sdEcalPS = 3;
285 static const int sdEcalTT = 4;
286 static const int sdEcalLPnD = 5;
287 
288 static const int dHcal = 4;
289 static const int sdHcalEmpty = 0;
290 static const int sdHcalBrl = 1;
291 static const int sdHcalEC = 2;
292 static const int sdHcalOut = 3;
293 static const int sdHcalFwd = 4;
294 static const int sdHcalTT = 5;
295 static const int sdHcalCalib = 6;
296 static const int sdHcalCompst = 7;
297 
298 #endif //PGlobalDigisProducer_h
static const int sdHcalEC
static const int sdHcalBrl
std::map< uint32_t, float, std::less< uint32_t > > MapType
static const int sdEcalPS
edm::EDGetTokenT< CSCStripDigiCollection > MuCSCStripSrc_Token_
static const int sdEcalFwd
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
static const int sdPxlBrl
edm::InputTag MuCSCStripSrc_
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > HBHEDigi_Token_
static const int sdHcalCalib
static const int sdEcalTT
static const int dEcal
static const int sdMuonRPCRgnBrl
static const int sdSiTIB
static const int sdMuonRPCRgnFwdn
void fillTrk(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > SiStripSrc_Token_
static const int dHcal
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
void storeECal(PGlobalDigi &)
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
static const int sdHcalFwd
static const int sdSiTOB
static const int sdSiTEC
static const int sdPxlFwd
void fillMuon(edm::Event &, const edm::EventSetup &)
GlobalDigisProducer(const edm::ParameterSet &)
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
static const int sdHcalEmpty
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > SiPxlSrc_Token_
static const int dMuon
void produce(edm::Event &, const edm::EventSetup &) override
void beginJob(void) override
static const int sdEcalBrl
void storeTrk(PGlobalDigi &)
static const int sdSiTID
void storeHCal(PGlobalDigi &)
edm::EDGetTokenT< EBDigiCollection > ECalEBSrc_Token_
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > HODigi_Token_
edm::EDGetTokenT< ESDigiCollection > ECalESSrc_Token_
std::vector< int > IntVector
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
std::vector< double > DoubleVector
std::map< int, double, std::less< int > > ECalgainConv_
static const int sdHcalOut
static const int sdHcalCompst
void storeMuon(PGlobalDigi &)
void fillHCal(edm::Event &, const edm::EventSetup &)
static const int sdEcalLPnD
static const int sdMuonRPC
void fillECal(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< CSCWireDigiCollection > MuCSCWireSrc_Token_
static const int sdMuonCSC
std::vector< float > FloatVector
static const int sdHcalTT
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
static const int sdMuonRPCRgnFwdp
static const int dTrk
static const int sdMuonDT