CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
StandaloneTrackMonitor Class Reference
Inheritance diagram for StandaloneTrackMonitor:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 StandaloneTrackMonitor (const edm::ParameterSet &)
 
- 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
 
 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void addClusterToMap (uint32_t detid, const SiStripCluster *cluster)
 
void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &iRun, const edm::EventSetup &iSetup) override
 
void processClusters (edm::Event const &iEvent, edm::EventSetup const &iSetup, double wfac=1)
 
void processHit (const TrackingRecHit &recHit, edm::EventSetup const &iSetup, double wfac=1)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

MonitorElementbeamSpotXYposerrH_
 
MonitorElementbeamSpotXYposH_
 
MonitorElementbeamSpotZposerrH_
 
MonitorElementbeamSpotZposH_
 
const edm::InputTag bsTag_
 
const edm::EDGetTokenT< reco::BeamSpotbsToken_
 
MonitorElementbunchCrossingH_
 
std::map< uint32_t, std::set< const SiStripCluster * > > clusterMap_
 
const edm::InputTag clusterTag_
 
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
 
const bool doPUCorrection_
 
std::string folderName_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
const bool haveAllHistograms_
 
MonitorElementhOffTrkClusChargeThickH_
 
MonitorElementhOffTrkClusChargeThinH_
 
MonitorElementhOffTrkClusWidthThickH_
 
MonitorElementhOffTrkClusWidthThinH_
 
MonitorElementhOnTrkClusChargeThickH_
 
MonitorElementhOnTrkClusChargeThinH_
 
MonitorElementhOnTrkClusWidthThickH_
 
MonitorElementhOnTrkClusWidthThinH_
 
const bool isMC_
 
unsigned long long m_cacheID_
 
std::string moduleName_
 
MonitorElementnHitsVsCosThetaH_
 
MonitorElementnHitsVsEtaH_
 
MonitorElementnHitsVsnVtxH_
 
MonitorElementnHitsVsPhiH_
 
MonitorElementnHitsVspTH_
 
MonitorElementnlostHitsH_
 
MonitorElementnLostHitsVsCosThetaH_
 
MonitorElementnLostHitsVsEtaH_
 
MonitorElementnLostHitsVsPhiH_
 
MonitorElementnLostHitsVspTH_
 
MonitorElementnPixBarrelH_
 
MonitorElementnPixEndcapH_
 
MonitorElementnPUH_
 
MonitorElementnStripTECH_
 
MonitorElementnStripTIBH_
 
MonitorElementnStripTIDH_
 
MonitorElementnStripTOBH_
 
MonitorElementnTracksH_
 
MonitorElementnvalidPixelHitsH_
 
MonitorElementnvalidStripHitsH_
 
MonitorElementnvalidTrackerHitsH_
 
MonitorElementnVertexH_
 
edm::ParameterSet parameters_
 
MonitorElementpixelLayerwithMeasurementH_
 
const std::string puScaleFactorFile_
 
const edm::InputTag puSummaryTag_
 
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > puSummaryToken_
 
SiStripClusterInfo siStripClusterInfo_
 
MonitorElementstripLayerwithMeasurementH_
 
const TrackerGeometrytkGeom_ = nullptr
 
MonitorElementtrackChargeH_
 
MonitorElementtrackChi2bynDOFH_
 
MonitorElementtrackChi2H_
 
MonitorElementtrackCosThetaH_
 
MonitorElementtrackd0H_
 
MonitorElementtrackEtaerrH_
 
MonitorElementtrackEtaH_
 
MonitorElementtracknDOFH_
 
MonitorElementtrackPH_
 
MonitorElementtrackPhierrH_
 
MonitorElementtrackPhiH_
 
MonitorElementtrackPterrH_
 
MonitorElementtrackPtH_
 
MonitorElementtrackPtOver10GeVH_
 
MonitorElementtrackPtUpto2GeVH_
 
MonitorElementtrackqOverperrH_
 
MonitorElementtrackqOverpH_
 
const std::string trackQuality_
 
const edm::InputTag trackTag_
 
MonitorElementtrackThetaerrH_
 
const edm::EDGetTokenT< reco::TrackCollectiontrackToken_
 
MonitorElementtrkLayerwithMeasurementH_
 
MonitorElementtrueNIntH_
 
const bool verbose_
 
const edm::InputTag vertexTag_
 
const edm::EDGetTokenT< reco::VertexCollectionvertexToken_
 
MonitorElementvertexXposH_
 
MonitorElementvertexYposH_
 
MonitorElementvertexZposH_
 
std::vector< float > vpu_
 

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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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 Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 43 of file StandaloneTrackMonitor.cc.

Constructor & Destructor Documentation

◆ StandaloneTrackMonitor()

StandaloneTrackMonitor::StandaloneTrackMonitor ( const edm::ParameterSet ps)

Definition at line 161 of file StandaloneTrackMonitor.cc.

References beamSpotXYposerrH_, beamSpotXYposH_, beamSpotZposerrH_, beamSpotZposH_, bunchCrossingH_, doPUCorrection_, DeadROC_duringRun::f1, hOffTrkClusChargeThickH_, hOffTrkClusChargeThinH_, hOffTrkClusWidthThickH_, hOffTrkClusWidthThinH_, hOnTrkClusChargeThickH_, hOnTrkClusChargeThinH_, hOnTrkClusWidthThickH_, hOnTrkClusWidthThinH_, mps_fire::i, isMC_, nHitsVsCosThetaH_, nHitsVsEtaH_, nHitsVsnVtxH_, nHitsVsPhiH_, nHitsVspTH_, nlostHitsH_, nLostHitsVsCosThetaH_, nLostHitsVsEtaH_, nLostHitsVsPhiH_, nLostHitsVspTH_, nPixBarrelH_, nPixEndcapH_, nPUH_, nStripTECH_, nStripTIBH_, nStripTIDH_, nStripTOBH_, nTracksH_, nvalidPixelHitsH_, nvalidStripHitsH_, nvalidTrackerHitsH_, nVertexH_, pixelLayerwithMeasurementH_, puScaleFactorFile_, stripLayerwithMeasurementH_, trackChargeH_, trackChi2bynDOFH_, trackChi2H_, trackCosThetaH_, trackd0H_, trackEtaerrH_, trackEtaH_, tracknDOFH_, trackPH_, trackPhierrH_, trackPhiH_, trackPterrH_, trackPtH_, trackPtOver10GeVH_, trackPtUpto2GeVH_, trackqOverperrH_, trackqOverpH_, trackThetaerrH_, trkLayerwithMeasurementH_, trueNIntH_, vertexXposH_, vertexYposH_, vertexZposH_, and vpu_.

162  : parameters_(ps),
163  moduleName_(parameters_.getUntrackedParameter<std::string>("moduleName", "StandaloneTrackMonitor")),
164  folderName_(parameters_.getUntrackedParameter<std::string>("folderName", "highPurityTracks")),
165  trackTag_(parameters_.getUntrackedParameter<edm::InputTag>("trackInputTag", edm::InputTag("generalTracks"))),
166  bsTag_(parameters_.getUntrackedParameter<edm::InputTag>("offlineBeamSpot", edm::InputTag("offlineBeamSpot"))),
167  vertexTag_(
168  parameters_.getUntrackedParameter<edm::InputTag>("vertexTag", edm::InputTag("offlinePrimaryVertices"))),
170  clusterTag_(parameters_.getUntrackedParameter<edm::InputTag>("clusterTag", edm::InputTag("siStripClusters"))),
171  trackToken_(consumes<reco::TrackCollection>(trackTag_)),
172  bsToken_(consumes<reco::BeamSpot>(bsTag_)),
173  vertexToken_(consumes<reco::VertexCollection>(vertexTag_)),
174  puSummaryToken_(consumes<std::vector<PileupSummaryInfo> >(puSummaryTag_)),
176  trackQuality_(parameters_.getUntrackedParameter<std::string>("trackQuality", "highPurity")),
177  siStripClusterInfo_(consumesCollector()),
178  doPUCorrection_(parameters_.getUntrackedParameter<bool>("doPUCorrection", false)),
179  isMC_(parameters_.getUntrackedParameter<bool>("isMC", false)),
180  haveAllHistograms_(parameters_.getUntrackedParameter<bool>("haveAllHistograms", false)),
182  parameters_.getUntrackedParameter<std::string>("puScaleFactorFile", "PileupScaleFactor_run203002.root")),
183  verbose_(parameters_.getUntrackedParameter<bool>("verbose", false)),
184  geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()) {
185  trackEtaH_ = nullptr;
186  trackEtaerrH_ = nullptr;
187  trackCosThetaH_ = nullptr;
188  trackThetaerrH_ = nullptr;
189  trackPhiH_ = nullptr;
190  trackPhierrH_ = nullptr;
191  trackPH_ = nullptr;
192  trackPtH_ = nullptr;
193  trackPtUpto2GeVH_ = nullptr;
194  trackPtOver10GeVH_ = nullptr;
195  trackPterrH_ = nullptr;
196  trackqOverpH_ = nullptr;
197  trackqOverperrH_ = nullptr;
198  trackChargeH_ = nullptr;
199  nlostHitsH_ = nullptr;
200  nvalidTrackerHitsH_ = nullptr;
201  nvalidPixelHitsH_ = nullptr;
202  nvalidStripHitsH_ = nullptr;
203  trkLayerwithMeasurementH_ = nullptr;
204  pixelLayerwithMeasurementH_ = nullptr;
205  stripLayerwithMeasurementH_ = nullptr;
206  beamSpotXYposH_ = nullptr;
207  beamSpotXYposerrH_ = nullptr;
208  beamSpotZposH_ = nullptr;
209  beamSpotZposerrH_ = nullptr;
210  trackChi2H_ = nullptr;
211  tracknDOFH_ = nullptr;
212  trackd0H_ = nullptr;
213  trackChi2bynDOFH_ = nullptr;
214  vertexXposH_ = nullptr;
215  vertexYposH_ = nullptr;
216  vertexZposH_ = nullptr;
217 
218  nPixBarrelH_ = nullptr;
219  nPixEndcapH_ = nullptr;
220  nStripTIBH_ = nullptr;
221  nStripTOBH_ = nullptr;
222  nStripTECH_ = nullptr;
223  nStripTIDH_ = nullptr;
224  nTracksH_ = nullptr;
225 
226  // for MC only
227  nVertexH_ = nullptr;
228  bunchCrossingH_ = nullptr;
229  nPUH_ = nullptr;
230  trueNIntH_ = nullptr;
231 
232  nHitsVspTH_ = nullptr;
233  nHitsVsEtaH_ = nullptr;
234  nHitsVsCosThetaH_ = nullptr;
235  nHitsVsPhiH_ = nullptr;
236  nHitsVsnVtxH_ = nullptr;
237  nLostHitsVspTH_ = nullptr;
238  nLostHitsVsEtaH_ = nullptr;
239  nLostHitsVsCosThetaH_ = nullptr;
240  nLostHitsVsPhiH_ = nullptr;
241 
242  hOnTrkClusChargeThinH_ = nullptr;
243  hOnTrkClusWidthThinH_ = nullptr;
244  hOnTrkClusChargeThickH_ = nullptr;
245  hOnTrkClusWidthThickH_ = nullptr;
246 
247  hOffTrkClusChargeThinH_ = nullptr;
248  hOffTrkClusWidthThinH_ = nullptr;
249  hOffTrkClusChargeThickH_ = nullptr;
250  hOffTrkClusWidthThickH_ = nullptr;
251 
252  // Read pileup weight factors
253  if (isMC_ && doPUCorrection_) {
254  vpu_.clear();
255  TFile* f1 = TFile::Open(puScaleFactorFile_.c_str());
256  TH1F* h1 = dynamic_cast<TH1F*>(f1->Get("pileupweight"));
257  for (int i = 1; i <= h1->GetNbinsX(); ++i)
258  vpu_.push_back(h1->GetBinContent(i));
259  f1->Close();
260  }
261 }
MonitorElement * pixelLayerwithMeasurementH_
MonitorElement * hOnTrkClusChargeThickH_
const edm::InputTag trackTag_
MonitorElement * hOnTrkClusChargeThinH_
MonitorElement * trackPtOver10GeVH_
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
MonitorElement * trackChi2bynDOFH_
MonitorElement * hOffTrkClusWidthThickH_
const edm::EDGetTokenT< reco::TrackCollection > trackToken_
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > puSummaryToken_
MonitorElement * stripLayerwithMeasurementH_
MonitorElement * hOnTrkClusWidthThinH_
MonitorElement * hOffTrkClusWidthThinH_
const std::string puScaleFactorFile_
MonitorElement * hOffTrkClusChargeThinH_
SiStripClusterInfo siStripClusterInfo_
const edm::InputTag vertexTag_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * hOnTrkClusWidthThickH_
const edm::InputTag puSummaryTag_
MonitorElement * nLostHitsVsCosThetaH_
MonitorElement * hOffTrkClusChargeThickH_
const edm::InputTag clusterTag_
MonitorElement * nvalidTrackerHitsH_
const edm::EDGetTokenT< reco::BeamSpot > bsToken_
MonitorElement * trkLayerwithMeasurementH_
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MonitorElement * trackPtUpto2GeVH_

Member Function Documentation

◆ addClusterToMap()

void StandaloneTrackMonitor::addClusterToMap ( uint32_t  detid,
const SiStripCluster cluster 
)
protected

Definition at line 751 of file StandaloneTrackMonitor.cc.

References clusterMap_, and alignCSCRings::s.

Referenced by processHit().

751  {
752  std::map<uint32_t, std::set<const SiStripCluster*> >::iterator it = clusterMap_.find(detid);
753  if (it == clusterMap_.end()) {
754  std::set<const SiStripCluster*> s;
755  s.insert(cluster);
756  clusterMap_.insert(std::pair<uint32_t, std::set<const SiStripCluster*> >(detid, s));
757  } else {
758  std::set<const SiStripCluster*>& s = it->second;
759  s.insert(cluster);
760  }
761 }
std::map< uint32_t, std::set< const SiStripCluster * > > clusterMap_

◆ analyze()

void StandaloneTrackMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 461 of file StandaloneTrackMonitor.cc.

References pwdgSkimBPark_cfi::beamSpot, beamSpotXYposerrH_, beamSpotXYposH_, beamSpotZposerrH_, beamSpotZposH_, bsToken_, bunchCrossingH_, simKBmtfDigis_cfi::bx, ALCARECOTkAlJpsiMuMu_cff::charge, hltPixelTracks_cff::chi2, funct::cos(), doPUCorrection_, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, muonME0PseudoDigis_cfi::etaError, dqm::impl::MonitorElement::Fill(), haveAllHistograms_, iEvent, SiStripClusterInfo::initEvent(), edm::HandleBase::isValid(), ndof, nHitsVsCosThetaH_, nHitsVsEtaH_, nHitsVsnVtxH_, nHitsVsPhiH_, nHitsVspTH_, nlostHitsH_, nLostHitsVsCosThetaH_, nLostHitsVsEtaH_, nLostHitsVsPhiH_, nLostHitsVspTH_, nPixBarrelH_, nPixEndcapH_, nPUH_, nStripTECH_, nStripTIBH_, nStripTIDH_, nStripTOBH_, ntracks, nTracksH_, reco::HitPattern::numberOfValidPixelHits(), reco::HitPattern::numberOfValidStripHits(), reco::HitPattern::numberOfValidTrackerHits(), nvalidPixelHitsH_, nvalidStripHitsH_, nvalidTrackerHitsH_, nVertexH_, AlCaHLTBitMon_ParallelJobs::p, phi, muonME0PseudoDigis_cfi::phiError, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, reco::HitPattern::pixelLayersWithMeasurement(), pixelLayerwithMeasurementH_, processClusters(), processHit(), DiDispStaMuonMonitor_cfi::pt, puSummaryToken_, quality, reco::TrackBase::qualityByName(), siStripClusterInfo_, reco::HitPattern::stripLayersWithMeasurement(), stripLayerwithMeasurementH_, StripSubdetector::TEC, theta(), StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, HLT_2022v15_cff::track, trackChargeH_, trackChi2bynDOFH_, trackChi2H_, trackCosThetaH_, trackd0H_, DetId::Tracker, reco::HitPattern::trackerLayersWithMeasurement(), trackEtaerrH_, trackEtaH_, tracknDOFH_, trackPH_, trackPhierrH_, trackPhiH_, trackPterrH_, trackPtH_, trackPtOver10GeVH_, trackPtUpto2GeVH_, trackqOverperrH_, trackqOverpH_, trackQuality_, tracks, trackTag_, trackThetaerrH_, trackToken_, trkLayerwithMeasurementH_, trueNIntH_, findQualityFiles::v, verbose_, vertexTag_, vertexToken_, vertexXposH_, vertexYposH_, vertexZposH_, and vpu_.

461  {
462  // Get event setup (to get global transformation)
463 
465 
466  // Primary vertex collection
468  iEvent.getByToken(vertexToken_, vertexColl);
469 
470  // Beam spot
472  iEvent.getByToken(bsToken_, beamSpot);
473 
474  // Track collection
476  iEvent.getByToken(trackToken_, tracks);
477 
478  // Access PU information
479  double wfac = 1.0; // for data
480  if (!iEvent.isRealData()) {
482  iEvent.getByToken(puSummaryToken_, PupInfo);
483 
484  if (verbose_)
485  edm::LogInfo("StandaloneTrackMonitor") << "nPUColl = " << PupInfo->size();
486  for (auto const& v : *PupInfo) {
487  int bx = v.getBunchCrossing();
488  if (bunchCrossingH_)
490  if (bx == 0) {
491  if (nPUH_)
492  nPUH_->Fill(v.getPU_NumInteractions());
493  int ntrueInt = v.getTrueNumInteractions();
494  if (trueNIntH_)
495  trueNIntH_->Fill(ntrueInt);
496  if (doPUCorrection_)
497  if (ntrueInt > -1 && ntrueInt < int(vpu_.size()))
498  wfac = vpu_.at(ntrueInt);
499  }
500  }
501  }
502  if (verbose_)
503  edm::LogInfo("StandaloneTrackMonitor") << "PU reweight factor = " << wfac;
504 
505  if (!vertexColl.isValid())
506  edm::LogError("DqmTrackStudy") << "Error! Failed to get reco::Vertex Collection, " << vertexTag_;
507  if (haveAllHistograms_) {
508  int nvtx = (vertexColl.isValid() ? vertexColl->size() : 0);
509  nVertexH_->Fill(nvtx);
510  }
511 
512  int ntracks = 0;
513  if (tracks.isValid()) {
514  edm::LogInfo("StandaloneTrackMonitor") << "Total # of Tracks: " << tracks->size();
515  if (verbose_)
516  edm::LogInfo("StandaloneTrackMonitor") << "Total # of Tracks: " << tracks->size();
518  for (auto const& track : *tracks) {
519  if (!track.quality(quality))
520  continue;
521 
522  ++ntracks;
523 
524  double eta = track.eta();
525  double theta = track.theta();
526  double phi = track.phi();
527  double pt = track.pt();
528 
529  const reco::HitPattern& hitp = track.hitPattern();
530  double nValidTrackerHits = hitp.numberOfValidTrackerHits();
531  nHitsVsEtaH_->Fill(eta, nValidTrackerHits);
532  nHitsVsCosThetaH_->Fill(std::cos(theta), nValidTrackerHits);
533  nHitsVsPhiH_->Fill(phi, nValidTrackerHits);
534  nHitsVspTH_->Fill(pt, nValidTrackerHits);
535  nHitsVsnVtxH_->Fill(vertexColl->size(), nValidTrackerHits);
536 
537  int nLostHits = track.numberOfLostHits();
538  nLostHitsVspTH_->Fill(pt, nLostHits);
539  nLostHitsVsEtaH_->Fill(eta, nLostHits);
541  nLostHitsVsPhiH_->Fill(phi, nLostHits);
542 
543  double nValidPixelHits = hitp.numberOfValidPixelHits();
544  double nValidStripHits = hitp.numberOfValidStripHits();
545  double pixelLayersWithMeasurement = hitp.pixelLayersWithMeasurement();
546  double stripLayersWithMeasurement = hitp.stripLayersWithMeasurement();
547 
548  if (haveAllHistograms_) {
549  double etaError = track.etaError();
550  double thetaError = track.thetaError();
551  double phiError = track.phiError();
552  double p = track.p();
553  double ptError = track.ptError();
554  double qoverp = track.qoverp();
555  double qoverpError = track.qoverpError();
556  double charge = track.charge();
557 
558  double trackerLayersWithMeasurement = hitp.trackerLayersWithMeasurement();
559 
560  double dxy = track.dxy(beamSpot->position());
561  double dxyError = track.dxyError();
562  double dz = track.dz(beamSpot->position());
563  double dzError = track.dzError();
564 
565  double trkd0 = track.d0();
566  double chi2 = track.chi2();
567  double ndof = track.ndof();
568  double vx = track.vx();
569  double vy = track.vy();
570  double vz = track.vz();
571 
572  // Fill the histograms
573  trackEtaH_->Fill(eta, wfac);
574  trackEtaerrH_->Fill(etaError, wfac);
576  trackThetaerrH_->Fill(thetaError, wfac);
577  trackPhiH_->Fill(phi, wfac);
578  trackPhierrH_->Fill(phiError, wfac);
579  trackPH_->Fill(p, wfac);
580  trackPtH_->Fill(pt, wfac);
581  if (pt <= 2)
582  trackPtUpto2GeVH_->Fill(pt, wfac);
583  if (pt >= 10)
584  trackPtOver10GeVH_->Fill(pt, wfac);
585  trackPterrH_->Fill(ptError, wfac);
586  trackqOverpH_->Fill(qoverp, wfac);
587  trackqOverperrH_->Fill(qoverpError, wfac);
588  trackChargeH_->Fill(charge, wfac);
589  trackChi2H_->Fill(chi2, wfac);
590  trackd0H_->Fill(trkd0, wfac);
591  tracknDOFH_->Fill(ndof, wfac);
592  trackChi2bynDOFH_->Fill(chi2 / ndof, wfac);
593 
594  nlostHitsH_->Fill(nLostHits, wfac);
595  nvalidTrackerHitsH_->Fill(nValidTrackerHits, wfac);
596  nvalidPixelHitsH_->Fill(nValidPixelHits, wfac);
597  nvalidStripHitsH_->Fill(nValidStripHits, wfac);
598 
599  trkLayerwithMeasurementH_->Fill(trackerLayersWithMeasurement, wfac);
600  pixelLayerwithMeasurementH_->Fill(pixelLayersWithMeasurement, wfac);
601  stripLayerwithMeasurementH_->Fill(stripLayersWithMeasurement, wfac);
602 
603  beamSpotXYposH_->Fill(dxy, wfac);
604  beamSpotXYposerrH_->Fill(dxyError, wfac);
605  beamSpotZposH_->Fill(dz, wfac);
606  beamSpotZposerrH_->Fill(dzError, wfac);
607 
608  vertexXposH_->Fill(vx, wfac);
609  vertexYposH_->Fill(vy, wfac);
610  vertexZposH_->Fill(vz, wfac);
611  }
612  int nPixBarrel = 0, nPixEndcap = 0, nStripTIB = 0, nStripTOB = 0, nStripTEC = 0, nStripTID = 0;
613  for (auto it = track.recHitsBegin(); it != track.recHitsEnd(); ++it) {
614  const TrackingRecHit& hit = (**it);
615  if (hit.isValid()) {
616  if (hit.geographicalId().det() == DetId::Tracker) {
617  int subdetId = hit.geographicalId().subdetId();
618  if (subdetId == PixelSubdetector::PixelBarrel)
619  ++nPixBarrel;
620  else if (subdetId == PixelSubdetector::PixelEndcap)
621  ++nPixEndcap;
622  else if (subdetId == StripSubdetector::TIB)
623  ++nStripTIB;
624  else if (subdetId == StripSubdetector::TOB)
625  ++nStripTOB;
626  else if (subdetId == StripSubdetector::TEC)
627  ++nStripTEC;
628  else if (subdetId == StripSubdetector::TID)
629  ++nStripTID;
630 
631  // Find on-track clusters
632  processHit(hit, iSetup, wfac);
633  }
634  }
635  }
636  if (verbose_)
637  edm::LogInfo("StandaloneTrackMonitor")
638  << " >>> HITs: nPixBarrel: " << nPixBarrel << " nPixEndcap: " << nPixEndcap << " nStripTIB: " << nStripTIB
639  << " nStripTOB: " << nStripTOB << " nStripTEC: " << nStripTEC << " nStripTID: " << nStripTID;
640  if (haveAllHistograms_) {
641  nPixBarrelH_->Fill(nPixBarrel, wfac);
642  nPixEndcapH_->Fill(nPixEndcap, wfac);
643  nStripTIBH_->Fill(nStripTIB, wfac);
644  nStripTOBH_->Fill(nStripTOB, wfac);
645  nStripTECH_->Fill(nStripTEC, wfac);
646  nStripTIDH_->Fill(nStripTID, wfac);
647  }
648  }
649  } else {
650  edm::LogError("DqmTrackStudy") << "Error! Failed to get reco::Track collection, " << trackTag_;
651  }
652  if (haveAllHistograms_)
654 
655  // off track cluster properties
656  processClusters(iEvent, iSetup, wfac);
657 }
MonitorElement * pixelLayerwithMeasurementH_
int numberOfValidPixelHits() const
Definition: HitPattern.h:831
const edm::InputTag trackTag_
static constexpr auto TEC
MonitorElement * trackPtOver10GeVH_
MonitorElement * trackChi2bynDOFH_
TrackQuality
track quality
Definition: TrackBase.h:150
const edm::EDGetTokenT< reco::TrackCollection > trackToken_
void processClusters(edm::Event const &iEvent, edm::EventSetup const &iSetup, double wfac=1)
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:534
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > puSummaryToken_
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1005
MonitorElement * stripLayerwithMeasurementH_
void processHit(const TrackingRecHit &recHit, edm::EventSetup const &iSetup, double wfac=1)
Log< level::Error, false > LogError
SiStripClusterInfo siStripClusterInfo_
int numberOfValidStripHits() const
Definition: HitPattern.h:843
const edm::InputTag vertexTag_
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
static constexpr auto TOB
MonitorElement * nLostHitsVsCosThetaH_
Log< level::Info, false > LogInfo
MonitorElement * nvalidTrackerHitsH_
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
static constexpr auto TIB
auto const & tracks
cannot be loose
const edm::EDGetTokenT< reco::BeamSpot > bsToken_
MonitorElement * trkLayerwithMeasurementH_
bool isValid() const
Definition: HandleBase.h:70
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:513
MonitorElement * trackPtUpto2GeVH_
string quality
void initEvent(const edm::EventSetup &iSetup)
static constexpr auto TID
Geom::Theta< T > theta() const
int numberOfValidTrackerHits() const
Definition: HitPattern.h:819

◆ bookHistograms()

void StandaloneTrackMonitor::bookHistograms ( DQMStore::IBooker iBook,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 267 of file StandaloneTrackMonitor.cc.

References beamSpotXYposerrH_, beamSpotXYposH_, beamSpotZposerrH_, beamSpotZposH_, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), bunchCrossingH_, folderName_, edm::ParameterSet::getParameter(), haveAllHistograms_, hOffTrkClusChargeThickH_, hOffTrkClusChargeThinH_, hOffTrkClusWidthThickH_, hOffTrkClusWidthThinH_, hOnTrkClusChargeThickH_, hOnTrkClusChargeThinH_, hOnTrkClusWidthThickH_, hOnTrkClusWidthThinH_, isMC_, moduleName_, nHitsVsCosThetaH_, nHitsVsEtaH_, nHitsVsnVtxH_, nHitsVsPhiH_, nHitsVspTH_, nlostHitsH_, nLostHitsVsCosThetaH_, nLostHitsVsEtaH_, nLostHitsVsPhiH_, nLostHitsVspTH_, nPixBarrelH_, nPixEndcapH_, nPUH_, nStripTECH_, nStripTIBH_, nStripTIDH_, nStripTOBH_, nTracksH_, nvalidPixelHitsH_, nvalidStripHitsH_, nvalidTrackerHitsH_, nVertexH_, parameters_, pixelLayerwithMeasurementH_, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, stripLayerwithMeasurementH_, trackChargeH_, trackChi2bynDOFH_, trackChi2H_, trackCosThetaH_, trackd0H_, trackEtaerrH_, trackEtaH_, tracknDOFH_, trackPH_, trackPhierrH_, trackPhiH_, trackPterrH_, trackPtH_, trackPtOver10GeVH_, trackPtUpto2GeVH_, trackqOverperrH_, trackqOverpH_, trackThetaerrH_, trkLayerwithMeasurementH_, trueNIntH_, vertexXposH_, vertexYposH_, and vertexZposH_.

269  {
270  edm::ParameterSet TrackEtaHistoPar = parameters_.getParameter<edm::ParameterSet>("trackEtaH");
271  edm::ParameterSet TrackPtHistoPar = parameters_.getParameter<edm::ParameterSet>("trackPtH");
272 
273  std::string currentFolder = moduleName_ + "/" + folderName_;
274  iBook.setCurrentFolder(currentFolder);
275 
276  // The following are common with the official tool
277  if (haveAllHistograms_) {
278  if (!trackEtaH_)
279  trackEtaH_ = iBook.book1D("trackEta",
280  "Track Eta",
281  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
282  TrackEtaHistoPar.getParameter<double>("Xmin"),
283  TrackEtaHistoPar.getParameter<double>("Xmax"));
284  if (!trackEtaerrH_)
285  trackEtaerrH_ = iBook.book1D("trackEtaerr", "Track Eta Error", 50, 0.0, 1.0);
286  if (!trackCosThetaH_)
287  trackCosThetaH_ = iBook.book1D("trackCosTheta", "Track Cos(Theta)", 50, -1.0, 1.0);
288  if (!trackThetaerrH_)
289  trackThetaerrH_ = iBook.book1D("trackThetaerr", "Track Theta Error", 50, 0.0, 1.0);
290  if (!trackPhiH_)
291  trackPhiH_ = iBook.book1D("trackPhi", "Track Phi", 70, -3.5, 3.5);
292  if (!trackPhierrH_)
293  trackPhierrH_ = iBook.book1D("trackPhierr", "Track Phi Error", 50, 0.0, 1.0);
294 
295  if (!trackPH_)
296  trackPH_ = iBook.book1D("trackP", "Track 4-momentum", 50, 0.0, 10.0);
297  if (!trackPtH_)
298  trackPtH_ = iBook.book1D("trackPt",
299  "Track Pt",
300  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
301  TrackPtHistoPar.getParameter<double>("Xmin"),
302  TrackPtHistoPar.getParameter<double>("Xmax"));
303  if (!trackPtUpto2GeVH_)
304  trackPtUpto2GeVH_ = iBook.book1D("trackPtUpto2GeV", "Track Pt upto 2GeV", 100, 0, 2.0);
305  if (!trackPtOver10GeVH_)
306  trackPtOver10GeVH_ = iBook.book1D("trackPtOver10GeV", "Track Pt greater than 10 GeV", 100, 0, 100.0);
307  if (!trackPterrH_)
308  trackPterrH_ = iBook.book1D("trackPterr", "Track Pt Error", 100, 0.0, 100.0);
309  if (!trackqOverpH_)
310  trackqOverpH_ = iBook.book1D("trackqOverp", "q Over p", 40, -10.0, 10.0);
311  if (!trackqOverperrH_)
312  trackqOverperrH_ = iBook.book1D("trackqOverperr", "q Over p Error", 50, 0.0, 25.0);
313  if (!trackChargeH_)
314  trackChargeH_ = iBook.book1D("trackCharge", "Track Charge", 50, -5, 5);
315  if (!trackChi2H_)
316  trackChi2H_ = iBook.book1D("trackChi2", "Chi2", 100, 0.0, 100.0);
317  if (!tracknDOFH_)
318  tracknDOFH_ = iBook.book1D("tracknDOF", "nDOF", 100, 0.0, 100.0);
319  if (!trackd0H_)
320  trackd0H_ = iBook.book1D("trackd0", "Track d0", 100, -1, 1);
321  if (!trackChi2bynDOFH_)
322  trackChi2bynDOFH_ = iBook.book1D("trackChi2bynDOF", "Chi2 Over nDOF", 100, 0.0, 10.0);
323 
324  if (!nlostHitsH_)
325  nlostHitsH_ = iBook.book1D("nlostHits", "No. of Lost Hits", 10, 0.0, 10.0);
326  if (!nvalidTrackerHitsH_)
327  nvalidTrackerHitsH_ = iBook.book1D("nvalidTrackerhits", "No. of Valid Tracker Hits", 35, 0.0, 35.0);
328  if (!nvalidPixelHitsH_)
329  nvalidPixelHitsH_ = iBook.book1D("nvalidPixelHits", "No. of Valid Hits in Pixel", 10, 0.0, 10.0);
330  if (!nvalidStripHitsH_)
331  nvalidStripHitsH_ = iBook.book1D("nvalidStripHits", "No.of Valid Hits in Strip", 25, 0.0, 25.0);
332 
334  trkLayerwithMeasurementH_ = iBook.book1D("trkLayerwithMeasurement", "No. of Layers per Track", 25, 0.0, 25.0);
337  iBook.book1D("pixelLayerwithMeasurement", "No. of Pixel Layers per Track", 10, 0.0, 10.0);
340  iBook.book1D("stripLayerwithMeasurement", "No. of Strip Layers per Track", 20, 0.0, 20.0);
341 
342  if (!beamSpotXYposH_)
343  beamSpotXYposH_ = iBook.book1D("beamSpotXYpos", "XY position of beam spot", 40, -4.0, 4.0);
344  if (!beamSpotXYposerrH_)
345  beamSpotXYposerrH_ = iBook.book1D("beamSpotXYposerr", "Error in XY position of beam spot", 20, 0.0, 4.0);
346  if (!beamSpotZposH_)
347  beamSpotZposH_ = iBook.book1D("beamSpotZpos", "Z position of beam spot", 100, -20.0, 20.0);
348  if (!beamSpotZposerrH_)
349  beamSpotZposerrH_ = iBook.book1D("beamSpotZposerr", "Error in Z position of beam spot", 50, 0.0, 5.0);
350 
351  if (!vertexXposH_)
352  vertexXposH_ = iBook.book1D("vertexXpos", "Vertex X position", 50, -1.0, 1.0);
353  if (!vertexYposH_)
354  vertexYposH_ = iBook.book1D("vertexYpos", "Vertex Y position", 50, -1.0, 1.0);
355  if (!vertexZposH_)
356  vertexZposH_ = iBook.book1D("vertexZpos", "Vertex Z position", 100, -20.0, 20.0);
357  if (!nVertexH_)
358  nVertexH_ = iBook.book1D("nVertex", "# of vertices", 60, -0.5, 59.5);
359 
360  if (!nPixBarrelH_)
361  nPixBarrelH_ = iBook.book1D("nHitPixelBarrel", "No. of hits in Pixel Barrel per Track", 20, 0, 20.0);
362  if (!nPixEndcapH_)
363  nPixEndcapH_ = iBook.book1D("nHitPixelEndcap", "No. of hits in Pixel Endcap per Track", 20, 0, 20.0);
364  if (!nStripTIBH_)
365  nStripTIBH_ = iBook.book1D("nHitStripTIB", "No. of hits in Strip TIB per Track", 30, 0, 30.0);
366  if (!nStripTOBH_)
367  nStripTOBH_ = iBook.book1D("nHitStripTOB", "No. of hits in Strip TOB per Track", 30, 0, 30.0);
368  if (!nStripTECH_)
369  nStripTECH_ = iBook.book1D("nHitStripTEC", "No. of hits in Strip TEC per Track", 30, 0, 30.0);
370  if (!nStripTIDH_)
371  nStripTIDH_ = iBook.book1D("nHitStripTID", "No. of hits in Strip TID per Tracks", 30, 0, 30.0);
372 
373  if (!nTracksH_)
374  nTracksH_ = iBook.book1D("nTracks", "No. of Tracks", 100, -0.5, 999.5);
375  }
376  if (isMC_) {
377  if (!bunchCrossingH_)
378  bunchCrossingH_ = iBook.book1D("bunchCrossing", "Bunch Crosssing", 60, 0, 60.0);
379  if (!nPUH_)
380  nPUH_ = iBook.book1D("nPU", "No of Pileup", 60, 0, 60.0);
381  if (!trueNIntH_)
382  trueNIntH_ = iBook.book1D("trueNInt", "True no of Interactions", 60, 0, 60.0);
383  }
384  // Exclusive histograms
385  if (!nHitsVspTH_)
386  nHitsVspTH_ = iBook.bookProfile("nHitsVspT",
387  "Number of Hits Vs pT",
388  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
389  TrackPtHistoPar.getParameter<double>("Xmin"),
390  TrackPtHistoPar.getParameter<double>("Xmax"),
391  0.0,
392  0.0,
393  "g");
394  if (!nHitsVsnVtxH_)
395  nHitsVsnVtxH_ = iBook.bookProfile("nHitsVsnVtx", "Number of Hits Vs Number of Vertex", 100, 0.0, 50, 0.0, 0.0, "g");
396  if (!nHitsVsEtaH_)
397  nHitsVsEtaH_ = iBook.bookProfile("nHitsVsEta",
398  "Number of Hits Vs Eta",
399  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
400  TrackEtaHistoPar.getParameter<double>("Xmin"),
401  TrackEtaHistoPar.getParameter<double>("Xmax"),
402  0.0,
403  0.0,
404  "g");
405  if (!nHitsVsCosThetaH_)
407  iBook.bookProfile("nHitsVsCosTheta", "Number of Hits Vs Cos(Theta)", 50, -1.0, 1.0, 0.0, 0.0, "g");
408  if (!nHitsVsPhiH_)
409  nHitsVsPhiH_ = iBook.bookProfile("nHitsVsPhi", "Number of Hits Vs Phi", 100, -3.5, 3.5, 0.0, 0.0, "g");
410 
411  if (!nLostHitsVspTH_)
412  nLostHitsVspTH_ = iBook.bookProfile("nLostHitsVspT",
413  "Number of Lost Hits Vs pT",
414  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
415  TrackPtHistoPar.getParameter<double>("Xmin"),
416  TrackPtHistoPar.getParameter<double>("Xmax"),
417  0.0,
418  0.0,
419  "g");
420  if (!nLostHitsVsEtaH_)
421  nLostHitsVsEtaH_ = iBook.bookProfile("nLostHitsVsEta",
422  "Number of Lost Hits Vs Eta",
423  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
424  TrackEtaHistoPar.getParameter<double>("Xmin"),
425  TrackEtaHistoPar.getParameter<double>("Xmax"),
426  0.0,
427  0.0,
428  "g");
431  iBook.bookProfile("nLostHitsVsCosTheta", "Number of Lost Hits Vs Cos(Theta)", 50, -1.0, 1.0, 0.0, 0.0, "g");
432  if (!nLostHitsVsPhiH_)
433  nLostHitsVsPhiH_ = iBook.bookProfile("nLostHitsVsPhi", "Number of Lost Hits Vs Phi", 100, -3.5, 3.5, 0.0, 0.0, "g");
434 
435  // On and off-track cluster properties
438  iBook.book1D("hOnTrkClusChargeThin", "On-track Cluster Charge (Thin Sensor)", 100, 0, 1000);
440  hOnTrkClusWidthThinH_ = iBook.book1D("hOnTrkClusWidthThin", "On-track Cluster Width (Thin Sensor)", 20, -0.5, 19.5);
443  iBook.book1D("hOnTrkClusChargeThick", "On-track Cluster Charge (Thick Sensor)", 100, 0, 1000);
446  iBook.book1D("hOnTrkClusWidthThick", "On-track Cluster Width (Thick Sensor)", 20, -0.5, 19.5);
447 
450  iBook.book1D("hOffTrkClusChargeThin", "Off-track Cluster Charge (Thin Sensor)", 100, 0, 1000);
453  iBook.book1D("hOffTrkClusWidthThin", "Off-track Cluster Width (Thin Sensor)", 20, -0.5, 19.5);
456  iBook.book1D("hOffTrkClusChargeThick", "Off-track Cluster Charge (Thick Sensor)", 100, 0, 1000);
459  iBook.book1D("hOffTrkClusWidthThick", "Off-track Cluster Width (Thick Sensor)", 20, -0.5, 19.5);
460 }
MonitorElement * pixelLayerwithMeasurementH_
MonitorElement * hOnTrkClusChargeThickH_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * hOnTrkClusChargeThinH_
MonitorElement * trackPtOver10GeVH_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * trackChi2bynDOFH_
MonitorElement * hOffTrkClusWidthThickH_
MonitorElement * stripLayerwithMeasurementH_
MonitorElement * hOnTrkClusWidthThinH_
MonitorElement * hOffTrkClusWidthThinH_
MonitorElement * hOffTrkClusChargeThinH_
MonitorElement * hOnTrkClusWidthThickH_
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
MonitorElement * nLostHitsVsCosThetaH_
MonitorElement * hOffTrkClusChargeThickH_
MonitorElement * nvalidTrackerHitsH_
MonitorElement * trkLayerwithMeasurementH_
MonitorElement * trackPtUpto2GeVH_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ dqmBeginRun()

void StandaloneTrackMonitor::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 263 of file StandaloneTrackMonitor.cc.

References geomToken_, edm::EventSetup::getData(), and tkGeom_.

263  {
264  tkGeom_ = &(iSetup.getData(geomToken_));
265 }
const TrackerGeometry * tkGeom_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
bool getData(T &iHolder) const
Definition: EventSetup.h:122

◆ processClusters()

void StandaloneTrackMonitor::processClusters ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup,
double  wfac = 1 
)
protected

Definition at line 658 of file StandaloneTrackMonitor.cc.

References Surface::bounds(), SiStripClusterInfo::charge(), ALCARECOTkAlJpsiMuMu_cff::charge, clusterMap_, clusterTag_, clusterToken_, dqm::impl::MonitorElement::Fill(), hOffTrkClusChargeThickH_, hOffTrkClusChargeThinH_, hOffTrkClusWidthThickH_, hOffTrkClusWidthThinH_, TrackerGeometry::idToDetUnit(), iEvent, edm::HandleBase::isValid(), alignCSCRings::s, SiStripClusterInfo::setCluster(), siStripClusterInfo_, GeomDet::surface(), Bounds::thickness(), Calorimetry_cff::thickness, tkGeom_, ApeEstimator_cff::width, and SiStripClusterInfo::width().

Referenced by analyze().

658  {
659  // SiStripClusters
661  iEvent.getByToken(clusterToken_, clusterHandle);
662 
663  if (clusterHandle.isValid()) {
664  // Loop on Dets
665  for (edmNew::DetSetVector<SiStripCluster>::const_iterator dsvit = clusterHandle->begin();
666  dsvit != clusterHandle->end();
667  ++dsvit) {
668  uint32_t detId = dsvit->id();
669  std::map<uint32_t, std::set<const SiStripCluster*> >::iterator jt = clusterMap_.find(detId);
670  bool detid_found = (jt != clusterMap_.end()) ? true : false;
671 
672  // Loop on Clusters
673  for (edmNew::DetSet<SiStripCluster>::const_iterator clusit = dsvit->begin(); clusit != dsvit->end(); ++clusit) {
674  if (detid_found) {
675  std::set<const SiStripCluster*>& s = jt->second;
676  if (s.find(&*clusit) != s.end())
677  continue;
678  }
679 
680  siStripClusterInfo_.setCluster(*clusit, detId);
682  float width = siStripClusterInfo_.width();
683 
684  const GeomDetUnit* detUnit = tkGeom_->idToDetUnit(detId);
685  float thickness = detUnit->surface().bounds().thickness(); // unit cm
686  if (thickness > 0.035) {
689  } else {
692  }
693  }
694  }
695  } else {
696  edm::LogError("StandaloneTrackMonitor") << "ClusterCollection " << clusterTag_ << " not valid!!" << std::endl;
697  }
698 }
const TrackerGeometry * tkGeom_
void setCluster(const SiStripCluster &cluster, int detId)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
MonitorElement * hOffTrkClusWidthThickH_
data_type const * const_iterator
Definition: DetSetNew.h:31
Log< level::Error, false > LogError
MonitorElement * hOffTrkClusWidthThinH_
MonitorElement * hOffTrkClusChargeThinH_
SiStripClusterInfo siStripClusterInfo_
void Fill(long long x)
virtual float thickness() const =0
int iEvent
Definition: GenABIO.cc:224
MonitorElement * hOffTrkClusChargeThickH_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const edm::InputTag clusterTag_
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
std::map< uint32_t, std::set< const SiStripCluster * > > clusterMap_
uint16_t width() const
bool isValid() const
Definition: HandleBase.h:70
uint16_t charge() const
const Bounds & bounds() const
Definition: Surface.h:87

◆ processHit()

void StandaloneTrackMonitor::processHit ( const TrackingRecHit recHit,
edm::EventSetup const &  iSetup,
double  wfac = 1 
)
protected

Definition at line 699 of file StandaloneTrackMonitor.cc.

References addClusterToMap(), Surface::bounds(), SiStripClusterInfo::charge(), runTheMatrix::const, dqm::impl::MonitorElement::Fill(), hOnTrkClusChargeThickH_, hOnTrkClusChargeThinH_, hOnTrkClusWidthThickH_, hOnTrkClusWidthThinH_, TrackerGeometry::idToDetUnit(), SiStripMatchedRecHit2D::monoCluster(), rpcPointValidation_cfi::recHit, SiStripClusterInfo::setCluster(), siStripClusterInfo_, SiStripMatchedRecHit2D::stereoCluster(), GeomDet::surface(), Bounds::thickness(), Calorimetry_cff::thickness, tkGeom_, and SiStripClusterInfo::width().

Referenced by analyze().

699  {
700  uint32_t detid = recHit.geographicalId();
701  const GeomDetUnit* detUnit = tkGeom_->idToDetUnit(detid);
702  float thickness = detUnit->surface().bounds().thickness(); // unit cm
703 
704  auto const& thit = static_cast<BaseTrackerRecHit const&>(recHit);
705  if (!thit.isValid())
706  return;
707 
708  auto const& clus = thit.firstClusterRef();
709  if (!clus.isValid())
710  return;
711  if (!clus.isStrip())
712  return;
713 
714  if (thit.isMatched()) {
715  const SiStripMatchedRecHit2D& matchedHit = dynamic_cast<const SiStripMatchedRecHit2D&>(recHit);
716 
717  auto& clusterM = matchedHit.monoCluster();
718  siStripClusterInfo_.setCluster(clusterM, detid);
719  if (thickness > 0.035) {
722  } else {
725  }
726  addClusterToMap(detid, &clusterM);
727 
728  auto& clusterS = matchedHit.stereoCluster();
729  siStripClusterInfo_.setCluster(clusterS, detid);
730  if (thickness > 0.035) {
733  } else {
736  }
737  addClusterToMap(detid, &clusterS);
738  } else {
739  auto& cluster = clus.stripCluster();
740  siStripClusterInfo_.setCluster(cluster, detid);
741  if (thickness > 0.035) {
744  } else {
747  }
748  addClusterToMap(detid, &cluster);
749  }
750 }
const TrackerGeometry * tkGeom_
MonitorElement * hOnTrkClusChargeThickH_
MonitorElement * hOnTrkClusChargeThinH_
void setCluster(const SiStripCluster &cluster, int detId)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
MonitorElement * hOnTrkClusWidthThinH_
SiStripClusterInfo siStripClusterInfo_
void Fill(long long x)
virtual float thickness() const =0
MonitorElement * hOnTrkClusWidthThickH_
SiStripCluster const & monoCluster() const
void addClusterToMap(uint32_t detid, const SiStripCluster *cluster)
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
uint16_t width() const
SiStripCluster const & stereoCluster() const
uint16_t charge() const
const Bounds & bounds() const
Definition: Surface.h:87

Member Data Documentation

◆ beamSpotXYposerrH_

MonitorElement* StandaloneTrackMonitor::beamSpotXYposerrH_
private

Definition at line 107 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ beamSpotXYposH_

MonitorElement* StandaloneTrackMonitor::beamSpotXYposH_
private

Definition at line 106 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ beamSpotZposerrH_

MonitorElement* StandaloneTrackMonitor::beamSpotZposerrH_
private

Definition at line 109 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ beamSpotZposH_

MonitorElement* StandaloneTrackMonitor::beamSpotZposH_
private

Definition at line 108 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ bsTag_

const edm::InputTag StandaloneTrackMonitor::bsTag_
private

Definition at line 61 of file StandaloneTrackMonitor.cc.

◆ bsToken_

const edm::EDGetTokenT<reco::BeamSpot> StandaloneTrackMonitor::bsToken_
private

Definition at line 66 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ bunchCrossingH_

MonitorElement* StandaloneTrackMonitor::bunchCrossingH_
private

Definition at line 125 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ clusterMap_

std::map<uint32_t, std::set<const SiStripCluster*> > StandaloneTrackMonitor::clusterMap_
private

Definition at line 153 of file StandaloneTrackMonitor.cc.

Referenced by addClusterToMap(), and processClusters().

◆ clusterTag_

const edm::InputTag StandaloneTrackMonitor::clusterTag_
private

Definition at line 64 of file StandaloneTrackMonitor.cc.

Referenced by processClusters().

◆ clusterToken_

const edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > StandaloneTrackMonitor::clusterToken_
private

Definition at line 69 of file StandaloneTrackMonitor.cc.

Referenced by processClusters().

◆ doPUCorrection_

const bool StandaloneTrackMonitor::doPUCorrection_
private

Definition at line 73 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), and StandaloneTrackMonitor().

◆ folderName_

std::string StandaloneTrackMonitor::folderName_
private

Definition at line 59 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms().

◆ geomToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> StandaloneTrackMonitor::geomToken_
private

Definition at line 154 of file StandaloneTrackMonitor.cc.

Referenced by dqmBeginRun().

◆ haveAllHistograms_

const bool StandaloneTrackMonitor::haveAllHistograms_
private

Definition at line 75 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ hOffTrkClusChargeThickH_

MonitorElement* StandaloneTrackMonitor::hOffTrkClusChargeThickH_
private

◆ hOffTrkClusChargeThinH_

MonitorElement* StandaloneTrackMonitor::hOffTrkClusChargeThinH_
private

◆ hOffTrkClusWidthThickH_

MonitorElement* StandaloneTrackMonitor::hOffTrkClusWidthThickH_
private

◆ hOffTrkClusWidthThinH_

MonitorElement* StandaloneTrackMonitor::hOffTrkClusWidthThinH_
private

◆ hOnTrkClusChargeThickH_

MonitorElement* StandaloneTrackMonitor::hOnTrkClusChargeThickH_
private

Definition at line 142 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms(), processHit(), and StandaloneTrackMonitor().

◆ hOnTrkClusChargeThinH_

MonitorElement* StandaloneTrackMonitor::hOnTrkClusChargeThinH_
private

Definition at line 140 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms(), processHit(), and StandaloneTrackMonitor().

◆ hOnTrkClusWidthThickH_

MonitorElement* StandaloneTrackMonitor::hOnTrkClusWidthThickH_
private

Definition at line 143 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms(), processHit(), and StandaloneTrackMonitor().

◆ hOnTrkClusWidthThinH_

MonitorElement* StandaloneTrackMonitor::hOnTrkClusWidthThinH_
private

Definition at line 141 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms(), processHit(), and StandaloneTrackMonitor().

◆ isMC_

const bool StandaloneTrackMonitor::isMC_
private

Definition at line 74 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms(), and StandaloneTrackMonitor().

◆ m_cacheID_

unsigned long long StandaloneTrackMonitor::m_cacheID_
private

Definition at line 150 of file StandaloneTrackMonitor.cc.

◆ moduleName_

std::string StandaloneTrackMonitor::moduleName_
private

Definition at line 58 of file StandaloneTrackMonitor.cc.

Referenced by bookHistograms().

◆ nHitsVsCosThetaH_

MonitorElement* StandaloneTrackMonitor::nHitsVsCosThetaH_
private

Definition at line 133 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nHitsVsEtaH_

MonitorElement* StandaloneTrackMonitor::nHitsVsEtaH_
private

Definition at line 132 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nHitsVsnVtxH_

MonitorElement* StandaloneTrackMonitor::nHitsVsnVtxH_
private

Definition at line 131 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nHitsVsPhiH_

MonitorElement* StandaloneTrackMonitor::nHitsVsPhiH_
private

Definition at line 134 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nHitsVspTH_

MonitorElement* StandaloneTrackMonitor::nHitsVspTH_
private

Definition at line 130 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nlostHitsH_

MonitorElement* StandaloneTrackMonitor::nlostHitsH_
private

Definition at line 98 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nLostHitsVsCosThetaH_

MonitorElement* StandaloneTrackMonitor::nLostHitsVsCosThetaH_
private

Definition at line 137 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nLostHitsVsEtaH_

MonitorElement* StandaloneTrackMonitor::nLostHitsVsEtaH_
private

Definition at line 136 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nLostHitsVsPhiH_

MonitorElement* StandaloneTrackMonitor::nLostHitsVsPhiH_
private

Definition at line 138 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nLostHitsVspTH_

MonitorElement* StandaloneTrackMonitor::nLostHitsVspTH_
private

Definition at line 135 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nPixBarrelH_

MonitorElement* StandaloneTrackMonitor::nPixBarrelH_
private

Definition at line 116 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nPixEndcapH_

MonitorElement* StandaloneTrackMonitor::nPixEndcapH_
private

Definition at line 117 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nPUH_

MonitorElement* StandaloneTrackMonitor::nPUH_
private

Definition at line 126 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nStripTECH_

MonitorElement* StandaloneTrackMonitor::nStripTECH_
private

Definition at line 120 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nStripTIBH_

MonitorElement* StandaloneTrackMonitor::nStripTIBH_
private

Definition at line 118 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nStripTIDH_

MonitorElement* StandaloneTrackMonitor::nStripTIDH_
private

Definition at line 121 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nStripTOBH_

MonitorElement* StandaloneTrackMonitor::nStripTOBH_
private

Definition at line 119 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nTracksH_

MonitorElement* StandaloneTrackMonitor::nTracksH_
private

Definition at line 122 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nvalidPixelHitsH_

MonitorElement* StandaloneTrackMonitor::nvalidPixelHitsH_
private

Definition at line 100 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nvalidStripHitsH_

MonitorElement* StandaloneTrackMonitor::nvalidStripHitsH_
private

Definition at line 101 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nvalidTrackerHitsH_

MonitorElement* StandaloneTrackMonitor::nvalidTrackerHitsH_
private

Definition at line 99 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ nVertexH_

MonitorElement* StandaloneTrackMonitor::nVertexH_
private

Definition at line 114 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ parameters_

edm::ParameterSet StandaloneTrackMonitor::parameters_
private

◆ pixelLayerwithMeasurementH_

MonitorElement* StandaloneTrackMonitor::pixelLayerwithMeasurementH_
private

Definition at line 103 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ puScaleFactorFile_

const std::string StandaloneTrackMonitor::puScaleFactorFile_
private

Definition at line 76 of file StandaloneTrackMonitor.cc.

Referenced by StandaloneTrackMonitor().

◆ puSummaryTag_

const edm::InputTag StandaloneTrackMonitor::puSummaryTag_
private

Definition at line 63 of file StandaloneTrackMonitor.cc.

◆ puSummaryToken_

const edm::EDGetTokenT<std::vector<PileupSummaryInfo> > StandaloneTrackMonitor::puSummaryToken_
private

Definition at line 68 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ siStripClusterInfo_

SiStripClusterInfo StandaloneTrackMonitor::siStripClusterInfo_
private

Definition at line 72 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), processClusters(), and processHit().

◆ stripLayerwithMeasurementH_

MonitorElement* StandaloneTrackMonitor::stripLayerwithMeasurementH_
private

Definition at line 104 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ tkGeom_

const TrackerGeometry* StandaloneTrackMonitor::tkGeom_ = nullptr
private

Definition at line 155 of file StandaloneTrackMonitor.cc.

Referenced by dqmBeginRun(), processClusters(), and processHit().

◆ trackChargeH_

MonitorElement* StandaloneTrackMonitor::trackChargeH_
private

Definition at line 92 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackChi2bynDOFH_

MonitorElement* StandaloneTrackMonitor::trackChi2bynDOFH_
private

Definition at line 96 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackChi2H_

MonitorElement* StandaloneTrackMonitor::trackChi2H_
private

Definition at line 93 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackCosThetaH_

MonitorElement* StandaloneTrackMonitor::trackCosThetaH_
private

Definition at line 81 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackd0H_

MonitorElement* StandaloneTrackMonitor::trackd0H_
private

Definition at line 95 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackEtaerrH_

MonitorElement* StandaloneTrackMonitor::trackEtaerrH_
private

Definition at line 80 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackEtaH_

MonitorElement* StandaloneTrackMonitor::trackEtaH_
private

Definition at line 79 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ tracknDOFH_

MonitorElement* StandaloneTrackMonitor::tracknDOFH_
private

Definition at line 94 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPH_

MonitorElement* StandaloneTrackMonitor::trackPH_
private

Definition at line 85 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPhierrH_

MonitorElement* StandaloneTrackMonitor::trackPhierrH_
private

Definition at line 84 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPhiH_

MonitorElement* StandaloneTrackMonitor::trackPhiH_
private

Definition at line 83 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPterrH_

MonitorElement* StandaloneTrackMonitor::trackPterrH_
private

Definition at line 89 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPtH_

MonitorElement* StandaloneTrackMonitor::trackPtH_
private

Definition at line 86 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPtOver10GeVH_

MonitorElement* StandaloneTrackMonitor::trackPtOver10GeVH_
private

Definition at line 88 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackPtUpto2GeVH_

MonitorElement* StandaloneTrackMonitor::trackPtUpto2GeVH_
private

Definition at line 87 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackqOverperrH_

MonitorElement* StandaloneTrackMonitor::trackqOverperrH_
private

Definition at line 91 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackqOverpH_

MonitorElement* StandaloneTrackMonitor::trackqOverpH_
private

Definition at line 90 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackQuality_

const std::string StandaloneTrackMonitor::trackQuality_
private

Definition at line 71 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ trackTag_

const edm::InputTag StandaloneTrackMonitor::trackTag_
private

Definition at line 60 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ trackThetaerrH_

MonitorElement* StandaloneTrackMonitor::trackThetaerrH_
private

Definition at line 82 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trackToken_

const edm::EDGetTokenT<reco::TrackCollection> StandaloneTrackMonitor::trackToken_
private

Definition at line 65 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ trkLayerwithMeasurementH_

MonitorElement* StandaloneTrackMonitor::trkLayerwithMeasurementH_
private

Definition at line 102 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ trueNIntH_

MonitorElement* StandaloneTrackMonitor::trueNIntH_
private

Definition at line 127 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ verbose_

const bool StandaloneTrackMonitor::verbose_
private

Definition at line 77 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ vertexTag_

const edm::InputTag StandaloneTrackMonitor::vertexTag_
private

Definition at line 62 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ vertexToken_

const edm::EDGetTokenT<reco::VertexCollection> StandaloneTrackMonitor::vertexToken_
private

Definition at line 67 of file StandaloneTrackMonitor.cc.

Referenced by analyze().

◆ vertexXposH_

MonitorElement* StandaloneTrackMonitor::vertexXposH_
private

Definition at line 111 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ vertexYposH_

MonitorElement* StandaloneTrackMonitor::vertexYposH_
private

Definition at line 112 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ vertexZposH_

MonitorElement* StandaloneTrackMonitor::vertexZposH_
private

Definition at line 113 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), bookHistograms(), and StandaloneTrackMonitor().

◆ vpu_

std::vector<float> StandaloneTrackMonitor::vpu_
private

Definition at line 152 of file StandaloneTrackMonitor.cc.

Referenced by analyze(), and StandaloneTrackMonitor().