CMS 3D CMS Logo

TrackerHitAnalyzer.cc
Go to the documentation of this file.
2 
9 
12 
14 
15 // tracker info
22 
23 // data in edm::event
26 //#include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
30 
31 // helper files
32 #include "CLHEP/Units/GlobalSystemOfUnits.h"
33 #include <CLHEP/Vector/LorentzVector.h>
34 
35 #include <cstdlib>
36 #include <map>
37 #include <memory>
38 #include <vector>
39 
41  : verbose_(ps.getUntrackedParameter<bool>("Verbosity", false)),
42  edmPSimHitContainer_pxlBrlLow_Token_(
43  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("PxlBrlLowSrc"))),
44  edmPSimHitContainer_pxlBrlHigh_Token_(
45  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("PxlBrlHighSrc"))),
46  edmPSimHitContainer_pxlFwdLow_Token_(
47  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("PxlFwdLowSrc"))),
48  edmPSimHitContainer_pxlFwdHigh_Token_(
49  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("PxlFwdHighSrc"))),
50  edmPSimHitContainer_siTIBLow_Token_(
51  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTIBLowSrc"))),
52  edmPSimHitContainer_siTIBHigh_Token_(
53  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTIBHighSrc"))),
54  edmPSimHitContainer_siTOBLow_Token_(
55  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTOBLowSrc"))),
56  edmPSimHitContainer_siTOBHigh_Token_(
57  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTOBHighSrc"))),
58  edmPSimHitContainer_siTIDLow_Token_(
59  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTIDLowSrc"))),
60  edmPSimHitContainer_siTIDHigh_Token_(
61  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTIDHighSrc"))),
62  edmPSimHitContainer_siTECLow_Token_(
63  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTECLowSrc"))),
64  edmPSimHitContainer_siTECHigh_Token_(
65  consumes<edm::PSimHitContainer>(ps.getParameter<edm::InputTag>("SiTECHighSrc"))),
66  edmSimTrackContainerToken_(consumes<edm::SimTrackContainer>(ps.getParameter<edm::InputTag>("G4TrkSrc"))),
67  fDBE(nullptr),
68  conf_(ps),
69  runStandalone(ps.getParameter<bool>("runStandalone")),
70  fOutputFile(ps.getUntrackedParameter<std::string>("outputFile", "TrackerHitHisto.root")),
71  pixelOutput(ps.getParameter<bool>("pixelOutput")) {}
72 
75  fDBE = edm::Service<DQMStore>().operator->();
76 
77  Char_t hname1[50], htitle1[80];
78  Char_t hname2[50], htitle2[80];
79  Char_t hname3[50], htitle3[80];
80  Char_t hname4[50], htitle4[80];
81  Char_t hname5[50], htitle5[80];
82  Char_t hname6[50], htitle6[80];
83 
84  if (fDBE != nullptr) {
85  // fDBE->setCurrentFolder("TrackerHitsV/TrackerHitTask");
86 
87  // is there any way to record CPU Info ???
88  // if so, it can be done once - via beginJob()
89  int nbin = 5000;
90 
91  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/");
92  htofeta = ibooker.book2D("tof_eta", "Time of flight vs eta", nbin, -3.0, 3.0, 200, -100, 100);
93  htofphi = ibooker.book2D("tof_phi", "Time of flight vs phi", nbin, -180, 180, 200, -100, 100);
94  htofr = ibooker.book2D("tof_r", "Time of flight vs r", nbin, 0, 300, 200, -100, 100);
95  htofz = ibooker.book2D("tof_z", "Time of flight vs z", nbin, -280, 280, 200, -100, 100);
96 
97  const float E2NEL = 1.;
98 
99  const char *Region[] = {"005", "051", "115", "152", "225", "253", "-050", "-105", "-151", "-215", "-252", "-325"};
100  nbin = 200;
101 
102  // Energy loss histograms
103  for (int i = 0; i < 12; i++) {
104  sprintf(htitle1, "Energy loss in TIB %s", Region[i]);
105  sprintf(htitle2, "Energy loss in TOB %s", Region[i]);
106  sprintf(htitle3, "Energy loss in TID %s", Region[i]);
107  sprintf(htitle4, "Energy loss in TEC %s", Region[i]);
108  if (pixelOutput)
109  sprintf(htitle5, "Energy loss in BPIX %s", Region[i]);
110  if (pixelOutput)
111  sprintf(htitle6, "Energy loss in FPIX %s", Region[i]);
112 
113  sprintf(hname1, "Eloss_TIB_%i", i + 1);
114  sprintf(hname2, "Eloss_TOB_%i", i + 1);
115  sprintf(hname3, "Eloss_TID_%i", i + 1);
116  sprintf(hname4, "Eloss_TEC_%i", i + 1);
117  if (pixelOutput)
118  sprintf(hname5, "Eloss_BPIX_%i", i + 1);
119  if (pixelOutput)
120  sprintf(hname6, "Eloss_FPIX_%i", i + 1);
121 
122  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
123  h1e[i] = ibooker.book1D(hname1, htitle1, nbin, 0.0, 0.001 * E2NEL);
124  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
125  h2e[i] = ibooker.book1D(hname2, htitle2, nbin, 0.0, 0.001 * E2NEL);
126  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
127  h3e[i] = ibooker.book1D(hname3, htitle3, nbin, 0.0, 0.001 * E2NEL);
128  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
129  h4e[i] = ibooker.book1D(hname4, htitle4, nbin, 0.0, 0.001 * E2NEL);
130  if (pixelOutput) {
131  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
132  h5e[i] = ibooker.book1D(hname5, htitle5, nbin, 0.0, 0.001 * E2NEL);
133  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
134  h6e[i] = ibooker.book1D(hname6, htitle6, nbin, 0.0, 0.001 * E2NEL);
135  }
136  }
137 
138  // limits
139  const float high[] = {0.03, 0.03, 0.02, 0.03, 0.03, 0.03};
140  const float low[] = {-0.03, -0.03, -0.02, -0.03, -0.03, -0.03};
141 
142  for (int i = 0; i < 12; i++) {
143  sprintf(htitle1, "Entryx-Exitx in TIB %s", Region[i]);
144  sprintf(htitle2, "Entryx-Exitx in TOB %s", Region[i]);
145  sprintf(htitle3, "Entryx-Exitx in TID %s", Region[i]);
146  sprintf(htitle4, "Entryx-Exitx in TEC %s", Region[i]);
147  if (pixelOutput)
148  sprintf(htitle5, "Entryx-Exitx in BPIX %s", Region[i]);
149  if (pixelOutput)
150  sprintf(htitle6, "Entryx-Exitx in FPIX %s", Region[i]);
151 
152  sprintf(hname1, "Entryx-Exitx_TIB_%i", i + 1);
153  sprintf(hname2, "Entryx-Exitx_TOB_%i", i + 1);
154  sprintf(hname3, "Entryx-Exitx_TID_%i", i + 1);
155  sprintf(hname4, "Entryx-Exitx_TEC_%i", i + 1);
156  if (pixelOutput)
157  sprintf(hname5, "Entryx-Exitx_BPIX_%i", i + 1);
158  if (pixelOutput)
159  sprintf(hname6, "Entryx-Exitx_FPIX_%i", i + 1);
160 
161  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
162  h1ex[i] = ibooker.book1D(hname1, htitle1, nbin, low[0], high[0]);
163  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
164  h2ex[i] = ibooker.book1D(hname2, htitle2, nbin, low[1], high[1]);
165  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
166  h3ex[i] = ibooker.book1D(hname3, htitle3, nbin, low[2], high[2]);
167  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
168  h4ex[i] = ibooker.book1D(hname4, htitle4, nbin, low[3], high[3]);
169  if (pixelOutput) {
170  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
171  h5ex[i] = ibooker.book1D(hname5, htitle5, nbin, low[4], high[4]);
172  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
173  h6ex[i] = ibooker.book1D(hname6, htitle6, nbin, low[5], high[5]);
174  }
175  }
176 
177  const float high0[] = {0.05, 0.06, 0.03, 0.03, 0.03, 0.03};
178  const float low0[] = {-0.05, -0.06, -0.03, -0.03, -0.03, -0.03};
179 
180  for (int i = 0; i < 12; i++) {
181  sprintf(htitle1, "Entryy-Exity in TIB %s", Region[i]);
182  sprintf(htitle2, "Entryy-Exity in TOB %s", Region[i]);
183  sprintf(htitle3, "Entryy-Exity in TID %s", Region[i]);
184  sprintf(htitle4, "Entryy-Exity in TEC %s", Region[i]);
185  if (pixelOutput)
186  sprintf(htitle5, "Entryy-Exity in BPIX %s", Region[i]);
187  if (pixelOutput)
188  sprintf(htitle6, "Entryy-Exity in FPIX %s", Region[i]);
189 
190  sprintf(hname1, "Entryy-Exity_TIB_%i", i + 1);
191  sprintf(hname2, "Entryy-Exity_TOB_%i", i + 1);
192  sprintf(hname3, "Entryy-Exity_TID_%i", i + 1);
193  sprintf(hname4, "Entryy-Exity_TEC_%i", i + 1);
194  if (pixelOutput)
195  sprintf(hname5, "Entryy-Exity_BPIX_%i", i + 1);
196  if (pixelOutput)
197  sprintf(hname6, "Entryy-Exity_FPIX_%i", i + 1);
198 
199  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
200  h1ey[i] = ibooker.book1D(hname1, htitle1, nbin, low0[0], high0[0]);
201  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
202  h2ey[i] = ibooker.book1D(hname2, htitle2, nbin, low0[1], high0[1]);
203  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
204  h3ey[i] = ibooker.book1D(hname3, htitle3, nbin, low0[2], high0[2]);
205  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
206  h4ey[i] = ibooker.book1D(hname4, htitle4, nbin, low0[3], high0[3]);
207  if (pixelOutput) {
208  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
209  h5ey[i] = ibooker.book1D(hname5, htitle5, nbin, low0[4], high0[4]);
210  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
211  h6ey[i] = ibooker.book1D(hname6, htitle6, nbin, low0[5], high0[5]);
212  }
213  }
214 
215  const float high1[] = {0.05, 0.06, 0.05, 0.06, 0.05, 0.05};
216  const float low1[] = {0., 0., 0., 0., 0., 0.};
217 
218  for (int i = 0; i < 12; i++) {
219  sprintf(htitle1, "abs(Entryz-Exitz) in TIB %s", Region[i]);
220  sprintf(htitle2, "abs(Entryz-Exitz) in TOB %s", Region[i]);
221  sprintf(htitle3, "abs(Entryz-Exitz) in TID %s", Region[i]);
222  sprintf(htitle4, "abs(Entryz-Exitz) in TEC %s", Region[i]);
223  if (pixelOutput)
224  sprintf(htitle5, "abs(Entryz-Exitz) in BPIX %s", Region[i]);
225  if (pixelOutput)
226  sprintf(htitle6, "abs(Entryz-Exitz) in FPIX %s", Region[i]);
227 
228  sprintf(hname1, "Entryz-Exitz_TIB_%i", i + 1);
229  sprintf(hname2, "Entryz-Exitz_TOB_%i", i + 1);
230  sprintf(hname3, "Entryz-Exitz_TID_%i", i + 1);
231  sprintf(hname4, "Entryz-Exitz_TEC_%i", i + 1);
232  if (pixelOutput)
233  sprintf(hname5, "Entryz-Exitz_BPIX_%i", i + 1);
234  if (pixelOutput)
235  sprintf(hname6, "Entryz-Exitz_FPIX_%i", i + 1);
236 
237  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
238  h1ez[i] = ibooker.book1D(hname1, htitle1, nbin, low1[0], high1[0]);
239  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
240  h2ez[i] = ibooker.book1D(hname2, htitle2, nbin, low1[1], high1[1]);
241  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
242  h3ez[i] = ibooker.book1D(hname3, htitle3, nbin, low1[2], high1[2]);
243  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
244  h4ez[i] = ibooker.book1D(hname4, htitle4, nbin, low1[3], high1[3]);
245  if (pixelOutput) {
246  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
247  h5ez[i] = ibooker.book1D(hname5, htitle5, nbin, low1[4], high1[4]);
248  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
249  h6ez[i] = ibooker.book1D(hname6, htitle6, nbin, low1[5], high1[5]);
250  }
251  }
252 
253  const float high2[] = {3.2, 5.0, 5.5, 6.2, 0.85, 0.5};
254  const float low2[] = {-3.2, -5.0, -5.5, -6.2, -0.85, -0.5};
255 
256  for (int i = 0; i < 12; i++) {
257  sprintf(htitle1, "Localx in TIB %s", Region[i]);
258  sprintf(htitle2, "Localx in TOB %s", Region[i]);
259  sprintf(htitle3, "Localx in TID %s", Region[i]);
260  sprintf(htitle4, "Localx in TEC %s", Region[i]);
261  if (pixelOutput)
262  sprintf(htitle5, "Localx in BPIX %s", Region[i]);
263  if (pixelOutput)
264  sprintf(htitle6, "Localx in FPIX %s", Region[i]);
265 
266  sprintf(hname1, "Localx_TIB_%i", i + 1);
267  sprintf(hname2, "Localx_TOB_%i", i + 1);
268  sprintf(hname3, "Localx_TID_%i", i + 1);
269  sprintf(hname4, "Localx_TEC_%i", i + 1);
270  if (pixelOutput)
271  sprintf(hname5, "Localx_BPIX_%i", i + 1);
272  if (pixelOutput)
273  sprintf(hname6, "Localx_FPIX_%i", i + 1);
274 
275  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
276  h1lx[i] = ibooker.book1D(hname1, htitle1, nbin, low2[0], high2[0]);
277  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
278  h2lx[i] = ibooker.book1D(hname2, htitle2, nbin, low2[1], high2[1]);
279  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
280  h3lx[i] = ibooker.book1D(hname3, htitle3, nbin, low2[2], high2[2]);
281  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
282  h4lx[i] = ibooker.book1D(hname4, htitle4, nbin, low2[3], high2[3]);
283  if (pixelOutput) {
284  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
285  h5lx[i] = ibooker.book1D(hname5, htitle5, nbin, low2[4], high2[4]);
286  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
287  h6lx[i] = ibooker.book1D(hname6, htitle6, nbin, low2[5], high2[5]);
288  }
289  }
290 
291  const float high3[] = {6.0, 10., 5.6, 10.5, 3.4, 0.52};
292  const float low3[] = {-6.0, -10., -5.6, -10.5, -3.4, -0.52};
293 
294  for (int i = 0; i < 12; i++) {
295  sprintf(htitle1, "Localy in TIB %s", Region[i]);
296  sprintf(htitle2, "Localy in TOB %s", Region[i]);
297  sprintf(htitle3, "Localy in TID %s", Region[i]);
298  sprintf(htitle4, "Localy in TEC %s", Region[i]);
299  if (pixelOutput)
300  sprintf(htitle5, "Localy in BPIX %s", Region[i]);
301  if (pixelOutput)
302  sprintf(htitle6, "Localy in FPIX %s", Region[i]);
303 
304  sprintf(hname1, "Localy_TIB_%i", i + 1);
305  sprintf(hname2, "Localy_TOB_%i", i + 1);
306  sprintf(hname3, "Localy_TID_%i", i + 1);
307  sprintf(hname4, "Localy_TEC_%i", i + 1);
308  if (pixelOutput)
309  sprintf(hname5, "Localy_BPIX_%i", i + 1);
310  if (pixelOutput)
311  sprintf(hname6, "Localy_FPIX_%i", i + 1);
312 
313  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit");
314  h1ly[i] = ibooker.book1D(hname1, htitle1, nbin, low3[0], high3[0]);
315  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit");
316  h2ly[i] = ibooker.book1D(hname2, htitle2, nbin, low3[1], high3[1]);
317  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit");
318  h3ly[i] = ibooker.book1D(hname3, htitle3, nbin, low3[2], high3[2]);
319  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit");
320  h4ly[i] = ibooker.book1D(hname4, htitle4, nbin, low3[3], high3[3]);
321  if (pixelOutput) {
322  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit");
323  h5ly[i] = ibooker.book1D(hname5, htitle5, nbin, low3[4], high3[4]);
324  ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit");
325  h6ly[i] = ibooker.book1D(hname6, htitle6, nbin, low3[5], high3[5]);
326  }
327  }
328  }
329 }
330 
332  // don't try to delete any pointers - they're handled by DQM machinery
333 }
334 
336  edm::LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
337 
338  // iterator to access containers
339  edm::PSimHitContainer::const_iterator itHit;
341  // get Pixel Barrel information
343  // extract low container
344  edm::Handle<edm::PSimHitContainer> PxlBrlLowContainer;
345  e.getByToken(edmPSimHitContainer_pxlBrlLow_Token_, PxlBrlLowContainer);
346  if (!PxlBrlLowContainer.isValid()) {
347  edm::LogError("TrackerHitAnalyzer::analyze") << "Unable to find TrackerHitsPixelBarrelLowTof in event!";
348  return;
349  }
350  // extract high container
351  edm::Handle<edm::PSimHitContainer> PxlBrlHighContainer;
352  e.getByToken(edmPSimHitContainer_pxlBrlHigh_Token_, PxlBrlHighContainer);
353  if (!PxlBrlHighContainer.isValid()) {
354  edm::LogError("TrackerHitAnalyzer::analyze") << "Unable to find TrackerHitsPixelBarrelHighTof in event!";
355  return;
356  }
358  // get Pixel Forward information
360  // extract low container
361  edm::Handle<edm::PSimHitContainer> PxlFwdLowContainer;
362  e.getByToken(edmPSimHitContainer_pxlFwdLow_Token_, PxlFwdLowContainer);
363  if (!PxlFwdLowContainer.isValid()) {
364  edm::LogError("TrackerHitAnalyzer::analyze") << "Unable to find TrackerHitsPixelEndcapLowTof in event!";
365  return;
366  }
367  // extract high container
368  edm::Handle<edm::PSimHitContainer> PxlFwdHighContainer;
369  e.getByToken(edmPSimHitContainer_pxlFwdHigh_Token_, PxlFwdHighContainer);
370  if (!PxlFwdHighContainer.isValid()) {
371  edm::LogError("TrackerHitAnalyzer::analyze") << "Unable to find TrackerHitsPixelEndcapHighTof in event!";
372  return;
373  }
375  // get Silicon TIB information
377  // extract TIB low container
378  edm::Handle<edm::PSimHitContainer> SiTIBLowContainer;
379  e.getByToken(edmPSimHitContainer_siTIBLow_Token_, SiTIBLowContainer);
380  if (!SiTIBLowContainer.isValid()) {
381  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTIBLowTof in event!";
382  return;
383  }
385  // extract TIB high container
386  edm::Handle<edm::PSimHitContainer> SiTIBHighContainer;
387  e.getByToken(edmPSimHitContainer_siTIBHigh_Token_, SiTIBHighContainer);
388  if (!SiTIBHighContainer.isValid()) {
389  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTIBHighTof in event!";
390  return;
391  }
393  // get Silicon TOB information
395  // extract TOB low container
396  edm::Handle<edm::PSimHitContainer> SiTOBLowContainer;
397  e.getByToken(edmPSimHitContainer_siTOBLow_Token_, SiTOBLowContainer);
398  if (!SiTOBLowContainer.isValid()) {
399  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTOBLowTof in event!";
400  return;
401  }
403  // extract TOB high container
404  edm::Handle<edm::PSimHitContainer> SiTOBHighContainer;
405  e.getByToken(edmPSimHitContainer_siTOBHigh_Token_, SiTOBHighContainer);
406  if (!SiTOBHighContainer.isValid()) {
407  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTOBHighTof in event!";
408  return;
409  }
410 
412  // get Silicon TID information
414  // extract TID low container
415  edm::Handle<edm::PSimHitContainer> SiTIDLowContainer;
416  e.getByToken(edmPSimHitContainer_siTIDLow_Token_, SiTIDLowContainer);
417  if (!SiTIDLowContainer.isValid()) {
418  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTIDLowTof in event!";
419  return;
420  }
422  // extract TID high container
423  edm::Handle<edm::PSimHitContainer> SiTIDHighContainer;
424  e.getByToken(edmPSimHitContainer_siTIDHigh_Token_, SiTIDHighContainer);
425  if (!SiTIDHighContainer.isValid()) {
426  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTIDHighTof in event!";
427  return;
428  }
430  // get Silicon TEC information
432  // extract TEC low container
433  edm::Handle<edm::PSimHitContainer> SiTECLowContainer;
434  e.getByToken(edmPSimHitContainer_siTECLow_Token_, SiTECLowContainer);
435  if (!SiTECLowContainer.isValid()) {
436  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTECLowTof in event!";
437  return;
438  }
440  // extract TEC high container
441  edm::Handle<edm::PSimHitContainer> SiTECHighContainer;
442  e.getByToken(edmPSimHitContainer_siTECHigh_Token_, SiTECHighContainer);
443  if (!SiTECHighContainer.isValid()) {
444  edm::LogError("TrackerHitProducer::analyze") << "Unable to find TrackerHitsTECHighTof in event!";
445  return;
446  }
447 
449  // get G4Track information
451 
453  e.getByToken(edmSimTrackContainerToken_, G4TrkContainer);
454  if (!G4TrkContainer.isValid()) {
455  edm::LogError("TrackerHitAnalyzer::analyze") << "Unable to find SimTrack in event!";
456  return;
457  }
458 
459  // Get geometry information
460 
463 
464  int ir = -100;
465  edm::SimTrackContainer::const_iterator itTrk;
466  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
467  // std::cout << "itTrk = "<< itTrk << std::endl;
468  double eta = 0, p = 0;
469  const CLHEP::HepLorentzVector &G4Trk = CLHEP::HepLorentzVector(
470  itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
471  p = sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1] + G4Trk[2] * G4Trk[2]);
472  if (p == 0)
473  edm::LogError("TrackerHitAnalyzer::analyze") << "TrackerTest::INFO: Primary has p = 0 ";
474  else {
475  double costheta = G4Trk[2] / p;
476  double theta = acos(TMath::Min(TMath::Max(costheta, -1.), 1.));
477  eta = -log(tan(theta / 2));
478 
479  if (eta > 0.0 && eta <= 0.5)
480  ir = 0;
481  if (eta > 0.5 && eta <= 1.0)
482  ir = 1;
483  if (eta > 1.0 && eta <= 1.5)
484  ir = 2;
485  if (eta > 1.5 && eta <= 2.0)
486  ir = 3;
487  if (eta > 2.0 && eta <= 2.5)
488  ir = 4;
489  if (eta > 2.5)
490  ir = 5;
491 
492  if (eta > -0.5 && eta <= 0.0)
493  ir = 6;
494  if (eta > -1.0 && eta <= -0.5)
495  ir = 7;
496  if (eta > -1.5 && eta <= -1.0)
497  ir = 8;
498  if (eta > -2.0 && eta <= -1.5)
499  ir = 9;
500  if (eta > -2.5 && eta <= -2.0)
501  ir = 10;
502  if (eta <= -2.5)
503  ir = 11;
504  // edm::LogInfo("EventInfo") << " eta = " << eta << " ir = " <<
505  // ir;
506  // std::cout << " " << std::endl;
507  // std::cout << "eta " << eta << " ir = " << ir << std::endl;
508  // std::cout << " " << std::endl;
509  }
510  }
512  // get Pixel information
514  // If Phase 1, do not run - will run in new Phase 1 module
515 
516  if (pixelOutput) {
517  for (itHit = PxlBrlLowContainer->begin(); itHit != PxlBrlLowContainer->end(); ++itHit) {
518  DetId detid = DetId(itHit->detUnitId());
519  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
520  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
521  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
522  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
523  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
524  htofz->Fill(gpos.z(), itHit->timeOfFlight());
525 
526  h5e[ir]->Fill(itHit->energyLoss());
527  h5ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
528  h5ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
529  h5ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
530  h5lx[ir]->Fill(itHit->localPosition().x());
531  h5ly[ir]->Fill(itHit->localPosition().y());
532  }
533  for (itHit = PxlBrlHighContainer->begin(); itHit != PxlBrlHighContainer->end(); ++itHit) {
534  DetId detid = DetId(itHit->detUnitId());
535  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
536  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
537  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
538  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
539  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
540  htofz->Fill(gpos.z(), itHit->timeOfFlight());
541 
542  h5e[ir]->Fill(itHit->energyLoss());
543  h5ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
544  h5ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
545  h5ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
546  h5lx[ir]->Fill(itHit->localPosition().x());
547  h5ly[ir]->Fill(itHit->localPosition().y());
548  }
549  for (itHit = PxlFwdLowContainer->begin(); itHit != PxlFwdLowContainer->end(); ++itHit) {
550  DetId detid = DetId(itHit->detUnitId());
551  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
552  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
553  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
554  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
555  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
556  htofz->Fill(gpos.z(), itHit->timeOfFlight());
557 
558  h6e[ir]->Fill(itHit->energyLoss());
559  h6ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
560  h6ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
561  h6ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
562  h6lx[ir]->Fill(itHit->localPosition().x());
563  h6ly[ir]->Fill(itHit->localPosition().y());
564  }
565  for (itHit = PxlFwdHighContainer->begin(); itHit != PxlFwdHighContainer->end(); ++itHit) {
566  DetId detid = DetId(itHit->detUnitId());
567  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
568  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
569  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
570  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
571  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
572  htofz->Fill(gpos.z(), itHit->timeOfFlight());
573 
574  h6e[ir]->Fill(itHit->energyLoss());
575  h6ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
576  h6ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
577  h6ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
578  h6lx[ir]->Fill(itHit->localPosition().x());
579  h6ly[ir]->Fill(itHit->localPosition().y());
580  }
581  }
583  // get TIB information
585  for (itHit = SiTIBLowContainer->begin(); itHit != SiTIBLowContainer->end(); ++itHit) {
586  DetId detid = DetId(itHit->detUnitId());
587  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
588  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
589  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
590  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
591  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
592  htofz->Fill(gpos.z(), itHit->timeOfFlight());
593 
594  h1e[ir]->Fill(itHit->energyLoss());
595  h1ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
596  h1ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
597  h1ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
598  h1lx[ir]->Fill(itHit->localPosition().x());
599  h1ly[ir]->Fill(itHit->localPosition().y());
600  }
601  for (itHit = SiTIBHighContainer->begin(); itHit != SiTIBHighContainer->end(); ++itHit) {
602  DetId detid = DetId(itHit->detUnitId());
603  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
604  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
605  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
606  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
607  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
608  htofz->Fill(gpos.z(), itHit->timeOfFlight());
609 
610  h1e[ir]->Fill(itHit->energyLoss());
611  h1ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
612  h1ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
613  h1ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
614  h1lx[ir]->Fill(itHit->localPosition().x());
615  h1ly[ir]->Fill(itHit->localPosition().y());
616  }
618  // get TOB information
620  for (itHit = SiTOBLowContainer->begin(); itHit != SiTOBLowContainer->end(); ++itHit) {
621  DetId detid = DetId(itHit->detUnitId());
622  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
623  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
624  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
625  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
626  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
627  htofz->Fill(gpos.z(), itHit->timeOfFlight());
628 
629  h2e[ir]->Fill(itHit->energyLoss());
630  h2ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
631  h2ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
632  h2ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
633  h2lx[ir]->Fill(itHit->localPosition().x());
634  h2ly[ir]->Fill(itHit->localPosition().y());
635  }
636  for (itHit = SiTOBHighContainer->begin(); itHit != SiTOBHighContainer->end(); ++itHit) {
637  DetId detid = DetId(itHit->detUnitId());
638  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
639  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
640  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
641  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
642  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
643  htofz->Fill(gpos.z(), itHit->timeOfFlight());
644 
645  h2e[ir]->Fill(itHit->energyLoss());
646  h2ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
647  h2ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
648  h2ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
649  h2lx[ir]->Fill(itHit->localPosition().x());
650  h2ly[ir]->Fill(itHit->localPosition().y());
651  }
653  // get TID information
655  for (itHit = SiTIDLowContainer->begin(); itHit != SiTIDLowContainer->end(); ++itHit) {
656  DetId detid = DetId(itHit->detUnitId());
657  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
658  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
659  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
660  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
661  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
662  htofz->Fill(gpos.z(), itHit->timeOfFlight());
663 
664  h3e[ir]->Fill(itHit->energyLoss());
665  h3ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
666  h3ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
667  h3ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
668  h3lx[ir]->Fill(itHit->localPosition().x());
669  h3ly[ir]->Fill(itHit->localPosition().y());
670  }
671  for (itHit = SiTIDHighContainer->begin(); itHit != SiTIDHighContainer->end(); ++itHit) {
672  DetId detid = DetId(itHit->detUnitId());
673  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
674  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
675  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
676  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
677  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
678  htofz->Fill(gpos.z(), itHit->timeOfFlight());
679 
680  h3e[ir]->Fill(itHit->energyLoss());
681  h3ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
682  h3ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
683  h3ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
684  h3lx[ir]->Fill(itHit->localPosition().x());
685  h3ly[ir]->Fill(itHit->localPosition().y());
686  }
688  // get TEC information
690  for (itHit = SiTECLowContainer->begin(); itHit != SiTECLowContainer->end(); ++itHit) {
691  DetId detid = DetId(itHit->detUnitId());
692  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
693  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
694  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
695  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
696  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
697  htofz->Fill(gpos.z(), itHit->timeOfFlight());
698 
699  h4e[ir]->Fill(itHit->energyLoss());
700  h4ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
701  h4ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
702  h4ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
703  h4lx[ir]->Fill(itHit->localPosition().x());
704  h4ly[ir]->Fill(itHit->localPosition().y());
705  }
706  for (itHit = SiTECHighContainer->begin(); itHit != SiTECHighContainer->end(); ++itHit) {
707  DetId detid = DetId(itHit->detUnitId());
708  const GeomDetUnit *det = (const GeomDetUnit *)tracker->idToDetUnit(detid);
709  GlobalPoint gpos = det->toGlobal(itHit->localPosition());
710  htofeta->Fill(gpos.eta(), itHit->timeOfFlight());
711  htofphi->Fill(gpos.phi().degrees(), itHit->timeOfFlight());
712  htofr->Fill(gpos.mag(), itHit->timeOfFlight());
713  htofz->Fill(gpos.z(), itHit->timeOfFlight());
714 
715  h4e[ir]->Fill(itHit->energyLoss());
716  h4ex[ir]->Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
717  h4ey[ir]->Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
718  h4ez[ir]->Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
719  h4lx[ir]->Fill(itHit->localPosition().x());
720  h4ly[ir]->Fill(itHit->localPosition().y());
721  }
722 
723  return;
724 }
725 
TrackerHitAnalyzer::h6lx
MonitorElement * h6lx[12]
Definition: TrackerHitAnalyzer.h:93
Handle.h
TrackerHitAnalyzer::h1ex
MonitorElement * h1ex[12]
Definition: TrackerHitAnalyzer.h:67
electrons_cff.bool
bool
Definition: electrons_cff.py:393
mps_fire.i
i
Definition: mps_fire.py:428
TrackerHitAnalyzer::h6ex
MonitorElement * h6ex[12]
Definition: TrackerHitAnalyzer.h:72
PixelSubdetector.h
TrackerHitAnalyzer::h5lx
MonitorElement * h5lx[12]
Definition: TrackerHitAnalyzer.h:92
MessageLogger.h
TrackerHitAnalyzer::h1ey
MonitorElement * h1ey[12]
Definition: TrackerHitAnalyzer.h:74
TrackerHitAnalyzer::edmPSimHitContainer_siTECLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTECLow_Token_
Definition: TrackerHitAnalyzer.h:46
funct::false
false
Definition: Factorize.h:29
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
TrackerHitAnalyzer::h6e
MonitorElement * h6e[12]
Definition: TrackerHitAnalyzer.h:65
ESHandle.h
TrackerHitAnalyzer::edmPSimHitContainer_siTIDLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIDLow_Token_
Definition: TrackerHitAnalyzer.h:45
TrackerHitAnalyzer::h5e
MonitorElement * h5e[12]
Definition: TrackerHitAnalyzer.h:64
edm::Run
Definition: Run.h:45
TrackerHitAnalyzer::h4ly
MonitorElement * h4ly[12]
Definition: TrackerHitAnalyzer.h:98
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerHitAnalyzer::edmSimTrackContainerToken_
edm::EDGetTokenT< edm::SimTrackContainer > edmSimTrackContainerToken_
Definition: TrackerHitAnalyzer.h:47
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TrackerHitAnalyzer::htofz
MonitorElement * htofz
Definition: TrackerHitAnalyzer.h:55
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
TrackerHitAnalyzer::h5ly
MonitorElement * h5ly[12]
Definition: TrackerHitAnalyzer.h:99
TrackerHitAnalyzer::h6ez
MonitorElement * h6ez[12]
Definition: TrackerHitAnalyzer.h:86
TrackerHitAnalyzer::h3lx
MonitorElement * h3lx[12]
Definition: TrackerHitAnalyzer.h:90
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
TrackingGeometry.h
DQMStore.h
TrackerHitAnalyzer::h2ex
MonitorElement * h2ex[12]
Definition: TrackerHitAnalyzer.h:68
TrackerHitAnalyzer::h1ly
MonitorElement * h1ly[12]
Definition: TrackerHitAnalyzer.h:95
TrackerHitAnalyzer::h4e
MonitorElement * h4e[12]
Definition: TrackerHitAnalyzer.h:63
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::Handle< edm::PSimHitContainer >
TrackerHitAnalyzer::h2ey
MonitorElement * h2ey[12]
Definition: TrackerHitAnalyzer.h:75
TrackerHitAnalyzer::edmPSimHitContainer_siTOBLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTOBLow_Token_
Definition: TrackerHitAnalyzer.h:44
TrackerHitAnalyzer::edmPSimHitContainer_pxlFwdLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlFwdLow_Token_
Definition: TrackerHitAnalyzer.h:42
TrackerHitAnalyzer::h3ey
MonitorElement * h3ey[12]
Definition: TrackerHitAnalyzer.h:76
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
MakerMacros.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
TrackerHitAnalyzer::h3e
MonitorElement * h3e[12]
Definition: TrackerHitAnalyzer.h:62
Service.h
PVValHelper::eta
Definition: PVValidationHelpers.h:69
TrackerHitAnalyzer::edmPSimHitContainer_siTIDHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIDHigh_Token_
Definition: TrackerHitAnalyzer.h:45
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
SimVertex.h
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
TrackerHitAnalyzer::pixelOutput
bool pixelOutput
Definition: TrackerHitAnalyzer.h:104
TrackerHitAnalyzer::h4ez
MonitorElement * h4ez[12]
Definition: TrackerHitAnalyzer.h:84
TrackerHitAnalyzer::h6ly
MonitorElement * h6ly[12]
Definition: TrackerHitAnalyzer.h:100
edm::ESHandle< TrackerGeometry >
TrackerHitAnalyzer.h
TrackerHitAnalyzer::h1lx
MonitorElement * h1lx[12]
Definition: TrackerHitAnalyzer.h:88
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
Point3DBase< float, GlobalTag >
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackerHitAnalyzer
Definition: TrackerHitAnalyzer.h:22
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
TrackerDigiGeometryRecord.h
edm::ParameterSet
Definition: ParameterSet.h:47
TrackerHitAnalyzer::h5ez
MonitorElement * h5ez[12]
Definition: TrackerHitAnalyzer.h:85
Event.h
Geom::Phi::degrees
T1 degrees() const
Definition: Phi.h:107
trackerHitsValidation_cfi.pixelOutput
pixelOutput
Definition: trackerHitsValidation_cfi.py:29
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
TrackerHitAnalyzer::h2e
MonitorElement * h2e[12]
Definition: TrackerHitAnalyzer.h:61
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
TrackerHitAnalyzer::edmPSimHitContainer_pxlBrlHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlBrlHigh_Token_
Definition: TrackerHitAnalyzer.h:41
LorentzVector.h
edm::Service
Definition: Service.h:30
TrackerHitAnalyzer::h2lx
MonitorElement * h2lx[12]
Definition: TrackerHitAnalyzer.h:89
TrackerHitAnalyzer::h4ey
MonitorElement * h4ey[12]
Definition: TrackerHitAnalyzer.h:77
TrackerHitAnalyzer::h6ey
MonitorElement * h6ey[12]
Definition: TrackerHitAnalyzer.h:79
g4SimHits_cfi.Region
Region
Definition: g4SimHits_cfi.py:152
Max
T Max(T a, T b)
Definition: MathUtil.h:44
TrackerHitAnalyzer::h3ly
MonitorElement * h3ly[12]
Definition: TrackerHitAnalyzer.h:97
edm::EventSetup
Definition: EventSetup.h:57
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
TrackerHitAnalyzer::h3ex
MonitorElement * h3ex[12]
Definition: TrackerHitAnalyzer.h:69
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
TrackerHitAnalyzer::h1ez
MonitorElement * h1ez[12]
Definition: TrackerHitAnalyzer.h:81
GeomDet.h
TrackerHitAnalyzer::edmPSimHitContainer_siTECHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTECHigh_Token_
Definition: TrackerHitAnalyzer.h:46
TrackerHitAnalyzer::edmPSimHitContainer_siTIBHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIBHigh_Token_
Definition: TrackerHitAnalyzer.h:43
TrackerHitAnalyzer::htofeta
MonitorElement * htofeta
Definition: TrackerHitAnalyzer.h:52
TrackerHitAnalyzer::~TrackerHitAnalyzer
~TrackerHitAnalyzer() override
Destructor.
Definition: TrackerHitAnalyzer.cc:331
TrackerHitAnalyzer::h4ex
MonitorElement * h4ex[12]
Definition: TrackerHitAnalyzer.h:70
LaserClient_cfi.high
high
Definition: LaserClient_cfi.py:50
TrackerHitAnalyzer::edmPSimHitContainer_pxlBrlLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlBrlLow_Token_
Definition: TrackerHitAnalyzer.h:41
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
TrackerHitAnalyzer::h5ey
MonitorElement * h5ey[12]
Definition: TrackerHitAnalyzer.h:78
edm::SimTrackContainer
std::vector< SimTrack > SimTrackContainer
Definition: SimTrackContainer.h:12
DetId.h
TrackerHitAnalyzer::edmPSimHitContainer_siTOBHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTOBHigh_Token_
Definition: TrackerHitAnalyzer.h:44
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
TrackerHitAnalyzer::h3ez
MonitorElement * h3ez[12]
Definition: TrackerHitAnalyzer.h:83
ZMuMuCategoriesSequences_cff.nbin
nbin
Definition: ZMuMuCategoriesSequences_cff.py:25
TrackerHitAnalyzer::h2ly
MonitorElement * h2ly[12]
Definition: TrackerHitAnalyzer.h:96
TrackerHitAnalyzer::edmPSimHitContainer_siTIBLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIBLow_Token_
Definition: TrackerHitAnalyzer.h:43
TrackerHitAnalyzer::htofphi
MonitorElement * htofphi
Definition: TrackerHitAnalyzer.h:53
EventSetup.h
TrackerHitAnalyzer::h5ex
MonitorElement * h5ex[12]
Definition: TrackerHitAnalyzer.h:71
TrackerHitAnalyzer::h1e
MonitorElement * h1e[12]
Definition: TrackerHitAnalyzer.h:60
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
dqm::implementation::IBooker
Definition: DQMStore.h:43
TrackerHitAnalyzer::htofr
MonitorElement * htofr
Definition: TrackerHitAnalyzer.h:54
JetMETHLTOfflineSource_cfi.runStandalone
runStandalone
Definition: JetMETHLTOfflineSource_cfi.py:15
TrackerHitAnalyzer::edmPSimHitContainer_pxlFwdHigh_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlFwdHigh_Token_
Definition: TrackerHitAnalyzer.h:42
TrackerHitAnalyzer::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
Definition: TrackerHitAnalyzer.cc:335
edm::PSimHitContainer
std::vector< PSimHit > PSimHitContainer
Definition: PSimHitContainer.h:11
Min
T Min(T a, T b)
Definition: MathUtil.h:39
HepMCProduct.h
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
TrackerHitAnalyzer::fDBE
DQMStore * fDBE
Definition: TrackerHitAnalyzer.h:49
TrackerHitAnalyzer::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
Definition: TrackerHitAnalyzer.cc:73
TrackerHitAnalyzer::h4lx
MonitorElement * h4lx[12]
Definition: TrackerHitAnalyzer.h:91
edm::Event
Definition: Event.h:73
TrackerHitAnalyzer::TrackerHitAnalyzer
TrackerHitAnalyzer(const edm::ParameterSet &ps)
Constructor.
Definition: TrackerHitAnalyzer.cc:40
StripSubdetector.h
LaserClient_cfi.low
low
Definition: LaserClient_cfi.py:52
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
PValidationFormats.h
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
EncodedEventId.h
TrackerHitAnalyzer::h2ez
MonitorElement * h2ez[12]
Definition: TrackerHitAnalyzer.h:82