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 <map>
94 #include <memory>
95 #include <string>
96 #include <vector>
97 
98 #include "TString.h"
99 
100 class PGlobalDigi;
101 class TrackerTopology;
102 class TrackerTopologyRcd;
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 
144 
148 
151 
155 
156  std::map<int, double, std::less<int>> ECalgainConv_;
159 
160  // HCal info
161 
164 
167 
170 
173 
176 
180  // Tracker info
181  // SiStrip
182 
185 
188 
191 
194 
196 
197  // SiPxl
198 
202 
206 
208 
209  // Muon info
210  // DT
211 
215 
217 
218  // CSC Strip
219 
222 
224 
226 
227  // CSC Wire
228 
230 
232 
233  // private statistics information
234  unsigned int count;
235 
236  // fix for consumes
252 
253 }; // end class declaration
254 
255 #endif
256 
257 #ifndef GlobalHitMap
258 #define GlobalHitMap
259 
260 // geometry mapping
261 static const int dTrk = 1;
262 static const int sdPxlBrl = 1;
263 static const int sdPxlFwd = 2;
264 static const int sdSiTIB = 3;
265 static const int sdSiTID = 4;
266 static const int sdSiTOB = 5;
267 static const int sdSiTEC = 6;
268 
269 static const int dMuon = 2;
270 static const int sdMuonDT = 1;
271 static const int sdMuonCSC = 2;
272 static const int sdMuonRPC = 3;
273 static const int sdMuonRPCRgnBrl = 0;
274 static const int sdMuonRPCRgnFwdp = 1;
275 static const int sdMuonRPCRgnFwdn = -1;
276 
277 static const int dEcal = 3;
278 static const int sdEcalBrl = 1;
279 static const int sdEcalFwd = 2;
280 static const int sdEcalPS = 3;
281 static const int sdEcalTT = 4;
282 static const int sdEcalLPnD = 5;
283 
284 static const int dHcal = 4;
285 static const int sdHcalEmpty = 0;
286 static const int sdHcalBrl = 1;
287 static const int sdHcalEC = 2;
288 static const int sdHcalOut = 3;
289 static const int sdHcalFwd = 4;
290 static const int sdHcalTT = 5;
291 static const int sdHcalCalib = 6;
292 static const int sdHcalCompst = 7;
293 
294 #endif // PGlobalDigisProducer_h
static const int sdHcalEC
static const int sdHcalBrl
edm::ESGetToken< HcalDbService, HcalDbRecord > hcaldbToken_
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
edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCtoGevToken_
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
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_