CMS 3D CMS Logo

GlobalHitsProdHistStripper.h
Go to the documentation of this file.
1 #ifndef GlobalHitsProdHistStripper_h
2 #define GlobalHitsProdHistStripper_h
3 
11 // framework & common header files
23 
24 // DQM services
27 
28 // helper files
29 //#include <CLHEP/Vector/LorentzVector.h>
30 #include "CLHEP/Units/GlobalSystemOfUnits.h"
32 
33 #include <cstdlib>
34 #include <iostream>
35 #include <memory>
36 #include <string>
37 #include <vector>
38 
39 #include "TString.h"
40 
42 public:
45 
46  // typedef std::vector<float> FloatVector;
47 
49  ~GlobalHitsProdHistStripper() override;
50  void beginJob(void) override;
51  void endJob() override;
52  void analyze(const edm::Event &, const edm::EventSetup &) override;
53  void beginRun(const edm::Run &, const edm::EventSetup &) override;
54  void endRun(const edm::Run &, const edm::EventSetup &) override;
55 
56 private:
57  // parameter information
59  int verbosity;
60  int frequency;
61  int vtxunit;
64 
65  DQMStore *dbe;
67  bool doOutput;
68 
69  std::map<std::string, MonitorElement *> monitorElements;
70 
71  std::vector<MonitorElement *> me;
72 
73  // G4MC info
74  MonitorElement *meMCRGP[2];
75  MonitorElement *meMCG4Vtx[2];
76  MonitorElement *meGeantVtxX[2];
77  MonitorElement *meGeantVtxY[2];
78  MonitorElement *meGeantVtxZ[2];
79  MonitorElement *meMCG4Trk[2];
80  MonitorElement *meGeantTrkPt;
81  MonitorElement *meGeantTrkE;
82 
83  // Electromagnetic info
84  // ECal info
85  MonitorElement *meCaloEcal[2];
86  MonitorElement *meCaloEcalE[2];
87  MonitorElement *meCaloEcalToF[2];
88  MonitorElement *meCaloEcalPhi;
89  MonitorElement *meCaloEcalEta;
90 
91  // Preshower info
92  MonitorElement *meCaloPreSh[2];
93  MonitorElement *meCaloPreShE[2];
94  MonitorElement *meCaloPreShToF[2];
95  MonitorElement *meCaloPreShPhi;
96  MonitorElement *meCaloPreShEta;
97 
98  // Hadronic info
99  // HCal info
100  MonitorElement *meCaloHcal[2];
101  MonitorElement *meCaloHcalE[2];
102  MonitorElement *meCaloHcalToF[2];
103  MonitorElement *meCaloHcalPhi;
104  MonitorElement *meCaloHcalEta;
105 
106  // Tracker info
107  // Pixel info
108  // int nPxlBrlHits;
109  // int nPxlFwdHits;
110  // int nPxlHits;
111  MonitorElement *meTrackerPx[2];
112  MonitorElement *meTrackerPxPhi;
113  MonitorElement *meTrackerPxEta;
114  MonitorElement *meTrackerPxBToF;
115  MonitorElement *meTrackerPxBR;
116  MonitorElement *meTrackerPxFToF;
117  MonitorElement *meTrackerPxFZ;
118 
119  // Strip info
120  // int nSiHits;
121  // int nSiBrlHits;
122  // int nSiFwdHits;
123  MonitorElement *meTrackerSi[2];
124  MonitorElement *meTrackerSiPhi;
125  MonitorElement *meTrackerSiEta;
126  MonitorElement *meTrackerSiBToF;
127  MonitorElement *meTrackerSiBR;
128  MonitorElement *meTrackerSiFToF;
129  MonitorElement *meTrackerSiFZ;
130 
131  // Muon info
132  MonitorElement *meMuon[2];
133  MonitorElement *meMuonPhi;
134  MonitorElement *meMuonEta;
135  // int nMuonHits;
136 
137  // DT info
138  // int nMuonDtHits;
139  MonitorElement *meMuonDtToF[2];
140  MonitorElement *meMuonDtR;
141 
142  // CSC info
143  // int nMuonCscHits;
144  MonitorElement *meMuonCscToF[2];
145  MonitorElement *meMuonCscZ;
146 
147  // RPC info
148  // int nMuonRpcBrlHits;
149  // int nMuonRpcFwdHits;
150  MonitorElement *meMuonRpcFToF[2];
151  MonitorElement *meMuonRpcFZ;
152  MonitorElement *meMuonRpcBToF[2];
153  MonitorElement *meMuonRpcBR;
154 
155  // private statistics information
156  unsigned int count;
157 
158 }; // end class declaration
159 
160 #endif
dqm::legacy::MonitorElement MonitorElement
GlobalHitsProdHistStripper(const edm::ParameterSet &)
std::vector< MonitorElement * > me
std::map< std::string, MonitorElement * > monitorElements
void beginRun(const edm::Run &, const edm::EventSetup &) override
void analyze(const edm::Event &, const edm::EventSetup &) override
void endRun(const edm::Run &, const edm::EventSetup &) override
Definition: Run.h:45