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 <cstdlib>
93 #include <iostream>
94 #include <map>
95 #include <memory>
96 #include <string>
97 #include <vector>
98 
99 #include "TString.h"
100 
101 class PGlobalDigi;
102 
104 public:
105  typedef std::vector<float> FloatVector;
106  typedef std::vector<double> DoubleVector;
107  typedef std::vector<int> IntVector;
108  typedef std::map<uint32_t, float, std::less<uint32_t>> MapType;
109 
110  explicit GlobalDigisProducer(const edm::ParameterSet &);
111  ~GlobalDigisProducer() override;
112  void beginJob(void) override;
113  void endJob() override;
114  void produce(edm::Event &, const edm::EventSetup &) override;
115 
116 private:
117  // production related methods
118  void fillECal(edm::Event &, const edm::EventSetup &);
119  void storeECal(PGlobalDigi &);
120  void fillHCal(edm::Event &, const edm::EventSetup &);
121  void storeHCal(PGlobalDigi &);
122  void fillTrk(edm::Event &, const edm::EventSetup &);
123  void storeTrk(PGlobalDigi &);
124  void fillMuon(edm::Event &, const edm::EventSetup &);
125  void storeMuon(PGlobalDigi &);
126 
127  void clear();
128 
129 private:
130  // parameter information
137 
138  // Electromagnetic info
139  // ECal info
140 
141  IntVector EBCalmaxPos;
142  DoubleVector EBCalAEE;
143  FloatVector EBCalSHE;
144 
145  IntVector EECalmaxPos;
146  DoubleVector EECalAEE;
147  FloatVector EECalSHE;
148 
150  FloatVector ESCalSHE;
151 
155 
156  std::map<int, double, std::less<int>> ECalgainConv_;
159 
160  // HCal info
161 
162  FloatVector HBCalAEE;
163  FloatVector HBCalSHE;
164 
165  FloatVector HECalAEE;
166  FloatVector HECalSHE;
167 
168  FloatVector HOCalAEE;
169  FloatVector HOCalSHE;
170 
171  FloatVector HFCalAEE;
172  FloatVector HFCalSHE;
173 
176 
177  // Tracker info
178  // SiStrip
179 
182 
185 
186  FloatVector TIDW1ADC, TIDW2ADC, TIDW3ADC;
188 
191 
193 
194  // SiPxl
195 
196  FloatVector BRL1ADC, BRL2ADC, BRL3ADC;
197  IntVector BRL1Row, BRL2Row, BRL3Row;
198  IntVector BRL1Col, BRL2Col, BRL3Col;
199 
203 
205 
206  // Muon info
207  // DT
208 
210  FloatVector MB1Time, MB2Time, MB3Time, MB4Time;
212 
214 
215  // CSC Strip
216 
219 
220  FloatVector CSCStripADC;
221 
223 
224  // CSC Wire
225 
226  FloatVector CSCWireTime;
227 
229 
230  // private statistics information
231  unsigned int count;
232 
233  // fix for consumes
249 
250 }; // end class declaration
251 
252 #endif
253 
254 #ifndef GlobalHitMap
255 #define GlobalHitMap
256 
257 // geometry mapping
258 static const int dTrk = 1;
259 static const int sdPxlBrl = 1;
260 static const int sdPxlFwd = 2;
261 static const int sdSiTIB = 3;
262 static const int sdSiTID = 4;
263 static const int sdSiTOB = 5;
264 static const int sdSiTEC = 6;
265 
266 static const int dMuon = 2;
267 static const int sdMuonDT = 1;
268 static const int sdMuonCSC = 2;
269 static const int sdMuonRPC = 3;
270 static const int sdMuonRPCRgnBrl = 0;
271 static const int sdMuonRPCRgnFwdp = 1;
272 static const int sdMuonRPCRgnFwdn = -1;
273 
274 static const int dEcal = 3;
275 static const int sdEcalBrl = 1;
276 static const int sdEcalFwd = 2;
277 static const int sdEcalPS = 3;
278 static const int sdEcalTT = 4;
279 static const int sdEcalLPnD = 5;
280 
281 static const int dHcal = 4;
282 static const int sdHcalEmpty = 0;
283 static const int sdHcalBrl = 1;
284 static const int sdHcalEC = 2;
285 static const int sdHcalOut = 3;
286 static const int sdHcalFwd = 4;
287 static const int sdHcalTT = 5;
288 static const int sdHcalCalib = 6;
289 static const int sdHcalCompst = 7;
290 
291 #endif // PGlobalDigisProducer_h
static const int sdHcalEC
static const int sdHcalBrl
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
std::map< uint32_t, float, std::less< uint32_t > > MapType
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