CMS 3D CMS Logo

GlobalHitsAnalyzer.h
Go to the documentation of this file.
1 #ifndef GlobalHitsAnalyzer_h
2 #define GlobalHitsAnalyzer_h
3 
11 // framework & common header files
26 
27 // DQM services
30 
31 // tracker info
36 
37 // muon info
45 
46 // calorimeter info
52 
53 // data in edm::event
59 
60 // helper files
61 //#include <CLHEP/Vector/LorentzVector.h>
62 #include "CLHEP/Units/GlobalSystemOfUnits.h"
64 
65 #include <cstdlib>
66 #include <memory>
67 #include <string>
68 #include <vector>
69 
71 #include "TString.h"
72 
74 class CaloGeometryRecord;
77 public:
78  // typedef std::vector<float> FloatVector;
79 
80  explicit GlobalHitsAnalyzer(const edm::ParameterSet &);
81  ~GlobalHitsAnalyzer() override;
82  void analyze(const edm::Event &, const edm::EventSetup &) override;
83 
84 protected:
85  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
86 
87 private:
88  // production related methods
89  void fillG4MC(const edm::Event &);
90  void fillTrk(const edm::Event &, const edm::EventSetup &);
91  void fillMuon(const edm::Event &, const edm::EventSetup &);
92  void fillECal(const edm::Event &, const edm::EventSetup &);
93  void fillHCal(const edm::Event &, const edm::EventSetup &);
94 
95 private:
96  // parameter information
98  int verbosity;
99  int frequency;
100  int vtxunit;
105 
124  bool validEB;
125  bool validEE;
127  bool validHcal;
128 
129  // G4MC info
143 
148 
156 
157  // Electromagnetic info
158  // ECal info
168 
169  // Preshower info
177 
178  // Hadronic info
179  // HCal info
187 
188  // Tracker info
189  // Pixel info
190  int nPxlHits;
206 
207  // Strip info
208  int nSiHits;
232 
233  // Muon info
238 
239  // DT info
244  // CSC info
249  // RPC info
256 
257  // private statistics information
258  unsigned int count;
259 
260 }; // end class declaration
261 
262 #endif
263 
264 #ifndef GlobalHitMap
265 #define GlobalHitMap
266 // geometry mapping
267 static const int dTrk = 1;
268 static const int sdPxlBrl = 1;
269 static const int sdPxlFwd = 2;
270 static const int sdSiTIB = 3;
271 static const int sdSiTID = 4;
272 static const int sdSiTOB = 5;
273 static const int sdSiTEC = 6;
274 
275 static const int dMuon = 2;
276 static const int sdMuonDT = 1;
277 static const int sdMuonCSC = 2;
278 static const int sdMuonRPC = 3;
279 static const int sdMuonRPCRgnBrl = 0;
280 static const int sdMuonRPCRgnFwdp = 1;
281 static const int sdMuonRPCRgnFwdn = -1;
282 
283 static const int dEcal = 3;
284 static const int sdEcalBrl = 1;
285 static const int sdEcalFwd = 2;
286 static const int sdEcalPS = 3;
287 static const int sdEcalTT = 4;
288 static const int sdEcalLPnD = 5;
289 
290 static const int dHcal = 4;
291 static const int sdHcalEmpty = 0;
292 static const int sdHcalBrl = 1;
293 static const int sdHcalEC = 2;
294 static const int sdHcalOut = 3;
295 static const int sdHcalFwd = 4;
296 static const int sdHcalTT = 5;
297 static const int sdHcalCalib = 6;
298 static const int sdHcalCompst = 7;
299 
300 #endif
MonitorElement * meTrackerSiPhi
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
void fillG4MC(const edm::Event &)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
static const int sdEcalPS
edm::InputTag SiTECLowSrc_
static const int sdHcalFwd
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
static const int sdHcalCompst
edm::InputTag PxlBrlLowSrc_
edm::InputTag MuonDtSrc_
static const int sdHcalOut
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomToken_
static const int dEcal
static const int sdHcalCalib
static const int sdEcalTT
MonitorElement * meMuonDtToF[2]
MonitorElement * meGeantVtxRad[2]
MonitorElement * meCaloHcal[2]
static const int sdPxlBrl
MonitorElement * meMCG4Trk[2]
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > hcaldddRecToken_
MonitorElement * meTrackerPxPhi
MonitorElement * meCaloHcalToF[2]
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
MonitorElement * meCaloPreSh[2]
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
MonitorElement * meTrackerSiEta
static const int sdMuonRPC
static const int sdMuonCSC
void fillHCal(const edm::Event &, const edm::EventSetup &)
MonitorElement * meTrackerSiBToF
MonitorElement * meTrackerSi[2]
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
static const int sdMuonRPCRgnFwdp
static const int sdSiTIB
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
MonitorElement * meMCG4Vtx[2]
static const int dMuon
edm::InputTag SiTIBHighSrc_
MonitorElement * meGeantVtxY[2]
MonitorElement * meGeantVtxMulti
static const int sdEcalBrl
MonitorElement * meTrackerPxFZ
edm::InputTag MuonCscSrc_
edm::InputTag PxlBrlHighSrc_
static const int sdMuonDT
static const int sdHcalBrl
static const int sdEcalLPnD
MonitorElement * meMuonCscToF[2]
MonitorElement * meCaloPreShPhi
MonitorElement * meGeantTrkE
MonitorElement * meCaloEcalEta
static const int sdMuonRPCRgnBrl
MonitorElement * meTrackerPxBR
static const int sdSiTID
MonitorElement * meCaloPreShE[2]
edm::InputTag PxlFwdLowSrc_
MonitorElement * meTrackerPxBToF
MonitorElement * meGeantVtxPhi
edm::InputTag SiTIDLowSrc_
edm::InputTag ECalESSrc_
MonitorElement * meCaloEcalPhi
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
MonitorElement * meTrackerPx[2]
MonitorElement * meGeantTrkPt
MonitorElement * meGeantVtxEta
edm::InputTag PxlFwdHighSrc_
MonitorElement * meMuonRpcFZ
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::InputTag SiTECHighSrc_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
void fillTrk(const edm::Event &, const edm::EventSetup &)
MonitorElement * meMCRGP[2]
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
MonitorElement * meMuonRpcBToF[2]
static const int dHcal
static const int sdHcalTT
MonitorElement * meCaloHcalE[2]
MonitorElement * meMuonCscZ
MonitorElement * meGeantVtxX[2]
void fillMuon(const edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
MonitorElement * meCaloEcal[2]
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
static const int sdMuonRPCRgnFwdn
MonitorElement * meTrackerSiFZ
MonitorElement * meGeantVtxZ[2]
MonitorElement * meCaloEcalToF[2]
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
static const int sdSiTOB
static const int sdSiTEC
void fillECal(const edm::Event &, const edm::EventSetup &)
edm::InputTag SiTIDHighSrc_
MonitorElement * meMuon[2]
MonitorElement * meMuonRpcFToF[2]
MonitorElement * meCaloPreShToF[2]
MonitorElement * meCaloPreShEta
MonitorElement * meTrackerSiFToF
MonitorElement * meTrackerPxFToF
edm::GetterOfProducts< edm::HepMCProduct > getterOfProducts_
edm::InputTag MuonRpcSrc_
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * meMuonEta
edm::InputTag SiTOBLowSrc_
edm::InputTag SiTOBHighSrc_
MonitorElement * meMuonDtR
static const int dTrk
edm::InputTag ECalEBSrc_
static const int sdPxlFwd
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
edm::InputTag SiTIBLowSrc_
MonitorElement * meCaloHcalPhi
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomToken_
static const int sdEcalFwd
static const int sdHcalEC
MonitorElement * meMuonRpcBR
edm::InputTag ECalEESrc_
MonitorElement * meTrackerPxEta
static const int sdHcalEmpty
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
MonitorElement * meCaloHcalEta
MonitorElement * meMuonPhi
Definition: Run.h:45
GlobalHitsAnalyzer(const edm::ParameterSet &)
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken_
MonitorElement * meTrackerSiBR
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * meCaloEcalE[2]