CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
StandaloneTrackMonitor Class Reference

#include <StandaloneTrackMonitor.h>

Inheritance diagram for StandaloneTrackMonitor:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

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 processClusters (edm::Event const &iEvent, edm::EventSetup const &iSetup, const TrackerGeometry &tkGeom, double wfac=1)
 
void processHit (const TrackingRecHit &recHit, edm::EventSetup const &iSetup, const TrackerGeometry &tkGeom, double wfac=1)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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 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_
 
MonitorElementstripLayerwithMeasurementH_
 
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::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 30 of file StandaloneTrackMonitor.h.

Constructor & Destructor Documentation

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

Definition at line 26 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_.

27  : parameters_(ps),
28  moduleName_(parameters_.getUntrackedParameter<std::string>("moduleName", "StandaloneTrackMonitor")),
29  folderName_(parameters_.getUntrackedParameter<std::string>("folderName", "highPurityTracks")),
30  trackTag_(parameters_.getUntrackedParameter<edm::InputTag>("trackInputTag", edm::InputTag("generalTracks"))),
31  bsTag_(parameters_.getUntrackedParameter<edm::InputTag>("offlineBeamSpot", edm::InputTag("offlineBeamSpot"))),
32  vertexTag_(
33  parameters_.getUntrackedParameter<edm::InputTag>("vertexTag", edm::InputTag("offlinePrimaryVertices"))),
35  clusterTag_(parameters_.getUntrackedParameter<edm::InputTag>("clusterTag", edm::InputTag("siStripClusters"))),
36  trackToken_(consumes<reco::TrackCollection>(trackTag_)),
37  bsToken_(consumes<reco::BeamSpot>(bsTag_)),
38  vertexToken_(consumes<reco::VertexCollection>(vertexTag_)),
39  puSummaryToken_(consumes<std::vector<PileupSummaryInfo> >(puSummaryTag_)),
41  trackQuality_(parameters_.getUntrackedParameter<std::string>("trackQuality", "highPurity")),
42  doPUCorrection_(parameters_.getUntrackedParameter<bool>("doPUCorrection", false)),
43  isMC_(parameters_.getUntrackedParameter<bool>("isMC", false)),
44  haveAllHistograms_(parameters_.getUntrackedParameter<bool>("haveAllHistograms", false)),
46  parameters_.getUntrackedParameter<std::string>("puScaleFactorFile", "PileupScaleFactor_run203002.root")),
47  verbose_(parameters_.getUntrackedParameter<bool>("verbose", false)) {
48  trackEtaH_ = nullptr;
49  trackEtaerrH_ = nullptr;
50  trackCosThetaH_ = nullptr;
51  trackThetaerrH_ = nullptr;
52  trackPhiH_ = nullptr;
53  trackPhierrH_ = nullptr;
54  trackPH_ = nullptr;
55  trackPtH_ = nullptr;
56  trackPtUpto2GeVH_ = nullptr;
57  trackPtOver10GeVH_ = nullptr;
58  trackPterrH_ = nullptr;
59  trackqOverpH_ = nullptr;
60  trackqOverperrH_ = nullptr;
61  trackChargeH_ = nullptr;
62  nlostHitsH_ = nullptr;
63  nvalidTrackerHitsH_ = nullptr;
64  nvalidPixelHitsH_ = nullptr;
65  nvalidStripHitsH_ = nullptr;
66  trkLayerwithMeasurementH_ = nullptr;
69  beamSpotXYposH_ = nullptr;
70  beamSpotXYposerrH_ = nullptr;
71  beamSpotZposH_ = nullptr;
72  beamSpotZposerrH_ = nullptr;
73  trackChi2H_ = nullptr;
74  tracknDOFH_ = nullptr;
75  trackd0H_ = nullptr;
76  trackChi2bynDOFH_ = nullptr;
77  vertexXposH_ = nullptr;
78  vertexYposH_ = nullptr;
79  vertexZposH_ = nullptr;
80 
81  nPixBarrelH_ = nullptr;
82  nPixEndcapH_ = nullptr;
83  nStripTIBH_ = nullptr;
84  nStripTOBH_ = nullptr;
85  nStripTECH_ = nullptr;
86  nStripTIDH_ = nullptr;
87  nTracksH_ = nullptr;
88 
89  // for MC only
90  nVertexH_ = nullptr;
91  bunchCrossingH_ = nullptr;
92  nPUH_ = nullptr;
93  trueNIntH_ = nullptr;
94 
95  nHitsVspTH_ = nullptr;
96  nHitsVsEtaH_ = nullptr;
97  nHitsVsCosThetaH_ = nullptr;
98  nHitsVsPhiH_ = nullptr;
99  nHitsVsnVtxH_ = nullptr;
100  nLostHitsVspTH_ = nullptr;
101  nLostHitsVsEtaH_ = nullptr;
102  nLostHitsVsCosThetaH_ = nullptr;
103  nLostHitsVsPhiH_ = nullptr;
104 
105  hOnTrkClusChargeThinH_ = nullptr;
106  hOnTrkClusWidthThinH_ = nullptr;
107  hOnTrkClusChargeThickH_ = nullptr;
108  hOnTrkClusWidthThickH_ = nullptr;
109 
110  hOffTrkClusChargeThinH_ = nullptr;
111  hOffTrkClusWidthThinH_ = nullptr;
112  hOffTrkClusChargeThickH_ = nullptr;
113  hOffTrkClusWidthThickH_ = nullptr;
114 
115  // Read pileup weight factors
116  if (isMC_ && doPUCorrection_) {
117  vpu_.clear();
118  TFile* f1 = TFile::Open(puScaleFactorFile_.c_str());
119  TH1F* h1 = dynamic_cast<TH1F*>(f1->Get("pileupweight"));
120  for (int i = 1; i <= h1->GetNbinsX(); ++i)
121  vpu_.push_back(h1->GetBinContent(i));
122  f1->Close();
123  }
124 }
MonitorElement * pixelLayerwithMeasurementH_
MonitorElement * hOnTrkClusChargeThickH_
const edm::InputTag trackTag_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * hOnTrkClusChargeThinH_
MonitorElement * trackPtOver10GeVH_
const std::string trackQuality_
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
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_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag vertexTag_
MonitorElement * beamSpotXYposH_
MonitorElement * hOnTrkClusWidthThickH_
MonitorElement * trackqOverperrH_
MonitorElement * trackThetaerrH_
const edm::InputTag puSummaryTag_
MonitorElement * nvalidStripHitsH_
MonitorElement * beamSpotZposerrH_
MonitorElement * nLostHitsVsCosThetaH_
MonitorElement * beamSpotXYposerrH_
MonitorElement * hOffTrkClusChargeThickH_
MonitorElement * trackCosThetaH_
const edm::InputTag clusterTag_
MonitorElement * nvalidTrackerHitsH_
MonitorElement * nHitsVsCosThetaH_
const edm::EDGetTokenT< reco::BeamSpot > bsToken_
MonitorElement * trkLayerwithMeasurementH_
const edm::InputTag bsTag_
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MonitorElement * nvalidPixelHitsH_
MonitorElement * trackPtUpto2GeVH_

Member Function Documentation

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

Definition at line 617 of file StandaloneTrackMonitor.cc.

References clusterMap_, DEFINE_FWK_MODULE, and alignCSCRings::s.

Referenced by processHit().

617  {
618  std::map<uint32_t, std::set<const SiStripCluster*> >::iterator it = clusterMap_.find(detid);
619  if (it == clusterMap_.end()) {
620  std::set<const SiStripCluster*> s;
621  s.insert(cluster);
622  clusterMap_.insert(std::pair<uint32_t, std::set<const SiStripCluster*> >(detid, s));
623  } else {
624  std::set<const SiStripCluster*>& s = it->second;
625  s.insert(cluster);
626  }
627 }
std::map< uint32_t, std::set< const SiStripCluster * > > clusterMap_
void StandaloneTrackMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 320 of file StandaloneTrackMonitor.cc.

References pwdgSkimBPark_cfi::beamSpot, beamSpotXYposerrH_, beamSpotXYposH_, beamSpotZposerrH_, beamSpotZposH_, bsToken_, bunchCrossingH_, l1GtPatternGenerator_cfi::bx, ALCARECOTkAlJpsiMuMu_cff::charge, hltPixelTracks_cff::chi2, funct::cos(), DetId::det(), doPUCorrection_, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, muonME0PseudoDigis_cfi::etaError, dqm::impl::MonitorElement::Fill(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), haveAllHistograms_, edm::EventBase::isRealData(), edm::HandleBase::isValid(), TrackingRecHit::isValid(), ndof, nHitsVsCosThetaH_, nHitsVsEtaH_, nHitsVsnVtxH_, nHitsVsPhiH_, nHitsVspTH_, nlostHitsH_, nLostHitsVsCosThetaH_, nLostHitsVsEtaH_, nLostHitsVsPhiH_, nLostHitsVspTH_, nPixBarrelH_, nPixEndcapH_, nPUH_, nStripTECH_, nStripTIBH_, nStripTIDH_, nStripTOBH_, 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_, reco::BeamSpot::position(), processClusters(), processHit(), DiDispStaMuonMonitor_cfi::pt, puSummaryToken_, qcdUeDQM_cfi::quality, reco::TrackBase::qualityByName(), reco::HitPattern::stripLayersWithMeasurement(), stripLayerwithMeasurementH_, DetId::subdetId(), StripSubdetector::TEC, theta(), StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, HLT_2018_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_, PDWG_EXOHSCP_cff::tracks, trackTag_, trackThetaerrH_, trackToken_, trkLayerwithMeasurementH_, trueNIntH_, findQualityFiles::v, verbose_, vertexTag_, vertexToken_, vertexXposH_, vertexYposH_, vertexZposH_, and vpu_.

320  {
321  // Get event setup (to get global transformation)
323  iSetup.get<TrackerDigiGeometryRecord>().get(geomHandle);
324  const TrackerGeometry& tkGeom = (*geomHandle);
325 
326  // Primary vertex collection
328  iEvent.getByToken(vertexToken_, vertexColl);
329 
330  // Beam spot
332  iEvent.getByToken(bsToken_, beamSpot);
333 
334  // Track collection
336  iEvent.getByToken(trackToken_, tracks);
337 
338  // Access PU information
339  double wfac = 1.0; // for data
340  if (!iEvent.isRealData()) {
342  iEvent.getByToken(puSummaryToken_, PupInfo);
343 
344  if (verbose_)
345  edm::LogInfo("StandaloneTrackMonitor") << "nPUColl = " << PupInfo->size();
346  for (auto const& v : *PupInfo) {
347  int bx = v.getBunchCrossing();
348  if (bunchCrossingH_)
349  bunchCrossingH_->Fill(bx);
350  if (bx == 0) {
351  if (nPUH_)
352  nPUH_->Fill(v.getPU_NumInteractions());
353  int ntrueInt = v.getTrueNumInteractions();
354  if (trueNIntH_)
355  trueNIntH_->Fill(ntrueInt);
356  if (doPUCorrection_)
357  if (ntrueInt > -1 && ntrueInt < int(vpu_.size()))
358  wfac = vpu_.at(ntrueInt);
359  }
360  }
361  }
362  if (verbose_)
363  edm::LogInfo("StandaloneTrackMonitor") << "PU reweight factor = " << wfac;
364 
365  if (!vertexColl.isValid())
366  edm::LogError("DqmTrackStudy") << "Error! Failed to get reco::Vertex Collection, " << vertexTag_;
367  if (haveAllHistograms_) {
368  int nvtx = (vertexColl.isValid() ? vertexColl->size() : 0);
369  nVertexH_->Fill(nvtx);
370  }
371 
372  int ntracks = 0;
373  if (tracks.isValid()) {
374  edm::LogInfo("StandaloneTrackMonitor") << "Total # of Tracks: " << tracks->size();
375  if (verbose_)
376  edm::LogInfo("StandaloneTrackMonitor") << "Total # of Tracks: " << tracks->size();
378  for (auto const& track : *tracks) {
379  if (!track.quality(quality))
380  continue;
381 
382  ++ntracks;
383 
384  double eta = track.eta();
385  double theta = track.theta();
386  double phi = track.phi();
387  double pt = track.pt();
388 
389  const reco::HitPattern& hitp = track.hitPattern();
390  double nValidTrackerHits = hitp.numberOfValidTrackerHits();
391  nHitsVsEtaH_->Fill(eta, nValidTrackerHits);
392  nHitsVsCosThetaH_->Fill(std::cos(theta), nValidTrackerHits);
393  nHitsVsPhiH_->Fill(phi, nValidTrackerHits);
394  nHitsVspTH_->Fill(pt, nValidTrackerHits);
395  nHitsVsnVtxH_->Fill(vertexColl->size(), nValidTrackerHits);
396 
397  int nLostHits = track.numberOfLostHits();
398  nLostHitsVspTH_->Fill(pt, nLostHits);
399  nLostHitsVsEtaH_->Fill(eta, nLostHits);
400  nLostHitsVsCosThetaH_->Fill(std::cos(theta), nLostHits);
401  nLostHitsVsPhiH_->Fill(phi, nLostHits);
402 
403  double nValidPixelHits = hitp.numberOfValidPixelHits();
404  double nValidStripHits = hitp.numberOfValidStripHits();
405  double pixelLayersWithMeasurement = hitp.pixelLayersWithMeasurement();
406  double stripLayersWithMeasurement = hitp.stripLayersWithMeasurement();
407 
408  if (haveAllHistograms_) {
409  double etaError = track.etaError();
410  double thetaError = track.thetaError();
411  double phiError = track.phiError();
412  double p = track.p();
413  double ptError = track.ptError();
414  double qoverp = track.qoverp();
415  double qoverpError = track.qoverpError();
416  double charge = track.charge();
417 
418  double trackerLayersWithMeasurement = hitp.trackerLayersWithMeasurement();
419 
420  double dxy = track.dxy(beamSpot->position());
421  double dxyError = track.dxyError();
422  double dz = track.dz(beamSpot->position());
423  double dzError = track.dzError();
424 
425  double trkd0 = track.d0();
426  double chi2 = track.chi2();
427  double ndof = track.ndof();
428  double vx = track.vx();
429  double vy = track.vy();
430  double vz = track.vz();
431 
432  // Fill the histograms
433  trackEtaH_->Fill(eta, wfac);
434  trackEtaerrH_->Fill(etaError, wfac);
435  trackCosThetaH_->Fill(std::cos(theta), wfac);
436  trackThetaerrH_->Fill(thetaError, wfac);
437  trackPhiH_->Fill(phi, wfac);
438  trackPhierrH_->Fill(phiError, wfac);
439  trackPH_->Fill(p, wfac);
440  trackPtH_->Fill(pt, wfac);
441  if (pt <= 2)
442  trackPtUpto2GeVH_->Fill(pt, wfac);
443  if (pt >= 10)
444  trackPtOver10GeVH_->Fill(pt, wfac);
445  trackPterrH_->Fill(ptError, wfac);
446  trackqOverpH_->Fill(qoverp, wfac);
447  trackqOverperrH_->Fill(qoverpError, wfac);
448  trackChargeH_->Fill(charge, wfac);
449  trackChi2H_->Fill(chi2, wfac);
450  trackd0H_->Fill(trkd0, wfac);
451  tracknDOFH_->Fill(ndof, wfac);
452  trackChi2bynDOFH_->Fill(chi2 / ndof, wfac);
453 
454  nlostHitsH_->Fill(nLostHits, wfac);
455  nvalidTrackerHitsH_->Fill(nValidTrackerHits, wfac);
456  nvalidPixelHitsH_->Fill(nValidPixelHits, wfac);
457  nvalidStripHitsH_->Fill(nValidStripHits, wfac);
458 
459  trkLayerwithMeasurementH_->Fill(trackerLayersWithMeasurement, wfac);
460  pixelLayerwithMeasurementH_->Fill(pixelLayersWithMeasurement, wfac);
461  stripLayerwithMeasurementH_->Fill(stripLayersWithMeasurement, wfac);
462 
463  beamSpotXYposH_->Fill(dxy, wfac);
464  beamSpotXYposerrH_->Fill(dxyError, wfac);
465  beamSpotZposH_->Fill(dz, wfac);
466  beamSpotZposerrH_->Fill(dzError, wfac);
467 
468  vertexXposH_->Fill(vx, wfac);
469  vertexYposH_->Fill(vy, wfac);
470  vertexZposH_->Fill(vz, wfac);
471  }
472  int nPixBarrel = 0, nPixEndcap = 0, nStripTIB = 0, nStripTOB = 0, nStripTEC = 0, nStripTID = 0;
473  for (auto it = track.recHitsBegin(); it != track.recHitsEnd(); ++it) {
474  const TrackingRecHit& hit = (**it);
475  if (hit.isValid()) {
476  if (hit.geographicalId().det() == DetId::Tracker) {
477  int subdetId = hit.geographicalId().subdetId();
478  if (subdetId == PixelSubdetector::PixelBarrel)
479  ++nPixBarrel;
480  else if (subdetId == PixelSubdetector::PixelEndcap)
481  ++nPixEndcap;
482  else if (subdetId == StripSubdetector::TIB)
483  ++nStripTIB;
484  else if (subdetId == StripSubdetector::TOB)
485  ++nStripTOB;
486  else if (subdetId == StripSubdetector::TEC)
487  ++nStripTEC;
488  else if (subdetId == StripSubdetector::TID)
489  ++nStripTID;
490 
491  // Find on-track clusters
492  processHit(hit, iSetup, tkGeom, wfac);
493  }
494  }
495  }
496  if (verbose_)
497  edm::LogInfo("StandaloneTrackMonitor")
498  << " >>> HITs: nPixBarrel: " << nPixBarrel << " nPixEndcap: " << nPixEndcap << " nStripTIB: " << nStripTIB
499  << " nStripTOB: " << nStripTOB << " nStripTEC: " << nStripTEC << " nStripTID: " << nStripTID;
500  if (haveAllHistograms_) {
501  nPixBarrelH_->Fill(nPixBarrel, wfac);
502  nPixEndcapH_->Fill(nPixEndcap, wfac);
503  nStripTIBH_->Fill(nStripTIB, wfac);
504  nStripTOBH_->Fill(nStripTOB, wfac);
505  nStripTECH_->Fill(nStripTEC, wfac);
506  nStripTIDH_->Fill(nStripTID, wfac);
507  }
508  }
509  } else {
510  edm::LogError("DqmTrackStudy") << "Error! Failed to get reco::Track collection, " << trackTag_;
511  }
512  if (haveAllHistograms_)
513  nTracksH_->Fill(ntracks);
514 
515  // off track cluster properties
516  processClusters(iEvent, iSetup, tkGeom, wfac);
517 }
MonitorElement * pixelLayerwithMeasurementH_
const edm::InputTag trackTag_
static constexpr auto TEC
MonitorElement * trackPtOver10GeVH_
const std::string trackQuality_
MonitorElement * trackChi2bynDOFH_
TrackQuality
track quality
Definition: TrackBase.h:150
const edm::EDGetTokenT< reco::TrackCollection > trackToken_
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > puSummaryToken_
Geom::Theta< T > theta() const
MonitorElement * stripLayerwithMeasurementH_
int numberOfValidStripHits() const
Definition: HitPattern.h:813
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:492
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:513
const edm::InputTag vertexTag_
void Fill(long long x)
MonitorElement * beamSpotXYposH_
int iEvent
Definition: GenABIO.cc:224
MonitorElement * trackqOverperrH_
MonitorElement * trackThetaerrH_
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
MonitorElement * nvalidStripHitsH_
static constexpr auto TOB
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * beamSpotZposerrH_
MonitorElement * nLostHitsVsCosThetaH_
MonitorElement * beamSpotXYposerrH_
MonitorElement * trackCosThetaH_
MonitorElement * nvalidTrackerHitsH_
MonitorElement * nHitsVsCosThetaH_
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
static constexpr auto TIB
const edm::EDGetTokenT< reco::BeamSpot > bsToken_
MonitorElement * trkLayerwithMeasurementH_
int stripLayersWithMeasurement() const
Definition: HitPattern.h:975
bool isValid() const
int numberOfValidTrackerHits() const
Definition: HitPattern.h:789
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
void processClusters(edm::Event const &iEvent, edm::EventSetup const &iSetup, const TrackerGeometry &tkGeom, double wfac=1)
int numberOfValidPixelHits() const
Definition: HitPattern.h:801
MonitorElement * nvalidPixelHitsH_
const Point & position() const
position
Definition: BeamSpot.h:59
MonitorElement * trackPtUpto2GeVH_
DetId geographicalId() const
void processHit(const TrackingRecHit &recHit, edm::EventSetup const &iSetup, const TrackerGeometry &tkGeom, double wfac=1)
static constexpr auto TID
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
void StandaloneTrackMonitor::bookHistograms ( DQMStore::IBooker iBook,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 126 of file StandaloneTrackMonitor.cc.

References beamSpotXYposerrH_, beamSpotXYposH_, beamSpotZposerrH_, beamSpotZposH_, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::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::dqmstoreimpl::DQMStore::IBooker::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_.

128  {
129  edm::ParameterSet TrackEtaHistoPar = parameters_.getParameter<edm::ParameterSet>("trackEtaH");
130  edm::ParameterSet TrackPtHistoPar = parameters_.getParameter<edm::ParameterSet>("trackPtH");
131 
132  std::string currentFolder = moduleName_ + "/" + folderName_;
133  iBook.setCurrentFolder(currentFolder);
134 
135  // The following are common with the official tool
136  if (haveAllHistograms_) {
137  if (!trackEtaH_)
138  trackEtaH_ = iBook.book1D("trackEta",
139  "Track Eta",
140  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
141  TrackEtaHistoPar.getParameter<double>("Xmin"),
142  TrackEtaHistoPar.getParameter<double>("Xmax"));
143  if (!trackEtaerrH_)
144  trackEtaerrH_ = iBook.book1D("trackEtaerr", "Track Eta Error", 50, 0.0, 1.0);
145  if (!trackCosThetaH_)
146  trackCosThetaH_ = iBook.book1D("trackCosTheta", "Track Cos(Theta)", 50, -1.0, 1.0);
147  if (!trackThetaerrH_)
148  trackThetaerrH_ = iBook.book1D("trackThetaerr", "Track Theta Error", 50, 0.0, 1.0);
149  if (!trackPhiH_)
150  trackPhiH_ = iBook.book1D("trackPhi", "Track Phi", 70, -3.5, 3.5);
151  if (!trackPhierrH_)
152  trackPhierrH_ = iBook.book1D("trackPhierr", "Track Phi Error", 50, 0.0, 1.0);
153 
154  if (!trackPH_)
155  trackPH_ = iBook.book1D("trackP", "Track 4-momentum", 50, 0.0, 10.0);
156  if (!trackPtH_)
157  trackPtH_ = iBook.book1D("trackPt",
158  "Track Pt",
159  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
160  TrackPtHistoPar.getParameter<double>("Xmin"),
161  TrackPtHistoPar.getParameter<double>("Xmax"));
162  if (!trackPtUpto2GeVH_)
163  trackPtUpto2GeVH_ = iBook.book1D("trackPtUpto2GeV", "Track Pt upto 2GeV", 100, 0, 2.0);
164  if (!trackPtOver10GeVH_)
165  trackPtOver10GeVH_ = iBook.book1D("trackPtOver10GeV", "Track Pt greater than 10 GeV", 100, 0, 100.0);
166  if (!trackPterrH_)
167  trackPterrH_ = iBook.book1D("trackPterr", "Track Pt Error", 100, 0.0, 100.0);
168  if (!trackqOverpH_)
169  trackqOverpH_ = iBook.book1D("trackqOverp", "q Over p", 40, -10.0, 10.0);
170  if (!trackqOverperrH_)
171  trackqOverperrH_ = iBook.book1D("trackqOverperr", "q Over p Error", 50, 0.0, 25.0);
172  if (!trackChargeH_)
173  trackChargeH_ = iBook.book1D("trackCharge", "Track Charge", 50, -5, 5);
174  if (!trackChi2H_)
175  trackChi2H_ = iBook.book1D("trackChi2", "Chi2", 100, 0.0, 100.0);
176  if (!tracknDOFH_)
177  tracknDOFH_ = iBook.book1D("tracknDOF", "nDOF", 100, 0.0, 100.0);
178  if (!trackd0H_)
179  trackd0H_ = iBook.book1D("trackd0", "Track d0", 100, -1, 1);
180  if (!trackChi2bynDOFH_)
181  trackChi2bynDOFH_ = iBook.book1D("trackChi2bynDOF", "Chi2 Over nDOF", 100, 0.0, 10.0);
182 
183  if (!nlostHitsH_)
184  nlostHitsH_ = iBook.book1D("nlostHits", "No. of Lost Hits", 10, 0.0, 10.0);
185  if (!nvalidTrackerHitsH_)
186  nvalidTrackerHitsH_ = iBook.book1D("nvalidTrackerhits", "No. of Valid Tracker Hits", 35, 0.0, 35.0);
187  if (!nvalidPixelHitsH_)
188  nvalidPixelHitsH_ = iBook.book1D("nvalidPixelHits", "No. of Valid Hits in Pixel", 10, 0.0, 10.0);
189  if (!nvalidStripHitsH_)
190  nvalidStripHitsH_ = iBook.book1D("nvalidStripHits", "No.of Valid Hits in Strip", 25, 0.0, 25.0);
191 
193  trkLayerwithMeasurementH_ = iBook.book1D("trkLayerwithMeasurement", "No. of Layers per Track", 25, 0.0, 25.0);
196  iBook.book1D("pixelLayerwithMeasurement", "No. of Pixel Layers per Track", 10, 0.0, 10.0);
199  iBook.book1D("stripLayerwithMeasurement", "No. of Strip Layers per Track", 20, 0.0, 20.0);
200 
201  if (!beamSpotXYposH_)
202  beamSpotXYposH_ = iBook.book1D("beamSpotXYpos", "XY position of beam spot", 40, -4.0, 4.0);
203  if (!beamSpotXYposerrH_)
204  beamSpotXYposerrH_ = iBook.book1D("beamSpotXYposerr", "Error in XY position of beam spot", 20, 0.0, 4.0);
205  if (!beamSpotZposH_)
206  beamSpotZposH_ = iBook.book1D("beamSpotZpos", "Z position of beam spot", 100, -20.0, 20.0);
207  if (!beamSpotZposerrH_)
208  beamSpotZposerrH_ = iBook.book1D("beamSpotZposerr", "Error in Z position of beam spot", 50, 0.0, 5.0);
209 
210  if (!vertexXposH_)
211  vertexXposH_ = iBook.book1D("vertexXpos", "Vertex X position", 50, -1.0, 1.0);
212  if (!vertexYposH_)
213  vertexYposH_ = iBook.book1D("vertexYpos", "Vertex Y position", 50, -1.0, 1.0);
214  if (!vertexZposH_)
215  vertexZposH_ = iBook.book1D("vertexZpos", "Vertex Z position", 100, -20.0, 20.0);
216  if (!nVertexH_)
217  nVertexH_ = iBook.book1D("nVertex", "# of vertices", 60, -0.5, 59.5);
218 
219  if (!nPixBarrelH_)
220  nPixBarrelH_ = iBook.book1D("nHitPixelBarrel", "No. of hits in Pixel Barrel per Track", 20, 0, 20.0);
221  if (!nPixEndcapH_)
222  nPixEndcapH_ = iBook.book1D("nHitPixelEndcap", "No. of hits in Pixel Endcap per Track", 20, 0, 20.0);
223  if (!nStripTIBH_)
224  nStripTIBH_ = iBook.book1D("nHitStripTIB", "No. of hits in Strip TIB per Track", 30, 0, 30.0);
225  if (!nStripTOBH_)
226  nStripTOBH_ = iBook.book1D("nHitStripTOB", "No. of hits in Strip TOB per Track", 30, 0, 30.0);
227  if (!nStripTECH_)
228  nStripTECH_ = iBook.book1D("nHitStripTEC", "No. of hits in Strip TEC per Track", 30, 0, 30.0);
229  if (!nStripTIDH_)
230  nStripTIDH_ = iBook.book1D("nHitStripTID", "No. of hits in Strip TID per Tracks", 30, 0, 30.0);
231 
232  if (!nTracksH_)
233  nTracksH_ = iBook.book1D("nTracks", "No. of Tracks", 100, -0.5, 999.5);
234  }
235  if (isMC_) {
236  if (!bunchCrossingH_)
237  bunchCrossingH_ = iBook.book1D("bunchCrossing", "Bunch Crosssing", 60, 0, 60.0);
238  if (!nPUH_)
239  nPUH_ = iBook.book1D("nPU", "No of Pileup", 60, 0, 60.0);
240  if (!trueNIntH_)
241  trueNIntH_ = iBook.book1D("trueNInt", "True no of Interactions", 60, 0, 60.0);
242  }
243  // Exclusive histograms
244  if (!nHitsVspTH_)
245  nHitsVspTH_ = iBook.bookProfile("nHitsVspT",
246  "Number of Hits Vs pT",
247  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
248  TrackPtHistoPar.getParameter<double>("Xmin"),
249  TrackPtHistoPar.getParameter<double>("Xmax"),
250  0.0,
251  0.0,
252  "g");
253  if (!nHitsVsnVtxH_)
254  nHitsVsnVtxH_ = iBook.bookProfile("nHitsVsnVtx", "Number of Hits Vs Number of Vertex", 100, 0.0, 50, 0.0, 0.0, "g");
255  if (!nHitsVsEtaH_)
256  nHitsVsEtaH_ = iBook.bookProfile("nHitsVsEta",
257  "Number of Hits Vs Eta",
258  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
259  TrackEtaHistoPar.getParameter<double>("Xmin"),
260  TrackEtaHistoPar.getParameter<double>("Xmax"),
261  0.0,
262  0.0,
263  "g");
264  if (!nHitsVsCosThetaH_)
266  iBook.bookProfile("nHitsVsCosTheta", "Number of Hits Vs Cos(Theta)", 50, -1.0, 1.0, 0.0, 0.0, "g");
267  if (!nHitsVsPhiH_)
268  nHitsVsPhiH_ = iBook.bookProfile("nHitsVsPhi", "Number of Hits Vs Phi", 100, -3.5, 3.5, 0.0, 0.0, "g");
269 
270  if (!nLostHitsVspTH_)
271  nLostHitsVspTH_ = iBook.bookProfile("nLostHitsVspT",
272  "Number of Lost Hits Vs pT",
273  TrackPtHistoPar.getParameter<int32_t>("Xbins"),
274  TrackPtHistoPar.getParameter<double>("Xmin"),
275  TrackPtHistoPar.getParameter<double>("Xmax"),
276  0.0,
277  0.0,
278  "g");
279  if (!nLostHitsVsEtaH_)
280  nLostHitsVsEtaH_ = iBook.bookProfile("nLostHitsVsEta",
281  "Number of Lost Hits Vs Eta",
282  TrackEtaHistoPar.getParameter<int32_t>("Xbins"),
283  TrackEtaHistoPar.getParameter<double>("Xmin"),
284  TrackEtaHistoPar.getParameter<double>("Xmax"),
285  0.0,
286  0.0,
287  "g");
290  iBook.bookProfile("nLostHitsVsCosTheta", "Number of Lost Hits Vs Cos(Theta)", 50, -1.0, 1.0, 0.0, 0.0, "g");
291  if (!nLostHitsVsPhiH_)
292  nLostHitsVsPhiH_ = iBook.bookProfile("nLostHitsVsPhi", "Number of Lost Hits Vs Phi", 100, -3.5, 3.5, 0.0, 0.0, "g");
293 
294  // On and off-track cluster properties
297  iBook.book1D("hOnTrkClusChargeThin", "On-track Cluster Charge (Thin Sensor)", 100, 0, 1000);
299  hOnTrkClusWidthThinH_ = iBook.book1D("hOnTrkClusWidthThin", "On-track Cluster Width (Thin Sensor)", 20, -0.5, 19.5);
302  iBook.book1D("hOnTrkClusChargeThick", "On-track Cluster Charge (Thick Sensor)", 100, 0, 1000);
305  iBook.book1D("hOnTrkClusWidthThick", "On-track Cluster Width (Thick Sensor)", 20, -0.5, 19.5);
306 
309  iBook.book1D("hOffTrkClusChargeThin", "Off-track Cluster Charge (Thin Sensor)", 100, 0, 1000);
312  iBook.book1D("hOffTrkClusWidthThin", "Off-track Cluster Width (Thin Sensor)", 20, -0.5, 19.5);
315  iBook.book1D("hOffTrkClusChargeThick", "Off-track Cluster Charge (Thick Sensor)", 100, 0, 1000);
318  iBook.book1D("hOffTrkClusWidthThick", "Off-track Cluster Width (Thick Sensor)", 20, -0.5, 19.5);
319 }
MonitorElement * pixelLayerwithMeasurementH_
MonitorElement * hOnTrkClusChargeThickH_
T getParameter(std::string const &) const
MonitorElement * hOnTrkClusChargeThinH_
MonitorElement * trackPtOver10GeVH_
MonitorElement * trackChi2bynDOFH_
MonitorElement * hOffTrkClusWidthThickH_
MonitorElement * stripLayerwithMeasurementH_
MonitorElement * hOnTrkClusWidthThinH_
MonitorElement * hOffTrkClusWidthThinH_
MonitorElement * hOffTrkClusChargeThinH_
MonitorElement * beamSpotXYposH_
MonitorElement * hOnTrkClusWidthThickH_
MonitorElement * trackqOverperrH_
MonitorElement * trackThetaerrH_
MonitorElement * nvalidStripHitsH_
MonitorElement * beamSpotZposerrH_
MonitorElement * nLostHitsVsCosThetaH_
MonitorElement * beamSpotXYposerrH_
MonitorElement * hOffTrkClusChargeThickH_
MonitorElement * trackCosThetaH_
MonitorElement * nvalidTrackerHitsH_
MonitorElement * nHitsVsCosThetaH_
MonitorElement * trkLayerwithMeasurementH_
MonitorElement * nvalidPixelHitsH_
MonitorElement * trackPtUpto2GeVH_
void StandaloneTrackMonitor::processClusters ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup,
const TrackerGeometry tkGeom,
double  wfac = 1 
)
protected

Definition at line 518 of file StandaloneTrackMonitor.cc.

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

Referenced by analyze().

521  {
522  // SiStripClusters
524  iEvent.getByToken(clusterToken_, clusterHandle);
525 
526  if (clusterHandle.isValid()) {
527  // Loop on Dets
528  for (edmNew::DetSetVector<SiStripCluster>::const_iterator dsvit = clusterHandle->begin();
529  dsvit != clusterHandle->end();
530  ++dsvit) {
531  uint32_t detId = dsvit->id();
532  std::map<uint32_t, std::set<const SiStripCluster*> >::iterator jt = clusterMap_.find(detId);
533  bool detid_found = (jt != clusterMap_.end()) ? true : false;
534 
535  // Loop on Clusters
536  for (edmNew::DetSet<SiStripCluster>::const_iterator clusit = dsvit->begin(); clusit != dsvit->end(); ++clusit) {
537  if (detid_found) {
538  std::set<const SiStripCluster*>& s = jt->second;
539  if (s.find(&*clusit) != s.end())
540  continue;
541  }
542 
543  SiStripClusterInfo info(*clusit, iSetup, detId);
544  float charge = info.charge();
545  float width = info.width();
546 
547  const GeomDetUnit* detUnit = tkGeom.idToDetUnit(detId);
548  float thickness = detUnit->surface().bounds().thickness(); // unit cm
549  if (thickness > 0.035) {
550  hOffTrkClusChargeThickH_->Fill(charge, wfac);
551  hOffTrkClusWidthThickH_->Fill(width, wfac);
552  } else {
553  hOffTrkClusChargeThinH_->Fill(charge, wfac);
554  hOffTrkClusWidthThinH_->Fill(width, wfac);
555  }
556  }
557  }
558  } else {
559  edm::LogError("StandaloneTrackMonitor") << "ClusterCollection " << clusterTag_ << " not valid!!" << std::endl;
560  }
561 }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
MonitorElement * hOffTrkClusWidthThickH_
const Bounds & bounds() const
Definition: Surface.h:89
data_type const * const_iterator
Definition: DetSetNew.h:31
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
MonitorElement * hOffTrkClusWidthThinH_
MonitorElement * hOffTrkClusChargeThinH_
void Fill(long long x)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
int iEvent
Definition: GenABIO.cc:224
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * hOffTrkClusChargeThickH_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const edm::InputTag clusterTag_
virtual float thickness() const =0
std::map< uint32_t, std::set< const SiStripCluster * > > clusterMap_
void StandaloneTrackMonitor::processHit ( const TrackingRecHit recHit,
edm::EventSetup const &  iSetup,
const TrackerGeometry tkGeom,
double  wfac = 1 
)
protected

Definition at line 562 of file StandaloneTrackMonitor.cc.

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

Referenced by analyze().

565  {
566  uint32_t detid = recHit.geographicalId();
567  const GeomDetUnit* detUnit = tkGeom.idToDetUnit(detid);
568  float thickness = detUnit->surface().bounds().thickness(); // unit cm
569 
570  auto const& thit = static_cast<BaseTrackerRecHit const&>(recHit);
571  if (!thit.isValid())
572  return;
573 
574  auto const& clus = thit.firstClusterRef();
575  if (!clus.isValid())
576  return;
577  if (!clus.isStrip())
578  return;
579 
580  if (thit.isMatched()) {
581  const SiStripMatchedRecHit2D& matchedHit = dynamic_cast<const SiStripMatchedRecHit2D&>(recHit);
582 
583  auto& clusterM = matchedHit.monoCluster();
584  SiStripClusterInfo infoM(clusterM, iSetup, detid);
585  if (thickness > 0.035) {
586  hOnTrkClusChargeThickH_->Fill(infoM.charge(), wfac);
587  hOnTrkClusWidthThickH_->Fill(infoM.width(), wfac);
588  } else {
589  hOnTrkClusChargeThinH_->Fill(infoM.charge(), wfac);
590  hOnTrkClusWidthThinH_->Fill(infoM.width(), wfac);
591  }
592  addClusterToMap(detid, &clusterM);
593 
594  auto& clusterS = matchedHit.stereoCluster();
595  SiStripClusterInfo infoS(clusterS, iSetup, detid);
596  if (thickness > 0.035) {
597  hOnTrkClusChargeThickH_->Fill(infoS.charge(), wfac);
598  hOnTrkClusWidthThickH_->Fill(infoS.width(), wfac);
599  } else {
600  hOnTrkClusChargeThinH_->Fill(infoS.charge(), wfac);
601  hOnTrkClusWidthThinH_->Fill(infoS.width(), wfac);
602  }
603  addClusterToMap(detid, &clusterS);
604  } else {
605  auto& cluster = clus.stripCluster();
606  SiStripClusterInfo info(cluster, iSetup, detid);
607  if (thickness > 0.035) {
608  hOnTrkClusChargeThickH_->Fill(info.charge(), wfac);
609  hOnTrkClusWidthThickH_->Fill(info.width(), wfac);
610  } else {
611  hOnTrkClusChargeThinH_->Fill(info.charge(), wfac);
612  hOnTrkClusWidthThinH_->Fill(info.width(), wfac);
613  }
614  addClusterToMap(detid, &cluster);
615  }
616 }
MonitorElement * hOnTrkClusChargeThickH_
MonitorElement * hOnTrkClusChargeThinH_
static const TGPicture * info(bool iBackgroundIsBlack)
SiStripCluster const & monoCluster() const
const Bounds & bounds() const
Definition: Surface.h:89
MonitorElement * hOnTrkClusWidthThinH_
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
void Fill(long long x)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
MonitorElement * hOnTrkClusWidthThickH_
void addClusterToMap(uint32_t detid, const SiStripCluster *cluster)
virtual float thickness() const =0
SiStripCluster const & stereoCluster() const
DetId geographicalId() const

Member Data Documentation

MonitorElement* StandaloneTrackMonitor::beamSpotXYposerrH_
private

Definition at line 98 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::beamSpotXYposH_
private

Definition at line 97 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::beamSpotZposerrH_
private

Definition at line 100 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::beamSpotZposH_
private

Definition at line 99 of file StandaloneTrackMonitor.h.

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

const edm::InputTag StandaloneTrackMonitor::bsTag_
private

Definition at line 53 of file StandaloneTrackMonitor.h.

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

Definition at line 58 of file StandaloneTrackMonitor.h.

Referenced by analyze().

MonitorElement* StandaloneTrackMonitor::bunchCrossingH_
private

Definition at line 116 of file StandaloneTrackMonitor.h.

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

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

Definition at line 144 of file StandaloneTrackMonitor.h.

Referenced by addClusterToMap(), and processClusters().

const edm::InputTag StandaloneTrackMonitor::clusterTag_
private

Definition at line 56 of file StandaloneTrackMonitor.h.

Referenced by processClusters().

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

Definition at line 61 of file StandaloneTrackMonitor.h.

Referenced by processClusters().

const bool StandaloneTrackMonitor::doPUCorrection_
private

Definition at line 64 of file StandaloneTrackMonitor.h.

Referenced by analyze(), and StandaloneTrackMonitor().

std::string StandaloneTrackMonitor::folderName_
private

Definition at line 51 of file StandaloneTrackMonitor.h.

Referenced by bookHistograms().

const bool StandaloneTrackMonitor::haveAllHistograms_
private

Definition at line 66 of file StandaloneTrackMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* StandaloneTrackMonitor::hOffTrkClusChargeThickH_
private
MonitorElement* StandaloneTrackMonitor::hOffTrkClusChargeThinH_
private
MonitorElement* StandaloneTrackMonitor::hOffTrkClusWidthThickH_
private
MonitorElement* StandaloneTrackMonitor::hOffTrkClusWidthThinH_
private
MonitorElement* StandaloneTrackMonitor::hOnTrkClusChargeThickH_
private

Definition at line 133 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::hOnTrkClusChargeThinH_
private

Definition at line 131 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::hOnTrkClusWidthThickH_
private

Definition at line 134 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::hOnTrkClusWidthThinH_
private

Definition at line 132 of file StandaloneTrackMonitor.h.

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

const bool StandaloneTrackMonitor::isMC_
private

Definition at line 65 of file StandaloneTrackMonitor.h.

Referenced by bookHistograms(), and StandaloneTrackMonitor().

unsigned long long StandaloneTrackMonitor::m_cacheID_
private

Definition at line 141 of file StandaloneTrackMonitor.h.

std::string StandaloneTrackMonitor::moduleName_
private

Definition at line 50 of file StandaloneTrackMonitor.h.

Referenced by bookHistograms().

MonitorElement* StandaloneTrackMonitor::nHitsVsCosThetaH_
private

Definition at line 124 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nHitsVsEtaH_
private

Definition at line 123 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nHitsVsnVtxH_
private

Definition at line 122 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nHitsVsPhiH_
private

Definition at line 125 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nHitsVspTH_
private

Definition at line 121 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nlostHitsH_
private

Definition at line 89 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nLostHitsVsCosThetaH_
private

Definition at line 128 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nLostHitsVsEtaH_
private

Definition at line 127 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nLostHitsVsPhiH_
private

Definition at line 129 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nLostHitsVspTH_
private

Definition at line 126 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nPixBarrelH_
private

Definition at line 107 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nPixEndcapH_
private

Definition at line 108 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nPUH_
private

Definition at line 117 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nStripTECH_
private

Definition at line 111 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nStripTIBH_
private

Definition at line 109 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nStripTIDH_
private

Definition at line 112 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nStripTOBH_
private

Definition at line 110 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nTracksH_
private

Definition at line 113 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nvalidPixelHitsH_
private

Definition at line 91 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nvalidStripHitsH_
private

Definition at line 92 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nvalidTrackerHitsH_
private

Definition at line 90 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::nVertexH_
private

Definition at line 105 of file StandaloneTrackMonitor.h.

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

edm::ParameterSet StandaloneTrackMonitor::parameters_
private
MonitorElement* StandaloneTrackMonitor::pixelLayerwithMeasurementH_
private

Definition at line 94 of file StandaloneTrackMonitor.h.

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

const std::string StandaloneTrackMonitor::puScaleFactorFile_
private

Definition at line 67 of file StandaloneTrackMonitor.h.

Referenced by StandaloneTrackMonitor().

const edm::InputTag StandaloneTrackMonitor::puSummaryTag_
private

Definition at line 55 of file StandaloneTrackMonitor.h.

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

Definition at line 60 of file StandaloneTrackMonitor.h.

Referenced by analyze().

MonitorElement* StandaloneTrackMonitor::stripLayerwithMeasurementH_
private

Definition at line 95 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackChargeH_
private

Definition at line 83 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackChi2bynDOFH_
private

Definition at line 87 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackChi2H_
private

Definition at line 84 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackCosThetaH_
private

Definition at line 72 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackd0H_
private

Definition at line 86 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackEtaerrH_
private

Definition at line 71 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackEtaH_
private

Definition at line 70 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::tracknDOFH_
private

Definition at line 85 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPH_
private

Definition at line 76 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPhierrH_
private

Definition at line 75 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPhiH_
private

Definition at line 74 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPterrH_
private

Definition at line 80 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPtH_
private

Definition at line 77 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPtOver10GeVH_
private

Definition at line 79 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackPtUpto2GeVH_
private

Definition at line 78 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackqOverperrH_
private

Definition at line 82 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trackqOverpH_
private

Definition at line 81 of file StandaloneTrackMonitor.h.

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

const std::string StandaloneTrackMonitor::trackQuality_
private

Definition at line 63 of file StandaloneTrackMonitor.h.

Referenced by analyze().

const edm::InputTag StandaloneTrackMonitor::trackTag_
private

Definition at line 52 of file StandaloneTrackMonitor.h.

Referenced by analyze().

MonitorElement* StandaloneTrackMonitor::trackThetaerrH_
private

Definition at line 73 of file StandaloneTrackMonitor.h.

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

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

Definition at line 57 of file StandaloneTrackMonitor.h.

Referenced by analyze().

MonitorElement* StandaloneTrackMonitor::trkLayerwithMeasurementH_
private

Definition at line 93 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::trueNIntH_
private

Definition at line 118 of file StandaloneTrackMonitor.h.

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

const bool StandaloneTrackMonitor::verbose_
private

Definition at line 68 of file StandaloneTrackMonitor.h.

Referenced by analyze().

const edm::InputTag StandaloneTrackMonitor::vertexTag_
private

Definition at line 54 of file StandaloneTrackMonitor.h.

Referenced by analyze().

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

Definition at line 59 of file StandaloneTrackMonitor.h.

Referenced by analyze().

MonitorElement* StandaloneTrackMonitor::vertexXposH_
private

Definition at line 102 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::vertexYposH_
private

Definition at line 103 of file StandaloneTrackMonitor.h.

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

MonitorElement* StandaloneTrackMonitor::vertexZposH_
private

Definition at line 104 of file StandaloneTrackMonitor.h.

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

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

Definition at line 143 of file StandaloneTrackMonitor.h.

Referenced by analyze(), and StandaloneTrackMonitor().