CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TrackBuildingAnalyzer Class Reference

#include <TrackBuildingAnalyzer.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
using MVACollection = std::vector< float >
 
using QualityMaskCollection = std::vector< unsigned char >
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrajectorySeed &seed, const SeedStopInfo &stopInfo, const reco::BeamSpot &bs, const MagneticField &theMF, const TransientTrackingRecHitBuilder &theTTRHBuilder)
 
void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrackCandidate &candidate, const reco::BeamSpot &bs, const MagneticField &theMF, const TransientTrackingRecHitBuilder &theTTRHBuilder)
 
void analyze (const edm::View< reco::Track > &trackCollection, const std::vector< const MVACollection *> &mvaCollections, const std::vector< const QualityMaskCollection *> &qualityMaskCollections)
 
void analyze (const reco::CandidateView &regionCandidates)
 
void analyze (const edm::OwnVector< TrackingRegion > &regions)
 
void analyze (const TrackingRegionsSeedingLayerSets &regions)
 
void initHisto (DQMStore::IBooker &ibooker, const edm::ParameterSet &)
 
 TrackBuildingAnalyzer (const edm::ParameterSet &)
 
 ~TrackBuildingAnalyzer ()=default
 

Private Member Functions

template<typename T >
void analyzeRegions (const T &regions)
 
void bookHistos (std::string sname, DQMStore::IBooker &ibooker)
 
void fillHistos (const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
 

Private Attributes

const bool doAllPlots
 
const bool doAllSeedPlots
 
const bool doAllTCPlots
 
const bool doDxy
 
const bool doDz
 
const bool doETA
 
const bool doMVAPlots
 
const bool doNRecHits
 
const bool doPHI
 
const bool doPHIVsETA
 
const bool doProfETA
 
const bool doProfPHI
 
const bool doPT
 
const bool doQ
 
const bool doRegionCandidatePlots
 
const bool doRegionPlots
 
const bool doStopSource
 
const bool doTCPlots
 
const bool doTheta
 
double etaBinWidth = 0.
 
std::string histname
 
MonitorElementNumberOfRecHitsPerSeed = nullptr
 
MonitorElementNumberOfRecHitsPerSeedVsEtaProfile = nullptr
 
MonitorElementNumberOfRecHitsPerSeedVsPhiProfile = nullptr
 
MonitorElementNumberOfRecHitsPerTrackCand = nullptr
 
MonitorElementNumberOfRecHitsPerTrackCandVsEtaProfile = nullptr
 
MonitorElementNumberOfRecHitsPerTrackCandVsPhiProfile = nullptr
 
MonitorElementnumberOfTrajCandsPerSeed = nullptr
 
MonitorElementnumberOfTrajCandsPerSeedVsEta = nullptr
 
MonitorElementnumberOfTrajCandsPerSeedVsPhi = nullptr
 
double phiBinWidth = 0.
 
MonitorElementSeedDxy = nullptr
 
MonitorElementSeedDz = nullptr
 
MonitorElementSeedEta = nullptr
 
MonitorElementSeedPhi = nullptr
 
MonitorElementSeedPhiVsEta = nullptr
 
MonitorElementSeedPt = nullptr
 
MonitorElementSeedQ = nullptr
 
MonitorElementseedStoppingSource = nullptr
 
MonitorElementseedStoppingSourceVsEta = nullptr
 
MonitorElementseedStoppingSourceVsNumberOfTrajCandsPerSeed = nullptr
 
MonitorElementseedStoppingSourceVsPhi = nullptr
 
MonitorElementSeedTheta = nullptr
 
MonitorElementstoppingSource = nullptr
 
MonitorElementstoppingSourceVSeta = nullptr
 
MonitorElementstoppingSourceVSphi = nullptr
 
MonitorElementTrackCandDxy = nullptr
 
MonitorElementTrackCandDz = nullptr
 
MonitorElementTrackCandEta = nullptr
 
MonitorElementTrackCandPhi = nullptr
 
MonitorElementTrackCandPhiVsEta = nullptr
 
MonitorElementTrackCandPt = nullptr
 
MonitorElementTrackCandQ = nullptr
 
MonitorElementTrackCandTheta = nullptr
 
MonitorElementTrackingRegionCandidateEta = nullptr
 
MonitorElementTrackingRegionCandidatePhi = nullptr
 
MonitorElementTrackingRegionCandidatePhiVsEta = nullptr
 
MonitorElementTrackingRegionCandidatePt = nullptr
 
MonitorElementTrackingRegionEta = nullptr
 
MonitorElementTrackingRegionPhi = nullptr
 
MonitorElementTrackingRegionPhiVsEta = nullptr
 
std::vector< MonitorElement * > trackMVAs
 
std::vector< MonitorElement * > trackMVAsHP
 
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
 
std::vector< MonitorElement * > trackMVAsHPVsPtProfile
 
std::vector< MonitorElement * > trackMVAsVsEtaProfile
 
std::vector< MonitorElement * > trackMVAsVsPtProfile
 

Detailed Description

Monitoring source for general quantities related to tracks.

Definition at line 36 of file TrackBuildingAnalyzer.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 38 of file TrackBuildingAnalyzer.h.

◆ MonitorElement

Definition at line 39 of file TrackBuildingAnalyzer.h.

◆ MVACollection

using TrackBuildingAnalyzer::MVACollection = std::vector<float>

Definition at line 40 of file TrackBuildingAnalyzer.h.

◆ QualityMaskCollection

using TrackBuildingAnalyzer::QualityMaskCollection = std::vector<unsigned char>

Definition at line 41 of file TrackBuildingAnalyzer.h.

Constructor & Destructor Documentation

◆ TrackBuildingAnalyzer()

TrackBuildingAnalyzer::TrackBuildingAnalyzer ( const edm::ParameterSet iConfig)

Definition at line 23 of file TrackBuildingAnalyzer.cc.

24  : doAllPlots(iConfig.getParameter<bool>("doAllPlots")),
25  doAllSeedPlots(iConfig.getParameter<bool>("doSeedParameterHistos")),
26  doTCPlots(iConfig.getParameter<bool>("doTrackCandHistos")),
27  doAllTCPlots(iConfig.getParameter<bool>("doAllTrackCandHistos")),
28  doPT(iConfig.getParameter<bool>("doSeedPTHisto")),
29  doETA(iConfig.getParameter<bool>("doSeedETAHisto")),
30  doPHI(iConfig.getParameter<bool>("doSeedPHIHisto")),
31  doPHIVsETA(iConfig.getParameter<bool>("doSeedPHIVsETAHisto")),
32  doTheta(iConfig.getParameter<bool>("doSeedThetaHisto")),
33  doQ(iConfig.getParameter<bool>("doSeedQHisto")),
34  doDxy(iConfig.getParameter<bool>("doSeedDxyHisto")),
35  doDz(iConfig.getParameter<bool>("doSeedDzHisto")),
36  doNRecHits(iConfig.getParameter<bool>("doSeedNRecHitsHisto")),
37  doProfPHI(iConfig.getParameter<bool>("doSeedNVsPhiProf")),
38  doProfETA(iConfig.getParameter<bool>("doSeedNVsEtaProf")),
39  doStopSource(iConfig.getParameter<bool>("doStopSource")),
40  doMVAPlots(iConfig.getParameter<bool>("doMVAPlots")),
41  doRegionPlots(iConfig.getParameter<bool>("doRegionPlots")),
42  doRegionCandidatePlots(iConfig.getParameter<bool>("doRegionCandidatePlots")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

◆ ~TrackBuildingAnalyzer()

TrackBuildingAnalyzer::~TrackBuildingAnalyzer ( )
default

Member Function Documentation

◆ analyze() [1/6]

void TrackBuildingAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const TrajectorySeed seed,
const SeedStopInfo stopInfo,
const reco::BeamSpot bs,
const MagneticField theMF,
const TransientTrackingRecHitBuilder theTTRHBuilder 
)

Definition at line 493 of file TrackBuildingAnalyzer.cc.

References cms::cuda::bs, SeedStopInfo::candidatesPerSeed(), funct::cos(), doAllSeedPlots, doDxy, doDz, doETA, doNRecHits, doPHI, doPHIVsETA, doProfETA, doProfPHI, doPT, doQ, doStopSource, doTheta, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), relativeConstraints::geometry, TrajectoryStateClosestToBeamLine::isValid(), FreeTrajectoryState::momentum(), TrajectorySeed::nHits(), NOT_STOPPED, NumberOfRecHitsPerSeed, NumberOfRecHitsPerSeedVsEtaProfile, NumberOfRecHitsPerSeedVsPhiProfile, numberOfTrajCandsPerSeed, numberOfTrajCandsPerSeedVsEta, numberOfTrajCandsPerSeedVsPhi, AlCaHLTBitMon_ParallelJobs::p, phi, FreeTrajectoryState::position(), DiDispStaMuonMonitor_cfi::pt, SeedDxy, SeedDz, SeedEta, SeedPhi, SeedPhiVsEta, SeedPt, SeedQ, seedStoppingSource, seedStoppingSourceVsEta, seedStoppingSourceVsNumberOfTrajCandsPerSeed, seedStoppingSourceVsPhi, SeedTheta, funct::sin(), mathSSE::sqrt(), TrajectorySeed::startingState(), SeedStopInfo::stopReason(), SeedStopInfo::stopReasonUC(), theta(), TrajectoryStateClosestToBeamLine::trackStateAtPCA(), trajectoryStateTransform::transientState(), findQualityFiles::v, and V0Monitor_cff::v0.

Referenced by TrackingMonitor::analyze().

499  {
500  TSCBLBuilderNoMaterial tscblBuilder;
501 
502  //get parameters and errors from the candidate state
503  auto const& theG = ((TkTransientTrackingRecHitBuilder const*)(&theTTRHBuilder))->geometry();
504  auto const& candSS = candidate.startingState();
506  trajectoryStateTransform::transientState(candSS, &(theG->idToDet(candSS.detId())->surface()), &theMF);
507  TrajectoryStateClosestToBeamLine tsAtClosestApproachSeed =
508  tscblBuilder(*state.freeState(), bs); //as in TrackProducerAlgorithm
509  if (!(tsAtClosestApproachSeed.isValid())) {
510  edm::LogVerbatim("TrackBuilding") << "TrajectoryStateClosestToBeamLine not valid";
511  return;
512  }
513  GlobalPoint v0 = tsAtClosestApproachSeed.trackStateAtPCA().position();
514  GlobalVector p = tsAtClosestApproachSeed.trackStateAtPCA().momentum();
515  GlobalPoint v(v0.x() - bs.x0(), v0.y() - bs.y0(), v0.z() - bs.z0());
516 
517  double pt = sqrt(state.globalMomentum().perp2());
518  double eta = state.globalPosition().eta();
519  double phi = state.globalPosition().phi();
520  double theta = state.globalPosition().theta();
521  //double pm = sqrt(state.globalMomentum().mag2());
522  //double pz = state.globalMomentum().z();
523  //double qoverp = tsAtClosestApproachSeed.trackStateAtPCA().charge()/p.mag();
524  //double theta = p.theta();
525  //double lambda = M_PI/2-p.theta();
526  double numberOfHits = candidate.nHits();
527  double dxy = (-v.x() * sin(p.phi()) + v.y() * cos(p.phi()));
528  double dz = v.z() - (v.x() * p.x() + v.y() * p.y()) / p.perp() * p.z() / p.perp();
529 
530  // fill the ME's
531  if (doAllSeedPlots || doQ)
532  SeedQ->Fill(state.charge());
533  if (doAllSeedPlots || doPT)
534  SeedPt->Fill(pt);
535  if (doAllSeedPlots || doETA)
536  SeedEta->Fill(eta);
537  if (doAllSeedPlots || doPHI)
538  SeedPhi->Fill(phi);
539  if (doAllSeedPlots || doPHIVsETA)
541  if (doAllSeedPlots || doTheta)
542  SeedTheta->Fill(theta);
543  if (doAllSeedPlots || doDxy)
544  SeedDxy->Fill(dxy);
545  if (doAllSeedPlots || doDz)
546  SeedDz->Fill(dz);
547  if (doAllSeedPlots || doNRecHits)
548  NumberOfRecHitsPerSeed->Fill(numberOfHits);
549  if (doAllSeedPlots || doProfETA)
551  if (doAllSeedPlots || doProfPHI)
553  if (doAllSeedPlots || doStopSource) {
554  const double stopped = stopInfo.stopReason() == SeedStopReason::NOT_STOPPED ? 0. : 1.;
555  seedStoppingSource->Fill(stopInfo.stopReasonUC());
556  seedStoppingSourceVsPhi->Fill(phi, stopped);
557  seedStoppingSourceVsEta->Fill(eta, stopped);
558 
559  const auto ncands = stopInfo.candidatesPerSeed();
563 
565  }
566 }
Log< level::Info, true > LogVerbatim
MonitorElement * seedStoppingSourceVsPhi
MonitorElement * numberOfTrajCandsPerSeed
SeedStopReason stopReason() const
Definition: SeedStopInfo.h:15
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
GlobalPoint position() const
void Fill(long long x)
MonitorElement * NumberOfRecHitsPerSeed
unsigned char stopReasonUC() const
Definition: SeedStopInfo.h:16
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
GlobalVector momentum() const
MonitorElement * numberOfTrajCandsPerSeedVsPhi
MonitorElement * numberOfTrajCandsPerSeedVsEta
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
unsigned short candidatesPerSeed() const
Definition: SeedStopInfo.h:12
MonitorElement * SeedPhiVsEta
MonitorElement * seedStoppingSourceVsEta
MonitorElement * seedStoppingSourceVsNumberOfTrajCandsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
Geom::Theta< T > theta() const
MonitorElement * seedStoppingSource

◆ analyze() [2/6]

void TrackBuildingAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const TrackCandidate candidate,
const reco::BeamSpot bs,
const MagneticField theMF,
const TransientTrackingRecHitBuilder theTTRHBuilder 
)

Definition at line 570 of file TrackBuildingAnalyzer.cc.

References cms::cuda::bs, funct::cos(), doAllTCPlots, doStopSource, doTCPlots, doTheta, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), relativeConstraints::geometry, dqm::impl::MonitorElement::getNbinsX(), createfilelist::int, TrajectoryStateClosestToBeamLine::isValid(), SiStripPI::max, FreeTrajectoryState::momentum(), NOT_STOPPED, TrackCandidate::nRecHits(), NumberOfRecHitsPerTrackCand, NumberOfRecHitsPerTrackCandVsEtaProfile, NumberOfRecHitsPerTrackCandVsPhiProfile, AlCaHLTBitMon_ParallelJobs::p, phi, FreeTrajectoryState::position(), DiDispStaMuonMonitor_cfi::pt, funct::sin(), mathSSE::sqrt(), stoppingSource, stoppingSourceVSeta, stoppingSourceVSphi, TrackCandidate::stopReason(), theta(), TrackCandDxy, TrackCandDz, TrackCandEta, TrackCandPhi, TrackCandPhiVsEta, TrackCandPt, TrackCandQ, TrackCandTheta, TrajectoryStateClosestToBeamLine::trackStateAtPCA(), TrackCandidate::trajectoryStateOnDet(), trajectoryStateTransform::transientState(), findQualityFiles::v, and V0Monitor_cff::v0.

575  {
576  TSCBLBuilderNoMaterial tscblBuilder;
577 
578  //get parameters and errors from the candidate state
579  auto const& theG = ((TkTransientTrackingRecHitBuilder const*)(&theTTRHBuilder))->geometry();
580  auto const& candSS = candidate.trajectoryStateOnDet();
582  trajectoryStateTransform::transientState(candSS, &(theG->idToDet(candSS.detId())->surface()), &theMF);
583  TrajectoryStateClosestToBeamLine tsAtClosestApproachTrackCand =
584  tscblBuilder(*state.freeState(), bs); //as in TrackProducerAlgorithm
585  if (!(tsAtClosestApproachTrackCand.isValid())) {
586  edm::LogVerbatim("TrackBuilding") << "TrajectoryStateClosestToBeamLine not valid";
587  return;
588  }
589  GlobalPoint v0 = tsAtClosestApproachTrackCand.trackStateAtPCA().position();
590  GlobalVector p = tsAtClosestApproachTrackCand.trackStateAtPCA().momentum();
591  GlobalPoint v(v0.x() - bs.x0(), v0.y() - bs.y0(), v0.z() - bs.z0());
592 
593  double pt = sqrt(state.globalMomentum().perp2());
594  double eta = state.globalPosition().eta();
595  double phi = state.globalPosition().phi();
596  double theta = state.globalPosition().theta();
597  //double pm = sqrt(state.globalMomentum().mag2());
598  //double pz = state.globalMomentum().z();
599  //double qoverp = tsAtClosestApproachTrackCand.trackStateAtPCA().charge()/p.mag();
600  //double theta = p.theta();
601  //double lambda = M_PI/2-p.theta();
602  double numberOfHits = candidate.nRecHits();
603  double dxy = (-v.x() * sin(p.phi()) + v.y() * cos(p.phi()));
604 
605  double dz = v.z() - (v.x() * p.x() + v.y() * p.y()) / p.perp() * p.z() / p.perp();
606 
607  if (doAllTCPlots || doStopSource) {
608  // stopping source
609  int max = stoppingSource->getNbinsX();
610  double stop = candidate.stopReason() > max ? double(max - 1) : static_cast<double>(candidate.stopReason());
611  double stopped = int(StopReason::NOT_STOPPED) == candidate.stopReason() ? 0. : 1.;
612  stoppingSource->Fill(stop);
613  stoppingSourceVSeta->Fill(eta, stopped);
614  stoppingSourceVSphi->Fill(phi, stopped);
615  }
616 
617  if (doTCPlots) {
618  // fill the ME's
619  if (doAllTCPlots)
620  TrackCandQ->Fill(state.charge());
621  TrackCandPt->Fill(pt);
625  if (doTheta)
627  if (doAllTCPlots)
629  if (doAllTCPlots)
630  TrackCandDz->Fill(dz);
631  if (doAllTCPlots)
632  NumberOfRecHitsPerTrackCand->Fill(numberOfHits);
633  if (doAllTCPlots)
635  if (doAllTCPlots)
637  }
638 }
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
Log< level::Info, true > LogVerbatim
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
MonitorElement * stoppingSourceVSphi
auto nRecHits() const
MonitorElement * TrackCandPhiVsEta
uint8_t stopReason() const
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
GlobalPoint position() const
void Fill(long long x)
MonitorElement * stoppingSource
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
PTrajectoryStateOnDet const & trajectoryStateOnDet() const
GlobalVector momentum() const
MonitorElement * stoppingSourceVSeta
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
MonitorElement * TrackCandTheta
virtual int getNbinsX() const
get # of bins in X-axis
Geom::Theta< T > theta() const
MonitorElement * NumberOfRecHitsPerTrackCand

◆ analyze() [3/6]

void TrackBuildingAnalyzer::analyze ( const edm::View< reco::Track > &  trackCollection,
const std::vector< const MVACollection *> &  mvaCollections,
const std::vector< const QualityMaskCollection *> &  qualityMaskCollections 
)

Definition at line 643 of file TrackBuildingAnalyzer.cc.

References doAllTCPlots, doMVAPlots, PVValHelper::eta, reco::TrackBase::highPurity, reco::TrackBase::loose, beam_dqm_sourceclient-live_cfg::mva, ntracks, DiDispStaMuonMonitor_cfi::pt, duplicaterechits_cfi::trackCollection, trackMVAs, trackMVAsHP, trackMVAsHPVsEtaProfile, trackMVAsHPVsPtProfile, trackMVAsVsEtaProfile, and trackMVAsVsPtProfile.

645  {
646  if (!(doAllTCPlots || doMVAPlots))
647  return;
648  if (trackCollection.empty())
649  return;
650 
651  const auto ntracks = trackCollection.size();
652  const auto nmva = mvaCollections.size();
653  for (const auto mva : mvaCollections) {
654  if (mva->size() != ntracks) {
655  edm::LogError("LogicError") << "TrackBuildingAnalyzer: Incompatible size of MVACollection, " << mva->size()
656  << " differs from the size of the track collection " << ntracks;
657  return;
658  }
659  }
660  for (const auto qual : qualityMaskCollections) {
661  if (qual->size() != ntracks) {
662  edm::LogError("LogicError") << "TrackBuildingAnalyzer: Incompatible size of QualityMaskCollection, "
663  << qual->size() << " differs from the size of the track collection " << ntracks;
664  return;
665  }
666  }
667 
668  for (size_t iTrack = 0; iTrack < ntracks; ++iTrack) {
669  // Fill MVA1 histos with all tracks, MVA2 histos only with tracks
670  // not selected by MVA1 etc
671  bool selectedLoose = false;
672  bool selectedHP = false;
673 
674  const auto pt = trackCollection[iTrack].pt();
675  const auto eta = trackCollection[iTrack].eta();
676 
677  for (size_t iMVA = 0; iMVA < nmva; ++iMVA) {
678  const auto mva = (*(mvaCollections[iMVA]))[iTrack];
679  if (!selectedLoose) {
680  trackMVAs[iMVA]->Fill(mva);
681  trackMVAsVsPtProfile[iMVA]->Fill(pt, mva);
682  trackMVAsVsEtaProfile[iMVA]->Fill(eta, mva);
683  }
684  if (iMVA >= 1 && !selectedHP) {
685  trackMVAsHP[iMVA]->Fill(mva);
686  trackMVAsHPVsPtProfile[iMVA]->Fill(pt, mva);
687  trackMVAsHPVsEtaProfile[iMVA]->Fill(eta, mva);
688  }
689 
690  const auto qual = (*(qualityMaskCollections)[iMVA])[iTrack];
691  selectedLoose |= trackSelected(qual, reco::TrackBase::loose);
692  selectedHP |= trackSelected(qual, reco::TrackBase::highPurity);
693 
694  if (selectedLoose && selectedHP)
695  break;
696  }
697  }
698 }
std::vector< MonitorElement * > trackMVAsVsPtProfile
Log< level::Error, false > LogError
std::vector< MonitorElement * > trackMVAs
std::vector< MonitorElement * > trackMVAsHP
std::vector< MonitorElement * > trackMVAsVsEtaProfile
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
std::vector< MonitorElement * > trackMVAsHPVsPtProfile

◆ analyze() [4/6]

void TrackBuildingAnalyzer::analyze ( const reco::CandidateView regionCandidates)

Definition at line 700 of file TrackBuildingAnalyzer.cc.

References doAllSeedPlots, doETA, doPHI, doPHIVsETA, doPT, doRegionCandidatePlots, doRegionPlots, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), phi, TrackingRegionCandidateEta, TrackingRegionCandidatePhi, TrackingRegionCandidatePhiVsEta, and TrackingRegionCandidatePt.

700  {
702  return;
703 
704  for (const auto& candidate : regionCandidates) {
705  const auto eta = candidate.eta();
706  const auto phi = candidate.phi();
707  if (doAllSeedPlots || doPT)
708  TrackingRegionCandidatePt->Fill(candidate.pt());
709  if (doAllSeedPlots || doETA)
711  if (doAllSeedPlots || doPHI)
713  if (doAllSeedPlots || doPHIVsETA)
715  }
716 }
MonitorElement * TrackingRegionCandidatePhiVsEta
MonitorElement * TrackingRegionCandidatePt
void Fill(long long x)
MonitorElement * TrackingRegionCandidateEta
MonitorElement * TrackingRegionCandidatePhi

◆ analyze() [5/6]

void TrackBuildingAnalyzer::analyze ( const edm::OwnVector< TrackingRegion > &  regions)

Definition at line 718 of file TrackBuildingAnalyzer.cc.

References analyzeRegions().

◆ analyze() [6/6]

void TrackBuildingAnalyzer::analyze ( const TrackingRegionsSeedingLayerSets regions)

Definition at line 719 of file TrackBuildingAnalyzer.cc.

References analyzeRegions().

◆ analyzeRegions()

template<typename T >
void TrackBuildingAnalyzer::analyzeRegions ( const T regions)
private

Definition at line 729 of file TrackBuildingAnalyzer.cc.

References doAllSeedPlots, doETA, doPHI, doPHIVsETA, doRegionPlots, PVValHelper::eta, etaBinWidth, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, generateTowerEtThresholdLUT::etaRange, dqm::impl::MonitorElement::Fill(), phi, phiBinWidth, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, reco::reduceRange(), createJobs::tmp, TrackingRegionEta, TrackingRegionPhi, and TrackingRegionPhiVsEta.

Referenced by analyze().

729  {
730  if (!doRegionPlots && etaBinWidth <= 0. && phiBinWidth <= 0.)
731  return;
732 
733  for (const auto& tmp : regions) {
734  if (const auto* etaPhiRegion = dynamic_cast<const RectangularEtaPhiTrackingRegion*>(regionPtr(tmp))) {
735  const auto& etaRange = etaPhiRegion->etaRange();
736  const auto& phiMargin = etaPhiRegion->phiMargin();
737 
738  const auto etaMin = etaRange.min();
739  const auto etaMax = etaRange.max();
740 
741  const auto phiMin = etaPhiRegion->phiDirection() - phiMargin.left();
742  const auto phiMax = etaPhiRegion->phiDirection() + phiMargin.right();
743 
744  if (doAllSeedPlots || doETA) {
745  for (auto eta = etaMin; eta < etaMax; eta += etaBinWidth) {
747  }
748  }
749  if (doAllSeedPlots || doPHI) {
750  for (auto phi = phiMin; phi < phiMax; phi += phiBinWidth) {
752  }
753  }
754  if (doAllSeedPlots || doPHIVsETA) {
755  for (auto phi = phiMin; phi < phiMax; phi += phiBinWidth) {
756  const auto reducedPhi = reco::reduceRange(phi);
757  for (auto eta = etaMin; eta < etaMax; eta += etaBinWidth) {
758  TrackingRegionPhiVsEta->Fill(eta, reducedPhi);
759  }
760  }
761  }
762  }
763  }
764 }
constexpr T reduceRange(T x)
Definition: deltaPhi.h:18
void Fill(long long x)
MonitorElement * TrackingRegionPhi
MonitorElement * TrackingRegionPhiVsEta
MonitorElement * TrackingRegionEta
tmp
align.sh
Definition: createJobs.py:716

◆ bookHistos()

void TrackBuildingAnalyzer::bookHistos ( std::string  sname,
DQMStore::IBooker ibooker 
)
private

◆ fillHistos()

void TrackBuildingAnalyzer::fillHistos ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private

◆ initHisto()

void TrackBuildingAnalyzer::initHisto ( DQMStore::IBooker ibooker,
const edm::ParameterSet iConfig 
)

Definition at line 44 of file TrackBuildingAnalyzer.cc.

References HLTSiStripMonitoring_cff::AlgoName, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), doAllSeedPlots, doAllTCPlots, doDxy, doDz, doETA, doMVAPlots, doNRecHits, doPHI, doPHIVsETA, doProfETA, doProfPHI, doPT, doQ, doRegionCandidatePlots, doRegionPlots, doStopSource, doTCPlots, doTheta, mps_fire::end, MonitorTrackInnerTrackMuons_cff::EtaBin, etaBinWidth, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), histname, mps_fire::i, TrackingMonitor_cfi::MVABin, TrackingMonitor_cfi::MVAMax, TrackingMonitor_cfi::MVAMin, EgammaValidation_cff::num, NumberOfRecHitsPerSeed, NumberOfRecHitsPerSeedVsEtaProfile, NumberOfRecHitsPerSeedVsPhiProfile, NumberOfRecHitsPerTrackCand, NumberOfRecHitsPerTrackCandVsEtaProfile, NumberOfRecHitsPerTrackCandVsPhiProfile, numberOfTrajCandsPerSeed, numberOfTrajCandsPerSeedVsEta, numberOfTrajCandsPerSeedVsPhi, MonitorTrackSTAMuons_cfi::PhiBin, phiBinWidth, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, muonRecoAnalyzer_cfi::ptBin, AlignmentTrackSelector_cfi::ptMax, ptMin, SeedDxy, MonitorTrackSTAMuons_cfi::SeedDxyBin, MonitorTrackSTAMuons_cfi::SeedDxyMax, MonitorTrackSTAMuons_cfi::SeedDxyMin, SeedDz, MonitorTrackSTAMuons_cfi::SeedDzBin, MonitorTrackSTAMuons_cfi::SeedDzMax, MonitorTrackSTAMuons_cfi::SeedDzMin, SeedEta, MonitorTrackSTAMuons_cfi::SeedHitBin, MonitorTrackSTAMuons_cfi::SeedHitMax, MonitorTrackSTAMuons_cfi::SeedHitMin, SeedPhi, SeedPhiVsEta, SeedPt, SeedQ, seedStoppingSource, seedStoppingSourceVsEta, seedStoppingSourceVsNumberOfTrajCandsPerSeed, seedStoppingSourceVsPhi, SeedStopReasonName::SeedStopReasonName, SeedTheta, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), SIZE, stoppingSource, stoppingSourceVSeta, stoppingSourceVSphi, StopReasonName::StopReasonName, AlCaHLTBitMon_QueryRunRegistry::string, MonitorTrackSTAMuons_cfi::TCDxyBin, MonitorTrackSTAMuons_cfi::TCDxyMax, MonitorTrackSTAMuons_cfi::TCDxyMin, MonitorTrackSTAMuons_cfi::TCDzBin, MonitorTrackSTAMuons_cfi::TCDzMax, MonitorTrackSTAMuons_cfi::TCDzMin, MonitorTrackSTAMuons_cfi::TCHitBin, MonitorTrackSTAMuons_cfi::TCHitMax, MonitorTrackSTAMuons_cfi::TCHitMin, MonitorTrackSTAMuons_cfi::ThetaBin, MonitorTrackSTAMuons_cfi::ThetaMax, MonitorTrackSTAMuons_cfi::ThetaMin, cond::impl::to_string(), TrackCandDxy, TrackCandDz, TrackCandEta, TrackCandPhi, TrackCandPhiVsEta, TrackCandPt, TrackCandQ, TrackCandTheta, TrackingRegionCandidateEta, TrackingRegionCandidatePhi, TrackingRegionCandidatePhiVsEta, TrackingRegionCandidatePt, TrackingRegionEta, TrackingRegionPhi, TrackingRegionPhiVsEta, trackMVAs, trackMVAsHP, trackMVAsHPVsEtaProfile, trackMVAsHPVsPtProfile, trackMVAsVsEtaProfile, trackMVAsVsPtProfile, beam_dqm_sourceclient-live_cfg::TrackPtBin, beam_dqm_sourceclient-live_cfg::TrackPtMax, beam_dqm_sourceclient-live_cfg::TrackPtMin, MonitorTrackSTAMuons_cfi::TrackQBin, MonitorTrackSTAMuons_cfi::TrackQMax, and MonitorTrackSTAMuons_cfi::TrackQMin.

Referenced by TrackingMonitor::bookHistograms().

44  {
45  // parameters from the configuration
46  std::string AlgoName = iConfig.getParameter<std::string>("AlgoName");
47  std::string MEFolderName = iConfig.getParameter<std::string>("FolderName");
48 
49  // std::cout << "[TrackBuildingAnalyzer::beginRun] AlgoName: " << AlgoName << std::endl;
50 
51  // use the AlgoName and Quality Name
52  const std::string& CatagoryName = AlgoName;
53 
54  // get binning from the configuration
55  int TrackPtBin = iConfig.getParameter<int>("TrackPtBin");
56  double TrackPtMin = iConfig.getParameter<double>("TrackPtMin");
57  double TrackPtMax = iConfig.getParameter<double>("TrackPtMax");
58 
59  int PhiBin = iConfig.getParameter<int>("PhiBin");
60  double PhiMin = iConfig.getParameter<double>("PhiMin");
61  double PhiMax = iConfig.getParameter<double>("PhiMax");
62  phiBinWidth = PhiBin > 0 ? (PhiMax - PhiMin) / PhiBin : 0.;
63 
64  int EtaBin = iConfig.getParameter<int>("EtaBin");
65  double EtaMin = iConfig.getParameter<double>("EtaMin");
66  double EtaMax = iConfig.getParameter<double>("EtaMax");
67  etaBinWidth = EtaBin > 0 ? (EtaMax - EtaMin) / EtaBin : 0.;
68 
69  int ThetaBin = iConfig.getParameter<int>("ThetaBin");
70  double ThetaMin = iConfig.getParameter<double>("ThetaMin");
71  double ThetaMax = iConfig.getParameter<double>("ThetaMax");
72 
73  int TrackQBin = iConfig.getParameter<int>("TrackQBin");
74  double TrackQMin = iConfig.getParameter<double>("TrackQMin");
75  double TrackQMax = iConfig.getParameter<double>("TrackQMax");
76 
77  int SeedDxyBin = iConfig.getParameter<int>("SeedDxyBin");
78  double SeedDxyMin = iConfig.getParameter<double>("SeedDxyMin");
79  double SeedDxyMax = iConfig.getParameter<double>("SeedDxyMax");
80 
81  int SeedDzBin = iConfig.getParameter<int>("SeedDzBin");
82  double SeedDzMin = iConfig.getParameter<double>("SeedDzMin");
83  double SeedDzMax = iConfig.getParameter<double>("SeedDzMax");
84 
85  int SeedHitBin = iConfig.getParameter<int>("SeedHitBin");
86  double SeedHitMin = iConfig.getParameter<double>("SeedHitMin");
87  double SeedHitMax = iConfig.getParameter<double>("SeedHitMax");
88 
89  int TCDxyBin = iConfig.getParameter<int>("TCDxyBin");
90  double TCDxyMin = iConfig.getParameter<double>("TCDxyMin");
91  double TCDxyMax = iConfig.getParameter<double>("TCDxyMax");
92 
93  int TCDzBin = iConfig.getParameter<int>("TCDzBin");
94  double TCDzMin = iConfig.getParameter<double>("TCDzMin");
95  double TCDzMax = iConfig.getParameter<double>("TCDzMax");
96 
97  int TCHitBin = iConfig.getParameter<int>("TCHitBin");
98  double TCHitMin = iConfig.getParameter<double>("TCHitMin");
99  double TCHitMax = iConfig.getParameter<double>("TCHitMax");
100 
101  int MVABin = iConfig.getParameter<int>("MVABin");
102  double MVAMin = iConfig.getParameter<double>("MVAMin");
103  double MVAMax = iConfig.getParameter<double>("MVAMax");
104 
105  edm::InputTag seedProducer = iConfig.getParameter<edm::InputTag>("SeedProducer");
106  edm::InputTag tcProducer = iConfig.getParameter<edm::InputTag>("TCProducer");
107  std::vector<std::string> mvaProducers = iConfig.getParameter<std::vector<std::string> >("MVAProducers");
108  edm::InputTag regionProducer = iConfig.getParameter<edm::InputTag>("RegionProducer");
109 
110  // if (doAllPlots){doAllSeedPlots=true; doTCPlots=true;}
111 
112  ibooker.setCurrentFolder(MEFolderName);
113 
114  // book the Seed histograms
115  // ---------------------------------------------------------------------------------//
116  // std::cout << "[TrackBuildingAnalyzer::beginRun] MEFolderName: " << MEFolderName << std::endl;
117  ibooker.setCurrentFolder(MEFolderName + "/TrackBuilding");
118 
119  if (doAllSeedPlots || doPT) {
120  histname = "SeedPt_" + seedProducer.label() + "_";
121  SeedPt = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TrackPtBin, TrackPtMin, TrackPtMax);
122  SeedPt->setAxisTitle("Seed p_{T} (GeV/c)", 1);
123  SeedPt->setAxisTitle("Number of Seeds", 2);
124  }
125 
126  if (doAllSeedPlots || doETA) {
127  histname = "SeedEta_" + seedProducer.label() + "_";
128  SeedEta = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax);
129  SeedEta->setAxisTitle("Seed #eta", 1);
130  SeedEta->setAxisTitle("Number of Seeds", 2);
131  }
132 
133  if (doAllSeedPlots || doPHI) {
134  histname = "SeedPhi_" + seedProducer.label() + "_";
135  SeedPhi = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax);
136  SeedPhi->setAxisTitle("Seed #phi", 1);
137  SeedPhi->setAxisTitle("Number of Seed", 2);
138  }
139 
140  if (doAllSeedPlots || doPHIVsETA) {
141  histname = "SeedPhiVsEta_" + seedProducer.label() + "_";
142  SeedPhiVsEta = ibooker.book2D(
143  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
144  SeedPhiVsEta->setAxisTitle("Seed #eta", 1);
145  SeedPhiVsEta->setAxisTitle("Seed #phi", 2);
146  }
147 
148  if (doAllSeedPlots || doTheta) {
149  histname = "SeedTheta_" + seedProducer.label() + "_";
150  SeedTheta = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, ThetaBin, ThetaMin, ThetaMax);
151  SeedTheta->setAxisTitle("Seed #theta", 1);
152  SeedTheta->setAxisTitle("Number of Seeds", 2);
153  }
154 
155  if (doAllSeedPlots || doQ) {
156  histname = "SeedQ_" + seedProducer.label() + "_";
157  SeedQ = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TrackQBin, TrackQMin, TrackQMax);
158  SeedQ->setAxisTitle("Seed Charge", 1);
159  SeedQ->setAxisTitle("Number of Seeds", 2);
160  }
161 
162  if (doAllSeedPlots || doDxy) {
163  histname = "SeedDxy_" + seedProducer.label() + "_";
164  SeedDxy = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, SeedDxyBin, SeedDxyMin, SeedDxyMax);
165  SeedDxy->setAxisTitle("Seed d_{xy} (cm)", 1);
166  SeedDxy->setAxisTitle("Number of Seeds", 2);
167  }
168 
169  if (doAllSeedPlots || doDz) {
170  histname = "SeedDz_" + seedProducer.label() + "_";
171  SeedDz = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, SeedDzBin, SeedDzMin, SeedDzMax);
172  SeedDz->setAxisTitle("Seed d_{z} (cm)", 1);
173  SeedDz->setAxisTitle("Number of Seeds", 2);
174  }
175 
176  if (doAllSeedPlots || doNRecHits) {
177  histname = "NumberOfRecHitsPerSeed_" + seedProducer.label() + "_";
179  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, SeedHitBin, SeedHitMin, SeedHitMax);
180  NumberOfRecHitsPerSeed->setAxisTitle("Number of RecHits per Seed", 1);
181  NumberOfRecHitsPerSeed->setAxisTitle("Number of Seeds", 2);
182  }
183 
184  if (doAllSeedPlots || doProfPHI) {
185  histname = "NumberOfRecHitsPerSeedVsPhiProfile_" + seedProducer.label() + "_";
187  histname + CatagoryName,
188  PhiBin,
189  PhiMin,
190  PhiMax,
191  SeedHitBin,
192  SeedHitMin,
193  SeedHitMax,
194  "s");
196  NumberOfRecHitsPerSeedVsPhiProfile->setAxisTitle("Number of RecHits of each Seed", 2);
197  }
198 
199  if (doAllSeedPlots || doProfETA) {
200  histname = "NumberOfRecHitsPerSeedVsEtaProfile_" + seedProducer.label() + "_";
202  histname + CatagoryName,
203  EtaBin,
204  EtaMin,
205  EtaMax,
206  SeedHitBin,
207  SeedHitMin,
208  SeedHitMax,
209  "s");
211  NumberOfRecHitsPerSeedVsEtaProfile->setAxisTitle("Number of RecHits of each Seed", 2);
212  }
213 
214  if (doRegionPlots) {
215  if (doAllSeedPlots || doETA) {
216  histname = "TrackingRegionEta_" + seedProducer.label() + "_";
217  TrackingRegionEta = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax);
218  TrackingRegionEta->setAxisTitle("TrackingRegion-covered #eta", 1);
219  TrackingRegionEta->setAxisTitle("Number of TrackingRegions", 2);
220  }
221 
222  if (doAllSeedPlots || doPHI) {
223  histname = "TrackingRegionPhi_" + seedProducer.label() + "_";
224  TrackingRegionPhi = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax);
225  TrackingRegionPhi->setAxisTitle("TrackingRegion-covered #phi", 1);
226  TrackingRegionPhi->setAxisTitle("Number of TrackingRegions", 2);
227  }
228 
229  if (doAllSeedPlots || doPHIVsETA) {
230  histname = "TrackingRegionPhiVsEta_" + seedProducer.label() + "_";
231  TrackingRegionPhiVsEta = ibooker.book2D(
232  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
233  TrackingRegionPhiVsEta->setAxisTitle("TrackingRegion-covered #eta", 1);
234  TrackingRegionPhiVsEta->setAxisTitle("TrackingRegion-covered #phi", 2);
235  }
236 
238  if (doAllSeedPlots || doPT) {
239  auto ptBin = iConfig.getParameter<int>("RegionCandidatePtBin");
240  auto ptMin = iConfig.getParameter<double>("RegionCandidatePtMin");
241  auto ptMax = iConfig.getParameter<double>("RegionCandidatePtMax");
242 
243  histname = "TrackingRegionCandidatePt_" + seedProducer.label() + "_";
245  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, ptBin, ptMin, ptMax);
246  TrackingRegionCandidatePt->setAxisTitle("TrackingRegion Candidate p_{T} (GeV/c)", 1);
247  TrackingRegionCandidatePt->setAxisTitle("Number of TrackingRegion Candidates", 2);
248  }
249 
250  if (doAllSeedPlots || doETA) {
251  histname = "TrackingRegionCandidateEta_" + seedProducer.label() + "_";
253  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax);
254  TrackingRegionCandidateEta->setAxisTitle("TrackingRegion Candidate #eta", 1);
255  TrackingRegionCandidateEta->setAxisTitle("Number of TrackingRegion Candidates", 2);
256  }
257 
258  if (doAllSeedPlots || doPHI) {
259  histname = "TrackingRegionCandidatePhi_" + seedProducer.label() + "_";
261  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax);
262  TrackingRegionCandidatePhi->setAxisTitle("TrackingRegion Candidate #phi", 1);
263  TrackingRegionCandidatePhi->setAxisTitle("Number of TrackingRegion Candidates", 2);
264  }
265 
266  if (doAllSeedPlots || doPHIVsETA) {
267  histname = "TrackingRegionCandidatePhiVsEta_" + seedProducer.label() + "_";
269  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
270  TrackingRegionCandidatePhiVsEta->setAxisTitle("TrackingRegion Candidate #eta", 1);
271  TrackingRegionCandidatePhiVsEta->setAxisTitle("TrackingRegion Candidate #phi", 2);
272  }
273  }
274  }
275 
276  if (doAllSeedPlots || doStopSource) {
277  const auto stopReasonSize = static_cast<unsigned int>(SeedStopReason::SIZE);
278 
279  const auto candsBin = iConfig.getParameter<int>("SeedCandBin");
280  const auto candsMin = iConfig.getParameter<double>("SeedCandMin");
281  const auto candsMax = iConfig.getParameter<double>("SeedCandMax");
282 
283  histname = "SeedStoppingSource_" + seedProducer.label() + "_";
285  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, stopReasonSize, 0., stopReasonSize);
286  seedStoppingSource->setAxisTitle("Stopping reason", 1);
287  seedStoppingSource->setAxisTitle("Number of seeds", 2);
288 
289  histname = "SeedStoppingSourceVsPhi_" + seedProducer.label() + "_";
291  ibooker.bookProfile(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax, 2, 0., 2.);
292  seedStoppingSourceVsPhi->setAxisTitle("seed #phi", 1);
293  seedStoppingSourceVsPhi->setAxisTitle("fraction stopped", 2);
294 
295  histname = "SeedStoppingSourceVsEta_" + seedProducer.label() + "_";
297  ibooker.bookProfile(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, 2, 0., 2.);
298  seedStoppingSourceVsEta->setAxisTitle("seed #eta", 1);
299  seedStoppingSourceVsEta->setAxisTitle("fraction stopped", 2);
300 
301  histname = "NumberOfTrajCandsPerSeed_" + seedProducer.label() + "_";
303  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, candsBin, candsMin, candsMax);
304  numberOfTrajCandsPerSeed->setAxisTitle("Number of Trajectory Candidate for each Seed", 1);
305  numberOfTrajCandsPerSeed->setAxisTitle("Number of Seeds", 2);
306 
307  histname = "NumberOfTrajCandsPerSeedVsPhi_" + seedProducer.label() + "_";
309  histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax, candsBin, candsMin, candsMax);
311  numberOfTrajCandsPerSeedVsPhi->setAxisTitle("Number of Trajectory Candidates for each Seed", 2);
312 
313  histname = "NumberOfTrajCandsPerSeedVsEta_" + seedProducer.label() + "_";
315  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, candsBin, candsMin, candsMax);
317  numberOfTrajCandsPerSeedVsEta->setAxisTitle("Number of Trajectory Candidates for each Seed", 2);
318 
319  histname = "SeedStoppingSourceVsNumberOfTrajCandsPerSeed_" + seedProducer.label() + "_";
321  ibooker.bookProfile(histname + CatagoryName, histname + CatagoryName, candsBin, candsMin, candsMax, 2, 0., 2.);
322  seedStoppingSourceVsNumberOfTrajCandsPerSeed->setAxisTitle("Number of Trajectory Candidates for each Seed", 1);
324 
325  for (unsigned int i = 0; i < stopReasonSize; ++i) {
327  }
328  }
329 
330  if (doAllTCPlots || doStopSource) {
331  // DataFormats/TrackReco/interface/TrajectoryStopReasons.h
332  size_t StopReasonNameSize = sizeof(StopReasonName::StopReasonName) / sizeof(std::string);
333 
334  histname = "StoppingSource_" + seedProducer.label() + "_";
335  stoppingSource = ibooker.book1D(
336  histname + CatagoryName, histname + CatagoryName, StopReasonNameSize, 0., double(StopReasonNameSize));
337  stoppingSource->setAxisTitle("stopping reason", 1);
338  stoppingSource->setAxisTitle("Number of Tracks", 2);
339 
340  histname = "StoppingSourceVSeta_" + seedProducer.label() + "_";
342  ibooker.bookProfile(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, 2, 0., 2.);
343  stoppingSourceVSeta->setAxisTitle("track #eta", 1);
344  stoppingSourceVSeta->setAxisTitle("fraction stopped", 2);
345 
346  histname = "StoppingSourceVSphi_" + seedProducer.label() + "_";
348  ibooker.bookProfile(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax, 2, 0., 2.);
349  stoppingSourceVSphi->setAxisTitle("track #phi", 1);
350  stoppingSourceVSphi->setAxisTitle("fraction stopped", 2);
351 
352  for (size_t ibin = 0; ibin < StopReasonNameSize; ibin++) {
354  }
355  }
356 
357  // book the TrackCandidate histograms
358  // ---------------------------------------------------------------------------------//
359 
360  if (doTCPlots) {
361  ibooker.setCurrentFolder(MEFolderName + "/TrackBuilding");
362 
363  histname = "TrackCandPt_" + tcProducer.label() + "_";
364  TrackCandPt = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TrackPtBin, TrackPtMin, TrackPtMax);
365  TrackCandPt->setAxisTitle("Track Candidate p_{T} (GeV/c)", 1);
366  TrackCandPt->setAxisTitle("Number of Track Candidates", 2);
367 
368  histname = "TrackCandEta_" + tcProducer.label() + "_";
369  TrackCandEta = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax);
370  TrackCandEta->setAxisTitle("Track Candidate #eta", 1);
371  TrackCandEta->setAxisTitle("Number of Track Candidates", 2);
372 
373  histname = "TrackCandPhi_" + tcProducer.label() + "_";
374  TrackCandPhi = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax);
375  TrackCandPhi->setAxisTitle("Track Candidate #phi", 1);
376  TrackCandPhi->setAxisTitle("Number of Track Candidates", 2);
377 
378  if (doTheta) {
379  histname = "TrackCandTheta_" + tcProducer.label() + "_";
380  TrackCandTheta = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, ThetaBin, ThetaMin, ThetaMax);
381  TrackCandTheta->setAxisTitle("Track Candidate #theta", 1);
382  TrackCandTheta->setAxisTitle("Number of Track Candidates", 2);
383  }
384 
385  if (doAllTCPlots) {
386  histname = "TrackCandQ_" + tcProducer.label() + "_";
387  TrackCandQ = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TrackQBin, TrackQMin, TrackQMax);
388  TrackCandQ->setAxisTitle("Track Candidate Charge", 1);
389  TrackCandQ->setAxisTitle("Number of Track Candidates", 2);
390 
391  histname = "TrackCandDxy_" + tcProducer.label() + "_";
392  TrackCandDxy = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TCDxyBin, TCDxyMin, TCDxyMax);
393  TrackCandDxy->setAxisTitle("Track Candidate d_{xy} (cm)", 1);
394  TrackCandDxy->setAxisTitle("Number of Track Candidates", 2);
395 
396  histname = "TrackCandDz_" + tcProducer.label() + "_";
397  TrackCandDz = ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TCDzBin, TCDzMin, TCDzMax);
398  TrackCandDz->setAxisTitle("Track Candidate d_{z} (cm)", 1);
399  TrackCandDz->setAxisTitle("Number of Track Candidates", 2);
400 
401  histname = "NumberOfRecHitsPerTrackCand_" + tcProducer.label() + "_";
403  ibooker.book1D(histname + CatagoryName, histname + CatagoryName, TCHitBin, TCHitMin, TCHitMax);
404  NumberOfRecHitsPerTrackCand->setAxisTitle("Number of RecHits per Track Candidate", 1);
405  NumberOfRecHitsPerTrackCand->setAxisTitle("Number of Track Candidates", 2);
406 
407  histname = "NumberOfRecHitsPerTrackCandVsPhiProfile_" + tcProducer.label() + "_";
409  histname + CatagoryName, histname + CatagoryName, PhiBin, PhiMin, PhiMax, TCHitBin, TCHitMin, TCHitMax, "s");
410  NumberOfRecHitsPerTrackCandVsPhiProfile->setAxisTitle("Track Candidate #phi", 1);
411  NumberOfRecHitsPerTrackCandVsPhiProfile->setAxisTitle("Number of RecHits of each Track Candidate", 2);
412 
413  histname = "NumberOfRecHitsPerTrackCandVsEtaProfile_" + tcProducer.label() + "_";
415  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, TCHitBin, TCHitMin, TCHitMax, "s");
416  NumberOfRecHitsPerTrackCandVsEtaProfile->setAxisTitle("Track Candidate #eta", 1);
417  NumberOfRecHitsPerTrackCandVsEtaProfile->setAxisTitle("Number of RecHits of each Track Candidate", 2);
418  }
419 
420  histname = "TrackCandPhiVsEta_" + tcProducer.label() + "_";
421  TrackCandPhiVsEta = ibooker.book2D(
422  histname + CatagoryName, histname + CatagoryName, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
423  TrackCandPhiVsEta->setAxisTitle("Track Candidate #eta", 1);
424  TrackCandPhiVsEta->setAxisTitle("Track Candidate #phi", 2);
425 
426  if (doAllTCPlots || doMVAPlots) {
427  for (size_t i = 1, end = mvaProducers.size(); i <= end; ++i) {
428  auto num = std::to_string(i);
429  std::string pfix;
430 
431  if (i == 1) {
432  trackMVAsHP.push_back(nullptr);
433  trackMVAsHPVsPtProfile.push_back(nullptr);
434  trackMVAsHPVsEtaProfile.push_back(nullptr);
435  } else {
436  pfix = " (not loose-selected)";
437  std::string pfix2 = " (not HP-selected)";
438  histname = "TrackMVA" + num + "HP_" + tcProducer.label() + "_";
439  trackMVAsHP.push_back(
440  ibooker.book1D(histname + CatagoryName, histname + CatagoryName + pfix2, MVABin, MVAMin, MVAMax));
441  trackMVAsHP.back()->setAxisTitle("Track selection MVA" + num, 1);
442  trackMVAsHP.back()->setAxisTitle("Number of tracks", 2);
443 
444  histname = "TrackMVA" + num + "HPVsPtProfile_" + tcProducer.label() + "_";
445  trackMVAsHPVsPtProfile.push_back(ibooker.bookProfile(histname + CatagoryName,
446  histname + CatagoryName + pfix2,
447  TrackPtBin,
448  TrackPtMin,
449  TrackPtMax,
450  MVABin,
451  MVAMin,
452  MVAMax));
453  trackMVAsHPVsPtProfile.back()->setAxisTitle("Track p_{T} (GeV/c)", 1);
454  trackMVAsHPVsPtProfile.back()->setAxisTitle("Track selection MVA" + num, 2);
455 
456  histname = "TrackMVA" + num + "HPVsEtaProfile_" + tcProducer.label() + "_";
457  trackMVAsHPVsEtaProfile.push_back(ibooker.bookProfile(
458  histname + CatagoryName, histname + CatagoryName + pfix2, EtaBin, EtaMin, EtaMax, MVABin, MVAMin, MVAMax));
459  trackMVAsHPVsEtaProfile.back()->setAxisTitle("Track #eta", 1);
460  trackMVAsHPVsEtaProfile.back()->setAxisTitle("Track selection MVA" + num, 2);
461  }
462 
463  histname = "TrackMVA" + num + "_" + tcProducer.label() + "_";
464  trackMVAs.push_back(
465  ibooker.book1D(histname + CatagoryName, histname + CatagoryName + pfix, MVABin, MVAMin, MVAMax));
466  trackMVAs.back()->setAxisTitle("Track selection MVA" + num, 1);
467  trackMVAs.back()->setAxisTitle("Number of tracks", 2);
468 
469  histname = "TrackMVA" + num + "VsPtProfile_" + tcProducer.label() + "_";
470  trackMVAsVsPtProfile.push_back(ibooker.bookProfile(histname + CatagoryName,
471  histname + CatagoryName + pfix,
472  TrackPtBin,
473  TrackPtMin,
474  TrackPtMax,
475  MVABin,
476  MVAMin,
477  MVAMax));
478  trackMVAsVsPtProfile.back()->setAxisTitle("Track p_{T} (GeV/c)", 1);
479  trackMVAsVsPtProfile.back()->setAxisTitle("Track selection MVA" + num, 2);
480 
481  histname = "TrackMVA" + num + "VsEtaProfile_" + tcProducer.label() + "_";
482  trackMVAsVsEtaProfile.push_back(ibooker.bookProfile(
483  histname + CatagoryName, histname + CatagoryName + pfix, EtaBin, EtaMin, EtaMax, MVABin, MVAMin, MVAMax));
484  trackMVAsVsEtaProfile.back()->setAxisTitle("Track #eta", 1);
485  trackMVAsVsEtaProfile.back()->setAxisTitle("Track selection MVA" + num, 2);
486  }
487  }
488  }
489 }
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * seedStoppingSourceVsPhi
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * numberOfTrajCandsPerSeed
MonitorElement * TrackingRegionCandidatePhiVsEta
std::vector< MonitorElement * > trackMVAsVsPtProfile
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
constexpr float ptMin
MonitorElement * stoppingSourceVSphi
std::string to_string(const V &value)
Definition: OMSAccess.h:71
static const std::string StopReasonName[]
std::vector< MonitorElement * > trackMVAs
MonitorElement * TrackCandPhiVsEta
MonitorElement * TrackingRegionCandidatePt
static const std::string SeedStopReasonName[]
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
MonitorElement * stoppingSource
MonitorElement * NumberOfRecHitsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * numberOfTrajCandsPerSeedVsPhi
MonitorElement * TrackingRegionPhi
std::vector< MonitorElement * > trackMVAsVsEtaProfile
MonitorElement * numberOfTrajCandsPerSeedVsEta
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
MonitorElement * TrackingRegionPhiVsEta
MonitorElement * stoppingSourceVSeta
MonitorElement * TrackingRegionEta
std::vector< MonitorElement * > trackMVAsHPVsPtProfile
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
MonitorElement * TrackCandTheta
MonitorElement * SeedPhiVsEta
MonitorElement * TrackingRegionCandidateEta
MonitorElement * seedStoppingSourceVsEta
MonitorElement * TrackingRegionCandidatePhi
MonitorElement * seedStoppingSourceVsNumberOfTrajCandsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * NumberOfRecHitsPerTrackCand
MonitorElement * seedStoppingSource
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

◆ doAllPlots

const bool TrackBuildingAnalyzer::doAllPlots
private

Definition at line 137 of file TrackBuildingAnalyzer.h.

◆ doAllSeedPlots

const bool TrackBuildingAnalyzer::doAllSeedPlots
private

Definition at line 138 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), analyzeRegions(), and initHisto().

◆ doAllTCPlots

const bool TrackBuildingAnalyzer::doAllTCPlots
private

Definition at line 140 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doDxy

const bool TrackBuildingAnalyzer::doDxy
private

Definition at line 147 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doDz

const bool TrackBuildingAnalyzer::doDz
private

Definition at line 148 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doETA

const bool TrackBuildingAnalyzer::doETA
private

Definition at line 142 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), analyzeRegions(), and initHisto().

◆ doMVAPlots

const bool TrackBuildingAnalyzer::doMVAPlots
private

Definition at line 153 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doNRecHits

const bool TrackBuildingAnalyzer::doNRecHits
private

Definition at line 149 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doPHI

const bool TrackBuildingAnalyzer::doPHI
private

Definition at line 143 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), analyzeRegions(), and initHisto().

◆ doPHIVsETA

const bool TrackBuildingAnalyzer::doPHIVsETA
private

Definition at line 144 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), analyzeRegions(), and initHisto().

◆ doProfETA

const bool TrackBuildingAnalyzer::doProfETA
private

Definition at line 151 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doProfPHI

const bool TrackBuildingAnalyzer::doProfPHI
private

Definition at line 150 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doPT

const bool TrackBuildingAnalyzer::doPT
private

Definition at line 141 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doQ

const bool TrackBuildingAnalyzer::doQ
private

Definition at line 146 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doRegionCandidatePlots

const bool TrackBuildingAnalyzer::doRegionCandidatePlots
private

Definition at line 155 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doRegionPlots

const bool TrackBuildingAnalyzer::doRegionPlots
private

Definition at line 154 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), analyzeRegions(), and initHisto().

◆ doStopSource

const bool TrackBuildingAnalyzer::doStopSource
private

Definition at line 152 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doTCPlots

const bool TrackBuildingAnalyzer::doTCPlots
private

Definition at line 139 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ doTheta

const bool TrackBuildingAnalyzer::doTheta
private

Definition at line 145 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ etaBinWidth

double TrackBuildingAnalyzer::etaBinWidth = 0.
private

Definition at line 79 of file TrackBuildingAnalyzer.h.

Referenced by analyzeRegions(), and initHisto().

◆ histname

std::string TrackBuildingAnalyzer::histname
private

Definition at line 134 of file TrackBuildingAnalyzer.h.

Referenced by initHisto().

◆ NumberOfRecHitsPerSeed

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerSeed = nullptr
private

Definition at line 96 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ NumberOfRecHitsPerSeedVsEtaProfile

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerSeedVsEtaProfile = nullptr
private

Definition at line 98 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ NumberOfRecHitsPerSeedVsPhiProfile

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerSeedVsPhiProfile = nullptr
private

Definition at line 97 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ NumberOfRecHitsPerTrackCand

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerTrackCand = nullptr
private

Definition at line 119 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ NumberOfRecHitsPerTrackCandVsEtaProfile

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerTrackCandVsEtaProfile = nullptr
private

Definition at line 121 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ NumberOfRecHitsPerTrackCandVsPhiProfile

MonitorElement* TrackBuildingAnalyzer::NumberOfRecHitsPerTrackCandVsPhiProfile = nullptr
private

Definition at line 120 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ numberOfTrajCandsPerSeed

MonitorElement* TrackBuildingAnalyzer::numberOfTrajCandsPerSeed = nullptr
private

Definition at line 104 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ numberOfTrajCandsPerSeedVsEta

MonitorElement* TrackBuildingAnalyzer::numberOfTrajCandsPerSeedVsEta = nullptr
private

Definition at line 106 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ numberOfTrajCandsPerSeedVsPhi

MonitorElement* TrackBuildingAnalyzer::numberOfTrajCandsPerSeedVsPhi = nullptr
private

Definition at line 105 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ phiBinWidth

double TrackBuildingAnalyzer::phiBinWidth = 0.
private

Definition at line 80 of file TrackBuildingAnalyzer.h.

Referenced by analyzeRegions(), and initHisto().

◆ SeedDxy

MonitorElement* TrackBuildingAnalyzer::SeedDxy = nullptr
private

Definition at line 94 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedDz

MonitorElement* TrackBuildingAnalyzer::SeedDz = nullptr
private

Definition at line 95 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedEta

MonitorElement* TrackBuildingAnalyzer::SeedEta = nullptr
private

Definition at line 89 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedPhi

MonitorElement* TrackBuildingAnalyzer::SeedPhi = nullptr
private

Definition at line 90 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedPhiVsEta

MonitorElement* TrackBuildingAnalyzer::SeedPhiVsEta = nullptr
private

Definition at line 91 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedPt

MonitorElement* TrackBuildingAnalyzer::SeedPt = nullptr
private

Definition at line 88 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedQ

MonitorElement* TrackBuildingAnalyzer::SeedQ = nullptr
private

Definition at line 93 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ seedStoppingSource

MonitorElement* TrackBuildingAnalyzer::seedStoppingSource = nullptr
private

Definition at line 100 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ seedStoppingSourceVsEta

MonitorElement* TrackBuildingAnalyzer::seedStoppingSourceVsEta = nullptr
private

Definition at line 102 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ seedStoppingSourceVsNumberOfTrajCandsPerSeed

MonitorElement* TrackBuildingAnalyzer::seedStoppingSourceVsNumberOfTrajCandsPerSeed = nullptr
private

Definition at line 108 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ seedStoppingSourceVsPhi

MonitorElement* TrackBuildingAnalyzer::seedStoppingSourceVsPhi = nullptr
private

Definition at line 101 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ SeedTheta

MonitorElement* TrackBuildingAnalyzer::SeedTheta = nullptr
private

Definition at line 92 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ stoppingSource

MonitorElement* TrackBuildingAnalyzer::stoppingSource = nullptr
private

Definition at line 123 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ stoppingSourceVSeta

MonitorElement* TrackBuildingAnalyzer::stoppingSourceVSeta = nullptr
private

Definition at line 124 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ stoppingSourceVSphi

MonitorElement* TrackBuildingAnalyzer::stoppingSourceVSphi = nullptr
private

Definition at line 125 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandDxy

MonitorElement* TrackBuildingAnalyzer::TrackCandDxy = nullptr
private

Definition at line 117 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandDz

MonitorElement* TrackBuildingAnalyzer::TrackCandDz = nullptr
private

Definition at line 118 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandEta

MonitorElement* TrackBuildingAnalyzer::TrackCandEta = nullptr
private

Definition at line 112 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandPhi

MonitorElement* TrackBuildingAnalyzer::TrackCandPhi = nullptr
private

Definition at line 113 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandPhiVsEta

MonitorElement* TrackBuildingAnalyzer::TrackCandPhiVsEta = nullptr
private

Definition at line 114 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandPt

MonitorElement* TrackBuildingAnalyzer::TrackCandPt = nullptr
private

Definition at line 111 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandQ

MonitorElement* TrackBuildingAnalyzer::TrackCandQ = nullptr
private

Definition at line 116 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackCandTheta

MonitorElement* TrackBuildingAnalyzer::TrackCandTheta = nullptr
private

Definition at line 115 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackingRegionCandidateEta

MonitorElement* TrackBuildingAnalyzer::TrackingRegionCandidateEta = nullptr
private

Definition at line 83 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackingRegionCandidatePhi

MonitorElement* TrackBuildingAnalyzer::TrackingRegionCandidatePhi = nullptr
private

Definition at line 84 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackingRegionCandidatePhiVsEta

MonitorElement* TrackBuildingAnalyzer::TrackingRegionCandidatePhiVsEta = nullptr
private

Definition at line 85 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackingRegionCandidatePt

MonitorElement* TrackBuildingAnalyzer::TrackingRegionCandidatePt = nullptr
private

Definition at line 82 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ TrackingRegionEta

MonitorElement* TrackBuildingAnalyzer::TrackingRegionEta = nullptr
private

Definition at line 76 of file TrackBuildingAnalyzer.h.

Referenced by analyzeRegions(), and initHisto().

◆ TrackingRegionPhi

MonitorElement* TrackBuildingAnalyzer::TrackingRegionPhi = nullptr
private

Definition at line 77 of file TrackBuildingAnalyzer.h.

Referenced by analyzeRegions(), and initHisto().

◆ TrackingRegionPhiVsEta

MonitorElement* TrackBuildingAnalyzer::TrackingRegionPhiVsEta = nullptr
private

Definition at line 78 of file TrackBuildingAnalyzer.h.

Referenced by analyzeRegions(), and initHisto().

◆ trackMVAs

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAs
private

Definition at line 127 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ trackMVAsHP

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAsHP
private

Definition at line 128 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ trackMVAsHPVsEtaProfile

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAsHPVsEtaProfile
private

Definition at line 132 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ trackMVAsHPVsPtProfile

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAsHPVsPtProfile
private

Definition at line 130 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ trackMVAsVsEtaProfile

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAsVsEtaProfile
private

Definition at line 131 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().

◆ trackMVAsVsPtProfile

std::vector<MonitorElement*> TrackBuildingAnalyzer::trackMVAsVsPtProfile
private

Definition at line 129 of file TrackBuildingAnalyzer.h.

Referenced by analyze(), and initHisto().