34 edm::LogInfo(
"Phase2OTValidateRecHitBase") <<
">>> Construct Phase2OTValidateRecHitBase ";
43 edm::LogInfo(
"Phase2OTValidateRecHitBase") <<
">>> Destroy Phase2OTValidateRecHitBase ";
54 const std::map<unsigned int, SimTrack>& selectedSimTrackMap,
55 std::map<std::string, unsigned int>& nrechitLayerMapP_primary,
56 std::map<std::string, unsigned int>& nrechitLayerMapS_primary) {
67 auto simTrackIt(selectedSimTrackMap.find(simhitClosest->
trackId()));
70 if (simTrackIt != selectedSimTrackMap.end())
74 double dx = lp.x() - simlp.x();
75 double dy = lp.y() - simlp.y();
82 float eta = geomDetunit->surface().toGlobal(lp).eta();
83 float phi = geomDetunit->surface().toGlobal(lp).phi();
110 nrechitLayerMapP_primary[
key]--;
132 nrechitLayerMapS_primary[
key]--;
144 if (theTkDigiGeomWatcher.check(iSetup)) {
150 unsigned int detId_raw = det_u->geographicalId().rawId();
165 edm::LogInfo(
"Phase2OTValidateRecHitBase") <<
" Booking Histograms in : " <<
key;
262 psd0.
add<
std::string>(
"title",
"#Delta X " + mptag +
";Cluster resolution X coordinate [#mum]");
263 psd0.
add<
bool>(
"switch",
true);
264 psd0.
add<
double>(
"xmax", 250);
265 psd0.
add<
double>(
"xmin", -250);
266 psd0.
add<
int>(
"NxBins", 100);
272 psd0.
add<
std::string>(
"title",
"#Delta Y " + mptag +
";Cluster resolution Y coordinate [#mum]");
273 psd0.
add<
bool>(
"switch",
true);
274 psd0.
add<
double>(
"xmin", -1500);
275 psd0.
add<
double>(
"xmax", 1500);
276 psd0.
add<
int>(
"NxBins", 100);
282 psd0.
add<
std::string>(
"title",
"#Delta X " + mptag +
";cluster resolution X coordinate [#mum]");
283 psd0.
add<
bool>(
"switch",
true);
284 psd0.
add<
double>(
"xmin", -250);
285 psd0.
add<
double>(
"xmax", 250);
286 psd0.
add<
int>(
"NxBins", 100);
292 psd0.
add<
std::string>(
"title",
"#Delta Y " + mptag +
";cluster resolution Y coordinate [#mum]");
293 psd0.
add<
bool>(
"switch",
true);
294 psd0.
add<
double>(
"xmin", -500);
295 psd0.
add<
double>(
"xmax", 500);
296 psd0.
add<
int>(
"NxBins", 100);
304 psd0.
add<
int>(
"NyBins", 250);
305 psd0.
add<
double>(
"ymin", -250.0);
306 psd0.
add<
double>(
"ymax", 250.0);
307 psd0.
add<
int>(
"NxBins", 41);
308 psd0.
add<
bool>(
"switch",
true);
309 psd0.
add<
double>(
"xmax", 4.1);
310 psd0.
add<
double>(
"xmin", 0.);
317 psd0.
add<
int>(
"NyBins", 300);
318 psd0.
add<
double>(
"ymin", -1500.0);
319 psd0.
add<
double>(
"ymax", 1500.0);
320 psd0.
add<
int>(
"NxBins", 41);
321 psd0.
add<
bool>(
"switch",
true);
322 psd0.
add<
double>(
"xmax", 4.1);
323 psd0.
add<
double>(
"xmin", 0.);
331 psd0.
add<
int>(
"NyBins", 250);
332 psd0.
add<
double>(
"ymin", -250.0);
333 psd0.
add<
double>(
"ymax", 250.0);
334 psd0.
add<
int>(
"NxBins", 36);
335 psd0.
add<
bool>(
"switch",
true);
336 psd0.
add<
double>(
"xmax",
M_PI);
337 psd0.
add<
double>(
"xmin", -
M_PI);
344 psd0.
add<
int>(
"NyBins", 300);
345 psd0.
add<
double>(
"ymin", -1500.0);
346 psd0.
add<
double>(
"ymax", 1500.0);
347 psd0.
add<
int>(
"NxBins", 35);
348 psd0.
add<
bool>(
"switch",
true);
349 psd0.
add<
double>(
"xmax",
M_PI);
350 psd0.
add<
double>(
"xmin", -
M_PI);
358 psd0.
add<
double>(
"xmin", -4.0);
359 psd0.
add<
bool>(
"switch",
true);
360 psd0.
add<
double>(
"xmax", 4.0);
361 psd0.
add<
int>(
"NxBins", 100);
368 psd0.
add<
double>(
"xmin", -4.0);
369 psd0.
add<
bool>(
"switch",
true);
370 psd0.
add<
double>(
"xmax", 4.0);
371 psd0.
add<
int>(
"NxBins", 100);
379 psd0.
add<
double>(
"xmin", -4.0);
380 psd0.
add<
bool>(
"switch",
true);
381 psd0.
add<
double>(
"xmax", 4.0);
382 psd0.
add<
int>(
"NxBins", 100);
389 psd0.
add<
double>(
"xmin", -4.0);
390 psd0.
add<
bool>(
"switch",
true);
391 psd0.
add<
double>(
"xmax", 4.0);
392 psd0.
add<
int>(
"NxBins", 100);
399 psd0.
add<
double>(
"ymax", 4.0);
400 psd0.
add<
int>(
"NxBins", 82);
401 psd0.
add<
bool>(
"switch",
true);
402 psd0.
add<
double>(
"xmax", 4.1);
403 psd0.
add<
double>(
"xmin", -4.1);
404 psd0.
add<
double>(
"ymin", -4.0);
411 psd0.
add<
double>(
"ymax", 4.0);
412 psd0.
add<
int>(
"NxBins", 82);
413 psd0.
add<
bool>(
"switch",
true);
414 psd0.
add<
double>(
"xmax", 4.1);
415 psd0.
add<
double>(
"xmin", -4.1);
416 psd0.
add<
double>(
"ymin", -4.0);
421 psd0.
add<
std::string>(
"name",
"Number_RecHits_matched_PrimarySimTrack");
422 psd0.
add<
std::string>(
"title",
"Number of RecHits matched to primary SimTrack;;");
423 psd0.
add<
double>(
"xmin", 0.0);
424 psd0.
add<
bool>(
"switch",
true);
425 psd0.
add<
double>(
"xmax", 10000.0);
426 psd0.
add<
int>(
"NxBins", 100);
433 psd0.
add<
std::string>(
"title",
"#Delta X " + striptag +
";Cluster resolution X coordinate [#mum]");
434 psd0.
add<
bool>(
"switch",
true);
435 psd0.
add<
double>(
"xmin", -250);
436 psd0.
add<
double>(
"xmax", 250);
437 psd0.
add<
int>(
"NxBins", 100);
443 psd0.
add<
std::string>(
"title",
"#Delta Y " + striptag +
";Cluster resolution Y coordinate [cm]");
444 psd0.
add<
double>(
"xmin", -5.0);
445 psd0.
add<
bool>(
"switch",
true);
446 psd0.
add<
double>(
"xmax", 5.0);
447 psd0.
add<
int>(
"NxBins", 100);
453 psd0.
add<
std::string>(
"title",
"#Delta X " + striptag +
";Cluster resolution X coordinate [#mum]");
454 psd0.
add<
bool>(
"switch",
true);
455 psd0.
add<
double>(
"xmin", -250);
456 psd0.
add<
double>(
"xmax", 250);
457 psd0.
add<
int>(
"NxBins", 100);
463 psd0.
add<
std::string>(
"title",
"#Delta Y " + striptag +
";Cluster resolution Y coordinate [cm]");
464 psd0.
add<
double>(
"xmin", -5.0);
465 psd0.
add<
bool>(
"switch",
true);
466 psd0.
add<
double>(
"xmax", 5.0);
467 psd0.
add<
int>(
"NxBins", 100);
475 psd0.
add<
int>(
"NyBins", 250);
476 psd0.
add<
double>(
"ymin", -250.0);
477 psd0.
add<
double>(
"ymax", 250.0);
478 psd0.
add<
int>(
"NxBins", 41);
479 psd0.
add<
bool>(
"switch",
true);
480 psd0.
add<
double>(
"xmax", 4.1);
481 psd0.
add<
double>(
"xmin", 0.);
488 psd0.
add<
int>(
"NyBins", 100);
489 psd0.
add<
double>(
"ymin", -5.0);
490 psd0.
add<
double>(
"ymax", 5.0);
491 psd0.
add<
int>(
"NxBins", 41);
492 psd0.
add<
bool>(
"switch",
true);
493 psd0.
add<
double>(
"xmax", 4.1);
494 psd0.
add<
double>(
"xmin", 0.);
502 psd0.
add<
int>(
"NyBins", 250);
503 psd0.
add<
double>(
"ymin", -250.0);
504 psd0.
add<
double>(
"ymax", 250.0);
505 psd0.
add<
int>(
"NxBins", 36);
506 psd0.
add<
bool>(
"switch",
true);
507 psd0.
add<
double>(
"xmax",
M_PI);
508 psd0.
add<
double>(
"xmin", -
M_PI);
515 psd0.
add<
int>(
"NyBins", 100);
516 psd0.
add<
double>(
"ymin", -5.0);
517 psd0.
add<
double>(
"ymax", 5.0);
518 psd0.
add<
int>(
"NxBins", 36);
519 psd0.
add<
bool>(
"switch",
true);
520 psd0.
add<
double>(
"xmax",
M_PI);
521 psd0.
add<
double>(
"xmin", -
M_PI);
529 psd0.
add<
double>(
"xmin", -4.0);
530 psd0.
add<
bool>(
"switch",
true);
531 psd0.
add<
double>(
"xmax", 4.0);
532 psd0.
add<
int>(
"NxBins", 100);
539 psd0.
add<
double>(
"xmin", -4.0);
540 psd0.
add<
bool>(
"switch",
true);
541 psd0.
add<
double>(
"xmax", 4.0);
542 psd0.
add<
int>(
"NxBins", 100);
550 psd0.
add<
double>(
"xmin", -4.0);
551 psd0.
add<
bool>(
"switch",
true);
552 psd0.
add<
double>(
"xmax", 4.0);
553 psd0.
add<
int>(
"NxBins", 100);
560 psd0.
add<
double>(
"xmin", -4.0);
561 psd0.
add<
bool>(
"switch",
true);
562 psd0.
add<
double>(
"xmax", 4.0);
563 psd0.
add<
int>(
"NxBins", 100);
570 psd0.
add<
double>(
"ymax", 4.0);
571 psd0.
add<
int>(
"NxBins", 82);
572 psd0.
add<
bool>(
"switch",
true);
573 psd0.
add<
double>(
"xmax", 4.1);
574 psd0.
add<
double>(
"xmin", -4.1);
575 psd0.
add<
double>(
"ymin", -4.0);
582 psd0.
add<
double>(
"ymax", 4.0);
583 psd0.
add<
int>(
"NxBins", 82);
584 psd0.
add<
bool>(
"switch",
true);
585 psd0.
add<
double>(
"xmax", 4.1);
586 psd0.
add<
double>(
"xmin", -4.1);
587 psd0.
add<
double>(
"ymin", -4.0);
592 psd0.
add<
std::string>(
"name",
"Number_RecHits_matched_PrimarySimTrack");
593 psd0.
add<
std::string>(
"title",
"Number of RecHits matched to primary SimTrack;;");
594 psd0.
add<
double>(
"xmin", 0.0);
595 psd0.
add<
bool>(
"switch",
true);
596 psd0.
add<
double>(
"xmax", 10000.0);
597 psd0.
add<
int>(
"NxBins", 100);
const TrackerTopology * tTopo_
MonitorElement * pullY_eta_S
T getParameter(std::string const &) const
MonitorElement * deltaY_P
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
void fillOTRecHitHistos(const PSimHit *simhitClosest, const Phase2TrackerRecHit1D *rechit, const std::map< unsigned int, SimTrack > &selectedSimTrackMap, std::map< std::string, unsigned int > &nrechitLayerMapP_primary, std::map< std::string, unsigned int > &nrechitLayerMapS_primary)
MonitorElement * deltaX_phi_P
static constexpr float cmtomicron
virtual void setCurrentFolder(std::string const &fullpath)
bool isPrimary(const SimTrack &simTrk, const PSimHit *simHit)
MonitorElement * numberRecHitsprimary_S
static void fillPSetDescription(edm::ParameterSetDescription &desc)
#define DEFINE_FWK_MODULE(type)
Phase2OTValidateRecHitBase(const edm::ParameterSet &)
MonitorElement * deltaX_P
MonitorElement * bookProfile1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
void bookLayerHistos(DQMStore::IBooker &ibooker, unsigned int det_id, std::string &subdir)
MonitorElement * deltaX_eta_P
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
MonitorElement * deltaY_phi_S
MonitorElement * deltaY_primary_S
MonitorElement * deltaX_primary_S
MonitorElement * pullX_eta_S
std::string getOTHistoId(uint32_t det_id, const TrackerTopology *tTopo)
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
ModuleType getDetectorType(DetId) const
~Phase2OTValidateRecHitBase() override
MonitorElement * deltaX_eta_S
MonitorElement * pullX_primary_P
MonitorElement * deltaY_eta_S
Abs< T >::type abs(const T &t)
MonitorElement * pullX_eta_P
bool getData(T &iHolder) const
unsigned int trackId() const
MonitorElement * deltaY_primary_P
MonitorElement * deltaY_phi_P
ParameterDescriptionBase * add(U const &iLabel, T const &value)
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
MonitorElement * numberRecHitsprimary_P
MonitorElement * deltaX_S
const TrackerGeometry * tkGeom_
MonitorElement * pullY_primary_S
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Log< level::Info, false > LogInfo
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
LocalError localPositionError() const override
DetId geographicalId() const
MonitorElement * deltaX_primary_P
Local3DPoint localPosition() const
MonitorElement * pullX_primary_S
edm::ParameterSet config_
MonitorElement * pullY_primary_P
MonitorElement * deltaY_eta_P
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
LocalPoint localPosition() const override
MonitorElement * deltaX_phi_S
MonitorElement * pullY_eta_P
std::map< std::string, RecHitME > layerMEs_
MonitorElement * deltaY_S