33 #include "CLHEP/Units/GlobalSystemOfUnits.h" 34 #include <CLHEP/Vector/LorentzVector.h> 42 : verbose_(ps.getUntrackedParameter<
bool>(
"Verbosity",
false)),
43 edmPSimHitContainer_pxlBrlLow_Token_(
45 edmPSimHitContainer_pxlBrlHigh_Token_(
47 edmPSimHitContainer_pxlFwdLow_Token_(
49 edmPSimHitContainer_pxlFwdHigh_Token_(
51 edmPSimHitContainer_siTIBLow_Token_(
53 edmPSimHitContainer_siTIBHigh_Token_(
55 edmPSimHitContainer_siTOBLow_Token_(
57 edmPSimHitContainer_siTOBHigh_Token_(
59 edmPSimHitContainer_siTIDLow_Token_(
61 edmPSimHitContainer_siTIDHigh_Token_(
63 edmPSimHitContainer_siTECLow_Token_(
65 edmPSimHitContainer_siTECHigh_Token_(
71 fOutputFile(ps.getUntrackedParameter<
std::
string>(
"outputFile",
"TrackerHitHisto.root")),
78 Char_t hname1[50], htitle1[80];
79 Char_t hname2[50], htitle2[80];
80 Char_t hname3[50], htitle3[80];
81 Char_t hname4[50], htitle4[80];
82 Char_t hname5[50], htitle5[80];
83 Char_t hname6[50], htitle6[80];
98 if (
fDBE !=
nullptr) {
106 htofeta = ibooker.
book2D(
"tof_eta",
"Time of flight vs eta", nbin, -3.0, 3.0, 200, -100, 100);
107 htofphi = ibooker.
book2D(
"tof_phi",
"Time of flight vs phi", nbin, -180, 180, 200, -100, 100);
108 htofr = ibooker.
book2D(
"tof_r",
"Time of flight vs r", nbin, 0, 300, 200, -100, 100);
109 htofz = ibooker.
book2D(
"tof_z",
"Time of flight vs z", nbin, -280, 280, 200, -100, 100);
111 const float E2NEL = 1.;
113 const char *
Region[] = {
"005",
"051",
"115",
"152",
"225",
"253",
"-050",
"-105",
"-151",
"-215",
"-252",
"-325"};
117 for (
int i = 0;
i < 12;
i++) {
118 sprintf(htitle1,
"Energy loss in TIB %s", Region[
i]);
119 sprintf(htitle2,
"Energy loss in TOB %s", Region[i]);
120 sprintf(htitle3,
"Energy loss in TID %s", Region[i]);
121 sprintf(htitle4,
"Energy loss in TEC %s", Region[i]);
123 sprintf(htitle5,
"Energy loss in BPIX %s", Region[i]);
125 sprintf(htitle6,
"Energy loss in FPIX %s", Region[i]);
127 sprintf(hname1,
"Eloss_TIB_%i", i + 1);
128 sprintf(hname2,
"Eloss_TOB_%i", i + 1);
129 sprintf(hname3,
"Eloss_TID_%i", i + 1);
130 sprintf(hname4,
"Eloss_TEC_%i", i + 1);
132 sprintf(hname5,
"Eloss_BPIX_%i", i + 1);
134 sprintf(hname6,
"Eloss_FPIX_%i", i + 1);
137 h1e[
i] = ibooker.
book1D(hname1, htitle1, nbin, 0.0, 0.001 * E2NEL);
139 h2e[
i] = ibooker.
book1D(hname2, htitle2, nbin, 0.0, 0.001 * E2NEL);
141 h3e[
i] = ibooker.
book1D(hname3, htitle3, nbin, 0.0, 0.001 * E2NEL);
143 h4e[
i] = ibooker.
book1D(hname4, htitle4, nbin, 0.0, 0.001 * E2NEL);
146 h5e[
i] = ibooker.
book1D(hname5, htitle5, nbin, 0.0, 0.001 * E2NEL);
148 h6e[
i] = ibooker.
book1D(hname6, htitle6, nbin, 0.0, 0.001 * E2NEL);
153 const float high[] = {0.03, 0.03, 0.02, 0.03, 0.03, 0.03};
154 const float low[] = {-0.03, -0.03, -0.02, -0.03, -0.03, -0.03};
156 for (
int i = 0;
i < 12;
i++) {
157 sprintf(htitle1,
"Entryx-Exitx in TIB %s", Region[
i]);
158 sprintf(htitle2,
"Entryx-Exitx in TOB %s", Region[i]);
159 sprintf(htitle3,
"Entryx-Exitx in TID %s", Region[i]);
160 sprintf(htitle4,
"Entryx-Exitx in TEC %s", Region[i]);
162 sprintf(htitle5,
"Entryx-Exitx in BPIX %s", Region[i]);
164 sprintf(htitle6,
"Entryx-Exitx in FPIX %s", Region[i]);
166 sprintf(hname1,
"Entryx-Exitx_TIB_%i", i + 1);
167 sprintf(hname2,
"Entryx-Exitx_TOB_%i", i + 1);
168 sprintf(hname3,
"Entryx-Exitx_TID_%i", i + 1);
169 sprintf(hname4,
"Entryx-Exitx_TEC_%i", i + 1);
171 sprintf(hname5,
"Entryx-Exitx_BPIX_%i", i + 1);
173 sprintf(hname6,
"Entryx-Exitx_FPIX_%i", i + 1);
176 h1ex[
i] = ibooker.
book1D(hname1, htitle1, nbin, low[0], high[0]);
178 h2ex[
i] = ibooker.
book1D(hname2, htitle2, nbin, low[1], high[1]);
180 h3ex[
i] = ibooker.
book1D(hname3, htitle3, nbin, low[2], high[2]);
182 h4ex[
i] = ibooker.
book1D(hname4, htitle4, nbin, low[3], high[3]);
185 h5ex[
i] = ibooker.
book1D(hname5, htitle5, nbin, low[4], high[4]);
187 h6ex[
i] = ibooker.
book1D(hname6, htitle6, nbin, low[5], high[5]);
191 const float high0[] = {0.05, 0.06, 0.03, 0.03, 0.03, 0.03};
192 const float low0[] = {-0.05, -0.06, -0.03, -0.03, -0.03, -0.03};
194 for (
int i = 0;
i < 12;
i++) {
195 sprintf(htitle1,
"Entryy-Exity in TIB %s", Region[
i]);
196 sprintf(htitle2,
"Entryy-Exity in TOB %s", Region[i]);
197 sprintf(htitle3,
"Entryy-Exity in TID %s", Region[i]);
198 sprintf(htitle4,
"Entryy-Exity in TEC %s", Region[i]);
200 sprintf(htitle5,
"Entryy-Exity in BPIX %s", Region[i]);
202 sprintf(htitle6,
"Entryy-Exity in FPIX %s", Region[i]);
204 sprintf(hname1,
"Entryy-Exity_TIB_%i", i + 1);
205 sprintf(hname2,
"Entryy-Exity_TOB_%i", i + 1);
206 sprintf(hname3,
"Entryy-Exity_TID_%i", i + 1);
207 sprintf(hname4,
"Entryy-Exity_TEC_%i", i + 1);
209 sprintf(hname5,
"Entryy-Exity_BPIX_%i", i + 1);
211 sprintf(hname6,
"Entryy-Exity_FPIX_%i", i + 1);
214 h1ey[
i] = ibooker.
book1D(hname1, htitle1, nbin, low0[0], high0[0]);
216 h2ey[
i] = ibooker.
book1D(hname2, htitle2, nbin, low0[1], high0[1]);
218 h3ey[
i] = ibooker.
book1D(hname3, htitle3, nbin, low0[2], high0[2]);
220 h4ey[
i] = ibooker.
book1D(hname4, htitle4, nbin, low0[3], high0[3]);
223 h5ey[
i] = ibooker.
book1D(hname5, htitle5, nbin, low0[4], high0[4]);
225 h6ey[
i] = ibooker.
book1D(hname6, htitle6, nbin, low0[5], high0[5]);
229 const float high1[] = {0.05, 0.06, 0.05, 0.06, 0.05, 0.05};
230 const float low1[] = {0., 0., 0., 0., 0., 0.};
232 for (
int i = 0;
i < 12;
i++) {
233 sprintf(htitle1,
"abs(Entryz-Exitz) in TIB %s", Region[
i]);
234 sprintf(htitle2,
"abs(Entryz-Exitz) in TOB %s", Region[i]);
235 sprintf(htitle3,
"abs(Entryz-Exitz) in TID %s", Region[i]);
236 sprintf(htitle4,
"abs(Entryz-Exitz) in TEC %s", Region[i]);
238 sprintf(htitle5,
"abs(Entryz-Exitz) in BPIX %s", Region[i]);
240 sprintf(htitle6,
"abs(Entryz-Exitz) in FPIX %s", Region[i]);
242 sprintf(hname1,
"Entryz-Exitz_TIB_%i", i + 1);
243 sprintf(hname2,
"Entryz-Exitz_TOB_%i", i + 1);
244 sprintf(hname3,
"Entryz-Exitz_TID_%i", i + 1);
245 sprintf(hname4,
"Entryz-Exitz_TEC_%i", i + 1);
247 sprintf(hname5,
"Entryz-Exitz_BPIX_%i", i + 1);
249 sprintf(hname6,
"Entryz-Exitz_FPIX_%i", i + 1);
252 h1ez[
i] = ibooker.
book1D(hname1, htitle1, nbin, low1[0], high1[0]);
254 h2ez[
i] = ibooker.
book1D(hname2, htitle2, nbin, low1[1], high1[1]);
256 h3ez[
i] = ibooker.
book1D(hname3, htitle3, nbin, low1[2], high1[2]);
258 h4ez[
i] = ibooker.
book1D(hname4, htitle4, nbin, low1[3], high1[3]);
261 h5ez[
i] = ibooker.
book1D(hname5, htitle5, nbin, low1[4], high1[4]);
263 h6ez[
i] = ibooker.
book1D(hname6, htitle6, nbin, low1[5], high1[5]);
267 const float high2[] = {3.2, 5.0, 5.5, 6.2, 0.85, 0.5};
268 const float low2[] = {-3.2, -5.0, -5.5, -6.2, -0.85, -0.5};
270 for (
int i = 0;
i < 12;
i++) {
271 sprintf(htitle1,
"Localx in TIB %s", Region[
i]);
272 sprintf(htitle2,
"Localx in TOB %s", Region[i]);
273 sprintf(htitle3,
"Localx in TID %s", Region[i]);
274 sprintf(htitle4,
"Localx in TEC %s", Region[i]);
276 sprintf(htitle5,
"Localx in BPIX %s", Region[i]);
278 sprintf(htitle6,
"Localx in FPIX %s", Region[i]);
280 sprintf(hname1,
"Localx_TIB_%i", i + 1);
281 sprintf(hname2,
"Localx_TOB_%i", i + 1);
282 sprintf(hname3,
"Localx_TID_%i", i + 1);
283 sprintf(hname4,
"Localx_TEC_%i", i + 1);
285 sprintf(hname5,
"Localx_BPIX_%i", i + 1);
287 sprintf(hname6,
"Localx_FPIX_%i", i + 1);
290 h1lx[
i] = ibooker.
book1D(hname1, htitle1, nbin, low2[0], high2[0]);
292 h2lx[
i] = ibooker.
book1D(hname2, htitle2, nbin, low2[1], high2[1]);
294 h3lx[
i] = ibooker.
book1D(hname3, htitle3, nbin, low2[2], high2[2]);
296 h4lx[
i] = ibooker.
book1D(hname4, htitle4, nbin, low2[3], high2[3]);
299 h5lx[
i] = ibooker.
book1D(hname5, htitle5, nbin, low2[4], high2[4]);
301 h6lx[
i] = ibooker.
book1D(hname6, htitle6, nbin, low2[5], high2[5]);
305 const float high3[] = {6.0, 10., 5.6, 10.5, 3.4, 0.52};
306 const float low3[] = {-6.0, -10., -5.6, -10.5, -3.4, -0.52};
308 for (
int i = 0;
i < 12;
i++) {
309 sprintf(htitle1,
"Localy in TIB %s", Region[
i]);
310 sprintf(htitle2,
"Localy in TOB %s", Region[i]);
311 sprintf(htitle3,
"Localy in TID %s", Region[i]);
312 sprintf(htitle4,
"Localy in TEC %s", Region[i]);
314 sprintf(htitle5,
"Localy in BPIX %s", Region[i]);
316 sprintf(htitle6,
"Localy in FPIX %s", Region[i]);
318 sprintf(hname1,
"Localy_TIB_%i", i + 1);
319 sprintf(hname2,
"Localy_TOB_%i", i + 1);
320 sprintf(hname3,
"Localy_TID_%i", i + 1);
321 sprintf(hname4,
"Localy_TEC_%i", i + 1);
323 sprintf(hname5,
"Localy_BPIX_%i", i + 1);
325 sprintf(hname6,
"Localy_FPIX_%i", i + 1);
328 h1ly[
i] = ibooker.
book1D(hname1, htitle1, nbin, low3[0], high3[0]);
330 h2ly[
i] = ibooker.
book1D(hname2, htitle2, nbin, low3[1], high3[1]);
332 h3ly[
i] = ibooker.
book1D(hname3, htitle3, nbin, low3[2], high3[2]);
334 h4ly[
i] = ibooker.
book1D(hname4, htitle4, nbin, low3[3], high3[3]);
337 h5ly[
i] = ibooker.
book1D(hname5, htitle5, nbin, low3[4], high3[4]);
339 h6ly[
i] = ibooker.
book1D(hname6, htitle6, nbin, low3[5], high3[5]);
366 edm::PSimHitContainer::const_iterator itHit;
373 if (!PxlBrlLowContainer.
isValid()) {
374 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"Unable to find TrackerHitsPixelBarrelLowTof in event!";
380 if (!PxlBrlHighContainer.
isValid()) {
381 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"Unable to find TrackerHitsPixelBarrelHighTof in event!";
390 if (!PxlFwdLowContainer.
isValid()) {
391 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"Unable to find TrackerHitsPixelEndcapLowTof in event!";
397 if (!PxlFwdHighContainer.
isValid()) {
398 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"Unable to find TrackerHitsPixelEndcapHighTof in event!";
407 if (!SiTIBLowContainer.
isValid()) {
408 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTIBLowTof in event!";
415 if (!SiTIBHighContainer.
isValid()) {
416 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTIBHighTof in event!";
425 if (!SiTOBLowContainer.
isValid()) {
426 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTOBLowTof in event!";
433 if (!SiTOBHighContainer.
isValid()) {
434 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTOBHighTof in event!";
444 if (!SiTIDLowContainer.
isValid()) {
445 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTIDLowTof in event!";
452 if (!SiTIDHighContainer.
isValid()) {
453 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTIDHighTof in event!";
462 if (!SiTECLowContainer.
isValid()) {
463 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTECLowTof in event!";
470 if (!SiTECHighContainer.
isValid()) {
471 edm::LogError(
"TrackerHitProducer::analyze") <<
"Unable to find TrackerHitsTECHighTof in event!";
481 if (!G4TrkContainer.
isValid()) {
482 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"Unable to find SimTrack in event!";
492 edm::SimTrackContainer::const_iterator itTrk;
493 for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
495 double eta = 0,
p = 0;
496 const CLHEP::HepLorentzVector &G4Trk = CLHEP::HepLorentzVector(
497 itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
498 p =
sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1] + G4Trk[2] * G4Trk[2]);
500 edm::LogError(
"TrackerHitAnalyzer::analyze") <<
"TrackerTest::INFO: Primary has p = 0 ";
502 double costheta = G4Trk[2] /
p;
504 eta = -
log(
tan(theta / 2));
506 if (eta > 0.0 && eta <= 0.5)
508 if (eta > 0.5 && eta <= 1.0)
510 if (eta > 1.0 && eta <= 1.5)
512 if (eta > 1.5 && eta <= 2.0)
514 if (eta > 2.0 && eta <= 2.5)
519 if (eta > -0.5 && eta <= 0.0)
521 if (eta > -1.0 && eta <= -0.5)
523 if (eta > -1.5 && eta <= -1.0)
525 if (eta > -2.0 && eta <= -1.5)
527 if (eta > -2.5 && eta <= -2.0)
544 for (itHit = PxlBrlLowContainer->begin(); itHit != PxlBrlLowContainer->end(); ++itHit) {
547 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
553 h5e[ir]->
Fill(itHit->energyLoss());
554 h5ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
555 h5ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
556 h5ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
557 h5lx[ir]->
Fill(itHit->localPosition().x());
558 h5ly[ir]->
Fill(itHit->localPosition().y());
560 for (itHit = PxlBrlHighContainer->begin(); itHit != PxlBrlHighContainer->end(); ++itHit) {
563 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
569 h5e[ir]->
Fill(itHit->energyLoss());
570 h5ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
571 h5ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
572 h5ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
573 h5lx[ir]->
Fill(itHit->localPosition().x());
574 h5ly[ir]->
Fill(itHit->localPosition().y());
576 for (itHit = PxlFwdLowContainer->begin(); itHit != PxlFwdLowContainer->end(); ++itHit) {
579 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
585 h6e[ir]->
Fill(itHit->energyLoss());
586 h6ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
587 h6ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
588 h6ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
589 h6lx[ir]->
Fill(itHit->localPosition().x());
590 h6ly[ir]->
Fill(itHit->localPosition().y());
592 for (itHit = PxlFwdHighContainer->begin(); itHit != PxlFwdHighContainer->end(); ++itHit) {
595 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
601 h6e[ir]->
Fill(itHit->energyLoss());
602 h6ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
603 h6ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
604 h6ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
605 h6lx[ir]->
Fill(itHit->localPosition().x());
606 h6ly[ir]->
Fill(itHit->localPosition().y());
612 for (itHit = SiTIBLowContainer->begin(); itHit != SiTIBLowContainer->end(); ++itHit) {
615 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
621 h1e[ir]->
Fill(itHit->energyLoss());
622 h1ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
623 h1ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
624 h1ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
625 h1lx[ir]->
Fill(itHit->localPosition().x());
626 h1ly[ir]->
Fill(itHit->localPosition().y());
628 for (itHit = SiTIBHighContainer->begin(); itHit != SiTIBHighContainer->end(); ++itHit) {
631 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
637 h1e[ir]->
Fill(itHit->energyLoss());
638 h1ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
639 h1ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
640 h1ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
641 h1lx[ir]->
Fill(itHit->localPosition().x());
642 h1ly[ir]->
Fill(itHit->localPosition().y());
647 for (itHit = SiTOBLowContainer->begin(); itHit != SiTOBLowContainer->end(); ++itHit) {
650 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
656 h2e[ir]->
Fill(itHit->energyLoss());
657 h2ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
658 h2ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
659 h2ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
660 h2lx[ir]->
Fill(itHit->localPosition().x());
661 h2ly[ir]->
Fill(itHit->localPosition().y());
663 for (itHit = SiTOBHighContainer->begin(); itHit != SiTOBHighContainer->end(); ++itHit) {
666 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
672 h2e[ir]->
Fill(itHit->energyLoss());
673 h2ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
674 h2ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
675 h2ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
676 h2lx[ir]->
Fill(itHit->localPosition().x());
677 h2ly[ir]->
Fill(itHit->localPosition().y());
682 for (itHit = SiTIDLowContainer->begin(); itHit != SiTIDLowContainer->end(); ++itHit) {
685 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
691 h3e[ir]->
Fill(itHit->energyLoss());
692 h3ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
693 h3ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
694 h3ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
695 h3lx[ir]->
Fill(itHit->localPosition().x());
696 h3ly[ir]->
Fill(itHit->localPosition().y());
698 for (itHit = SiTIDHighContainer->begin(); itHit != SiTIDHighContainer->end(); ++itHit) {
701 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
707 h3e[ir]->
Fill(itHit->energyLoss());
708 h3ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
709 h3ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
710 h3ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
711 h3lx[ir]->
Fill(itHit->localPosition().x());
712 h3ly[ir]->
Fill(itHit->localPosition().y());
717 for (itHit = SiTECLowContainer->begin(); itHit != SiTECLowContainer->end(); ++itHit) {
720 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
726 h4e[ir]->
Fill(itHit->energyLoss());
727 h4ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
728 h4ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
729 h4ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
730 h4lx[ir]->
Fill(itHit->localPosition().x());
731 h4ly[ir]->
Fill(itHit->localPosition().y());
733 for (itHit = SiTECHighContainer->begin(); itHit != SiTECHighContainer->end(); ++itHit) {
736 GlobalPoint gpos = det->toGlobal(itHit->localPosition());
742 h4e[ir]->
Fill(itHit->energyLoss());
743 h4ex[ir]->
Fill(itHit->entryPoint().x() - itHit->exitPoint().x());
744 h4ey[ir]->
Fill(itHit->entryPoint().y() - itHit->exitPoint().y());
745 h4ez[ir]->
Fill(std::fabs(itHit->entryPoint().z() - itHit->exitPoint().z()));
746 h4lx[ir]->
Fill(itHit->localPosition().x());
747 h4ly[ir]->
Fill(itHit->localPosition().y());
EventNumber_t event() const
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
MonitorElement * h2lx[12]
MonitorElement * h1lx[12]
MonitorElement * h6ex[12]
MonitorElement * h1ey[12]
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTECLow_Token_
MonitorElement * h3ly[12]
MonitorElement * h5ez[12]
MonitorElement * h4ex[12]
edm::EDGetTokenT< edm::SimTrackContainer > edmSimTrackContainerToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * h1ez[12]
~TrackerHitAnalyzer() override
Destructor.
MonitorElement * h3ez[12]
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlBrlLow_Token_
Geom::Phi< T > phi() const
Geom::Theta< T > theta() const
MonitorElement * h5ey[12]
MonitorElement * h3lx[12]
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTOBLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlFwdLow_Token_
MonitorElement * h6ly[12]
MonitorElement * h5ex[12]
MonitorElement * h5ly[12]
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIBLow_Token_
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTOBHigh_Token_
void setCurrentFolder(std::string const &fullpath)
MonitorElement * h1ex[12]
MonitorElement * book1D(Args &&...args)
MonitorElement * h6ey[12]
Tan< T >::type tan(const T &t)
MonitorElement * h4lx[12]
void setVerbose(unsigned level)
MonitorElement * h2ex[12]
MonitorElement * h6ez[12]
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIDLow_Token_
MonitorElement * h2ez[12]
void showDirStructure() const
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlBrlHigh_Token_
MonitorElement * h5lx[12]
MonitorElement * book2D(Args &&...args)
MonitorElement * h4ey[12]
MonitorElement * h1ly[12]
void save(std::string const &filename, std::string const &path="", std::string const &pattern="", std::string const &rewrite="", uint32_t run=0, uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, std::string const &fileupdate="RECREATE")
MonitorElement * h4ly[12]
MonitorElement * h3ex[12]
MonitorElement * h3ey[12]
MonitorElement * h2ey[12]
MonitorElement * h2ly[12]
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIBHigh_Token_
std::vector< PSimHit > PSimHitContainer
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlFwdHigh_Token_
TrackerHitAnalyzer(const edm::ParameterSet &ps)
Constructor.
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTECHigh_Token_
std::vector< SimTrack > SimTrackContainer
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIDHigh_Token_
MonitorElement * h6lx[12]
MonitorElement * h4ez[12]