CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Private Types | Private Attributes
RPCRecHitValid Class Reference

#include <RPCRecHitValid.h>

Inheritance diagram for RPCRecHitValid:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 RPCRecHitValid (const edm::ParameterSet &pset)
 
 ~RPCRecHitValid () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Types

typedef MonitorElementMEP
 
typedef RPCRecHitCollection RecHits
 
typedef SimHitTPAssociationProducer::SimHitTPAssociationList SimHitAssoc
 
typedef edm::PSimHitContainer SimHits
 
typedef TrackingParticleCollection SimParticles
 

Private Attributes

std::map< int, int > detIdToIndexMapBarrel_
 
std::map< int, int > detIdToIndexMapEndcap_
 
RPCValidHistograms h_
 
MEP h_eventCount
 
MEP h_matchOccupancyBarrel_detId
 
MEP h_matchOccupancyEndcap_detId
 
MEP h_noiseOccupancyBarrel_detId
 
MEP h_noiseOccupancyEndcap_detId
 
MEP h_nRPCHitPerRecoMuon
 
MEP h_nRPCHitPerRecoMuonBarrel
 
MEP h_nRPCHitPerRecoMuonEndcap
 
MEP h_nRPCHitPerRecoMuonOverlap
 
MEP h_nRPCHitPerSimMuon
 
MEP h_nRPCHitPerSimMuonBarrel
 
MEP h_nRPCHitPerSimMuonEndcap
 
MEP h_nRPCHitPerSimMuonOverlap
 
MEP h_recoMuonBarrel_eta
 
MEP h_recoMuonBarrel_phi
 
MEP h_recoMuonBarrel_pt
 
MEP h_recoMuonEndcap_eta
 
MEP h_recoMuonEndcap_phi
 
MEP h_recoMuonEndcap_pt
 
MEP h_recoMuonNoRPC_eta
 
MEP h_recoMuonNoRPC_phi
 
MEP h_recoMuonNoRPC_pt
 
MEP h_recoMuonOverlap_eta
 
MEP h_recoMuonOverlap_phi
 
MEP h_recoMuonOverlap_pt
 
MEP h_recPunchOccupancyBarrel_station
 
MEP h_recPunchOccupancyBarrel_wheel
 
MEP h_recPunchOccupancyBarrel_wheel_station
 
MEP h_recPunchOccupancyEndcap_disk
 
MEP h_recPunchOccupancyEndcap_disk_ring
 
MEP h_refOccupancyBarrel_detId
 
MEP h_refOccupancyEndcap_detId
 
MEP h_refPunchOccupancyBarrel_station
 
MEP h_refPunchOccupancyBarrel_wheel
 
MEP h_refPunchOccupancyBarrel_wheel_station
 
MEP h_refPunchOccupancyEndcap_disk
 
MEP h_refPunchOccupancyEndcap_disk_ring
 
MEP h_rollAreaBarrel_detId
 
MEP h_rollAreaEndcap_detId
 
MEP h_simMuonBarrel_eta
 
MEP h_simMuonBarrel_phi
 
MEP h_simMuonBarrel_pt
 
MEP h_simMuonEndcap_eta
 
MEP h_simMuonEndcap_phi
 
MEP h_simMuonEndcap_pt
 
MEP h_simMuonNoRPC_eta
 
MEP h_simMuonNoRPC_phi
 
MEP h_simMuonNoRPC_pt
 
MEP h_simMuonOverlap_eta
 
MEP h_simMuonOverlap_phi
 
MEP h_simMuonOverlap_pt
 
MEP h_simParticleType
 
MEP h_simParticleTypeBarrel
 
MEP h_simParticleTypeEndcap
 
edm::EDGetTokenT< reco::MuonCollectionmuonToken_
 
edm::EDGetTokenT< RecHitsrecHitToken_
 
edm::EDGetTokenT< SimHitAssocsimHitAssocToken_
 
edm::EDGetTokenT< SimHitssimHitToken_
 
edm::EDGetTokenT< SimParticlessimParticleToken_
 
std::string subDir_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 24 of file RPCRecHitValid.h.

Member Typedef Documentation

◆ MEP

Definition at line 45 of file RPCRecHitValid.h.

◆ RecHits

Definition at line 34 of file RPCRecHitValid.h.

◆ SimHitAssoc

Definition at line 36 of file RPCRecHitValid.h.

◆ SimHits

Definition at line 33 of file RPCRecHitValid.h.

◆ SimParticles

Definition at line 35 of file RPCRecHitValid.h.

Constructor & Destructor Documentation

◆ RPCRecHitValid()

RPCRecHitValid::RPCRecHitValid ( const edm::ParameterSet pset)

Definition at line 26 of file RPCRecHitValid.cc.

26  {
27  simHitToken_ = consumes<SimHits>(pset.getParameter<edm::InputTag>("simHit"));
28  recHitToken_ = consumes<RecHits>(pset.getParameter<edm::InputTag>("recHit"));
29  simParticleToken_ = consumes<SimParticles>(pset.getParameter<edm::InputTag>("simTrack"));
30  simHitAssocToken_ = consumes<SimHitAssoc>(pset.getParameter<edm::InputTag>("simHitAssoc"));
31  muonToken_ = consumes<reco::MuonCollection>(pset.getParameter<edm::InputTag>("muon"));
32 
33  subDir_ = pset.getParameter<std::string>("subDir");
34 }

References muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~RPCRecHitValid()

RPCRecHitValid::~RPCRecHitValid ( )
inlineoverride

Definition at line 27 of file RPCRecHitValid.h.

27 {};

Member Function Documentation

◆ analyze()

void RPCRecHitValid::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 354 of file RPCRecHitValid.cc.

354  {
355  h_eventCount->Fill(1);
356 
357  // Get the RPC Geometry
359  eventSetup.get<MuonGeometryRecord>().get(rpcGeom);
360 
361  // Retrieve SimHits from the event
363  if (!event.getByToken(simHitToken_, simHitHandle)) {
364  edm::LogInfo("RPCRecHitValid") << "Cannot find simHit collection\n";
365  return;
366  }
367 
368  // Retrieve RecHits from the event
370  if (!event.getByToken(recHitToken_, recHitHandle)) {
371  edm::LogInfo("RPCRecHitValid") << "Cannot find recHit collection\n";
372  return;
373  }
374 
375  // Get SimParticles
376  edm::Handle<TrackingParticleCollection> simParticleHandle;
377  if (!event.getByToken(simParticleToken_, simParticleHandle)) {
378  edm::LogInfo("RPCRecHitValid") << "Cannot find TrackingParticle collection\n";
379  return;
380  }
381 
382  // Get SimParticle to SimHit association map
384  if (!event.getByToken(simHitAssocToken_, simHitsTPAssoc)) {
385  edm::LogInfo("RPCRecHitValid") << "Cannot find TrackingParticle to SimHit association map\n";
386  return;
387  }
388 
389  // Get RecoMuons
391  if (!event.getByToken(muonToken_, muonHandle)) {
392  edm::LogInfo("RPCRecHitValid") << "Cannot find muon collection\n";
393  return;
394  }
395 
396  typedef edm::PSimHitContainer::const_iterator SimHitIter;
397  typedef RPCRecHitCollection::const_iterator RecHitIter;
398  typedef std::vector<TrackPSimHitRef> SimHitRefs;
399 
400  // TrackingParticles with (and without) RPC simHits
401  SimHitRefs muonSimHits, pthrSimHits;
402 
403  for (int i = 0, n = simParticleHandle->size(); i < n; ++i) {
404  TrackingParticleRef simParticle(simParticleHandle, i);
405  if (simParticle->pt() < 1.0 or simParticle->p() < 2.5)
406  continue; // globalMuon acceptance
407 
408  // Collect SimHits from this Tracking Particle
409  SimHitRefs simHitsFromParticle;
410  auto range = std::equal_range(simHitsTPAssoc->begin(),
411  simHitsTPAssoc->end(),
412  std::make_pair(simParticle, TrackPSimHitRef()),
414  for (auto simParticleToHit = range.first; simParticleToHit != range.second; ++simParticleToHit) {
415  auto simHit = simParticleToHit->second;
416  const DetId detId(simHit->detUnitId());
417  if (detId.det() != DetId::Muon or detId.subdetId() != MuonSubdetId::RPC)
418  continue;
419 
420  simHitsFromParticle.push_back(simParticleToHit->second);
421  }
422  const int nRPCHit = simHitsFromParticle.size();
423  const bool hasRPCHit = nRPCHit > 0;
424 
425  if (abs(simParticle->pdgId()) == 13) {
426  muonSimHits.insert(muonSimHits.end(), simHitsFromParticle.begin(), simHitsFromParticle.end());
427 
428  // Count number of Barrel hits and Endcap hits
429  int nRPCHitBarrel = 0;
430  int nRPCHitEndcap = 0;
431  for (auto simHit : simHitsFromParticle) {
432  const RPCDetId rpcDetId = static_cast<const RPCDetId>(simHit->detUnitId());
433  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(rpcDetId));
434  if (!roll)
435  continue;
436 
437  if (rpcDetId.region() == 0)
438  ++nRPCHitBarrel;
439  else
440  ++nRPCHitEndcap;
441  }
442 
443  // Fill TrackingParticle related histograms
444  h_nRPCHitPerSimMuon->Fill(nRPCHit);
445  if (nRPCHitBarrel and nRPCHitEndcap) {
447  h_simMuonOverlap_pt->Fill(simParticle->pt());
448  h_simMuonOverlap_eta->Fill(simParticle->eta());
449  h_simMuonOverlap_phi->Fill(simParticle->phi());
450  } else if (nRPCHitBarrel) {
452  h_simMuonBarrel_pt->Fill(simParticle->pt());
453  h_simMuonBarrel_eta->Fill(simParticle->eta());
454  h_simMuonBarrel_phi->Fill(simParticle->phi());
455  } else if (nRPCHitEndcap) {
457  h_simMuonEndcap_pt->Fill(simParticle->pt());
458  h_simMuonEndcap_eta->Fill(simParticle->eta());
459  h_simMuonEndcap_phi->Fill(simParticle->phi());
460  } else {
461  h_simMuonNoRPC_pt->Fill(simParticle->pt());
462  h_simMuonNoRPC_eta->Fill(simParticle->eta());
463  h_simMuonNoRPC_phi->Fill(simParticle->phi());
464  }
465  } else {
466  pthrSimHits.insert(pthrSimHits.end(), simHitsFromParticle.begin(), simHitsFromParticle.end());
467  }
468 
469  if (hasRPCHit) {
470  switch (simParticle->pdgId()) {
471  case 13:
473  break;
474  case -13:
476  break;
477  case 11:
479  break;
480  case -11:
482  break;
483  case 211:
485  break;
486  case -211:
488  break;
489  case 321:
491  break;
492  case -321:
494  break;
495  case 2212:
497  break;
498  case -2212:
500  break;
501  default:
502  h_simParticleType->Fill(10);
503  break;
504  }
505  }
506  }
507 
508  // Loop over muon simHits, fill histograms which does not need associations
509  int nRefHitBarrel = 0, nRefHitEndcap = 0;
510  for (auto simHit : muonSimHits) {
511  const RPCDetId detId = static_cast<const RPCDetId>(simHit->detUnitId());
512  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(detId));
513 
514  const int region = roll->id().region();
515  const int ring = roll->id().ring();
516  // const int sector = roll->id().sector();
517  const int station = roll->id().station();
518  // const int layer = roll->id().layer();
519  // const int subSector = roll->id().subsector();
520 
521  if (region == 0) {
522  ++nRefHitBarrel;
526 
528  } else {
529  ++nRefHitEndcap;
532 
534  }
535  }
536 
537  // Loop over punch-through simHits, fill histograms which does not need
538  // associations
539  for (auto simHit : pthrSimHits) {
540  const RPCDetId detId = static_cast<const RPCDetId>(simHit->detUnitId());
541  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(detId()));
542 
543  const int region = roll->id().region();
544  const int ring = roll->id().ring();
545  // const int sector = roll->id().sector();
546  const int station = roll->id().station();
547  // const int layer = roll->id().layer();
548  // const int subSector = roll->id().subsector();
549 
550  if (region == 0) {
551  ++nRefHitBarrel;
555 
557  } else {
558  ++nRefHitEndcap;
561 
563  }
564  }
565  h_.nRefHitBarrel->Fill(nRefHitBarrel);
566  h_.nRefHitEndcap->Fill(nRefHitEndcap);
567 
568  // Loop over recHits, fill histograms which does not need associations
569  int sumClusterSizeBarrel = 0, sumClusterSizeEndcap = 0;
570  int nRecHitBarrel = 0, nRecHitEndcap = 0;
571  for (RecHitIter recHitIter = recHitHandle->begin(); recHitIter != recHitHandle->end(); ++recHitIter) {
572  const RPCDetId detId = static_cast<const RPCDetId>(recHitIter->rpcId());
573  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(detId()));
574  if (!roll)
575  continue;
576 
577  const int region = roll->id().region();
578  const int ring = roll->id().ring();
579  // const int sector = roll->id().sector();
580  const int station = roll->id().station();
581  // const int layer = roll->id().layer();
582  // const int subSector = roll->id().subsector();
583 
584  const double time = recHitIter->timeError() >= 0 ? recHitIter->time() : recHitIter->BunchX() * 25;
585 
586  h_.clusterSize->Fill(recHitIter->clusterSize());
587 
588  if (region == 0) {
589  ++nRecHitBarrel;
590  sumClusterSizeBarrel += recHitIter->clusterSize();
591  h_.clusterSizeBarrel->Fill(recHitIter->clusterSize());
595 
597  } else {
598  ++nRecHitEndcap;
599  sumClusterSizeEndcap += recHitIter->clusterSize();
600  h_.clusterSizeEndcap->Fill(recHitIter->clusterSize());
603 
605  }
606 
607  if (roll->isIRPC()) {
608  h_.timeIRPC->Fill(time);
609  } else {
610  h_.timeCRPC->Fill(time);
611  }
612  }
613  const double nRecHit = nRecHitBarrel + nRecHitEndcap;
614  h_.nRecHitBarrel->Fill(nRecHitBarrel);
615  h_.nRecHitEndcap->Fill(nRecHitEndcap);
616  if (nRecHit > 0) {
617  const int sumClusterSize = sumClusterSizeBarrel + sumClusterSizeEndcap;
618  h_.avgClusterSize->Fill(double(sumClusterSize) / nRecHit);
619 
620  if (nRecHitBarrel > 0) {
621  h_.avgClusterSizeBarrel->Fill(double(sumClusterSizeBarrel) / nRecHitBarrel);
622  }
623  if (nRecHitEndcap > 0) {
624  h_.avgClusterSizeEndcap->Fill(double(sumClusterSizeEndcap) / nRecHitEndcap);
625  }
626  }
627 
628  // Start matching SimHits to RecHits
629  typedef std::map<TrackPSimHitRef, RecHitIter> SimToRecHitMap;
630  SimToRecHitMap simToRecHitMap;
631 
632  for (auto simHit : muonSimHits) {
633  const RPCDetId simDetId = static_cast<const RPCDetId>(simHit->detUnitId());
634  // const RPCRoll* simRoll = dynamic_cast<const
635  // RPCRoll*>(rpcGeom->roll(simDetId));
636 
637  const double simX = simHit->localPosition().x();
638 
639  for (RecHitIter recHitIter = recHitHandle->begin(); recHitIter != recHitHandle->end(); ++recHitIter) {
640  const RPCDetId recDetId = static_cast<const RPCDetId>(recHitIter->rpcId());
641  const RPCRoll *recRoll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(recDetId));
642  if (!recRoll)
643  continue;
644 
645  if (simDetId != recDetId)
646  continue;
647 
648  const double recX = recHitIter->localPosition().x();
649  const double newDx = fabs(recX - simX);
650 
651  // Associate SimHit to RecHit
652  SimToRecHitMap::const_iterator prevSimToReco = simToRecHitMap.find(simHit);
653  if (prevSimToReco == simToRecHitMap.end()) {
654  simToRecHitMap.insert(std::make_pair(simHit, recHitIter));
655  } else {
656  const double oldDx = fabs(prevSimToReco->second->localPosition().x() - simX);
657 
658  if (newDx < oldDx) {
659  simToRecHitMap[simHit] = recHitIter;
660  }
661  }
662  }
663  }
664 
665  // Now we have simHit-recHit mapping
666  // So we can fill up relavant histograms
667  int nMatchHitBarrel = 0, nMatchHitEndcap = 0;
668  for (auto match : simToRecHitMap) {
669  TrackPSimHitRef simHit = match.first;
670  RecHitIter recHitIter = match.second;
671 
672  const RPCDetId detId = static_cast<const RPCDetId>(simHit->detUnitId());
673  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(detId));
674 
675  const int region = roll->id().region();
676  const int ring = roll->id().ring();
677  // const int sector = roll->id().sector();
678  const int station = roll->id().station();
679  // const int layer = roll->id().layer();
680  // const int subsector = roll->id().subsector();
681 
682  const double simX = simHit->localPosition().x();
683  const double recX = recHitIter->localPosition().x();
684  const double errX = sqrt(recHitIter->localPositionError().xx());
685  const double dX = recX - simX;
686  const double pull = errX == 0 ? -999 : dX / errX;
687 
688  // const GlobalPoint simPos = roll->toGlobal(simHitIter->localPosition());
689  // const GlobalPoint recPos = roll->toGlobal(recHitIter->localPosition());
690 
691  if (region == 0) {
692  ++nMatchHitBarrel;
693  h_.resBarrel->Fill(dX);
694  h_.pullBarrel->Fill(pull);
698 
699  h_.res_wheel_res->Fill(ring, dX);
701  h_.pull_wheel_pull->Fill(ring, pull);
703 
705  } else {
706  ++nMatchHitEndcap;
707  h_.resEndcap->Fill(dX);
708  h_.pullEndcap->Fill(pull);
711 
713  h_.res_ring_res->Fill(ring, dX);
714  h_.pull_disk_pull->Fill(region * station, pull);
715  h_.pull_ring_pull->Fill(ring, pull);
716 
718  }
719  }
720  h_.nMatchHitBarrel->Fill(nMatchHitBarrel);
721  h_.nMatchHitEndcap->Fill(nMatchHitEndcap);
722 
723  // Reco Muon hits
724  for (reco::MuonCollection::const_iterator muon = muonHandle->begin(); muon != muonHandle->end(); ++muon) {
725  if (!muon->isGlobalMuon())
726  continue;
727 
728  int nRPCHitBarrel = 0;
729  int nRPCHitEndcap = 0;
730 
731  const reco::TrackRef glbTrack = muon->globalTrack();
732  for (trackingRecHit_iterator recHit = glbTrack->recHitsBegin(); recHit != glbTrack->recHitsEnd(); ++recHit) {
733  if (!(*recHit)->isValid())
734  continue;
735  const DetId detId = (*recHit)->geographicalId();
736  if (detId.det() != DetId::Muon or detId.subdetId() != MuonSubdetId::RPC)
737  continue;
738  const RPCDetId rpcDetId = static_cast<const RPCDetId>(detId);
739 
740  if (rpcDetId.region() == 0)
741  ++nRPCHitBarrel;
742  else
743  ++nRPCHitEndcap;
744  }
745 
746  const int nRPCHit = nRPCHitBarrel + nRPCHitEndcap;
747  h_nRPCHitPerRecoMuon->Fill(nRPCHit);
748  if (nRPCHitBarrel and nRPCHitEndcap) {
753  } else if (nRPCHitBarrel) {
755  h_recoMuonBarrel_pt->Fill(muon->pt());
756  h_recoMuonBarrel_eta->Fill(muon->eta());
757  h_recoMuonBarrel_phi->Fill(muon->phi());
758  } else if (nRPCHitEndcap) {
760  h_recoMuonEndcap_pt->Fill(muon->pt());
761  h_recoMuonEndcap_eta->Fill(muon->eta());
762  h_recoMuonEndcap_phi->Fill(muon->phi());
763  } else {
764  h_recoMuonNoRPC_pt->Fill(muon->pt());
765  h_recoMuonNoRPC_eta->Fill(muon->eta());
766  h_recoMuonNoRPC_phi->Fill(muon->phi());
767  }
768  }
769 
770  // Find Non-muon hits
771  for (RecHitIter recHitIter = recHitHandle->begin(); recHitIter != recHitHandle->end(); ++recHitIter) {
772  const RPCDetId detId = static_cast<const RPCDetId>(recHitIter->rpcId());
773  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(detId));
774 
775  const int region = roll->id().region();
776  const int ring = roll->id().ring();
777  // const int sector = roll->id().sector();
778  const int station = roll->id().station();
779  // const int layer = roll->id().layer();
780  // const int subsector = roll->id().subsector();
781 
782  bool matched = false;
783  for (auto match : simToRecHitMap) {
784  if (recHitIter == match.second) {
785  matched = true;
786  break;
787  }
788  }
789 
790  if (!matched) {
791  int nPunchMatched = 0;
792  // Check if this recHit came from non-muon simHit
793  for (auto simHit : pthrSimHits) {
794  const int absSimHitPType = abs(simHit->particleType());
795  if (absSimHitPType == 13)
796  continue;
797 
798  const RPCDetId simDetId = static_cast<const RPCDetId>(simHit->detUnitId());
799  if (simDetId == detId)
800  ++nPunchMatched;
801  }
802 
803  if (nPunchMatched > 0) {
804  if (region == 0) {
808  } else {
811  }
812  }
813  }
814  }
815 
816  // Find noise recHits : RecHits without SimHit match
817  for (RecHitIter recHitIter = recHitHandle->begin(); recHitIter != recHitHandle->end(); ++recHitIter) {
818  const RPCDetId recDetId = static_cast<const RPCDetId>(recHitIter->rpcId());
819  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(recDetId));
820 
821  const int region = roll->id().region();
822  // const int ring = roll->id().ring(); // UNUSED VARIABLE
823  // const int sector = roll->id().sector();
824  // const int station = roll->id().station(); // UNUSED VARIABLE
825  // const int layer = roll->id().layer();
826  // const int subsector = roll->id().subsector();
827 
828  const double recX = recHitIter->localPosition().x();
829  const double recErrX = sqrt(recHitIter->localPositionError().xx());
830 
831  bool matched = false;
832  for (SimHitIter simHitIter = simHitHandle->begin(); simHitIter != simHitHandle->end(); ++simHitIter) {
833  const RPCDetId simDetId = static_cast<const RPCDetId>(simHitIter->detUnitId());
834  const RPCRoll *simRoll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(simDetId));
835  if (!simRoll)
836  continue;
837 
838  if (simDetId != recDetId)
839  continue;
840 
841  const double simX = simHitIter->localPosition().x();
842  const double dX = fabs(recX - simX);
843 
844  if (dX / recErrX < 5) {
845  matched = true;
846  break;
847  }
848  }
849 
850  if (!matched) {
851  if (region == 0) {
853  } else {
855  }
856  }
857  }
858 
859  h_eventCount->Fill(2);
860 }

References funct::abs(), DetId::det(), fftjetvertexadder_cfi::errX, edm::EventSetup::get(), get, mps_fire::i, match(), muonTagProbeFilters_cff::matched, DetId::Muon, HLT_2018_cff::muon, dqmiodumpmetadata::n, or, FastTimerService_cff::range, DetId::rawId(), rpcPointValidation_cfi::recHit, RPCDetId::region(), HLT_2018_cff::region, relativeConstraints::ring, RPCGeometry::roll(), MuonSubdetId::RPC, rpcPointValidation_cfi::simHit, SimHitTPAssociationProducer::simHitTPAssociationListGreater(), mathSSE::sqrt(), relativeConstraints::station, DetId::subdetId(), and ntuplemaker::time.

◆ bookHistograms()

void RPCRecHitValid::bookHistograms ( DQMStore::IBooker booker,
edm::Run const &  run,
edm::EventSetup const &  eventSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 36 of file RPCRecHitValid.cc.

36  {
37  // Book MonitorElements
38  h_.bookHistograms(booker, subDir_);
39 
40  // SimHit plots, not compatible to RPCPoint-RPCRecHit comparison
41  booker.setCurrentFolder(subDir_ + "/HitProperty");
42  h_simParticleType = booker.book1D("SimHitPType", "SimHit particle type", 11, 0, 11);
43  h_simParticleType->getTH1()->SetMinimum(0);
44  if (TH1 *h = h_simParticleType->getTH1()) {
45  h->GetXaxis()->SetBinLabel(1, "#mu^{-}");
46  h->GetXaxis()->SetBinLabel(2, "#mu^{+}");
47  h->GetXaxis()->SetBinLabel(3, "e^{-}");
48  h->GetXaxis()->SetBinLabel(4, "e^{+}");
49  h->GetXaxis()->SetBinLabel(5, "#pi^{+}");
50  h->GetXaxis()->SetBinLabel(6, "#pi^{-}");
51  h->GetXaxis()->SetBinLabel(7, "K^{+}");
52  h->GetXaxis()->SetBinLabel(8, "K^{-}");
53  h->GetXaxis()->SetBinLabel(9, "p^{+}");
54  h->GetXaxis()->SetBinLabel(10, "p^{-}");
55  h->GetXaxis()->SetBinLabel(11, "Other");
56  }
57 
58  booker.setCurrentFolder(subDir_ + "/Track");
59 
60  h_nRPCHitPerSimMuon = booker.book1D("NRPCHitPerSimMuon", "Number of RPC SimHit per SimMuon", 11, -0.5, 10.5);
62  booker.book1D("NRPCHitPerSimMuonBarrel", "Number of RPC SimHit per SimMuon", 11, -0.5, 10.5);
64  booker.book1D("NRPCHitPerSimMuonOverlap", "Number of RPC SimHit per SimMuon", 11, -0.5, 10.5);
66  booker.book1D("NRPCHitPerSimMuonEndcap", "Number of RPC SimHit per SimMuon", 11, -0.5, 10.5);
67 
68  h_nRPCHitPerRecoMuon = booker.book1D("NRPCHitPerRecoMuon", "Number of RPC RecHit per RecoMuon", 11, -0.5, 10.5);
70  booker.book1D("NRPCHitPerRecoMuonBarrel", "Number of RPC RecHit per RecoMuon", 11, -0.5, 10.5);
72  booker.book1D("NRPCHitPerRecoMuonOverlap", "Number of RPC RecHit per RecoMuon", 11, -0.5, 10.5);
74  booker.book1D("NRPCHitPerRecoMuonEndcap", "Number of RPC RecHit per RecoMuon", 11, -0.5, 10.5);
75 
76  h_nRPCHitPerSimMuon->getTH1()->SetMinimum(0);
77  h_nRPCHitPerSimMuonBarrel->getTH1()->SetMinimum(0);
78  h_nRPCHitPerSimMuonOverlap->getTH1()->SetMinimum(0);
79  h_nRPCHitPerSimMuonEndcap->getTH1()->SetMinimum(0);
80 
81  h_nRPCHitPerRecoMuon->getTH1()->SetMinimum(0);
82  h_nRPCHitPerRecoMuonBarrel->getTH1()->SetMinimum(0);
83  h_nRPCHitPerRecoMuonOverlap->getTH1()->SetMinimum(0);
84  h_nRPCHitPerRecoMuonEndcap->getTH1()->SetMinimum(0);
85 
86  float ptBins[] = {0, 1, 2, 5, 10, 20, 30, 50, 100, 200, 300, 500};
87  const int nPtBins = sizeof(ptBins) / sizeof(float) - 1;
89  booker.book1D("SimMuonBarrel_pt", "SimMuon RPCHit in Barrel p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
91  booker.book1D("SimMuonOverlap_pt", "SimMuon RPCHit in Overlap p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
93  booker.book1D("SimMuonEndcap_pt", "SimMuon RPCHit in Endcap p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
95  booker.book1D("SimMuonNoRPC_pt", "SimMuon without RPCHit p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
96  h_simMuonBarrel_eta = booker.book1D("SimMuonBarrel_eta", "SimMuon RPCHit in Barrel #eta;#eta", 50, -2.5, 2.5);
97  h_simMuonOverlap_eta = booker.book1D("SimMuonOverlap_eta", "SimMuon RPCHit in Overlap #eta;#eta", 50, -2.5, 2.5);
98  h_simMuonEndcap_eta = booker.book1D("SimMuonEndcap_eta", "SimMuon RPCHit in Endcap #eta;#eta", 50, -2.5, 2.5);
99  h_simMuonNoRPC_eta = booker.book1D("SimMuonNoRPC_eta", "SimMuon without RPCHit #eta;#eta", 50, -2.5, 2.5);
101  booker.book1D("SimMuonBarrel_phi", "SimMuon RPCHit in Barrel #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
103  booker.book1D("SimMuonOverlap_phi", "SimMuon RPCHit in Overlap #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
105  booker.book1D("SimMuonEndcap_phi", "SimMuon RPCHit in Endcap #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
107  booker.book1D("SimMuonNoRPC_phi", "SimMuon without RPCHit #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
108 
110  booker.book1D("RecoMuonBarrel_pt", "RecoMuon RPCHit in Barrel p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
112  booker.book1D("RecoMuonOverlap_pt", "RecoMuon RPCHit in Overlap p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
114  booker.book1D("RecoMuonEndcap_pt", "RecoMuon RPCHit in Endcap p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
116  booker.book1D("RecoMuonNoRPC_pt", "RecoMuon without RPCHit p_{T};p_{T} [GeV/c^{2}]", nPtBins, ptBins);
117  h_recoMuonBarrel_eta = booker.book1D("RecoMuonBarrel_eta", "RecoMuon RPCHit in Barrel #eta;#eta", 50, -2.5, 2.5);
118  h_recoMuonOverlap_eta = booker.book1D("RecoMuonOverlap_eta", "RecoMuon RPCHit in Overlap #eta;#eta", 50, -2.5, 2.5);
119  h_recoMuonEndcap_eta = booker.book1D("RecoMuonEndcap_eta", "RecoMuon RPCHit in Endcap #eta;#eta", 50, -2.5, 2.5);
120  h_recoMuonNoRPC_eta = booker.book1D("RecoMuonNoRPC_eta", "RecoMuon without RPCHit #eta;#eta", 50, -2.5, 2.5);
122  booker.book1D("RecoMuonBarrel_phi", "RecoMuon RPCHit in Barrel #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
124  booker.book1D("RecoMuonOverlap_phi", "RecoMuon RPCHit in Overlap #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
126  booker.book1D("RecoMuonEndcap_phi", "RecoMuon RPCHit in Endcap #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
128  booker.book1D("RecoMuonNoRPC_phi", "RecoMuon without RPCHit #phi;#phi", 36, -TMath::Pi(), TMath::Pi());
129 
130  h_simMuonBarrel_pt->getTH1()->SetMinimum(0);
131  h_simMuonOverlap_pt->getTH1()->SetMinimum(0);
132  h_simMuonEndcap_pt->getTH1()->SetMinimum(0);
133  h_simMuonNoRPC_pt->getTH1()->SetMinimum(0);
134  h_simMuonBarrel_eta->getTH1()->SetMinimum(0);
135  h_simMuonOverlap_eta->getTH1()->SetMinimum(0);
136  h_simMuonEndcap_eta->getTH1()->SetMinimum(0);
137  h_simMuonNoRPC_eta->getTH1()->SetMinimum(0);
138  h_simMuonBarrel_phi->getTH1()->SetMinimum(0);
139  h_simMuonOverlap_phi->getTH1()->SetMinimum(0);
140  h_simMuonEndcap_phi->getTH1()->SetMinimum(0);
141  h_simMuonNoRPC_phi->getTH1()->SetMinimum(0);
142 
143  h_recoMuonBarrel_pt->getTH1()->SetMinimum(0);
144  h_recoMuonOverlap_pt->getTH1()->SetMinimum(0);
145  h_recoMuonEndcap_pt->getTH1()->SetMinimum(0);
146  h_recoMuonNoRPC_pt->getTH1()->SetMinimum(0);
147  h_recoMuonBarrel_eta->getTH1()->SetMinimum(0);
148  h_recoMuonOverlap_eta->getTH1()->SetMinimum(0);
149  h_recoMuonEndcap_eta->getTH1()->SetMinimum(0);
150  h_recoMuonNoRPC_eta->getTH1()->SetMinimum(0);
151  h_recoMuonBarrel_phi->getTH1()->SetMinimum(0);
152  h_recoMuonOverlap_phi->getTH1()->SetMinimum(0);
153  h_recoMuonEndcap_phi->getTH1()->SetMinimum(0);
154  h_recoMuonNoRPC_phi->getTH1()->SetMinimum(0);
155 
156  booker.setCurrentFolder(subDir_ + "/Occupancy");
157 
158  h_eventCount = booker.book1D("EventCount", "Event count", 3, 1, 4);
159  h_eventCount->getTH1()->SetMinimum(0);
160  if (h_eventCount) {
161  TH1 *h = h_eventCount->getTH1();
162  h->GetXaxis()->SetBinLabel(1, "eventBegin");
163  h->GetXaxis()->SetBinLabel(2, "eventEnd");
164  h->GetXaxis()->SetBinLabel(3, "run");
165  }
166  h_eventCount->Fill(3);
167 
169  booker.book1D("RefPunchOccupancyBarrel_wheel", "RefPunchthrough occupancy", 5, -2.5, 2.5);
171  booker.book1D("RefPunchOccupancyEndcap_disk", "RefPunchthrough occupancy", 9, -4.5, 4.5);
173  booker.book1D("RefPunchOccupancyBarrel_station", "RefPunchthrough occupancy", 4, 0.5, 4.5);
175  booker.book1D("RecPunchOccupancyBarrel_wheel", "Punchthrough recHit occupancy", 5, -2.5, 2.5);
177  booker.book1D("RecPunchOccupancyEndcap_disk", "Punchthrough recHit occupancy", 9, -4.5, 4.5);
179  booker.book1D("RecPunchOccupancyBarrel_station", "Punchthrough recHit occupancy", 4, 0.5, 4.5);
180 
181  h_refPunchOccupancyBarrel_wheel->getTH1()->SetMinimum(0);
182  h_refPunchOccupancyEndcap_disk->getTH1()->SetMinimum(0);
183  h_refPunchOccupancyBarrel_station->getTH1()->SetMinimum(0);
184  h_recPunchOccupancyBarrel_wheel->getTH1()->SetMinimum(0);
185  h_recPunchOccupancyEndcap_disk->getTH1()->SetMinimum(0);
186  h_recPunchOccupancyBarrel_station->getTH1()->SetMinimum(0);
187 
189  booker.book2D("RefPunchOccupancyBarrel_wheel_station", "RefPunchthrough occupancy", 5, -2.5, 2.5, 4, 0.5, 4.5);
191  booker.book2D("RefPunchOccupancyEndcap_disk_ring", "RefPunchthrough occupancy", 9, -4.5, 4.5, 4, 0.5, 4.5);
193  "RecPunchOccupancyBarrel_wheel_station", "Punchthrough recHit occupancy", 5, -2.5, 2.5, 4, 0.5, 4.5);
195  booker.book2D("RecPunchOccupancyEndcap_disk_ring", "Punchthrough recHit occupancy", 9, -4.5, 4.5, 4, 0.5, 4.5);
196 
197  h_refPunchOccupancyBarrel_wheel_station->getTH2F()->SetOption("COLZ");
198  h_refPunchOccupancyEndcap_disk_ring->getTH2F()->SetOption("COLZ");
199  h_recPunchOccupancyBarrel_wheel_station->getTH2F()->SetOption("COLZ");
200  h_recPunchOccupancyEndcap_disk_ring->getTH2F()->SetOption("COLZ");
201 
203  h_refPunchOccupancyEndcap_disk_ring->getTH2F()->SetContour(10);
205  h_recPunchOccupancyEndcap_disk_ring->getTH2F()->SetContour(10);
206 
208  h_refPunchOccupancyEndcap_disk_ring->getTH2F()->SetStats(false);
210  h_recPunchOccupancyEndcap_disk_ring->getTH2F()->SetStats(false);
211 
216 
217  for (int i = 1; i <= 5; ++i) {
218  TString binLabel = Form("Wheel %d", i - 3);
219  h_refPunchOccupancyBarrel_wheel->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
220  h_refPunchOccupancyBarrel_wheel_station->getTH2F()->GetXaxis()->SetBinLabel(i, binLabel);
221  h_recPunchOccupancyBarrel_wheel->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
222  h_recPunchOccupancyBarrel_wheel_station->getTH2F()->GetXaxis()->SetBinLabel(i, binLabel);
223  }
224 
225  for (int i = 1; i <= 9; ++i) {
226  TString binLabel = Form("Disk %d", i - 5);
227  h_refPunchOccupancyEndcap_disk->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
228  h_refPunchOccupancyEndcap_disk_ring->getTH2F()->GetXaxis()->SetBinLabel(i, binLabel);
229  h_recPunchOccupancyEndcap_disk->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
230  h_recPunchOccupancyEndcap_disk_ring->getTH2F()->GetXaxis()->SetBinLabel(i, binLabel);
231  }
232 
233  for (int i = 1; i <= 4; ++i) {
234  TString binLabel = Form("Station %d", i);
235  h_refPunchOccupancyBarrel_station->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
236  h_refPunchOccupancyBarrel_wheel_station->getTH2F()->GetYaxis()->SetBinLabel(i, binLabel);
237  h_recPunchOccupancyBarrel_station->getTH1()->GetXaxis()->SetBinLabel(i, binLabel);
238  h_recPunchOccupancyBarrel_wheel_station->getTH2F()->GetYaxis()->SetBinLabel(i, binLabel);
239  }
240 
241  for (int i = 1; i <= 4; ++i) {
242  TString binLabel = Form("Ring %d", i);
243  h_refPunchOccupancyEndcap_disk_ring->getTH2F()->GetYaxis()->SetBinLabel(i, binLabel);
244  h_recPunchOccupancyEndcap_disk_ring->getTH2F()->GetYaxis()->SetBinLabel(i, binLabel);
245  }
246 
247  // Book roll-by-roll histograms
249  eventSetup.get<MuonGeometryRecord>().get(rpcGeom);
250 
251  int nRPCRollBarrel = 0, nRPCRollEndcap = 0;
252 
253  TrackingGeometry::DetContainer rpcDets = rpcGeom->dets();
254  for (auto det : rpcDets) {
255  auto rpcCh = dynamic_cast<const RPCChamber *>(det);
256  if (!rpcCh)
257  continue;
258 
259  std::vector<const RPCRoll *> rolls = rpcCh->rolls();
260  for (auto roll : rolls) {
261  if (!roll)
262  continue;
263 
264  // RPCGeomServ rpcSrv(roll->id());
265  const int rawId = roll->geographicalId().rawId();
266  // if ( !roll->specs()->isRPC() ) { cout << "\nNoRPC : " << rpcSrv.name()
267  // << ' ' << rawId << endl; continue; }
268 
269  if (roll->isBarrel()) {
270  detIdToIndexMapBarrel_[rawId] = nRPCRollBarrel;
271  // rollIdToNameMapBarrel_[rawId] = rpcSrv.name();
272  ++nRPCRollBarrel;
273  } else {
274  detIdToIndexMapEndcap_[rawId] = nRPCRollEndcap;
275  // rollIdToNameMapEndcap_[rawId] = rpcSrv.name();
276  ++nRPCRollEndcap;
277  }
278  }
279  }
280 
281  booker.setCurrentFolder(subDir_ + "/Occupancy");
282  h_matchOccupancyBarrel_detId = booker.book1D("MatchOccupancyBarrel_detId",
283  "Matched hit occupancy;roll index (can be arbitrary)",
284  nRPCRollBarrel,
285  0,
286  nRPCRollBarrel);
287  h_matchOccupancyEndcap_detId = booker.book1D("MatchOccupancyEndcap_detId",
288  "Matched hit occupancy;roll index (can be arbitrary)",
289  nRPCRollEndcap,
290  0,
291  nRPCRollEndcap);
292  h_refOccupancyBarrel_detId = booker.book1D("RefOccupancyBarrel_detId",
293  "Reference hit occupancy;roll index (can be arbitrary)",
294  nRPCRollBarrel,
295  0,
296  nRPCRollBarrel);
297  h_refOccupancyEndcap_detId = booker.book1D("RefOccupancyEndcap_detId",
298  "Reference hit occupancy;roll index (can be arbitrary)",
299  nRPCRollEndcap,
300  0,
301  nRPCRollEndcap);
302  h_noiseOccupancyBarrel_detId = booker.book1D(
303  "NoiseOccupancyBarrel_detId", "Noise occupancy;roll index (can be arbitrary)", nRPCRollBarrel, 0, nRPCRollBarrel);
304  h_noiseOccupancyEndcap_detId = booker.book1D(
305  "NoiseOccupancyEndcap_detId", "Noise occupancy;roll index (can be arbitrary)", nRPCRollEndcap, 0, nRPCRollEndcap);
306 
307  h_matchOccupancyBarrel_detId->getTH1()->SetMinimum(0);
308  h_matchOccupancyEndcap_detId->getTH1()->SetMinimum(0);
309  h_refOccupancyBarrel_detId->getTH1()->SetMinimum(0);
310  h_refOccupancyEndcap_detId->getTH1()->SetMinimum(0);
311  h_noiseOccupancyBarrel_detId->getTH1()->SetMinimum(0);
312  h_noiseOccupancyEndcap_detId->getTH1()->SetMinimum(0);
313 
314  h_rollAreaBarrel_detId = booker.bookProfile(
315  "RollAreaBarrel_detId", "Roll area;roll index;Area", nRPCRollBarrel, 0., 1. * nRPCRollBarrel, 0., 1e5);
316  h_rollAreaEndcap_detId = booker.bookProfile(
317  "RollAreaEndcap_detId", "Roll area;roll index;Area", nRPCRollEndcap, 0., 1. * nRPCRollEndcap, 0., 1e5);
318 
319  for (auto detIdToIndex : detIdToIndexMapBarrel_) {
320  const int rawId = detIdToIndex.first;
321  const int index = detIdToIndex.second;
322 
323  const RPCDetId rpcDetId = static_cast<const RPCDetId>(rawId);
324  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(rpcDetId));
325 
326  // RPCGeomServ rpcSrv(roll->id());
327  // if ( !roll->specs()->isRPC() ) { cout << "\nNoRPC : " << rpcSrv.name() <<
328  // ' ' << rawId << endl; continue; }
329 
330  const StripTopology &topol = roll->specificTopology();
331  const double area = topol.stripLength() * topol.nstrips() * topol.pitch();
332 
334  }
335 
336  for (auto detIdToIndex : detIdToIndexMapEndcap_) {
337  const int rawId = detIdToIndex.first;
338  const int index = detIdToIndex.second;
339 
340  const RPCDetId rpcDetId = static_cast<const RPCDetId>(rawId);
341  const RPCRoll *roll = dynamic_cast<const RPCRoll *>(rpcGeom->roll(rpcDetId));
342 
343  // RPCGeomServ rpcSrv(roll->id());
344  // if ( !roll->specs()->isRPC() ) { cout << "\nNoRPC : " << rpcSrv.name() <<
345  // ' ' << rawId << endl; continue; }
346 
347  const StripTopology &topol = roll->specificTopology();
348  const double area = topol.stripLength() * topol.nstrips() * topol.pitch();
349 
351  }
352 }

References custom_jme_cff::area, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), RPCGeometry::dets(), edm::EventSetup::get(), get, dqm::legacy::MonitorElement::getTH1(), dqm::legacy::MonitorElement::getTH2F(), mps_fire::i, HLTTauDQMOffline_cfi::nPtBins, Pi, L1EGammaCrystalsEmulatorProducer_cfi::ptBins, RPCGeometry::roll(), dqm::implementation::NavigatorBase::setCurrentFolder(), and RPCRoll::specificTopology().

Member Data Documentation

◆ detIdToIndexMapBarrel_

std::map<int, int> RPCRecHitValid::detIdToIndexMapBarrel_
private

Definition at line 74 of file RPCRecHitValid.h.

◆ detIdToIndexMapEndcap_

std::map<int, int> RPCRecHitValid::detIdToIndexMapEndcap_
private

Definition at line 74 of file RPCRecHitValid.h.

◆ h_

RPCValidHistograms RPCRecHitValid::h_
private

Definition at line 46 of file RPCRecHitValid.h.

◆ h_eventCount

MEP RPCRecHitValid::h_eventCount
private

Definition at line 48 of file RPCRecHitValid.h.

◆ h_matchOccupancyBarrel_detId

MEP RPCRecHitValid::h_matchOccupancyBarrel_detId
private

Definition at line 65 of file RPCRecHitValid.h.

◆ h_matchOccupancyEndcap_detId

MEP RPCRecHitValid::h_matchOccupancyEndcap_detId
private

Definition at line 66 of file RPCRecHitValid.h.

◆ h_noiseOccupancyBarrel_detId

MEP RPCRecHitValid::h_noiseOccupancyBarrel_detId
private

Definition at line 69 of file RPCRecHitValid.h.

◆ h_noiseOccupancyEndcap_detId

MEP RPCRecHitValid::h_noiseOccupancyEndcap_detId
private

Definition at line 70 of file RPCRecHitValid.h.

◆ h_nRPCHitPerRecoMuon

MEP RPCRecHitValid::h_nRPCHitPerRecoMuon
private

Definition at line 51 of file RPCRecHitValid.h.

◆ h_nRPCHitPerRecoMuonBarrel

MEP RPCRecHitValid::h_nRPCHitPerRecoMuonBarrel
private

Definition at line 51 of file RPCRecHitValid.h.

◆ h_nRPCHitPerRecoMuonEndcap

MEP RPCRecHitValid::h_nRPCHitPerRecoMuonEndcap
private

Definition at line 51 of file RPCRecHitValid.h.

◆ h_nRPCHitPerRecoMuonOverlap

MEP RPCRecHitValid::h_nRPCHitPerRecoMuonOverlap
private

Definition at line 51 of file RPCRecHitValid.h.

◆ h_nRPCHitPerSimMuon

MEP RPCRecHitValid::h_nRPCHitPerSimMuon
private

Definition at line 50 of file RPCRecHitValid.h.

◆ h_nRPCHitPerSimMuonBarrel

MEP RPCRecHitValid::h_nRPCHitPerSimMuonBarrel
private

Definition at line 50 of file RPCRecHitValid.h.

◆ h_nRPCHitPerSimMuonEndcap

MEP RPCRecHitValid::h_nRPCHitPerSimMuonEndcap
private

Definition at line 50 of file RPCRecHitValid.h.

◆ h_nRPCHitPerSimMuonOverlap

MEP RPCRecHitValid::h_nRPCHitPerSimMuonOverlap
private

Definition at line 50 of file RPCRecHitValid.h.

◆ h_recoMuonBarrel_eta

MEP RPCRecHitValid::h_recoMuonBarrel_eta
private

Definition at line 56 of file RPCRecHitValid.h.

◆ h_recoMuonBarrel_phi

MEP RPCRecHitValid::h_recoMuonBarrel_phi
private

Definition at line 57 of file RPCRecHitValid.h.

◆ h_recoMuonBarrel_pt

MEP RPCRecHitValid::h_recoMuonBarrel_pt
private

Definition at line 55 of file RPCRecHitValid.h.

◆ h_recoMuonEndcap_eta

MEP RPCRecHitValid::h_recoMuonEndcap_eta
private

Definition at line 56 of file RPCRecHitValid.h.

◆ h_recoMuonEndcap_phi

MEP RPCRecHitValid::h_recoMuonEndcap_phi
private

Definition at line 57 of file RPCRecHitValid.h.

◆ h_recoMuonEndcap_pt

MEP RPCRecHitValid::h_recoMuonEndcap_pt
private

Definition at line 55 of file RPCRecHitValid.h.

◆ h_recoMuonNoRPC_eta

MEP RPCRecHitValid::h_recoMuonNoRPC_eta
private

Definition at line 56 of file RPCRecHitValid.h.

◆ h_recoMuonNoRPC_phi

MEP RPCRecHitValid::h_recoMuonNoRPC_phi
private

Definition at line 57 of file RPCRecHitValid.h.

◆ h_recoMuonNoRPC_pt

MEP RPCRecHitValid::h_recoMuonNoRPC_pt
private

Definition at line 55 of file RPCRecHitValid.h.

◆ h_recoMuonOverlap_eta

MEP RPCRecHitValid::h_recoMuonOverlap_eta
private

Definition at line 56 of file RPCRecHitValid.h.

◆ h_recoMuonOverlap_phi

MEP RPCRecHitValid::h_recoMuonOverlap_phi
private

Definition at line 57 of file RPCRecHitValid.h.

◆ h_recoMuonOverlap_pt

MEP RPCRecHitValid::h_recoMuonOverlap_pt
private

Definition at line 55 of file RPCRecHitValid.h.

◆ h_recPunchOccupancyBarrel_station

MEP RPCRecHitValid::h_recPunchOccupancyBarrel_station
private

Definition at line 62 of file RPCRecHitValid.h.

◆ h_recPunchOccupancyBarrel_wheel

MEP RPCRecHitValid::h_recPunchOccupancyBarrel_wheel
private

Definition at line 62 of file RPCRecHitValid.h.

◆ h_recPunchOccupancyBarrel_wheel_station

MEP RPCRecHitValid::h_recPunchOccupancyBarrel_wheel_station
private

Definition at line 63 of file RPCRecHitValid.h.

◆ h_recPunchOccupancyEndcap_disk

MEP RPCRecHitValid::h_recPunchOccupancyEndcap_disk
private

Definition at line 62 of file RPCRecHitValid.h.

◆ h_recPunchOccupancyEndcap_disk_ring

MEP RPCRecHitValid::h_recPunchOccupancyEndcap_disk_ring
private

Definition at line 63 of file RPCRecHitValid.h.

◆ h_refOccupancyBarrel_detId

MEP RPCRecHitValid::h_refOccupancyBarrel_detId
private

Definition at line 67 of file RPCRecHitValid.h.

◆ h_refOccupancyEndcap_detId

MEP RPCRecHitValid::h_refOccupancyEndcap_detId
private

Definition at line 68 of file RPCRecHitValid.h.

◆ h_refPunchOccupancyBarrel_station

MEP RPCRecHitValid::h_refPunchOccupancyBarrel_station
private

Definition at line 60 of file RPCRecHitValid.h.

◆ h_refPunchOccupancyBarrel_wheel

MEP RPCRecHitValid::h_refPunchOccupancyBarrel_wheel
private

Definition at line 60 of file RPCRecHitValid.h.

◆ h_refPunchOccupancyBarrel_wheel_station

MEP RPCRecHitValid::h_refPunchOccupancyBarrel_wheel_station
private

Definition at line 61 of file RPCRecHitValid.h.

◆ h_refPunchOccupancyEndcap_disk

MEP RPCRecHitValid::h_refPunchOccupancyEndcap_disk
private

Definition at line 60 of file RPCRecHitValid.h.

◆ h_refPunchOccupancyEndcap_disk_ring

MEP RPCRecHitValid::h_refPunchOccupancyEndcap_disk_ring
private

Definition at line 61 of file RPCRecHitValid.h.

◆ h_rollAreaBarrel_detId

MEP RPCRecHitValid::h_rollAreaBarrel_detId
private

Definition at line 71 of file RPCRecHitValid.h.

◆ h_rollAreaEndcap_detId

MEP RPCRecHitValid::h_rollAreaEndcap_detId
private

Definition at line 72 of file RPCRecHitValid.h.

◆ h_simMuonBarrel_eta

MEP RPCRecHitValid::h_simMuonBarrel_eta
private

Definition at line 53 of file RPCRecHitValid.h.

◆ h_simMuonBarrel_phi

MEP RPCRecHitValid::h_simMuonBarrel_phi
private

Definition at line 54 of file RPCRecHitValid.h.

◆ h_simMuonBarrel_pt

MEP RPCRecHitValid::h_simMuonBarrel_pt
private

Definition at line 52 of file RPCRecHitValid.h.

◆ h_simMuonEndcap_eta

MEP RPCRecHitValid::h_simMuonEndcap_eta
private

Definition at line 53 of file RPCRecHitValid.h.

◆ h_simMuonEndcap_phi

MEP RPCRecHitValid::h_simMuonEndcap_phi
private

Definition at line 54 of file RPCRecHitValid.h.

◆ h_simMuonEndcap_pt

MEP RPCRecHitValid::h_simMuonEndcap_pt
private

Definition at line 52 of file RPCRecHitValid.h.

◆ h_simMuonNoRPC_eta

MEP RPCRecHitValid::h_simMuonNoRPC_eta
private

Definition at line 53 of file RPCRecHitValid.h.

◆ h_simMuonNoRPC_phi

MEP RPCRecHitValid::h_simMuonNoRPC_phi
private

Definition at line 54 of file RPCRecHitValid.h.

◆ h_simMuonNoRPC_pt

MEP RPCRecHitValid::h_simMuonNoRPC_pt
private

Definition at line 52 of file RPCRecHitValid.h.

◆ h_simMuonOverlap_eta

MEP RPCRecHitValid::h_simMuonOverlap_eta
private

Definition at line 53 of file RPCRecHitValid.h.

◆ h_simMuonOverlap_phi

MEP RPCRecHitValid::h_simMuonOverlap_phi
private

Definition at line 54 of file RPCRecHitValid.h.

◆ h_simMuonOverlap_pt

MEP RPCRecHitValid::h_simMuonOverlap_pt
private

Definition at line 52 of file RPCRecHitValid.h.

◆ h_simParticleType

MEP RPCRecHitValid::h_simParticleType
private

Definition at line 58 of file RPCRecHitValid.h.

◆ h_simParticleTypeBarrel

MEP RPCRecHitValid::h_simParticleTypeBarrel
private

Definition at line 58 of file RPCRecHitValid.h.

◆ h_simParticleTypeEndcap

MEP RPCRecHitValid::h_simParticleTypeEndcap
private

Definition at line 58 of file RPCRecHitValid.h.

◆ muonToken_

edm::EDGetTokenT<reco::MuonCollection> RPCRecHitValid::muonToken_
private

Definition at line 43 of file RPCRecHitValid.h.

◆ recHitToken_

edm::EDGetTokenT<RecHits> RPCRecHitValid::recHitToken_
private

Definition at line 40 of file RPCRecHitValid.h.

◆ simHitAssocToken_

edm::EDGetTokenT<SimHitAssoc> RPCRecHitValid::simHitAssocToken_
private

Definition at line 42 of file RPCRecHitValid.h.

◆ simHitToken_

edm::EDGetTokenT<SimHits> RPCRecHitValid::simHitToken_
private

Definition at line 39 of file RPCRecHitValid.h.

◆ simParticleToken_

edm::EDGetTokenT<SimParticles> RPCRecHitValid::simParticleToken_
private

Definition at line 41 of file RPCRecHitValid.h.

◆ subDir_

std::string RPCRecHitValid::subDir_
private

Definition at line 38 of file RPCRecHitValid.h.

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
RPCRoll
Definition: RPCRoll.h:12
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
RPCValidHistograms::refHitOccupancyBarrel_wheel_station
MEP refHitOccupancyBarrel_wheel_station
Definition: RPCValidHistograms.h:37
RPCValidHistograms::res_ring_res
MEP res_ring_res
Definition: RPCValidHistograms.h:43
mps_fire.i
i
Definition: mps_fire.py:355
RPCRecHitValid::h_nRPCHitPerSimMuonBarrel
MEP h_nRPCHitPerSimMuonBarrel
Definition: RPCRecHitValid.h:50
RPCRecHitValid::h_simMuonOverlap_pt
MEP h_simMuonOverlap_pt
Definition: RPCRecHitValid.h:52
RPCDetId::region
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:53
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
RPCRecHitValid::simHitToken_
edm::EDGetTokenT< SimHits > simHitToken_
Definition: RPCRecHitValid.h:39
RPCRecHitValid::h_
RPCValidHistograms h_
Definition: RPCRecHitValid.h:46
RPCRecHitValid::h_nRPCHitPerSimMuon
MEP h_nRPCHitPerSimMuon
Definition: RPCRecHitValid.h:50
RPCValidHistograms::refHitOccupancyEndcap_disk
MEP refHitOccupancyEndcap_disk
Definition: RPCValidHistograms.h:32
RPCRecHitValid::h_recPunchOccupancyBarrel_station
MEP h_recPunchOccupancyBarrel_station
Definition: RPCRecHitValid.h:62
RPCRecHitValid::h_recoMuonOverlap_eta
MEP h_recoMuonOverlap_eta
Definition: RPCRecHitValid.h:56
RPCRecHitValid::h_nRPCHitPerRecoMuonBarrel
MEP h_nRPCHitPerRecoMuonBarrel
Definition: RPCRecHitValid.h:51
muon
Definition: MuonCocktails.h:17
RPCRecHitValid::detIdToIndexMapBarrel_
std::map< int, int > detIdToIndexMapBarrel_
Definition: RPCRecHitValid.h:74
RPCRecHitValid::h_recPunchOccupancyEndcap_disk_ring
MEP h_recPunchOccupancyEndcap_disk_ring
Definition: RPCRecHitValid.h:63
RPCRecHitValid::recHitToken_
edm::EDGetTokenT< RecHits > recHitToken_
Definition: RPCRecHitValid.h:40
relativeConstraints.station
station
Definition: relativeConstraints.py:67
RPCValidHistograms::refHitOccupancyBarrel_wheel
MEP refHitOccupancyBarrel_wheel
Definition: RPCValidHistograms.h:32
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
RPCDetId
Definition: RPCDetId.h:16
RPCRecHitValid::h_simMuonEndcap_pt
MEP h_simMuonEndcap_pt
Definition: RPCRecHitValid.h:52
RPCRecHitValid::h_refPunchOccupancyBarrel_station
MEP h_refPunchOccupancyBarrel_station
Definition: RPCRecHitValid.h:60
edm::LogInfo
Definition: MessageLogger.h:254
RPCRecHitValid::h_recoMuonEndcap_eta
MEP h_recoMuonEndcap_eta
Definition: RPCRecHitValid.h:56
RPCValidHistograms::recHitOccupancyBarrel_wheel_station
MEP recHitOccupancyBarrel_wheel_station
Definition: RPCValidHistograms.h:38
RPCRecHitValid::h_refPunchOccupancyEndcap_disk
MEP h_refPunchOccupancyEndcap_disk
Definition: RPCRecHitValid.h:60
RPCValidHistograms::resEndcap
MEP resEndcap
Definition: RPCValidHistograms.h:42
RPCRecHitValid::h_simMuonBarrel_pt
MEP h_simMuonBarrel_pt
Definition: RPCRecHitValid.h:52
RPCRecHitValid::h_simMuonNoRPC_pt
MEP h_simMuonNoRPC_pt
Definition: RPCRecHitValid.h:52
RPCGeometry::roll
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
Definition: RPCGeometry.cc:50
RPCRecHitValid::h_recoMuonBarrel_phi
MEP h_recoMuonBarrel_phi
Definition: RPCRecHitValid.h:57
RPCValidHistograms::timeEndcap
MEP timeEndcap
Definition: RPCValidHistograms.h:29
HLT_2018_cff.muon
muon
Definition: HLT_2018_cff.py:10349
RPCRecHitValid::h_refPunchOccupancyBarrel_wheel
MEP h_refPunchOccupancyBarrel_wheel
Definition: RPCRecHitValid.h:60
RPCValidHistograms::pull_station_pull
MEP pull_station_pull
Definition: RPCValidHistograms.h:47
RPCValidHistograms::pull_disk_pull
MEP pull_disk_pull
Definition: RPCValidHistograms.h:47
edm::Handle< edm::PSimHitContainer >
RPCRecHitValid::h_refOccupancyBarrel_detId
MEP h_refOccupancyBarrel_detId
Definition: RPCRecHitValid.h:67
RPCRecHitValid::h_eventCount
MEP h_eventCount
Definition: RPCRecHitValid.h:48
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
RPCRecHitValid::h_recoMuonNoRPC_eta
MEP h_recoMuonNoRPC_eta
Definition: RPCRecHitValid.h:56
RPCRecHitValid::h_recPunchOccupancyBarrel_wheel_station
MEP h_recPunchOccupancyBarrel_wheel_station
Definition: RPCRecHitValid.h:63
edm::Ref< TrackingParticleCollection >
HLTTauDQMOffline_cfi.nPtBins
nPtBins
Definition: HLTTauDQMOffline_cfi.py:185
RPCRecHitValid::h_rollAreaEndcap_detId
MEP h_rollAreaEndcap_detId
Definition: RPCRecHitValid.h:72
RPCRecHitValid::h_simMuonBarrel_phi
MEP h_simMuonBarrel_phi
Definition: RPCRecHitValid.h:54
DetId
Definition: DetId.h:17
dqm::impl::MonitorElement::getTH2F
virtual TH2F * getTH2F()
Definition: MonitorElement.cc:992
RPCRecHitValid::h_recPunchOccupancyEndcap_disk
MEP h_recPunchOccupancyEndcap_disk
Definition: RPCRecHitValid.h:62
RPCRecHitValid::h_simMuonEndcap_phi
MEP h_simMuonEndcap_phi
Definition: RPCRecHitValid.h:54
h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
RPCValidHistograms::matchOccupancyBarrel_wheel
MEP matchOccupancyBarrel_wheel
Definition: RPCValidHistograms.h:34
RPCValidHistograms::bookHistograms
void bookHistograms(DQMStore::IBooker &booker, const std::string &subDir)
Definition: RPCValidHistograms.cc:5
RPCRecHitValid::h_nRPCHitPerRecoMuonEndcap
MEP h_nRPCHitPerRecoMuonEndcap
Definition: RPCRecHitValid.h:51
RPCRecHitValid::h_matchOccupancyEndcap_detId
MEP h_matchOccupancyEndcap_detId
Definition: RPCRecHitValid.h:66
RPCValidHistograms::timeCRPC
MEP timeCRPC
Definition: RPCValidHistograms.h:29
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
RPCValidHistograms::avgClusterSizeEndcap
MEP avgClusterSizeEndcap
Definition: RPCValidHistograms.h:23
RPCRecHitValid::h_refOccupancyEndcap_detId
MEP h_refOccupancyEndcap_detId
Definition: RPCRecHitValid.h:68
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
RPCValidHistograms::res_station_res
MEP res_station_res
Definition: RPCValidHistograms.h:43
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
RPCRecHitValid::h_recoMuonBarrel_pt
MEP h_recoMuonBarrel_pt
Definition: RPCRecHitValid.h:55
RPCValidHistograms::recHitOccupancyBarrel_station
MEP recHitOccupancyBarrel_station
Definition: RPCValidHistograms.h:33
edm::ESHandle< RPCGeometry >
RPCRecHitValid::h_simMuonNoRPC_eta
MEP h_simMuonNoRPC_eta
Definition: RPCRecHitValid.h:53
RPCValidHistograms::clusterSize
MEP clusterSize
Definition: RPCValidHistograms.h:22
RPCRecHitValid::h_simMuonBarrel_eta
MEP h_simMuonBarrel_eta
Definition: RPCRecHitValid.h:53
RPCValidHistograms::nRecHitEndcap
MEP nRecHitEndcap
Definition: RPCValidHistograms.h:26
RPCRecHitValid::h_refPunchOccupancyEndcap_disk_ring
MEP h_refPunchOccupancyEndcap_disk_ring
Definition: RPCRecHitValid.h:61
RPCGeometry::dets
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: RPCGeometry.cc:24
RPCRoll::specificTopology
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:49
RPCRecHitValid::detIdToIndexMapEndcap_
std::map< int, int > detIdToIndexMapEndcap_
Definition: RPCRecHitValid.h:74
dqm::impl::MonitorElement::getTH1
virtual TH1 * getTH1()
Definition: MonitorElement.cc:969
edm::OwnVector::const_iterator
Definition: OwnVector.h:41
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
RPCValidHistograms::resBarrel
MEP resBarrel
Definition: RPCValidHistograms.h:42
RPCRecHitValid::h_matchOccupancyBarrel_detId
MEP h_matchOccupancyBarrel_detId
Definition: RPCRecHitValid.h:65
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
RPCValidHistograms::nMatchHitEndcap
MEP nMatchHitEndcap
Definition: RPCValidHistograms.h:27
RPCRecHitValid::h_rollAreaBarrel_detId
MEP h_rollAreaBarrel_detId
Definition: RPCRecHitValid.h:71
RPCRecHitValid::h_recoMuonOverlap_phi
MEP h_recoMuonOverlap_phi
Definition: RPCRecHitValid.h:57
RPCValidHistograms::matchOccupancyBarrel_station
MEP matchOccupancyBarrel_station
Definition: RPCValidHistograms.h:34
RPCRecHitValid::h_noiseOccupancyBarrel_detId
MEP h_noiseOccupancyBarrel_detId
Definition: RPCRecHitValid.h:69
RPCValidHistograms::timeIRPC
MEP timeIRPC
Definition: RPCValidHistograms.h:29
TrackingGeometry::DetContainer
std::vector< const GeomDet * > DetContainer
Definition: TrackingGeometry.h:29
edm::RangeMap::const_iterator
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
RPCRecHitValid::h_simMuonEndcap_eta
MEP h_simMuonEndcap_eta
Definition: RPCRecHitValid.h:53
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
RPCRecHitValid::h_simMuonOverlap_phi
MEP h_simMuonOverlap_phi
Definition: RPCRecHitValid.h:54
RPCValidHistograms::matchOccupancyBarrel_wheel_station
MEP matchOccupancyBarrel_wheel_station
Definition: RPCValidHistograms.h:39
RPCRecHitValid::h_recoMuonNoRPC_phi
MEP h_recoMuonNoRPC_phi
Definition: RPCRecHitValid.h:57
RPCRecHitValid::h_recoMuonBarrel_eta
MEP h_recoMuonBarrel_eta
Definition: RPCRecHitValid.h:56
RPCValidHistograms::avgClusterSizeBarrel
MEP avgClusterSizeBarrel
Definition: RPCValidHistograms.h:23
RPCValidHistograms::res_disk_res
MEP res_disk_res
Definition: RPCValidHistograms.h:43
RPCRecHitValid::h_recPunchOccupancyBarrel_wheel
MEP h_recPunchOccupancyBarrel_wheel
Definition: RPCRecHitValid.h:62
RPCRecHitValid::subDir_
std::string subDir_
Definition: RPCRecHitValid.h:38
RPCValidHistograms::pullBarrel
MEP pullBarrel
Definition: RPCValidHistograms.h:46
RPCRecHitValid::h_simMuonNoRPC_phi
MEP h_simMuonNoRPC_phi
Definition: RPCRecHitValid.h:54
RPCRecHitValid::h_recoMuonEndcap_phi
MEP h_recoMuonEndcap_phi
Definition: RPCRecHitValid.h:57
RPCValidHistograms::pullEndcap
MEP pullEndcap
Definition: RPCValidHistograms.h:46
get
#define get
RPCRecHitValid::muonToken_
edm::EDGetTokenT< reco::MuonCollection > muonToken_
Definition: RPCRecHitValid.h:43
RPCRecHitValid::h_nRPCHitPerSimMuonOverlap
MEP h_nRPCHitPerSimMuonOverlap
Definition: RPCRecHitValid.h:50
RPCRecHitValid::h_nRPCHitPerRecoMuon
MEP h_nRPCHitPerRecoMuon
Definition: RPCRecHitValid.h:51
RPCRecHitValid::h_nRPCHitPerSimMuonEndcap
MEP h_nRPCHitPerSimMuonEndcap
Definition: RPCRecHitValid.h:50
RPCRecHitValid::simHitAssocToken_
edm::EDGetTokenT< SimHitAssoc > simHitAssocToken_
Definition: RPCRecHitValid.h:42
RPCValidHistograms::matchOccupancyEndcap_disk_ring
MEP matchOccupancyEndcap_disk_ring
Definition: RPCValidHistograms.h:39
RPCValidHistograms::recHitOccupancyEndcap_disk
MEP recHitOccupancyEndcap_disk
Definition: RPCValidHistograms.h:33
RPCRecHitValid::h_nRPCHitPerRecoMuonOverlap
MEP h_nRPCHitPerRecoMuonOverlap
Definition: RPCRecHitValid.h:51
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RPCRecHitValid::h_refPunchOccupancyBarrel_wheel_station
MEP h_refPunchOccupancyBarrel_wheel_station
Definition: RPCRecHitValid.h:61
RPCValidHistograms::recHitOccupancyEndcap_disk_ring
MEP recHitOccupancyEndcap_disk_ring
Definition: RPCValidHistograms.h:38
RPCValidHistograms::avgClusterSize
MEP avgClusterSize
Definition: RPCValidHistograms.h:23
RPCValidHistograms::res_wheel_res
MEP res_wheel_res
Definition: RPCValidHistograms.h:43
MuonSubdetId::RPC
static constexpr int RPC
Definition: MuonSubdetId.h:13
RPCValidHistograms::refHitOccupancyEndcap_disk_ring
MEP refHitOccupancyEndcap_disk_ring
Definition: RPCValidHistograms.h:37
RPCValidHistograms::nRefHitEndcap
MEP nRefHitEndcap
Definition: RPCValidHistograms.h:25
RPCRecHitValid::h_recoMuonNoRPC_pt
MEP h_recoMuonNoRPC_pt
Definition: RPCRecHitValid.h:55
RPCRecHitValid::h_simMuonOverlap_eta
MEP h_simMuonOverlap_eta
Definition: RPCRecHitValid.h:53
RPCValidHistograms::matchOccupancyEndcap_disk
MEP matchOccupancyEndcap_disk
Definition: RPCValidHistograms.h:34
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
RPCValidHistograms::refHitOccupancyBarrel_station
MEP refHitOccupancyBarrel_station
Definition: RPCValidHistograms.h:32
TrackPSimHitRef
edm::Ref< edm::PSimHitContainer > TrackPSimHitRef
Definition: PSimHitContainer.h:14
RPCValidHistograms::recHitOccupancyBarrel_wheel
MEP recHitOccupancyBarrel_wheel
Definition: RPCValidHistograms.h:33
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
RPCValidHistograms::pull_wheel_pull
MEP pull_wheel_pull
Definition: RPCValidHistograms.h:47
RPCValidHistograms::nMatchHitBarrel
MEP nMatchHitBarrel
Definition: RPCValidHistograms.h:27
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
RPCRecHitValid::h_noiseOccupancyEndcap_detId
MEP h_noiseOccupancyEndcap_detId
Definition: RPCRecHitValid.h:70
RPCValidHistograms::nRecHitBarrel
MEP nRecHitBarrel
Definition: RPCValidHistograms.h:26
RPCValidHistograms::pull_ring_pull
MEP pull_ring_pull
Definition: RPCValidHistograms.h:47
DetId::Muon
Definition: DetId.h:26
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
RPCRecHitValid::h_recoMuonEndcap_pt
MEP h_recoMuonEndcap_pt
Definition: RPCRecHitValid.h:55
RPCValidHistograms::timeBarrel
MEP timeBarrel
Definition: RPCValidHistograms.h:29
RPCValidHistograms::nRefHitBarrel
MEP nRefHitBarrel
Definition: RPCValidHistograms.h:25
ntuplemaker.time
time
Definition: ntuplemaker.py:310
event
Definition: event.py:1
RPCRecHitValid::h_recoMuonOverlap_pt
MEP h_recoMuonOverlap_pt
Definition: RPCRecHitValid.h:55
RPCValidHistograms::clusterSizeEndcap
MEP clusterSizeEndcap
Definition: RPCValidHistograms.h:22
RPCRecHitValid::simParticleToken_
edm::EDGetTokenT< SimParticles > simParticleToken_
Definition: RPCRecHitValid.h:41
StripTopology
Definition: StripTopology.h:11
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
custom_jme_cff.area
area
Definition: custom_jme_cff.py:169
fftjetvertexadder_cfi.errX
errX
Definition: fftjetvertexadder_cfi.py:37
edm::InputTag
Definition: InputTag.h:15
RPCValidHistograms::clusterSizeBarrel
MEP clusterSizeBarrel
Definition: RPCValidHistograms.h:22
RPCRecHitValid::h_simParticleType
MEP h_simParticleType
Definition: RPCRecHitValid.h:58
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
L1EGammaCrystalsEmulatorProducer_cfi.ptBins
ptBins
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:9
SimHitTPAssociationProducer::simHitTPAssociationListGreater
static bool simHitTPAssociationListGreater(SimHitTPPair i, SimHitTPPair j)
Definition: SimHitTPAssociationProducer.h:23