CMS 3D CMS Logo

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

#include <SegmentTrackAnalyzer.h>

Inheritance diagram for SegmentTrackAnalyzer:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 SegmentTrackAnalyzer (const edm::ParameterSet &)
 Constructor. More...
 
 ~SegmentTrackAnalyzer () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () 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
 
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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

MonitorElementcscTrackHitPercentualVsEta
 
MonitorElementcscTrackHitPercentualVsPhi
 
MonitorElementcscTrackHitPercentualVsPt
 
MonitorElementdtTrackHitPercentualVsEta
 
MonitorElementdtTrackHitPercentualVsPhi
 
MonitorElementdtTrackHitPercentualVsPt
 
int etaBin
 
double etaMax
 
double etaMin
 
MonitorElementhitsNotUsed
 
MonitorElementhitsNotUsedPercentual
 
MonitorElementhitStaProvenance
 
MonitorElementhitTkrProvenance
 
std::string metname
 
edm::ParameterSet parameters
 
int phiBin
 
double phiMax
 
double phiMin
 
int ptBin
 
double ptMax
 
double ptMin
 
edm::EDGetTokenT< reco::TrackCollectiontheMuTrackCollectionLabel_
 
SegmentsTrackAssociatortheSegmentsAssociator
 
MuonServiceProxytheService
 
std::string trackCollection
 
MonitorElementtrackHitPercentualVsEta
 
MonitorElementtrackHitPercentualVsPhi
 
MonitorElementtrackHitPercentualVsPt
 
MonitorElementTrackSegm
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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 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)
 

Detailed Description

DQM monitoring source for segments associated to the muon track

Author
G. Mila - INFN Torino

Definition at line 32 of file SegmentTrackAnalyzer.h.

Constructor & Destructor Documentation

SegmentTrackAnalyzer::SegmentTrackAnalyzer ( const edm::ParameterSet pSet)

Constructor.

Definition at line 27 of file SegmentTrackAnalyzer.cc.

References conversionPostprocessing_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, instance, diffTwoXMLs::label, MuonServiceProxy_cff::MuonServiceProxy, metProducer_cfi::parameters, conversionPostprocessing_cfi::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, electronConversionRejectionValidator::ptBin, AlignmentTrackSelector_cfi::ptMax, ALCARECOTkAlBeamHalo_cff::ptMin, and findElectronsInSiStrips_cfi::trackCollection.

27  {
28  parameters = pSet;
29 
30  // MuonService
31  theService = new MuonServiceProxy(parameters.getParameter<ParameterSet>("ServiceParameters"));
32 
33  // Read Data:
34  theMuTrackCollectionLabel_ = consumes<reco::TrackCollection>(parameters.getParameter<edm::InputTag>("MuTrackCollection"));
35 
36  // SegmentTrackAssociatior Parameters
37  const ParameterSet SegmentsTrackAssociatorParameters = parameters.getParameter<ParameterSet>("SegmentsTrackAssociatorParameters");
38 
40  theSegmentsAssociator = new SegmentsTrackAssociator(SegmentsTrackAssociatorParameters,iC);
41 
42  trackCollection = parameters.getParameter<edm::InputTag>("MuTrackCollection").label() + parameters.getParameter<edm::InputTag>("MuTrackCollection").instance();
43 
44  etaBin = parameters.getParameter<int>("etaBin");
45  etaMin = parameters.getParameter<double>("etaMin");
46  etaMax = parameters.getParameter<double>("etaMax");
47  phiBin = parameters.getParameter<int>("phiBin");
48  phiMin = parameters.getParameter<double>("phiMin");
49  phiMax = parameters.getParameter<double>("phiMax");
50  ptBin = parameters.getParameter<int>("ptBin");
51  ptMin = parameters.getParameter<double>("ptMin");
52  ptMax = parameters.getParameter<double>("ptMax");
53 }
T getParameter(std::string const &) const
static PFTauRenderPlugin instance
SegmentsTrackAssociator * theSegmentsAssociator
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
MuonServiceProxy * theService
edm::EDGetTokenT< reco::TrackCollection > theMuTrackCollectionLabel_
edm::ParameterSet parameters
SegmentTrackAnalyzer::~SegmentTrackAnalyzer ( )
inlineoverride

Destructor.

Definition at line 39 of file SegmentTrackAnalyzer.h.

References analyze(), bookHistograms(), theSegmentsAssociator, and theService.

39  {
40  delete theService;
41  delete theSegmentsAssociator;
42  };
SegmentsTrackAssociator * theSegmentsAssociator
MuonServiceProxy * theService

Member Function Documentation

void SegmentTrackAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 110 of file SegmentTrackAnalyzer.cc.

References gather_cfg::cout, MuonSubdetId::CSC, MuonSubdetId::DT, edm::Event::getByToken(), DetId::Muon, DTRecSegment4D::phiSegment(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, rpcPointValidation_cfi::recHit, MuonSubdetId::RPC, findQualityFiles::size, DTRecSegment2D::specificRecHits(), SiStripDetId::TEC, SiStripDetId::TIB, SiStripDetId::TID, SiStripDetId::TOB, and DetId::Tracker.

Referenced by ~SegmentTrackAnalyzer().

110  {
111  theService->update(iSetup);
112 
114  iEvent.getByToken(theMuTrackCollectionLabel_,glbTracks);
115 
116  for (reco::TrackCollection::const_iterator recoTrack = glbTracks->begin(); recoTrack!=glbTracks->end(); ++recoTrack){
118 
119 #ifdef DEBUG
120  cout << "[SegmentTrackAnalyzer] # of segments associated to the track: "<<(segments).size() <<endl;
121 #endif
122 
123  // hit counters
124  int hitsFromDt=0;
125  int hitsFromCsc=0;
126  int hitsFromRpc=0;
127  int hitsFromTk=0;
128  int hitsFromTrack=0;
129  int hitsFromSegmDt=0;
130  int hitsFromSegmCsc=0;
131  // segment counters
132  int segmFromDt=0;
133  int segmFromCsc=0;
134 
135  for (MuonTransientTrackingRecHit::MuonRecHitContainer::const_iterator segment=segments.begin();
136  segment!=segments.end(); segment++) {
137 
138  DetId id = (*segment)->geographicalId();
139 
140  // hits from DT segments
141  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::DT ) {
142  ++segmFromDt;
143  const DTRecSegment4D *seg4D = dynamic_cast<const DTRecSegment4D*>((*segment)->hit());
144  if((*seg4D).hasPhi())
145  hitsFromSegmDt+=(*seg4D).phiSegment()->specificRecHits().size();
146  if((*seg4D).hasZed())
147  hitsFromSegmDt+=(*seg4D).zSegment()->specificRecHits().size();
148 
149  }
150 
151  // hits from CSC segments
152  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::CSC ) {
153  hitsFromSegmCsc+=(*segment)->recHits().size();
154  segmFromCsc++;
155  }
156 
157  }
158 
159 
160  // hits from track
161  for(trackingRecHit_iterator recHit = recoTrack->recHitsBegin(); recHit != recoTrack->recHitsEnd(); ++recHit){
162 
163  hitsFromTrack++;
164  DetId id = (*recHit)->geographicalId();
165  // hits from DT
166  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::DT )
167  hitsFromDt++;
168  // hits from CSC
169  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::CSC )
170  hitsFromCsc++;
171  // hits from RPC
172  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::RPC )
173  hitsFromRpc++;
174  // hits from Tracker
175  if (id.det() == DetId::Tracker){
176  hitsFromTk++;
177  if(id.subdetId() == PixelSubdetector::PixelBarrel )
179  if(id.subdetId() == PixelSubdetector::PixelEndcap )
181  if(id.subdetId() == SiStripDetId::TIB )
183  if(id.subdetId() == SiStripDetId::TID )
185  if(id.subdetId() == SiStripDetId::TOB )
187  if(id.subdetId() == SiStripDetId::TEC )
189  }
190 
191  }
192 
193  // fill the histos
194  hitsNotUsed->Fill(hitsFromSegmDt+hitsFromSegmCsc+hitsFromRpc+hitsFromTk-hitsFromTrack);
195  hitsNotUsedPercentual->Fill(double(hitsFromSegmDt+hitsFromSegmCsc+hitsFromRpc+hitsFromTk-hitsFromTrack)/hitsFromTrack);
196 
197  if(hitsFromDt!=0 && hitsFromCsc!=0)
198  TrackSegm->Fill(1,segmFromDt+segmFromCsc);
199  if(hitsFromDt!=0 && hitsFromCsc==0)
200  TrackSegm->Fill(2,segmFromDt);
201  if(hitsFromDt==0 && hitsFromCsc!=0)
202  TrackSegm->Fill(3,segmFromCsc);
203 
204  if(hitsFromDt!=0 && hitsFromCsc==0 && hitsFromRpc==0) hitStaProvenance->Fill(1);
205  if(hitsFromCsc!=0 && hitsFromDt==0 && hitsFromRpc==0) hitStaProvenance->Fill(2);
206  if(hitsFromRpc!=0 && hitsFromDt==0 && hitsFromCsc==0) hitStaProvenance->Fill(3);
207  if(hitsFromDt!=0 && hitsFromCsc!=0 && hitsFromRpc==0) hitStaProvenance->Fill(4);
208  if(hitsFromDt!=0 && hitsFromRpc!=0 && hitsFromCsc==0) hitStaProvenance->Fill(5);
209  if(hitsFromCsc!=0 && hitsFromRpc!=0 && hitsFromDt==0) hitStaProvenance->Fill(6);
210  if(hitsFromDt!=0 && hitsFromCsc!=0 && hitsFromRpc!=0) hitStaProvenance->Fill(7);
211 
212  if(hitsFromSegmDt+hitsFromSegmCsc !=0){
213  trackHitPercentualVsEta->Fill(recoTrack->eta(), double(hitsFromDt+hitsFromCsc)/(hitsFromSegmDt+hitsFromSegmCsc));
214  trackHitPercentualVsPhi->Fill(recoTrack->phi(), double(hitsFromDt+hitsFromCsc)/(hitsFromSegmDt+hitsFromSegmCsc));
215  trackHitPercentualVsPt->Fill(recoTrack->pt(), double(hitsFromDt+hitsFromCsc)/(hitsFromSegmDt+hitsFromSegmCsc));
216  }
217 
218  if(hitsFromSegmDt!=0){
219  dtTrackHitPercentualVsEta->Fill(recoTrack->eta(), double(hitsFromDt)/hitsFromSegmDt);
220  dtTrackHitPercentualVsPhi->Fill(recoTrack->phi(), double(hitsFromDt)/hitsFromSegmDt);
221  dtTrackHitPercentualVsPt->Fill(recoTrack->pt(), double(hitsFromDt)/hitsFromSegmDt);
222  }
223 
224  if(hitsFromSegmCsc!=0){
225  cscTrackHitPercentualVsEta->Fill(recoTrack->eta(), double(hitsFromCsc)/hitsFromSegmCsc);
226  cscTrackHitPercentualVsPhi->Fill(recoTrack->phi(), double(hitsFromCsc)/hitsFromSegmCsc);
227  cscTrackHitPercentualVsPt->Fill(recoTrack->pt(), double(hitsFromCsc)/hitsFromSegmCsc);
228  }
229  }
230 
231 }
size
Write out results.
MonitorElement * trackHitPercentualVsPt
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:508
const DTChamberRecSegment2D * phiSegment() const
The superPhi segment: 0 if no phi projection available.
SegmentsTrackAssociator * theSegmentsAssociator
MonitorElement * cscTrackHitPercentualVsPhi
void Fill(long long x)
static const int CSC
Definition: MuonSubdetId.h:13
MonitorElement * hitTkrProvenance
MuonServiceProxy * theService
MuonTransientTrackingRecHit::MuonRecHitContainer associate(const edm::Event &, const edm::EventSetup &, const reco::Track &)
Get the analysis.
MonitorElement * trackHitPercentualVsPhi
std::vector< DTRecHit1D > specificRecHits() const
Access to specific components.
Definition: DetId.h:18
MonitorElement * TrackSegm
MonitorElement * cscTrackHitPercentualVsPt
edm::EDGetTokenT< reco::TrackCollection > theMuTrackCollectionLabel_
static const int RPC
Definition: MuonSubdetId.h:14
MonitorElement * dtTrackHitPercentualVsPhi
MonitorElement * hitsNotUsedPercentual
static const int DT
Definition: MuonSubdetId.h:12
MonitorElement * cscTrackHitPercentualVsEta
MonitorElement * dtTrackHitPercentualVsEta
MonitorElement * hitsNotUsed
MonitorElement * dtTrackHitPercentualVsPt
MonitorElement * trackHitPercentualVsEta
std::vector< MuonRecHitPointer > MuonRecHitContainer
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
MonitorElement * hitStaProvenance
void SegmentTrackAnalyzer::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 54 of file SegmentTrackAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::cd(), conversionPostprocessing_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, conversionPostprocessing_cfi::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, electronConversionRejectionValidator::ptBin, AlignmentTrackSelector_cfi::ptMax, ALCARECOTkAlBeamHalo_cff::ptMin, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), and findElectronsInSiStrips_cfi::trackCollection.

Referenced by ~SegmentTrackAnalyzer().

56  {
57  ibooker.cd();
58  ibooker.setCurrentFolder("Muons/SegmentTrackAnalyzer");
59 
60 
61  // histograms initalization
62  hitsNotUsed = ibooker.book1D("HitsNotUsedForGlobalTracking_"+trackCollection, "recHits not used for GLB ["+trackCollection+"]", 50, -0.5, 49.5);
63  hitsNotUsedPercentual = ibooker.book1D("HitsNotUsedForGlobalTrackingDvHitUsed_"+trackCollection, "(recHits_{notUsedForGLB}) / (recHits_{GLB}) ["+trackCollection+"]", 100, 0, 1.);
64 
65  TrackSegm = ibooker.book2D("trackSegments_"+trackCollection, "Number of segments associated to the track ["+trackCollection+"]", 3, 0.5, 3.5, 8, 0, 8);
66  TrackSegm->setBinLabel(1,"DT+CSC",1);
67  TrackSegm->setBinLabel(2,"DT",1);
68  TrackSegm->setBinLabel(3,"CSC",1);
69 
70  hitStaProvenance = ibooker.book1D("trackHitStaProvenance_"+trackCollection, "Number of recHits_{STAinTrack} ["+trackCollection+"]", 7, 0.5, 7.5);
72  hitStaProvenance->setBinLabel(2,"CSC");
73  hitStaProvenance->setBinLabel(3,"RPC");
74  hitStaProvenance->setBinLabel(4,"DT+CSC");
75  hitStaProvenance->setBinLabel(5,"DT+RPC");
76  hitStaProvenance->setBinLabel(6,"CSC+RPC");
77  hitStaProvenance->setBinLabel(7,"DT+CSC+RPC");
78 
79 
80  if(trackCollection!="standAloneMuons"){
81  hitTkrProvenance = ibooker.book1D("trackHitTkrProvenance_"+trackCollection, "Number of recHits_{TKinTrack} ["+trackCollection+"]", 6, 0.5, 6.5);
82  hitTkrProvenance->setBinLabel(1,"PixBarrel");
83  hitTkrProvenance->setBinLabel(2,"PixEndCap");
84  hitTkrProvenance->setBinLabel(3,"TIB");
85  hitTkrProvenance->setBinLabel(4,"TID");
86  hitTkrProvenance->setBinLabel(5,"TOB");
87  hitTkrProvenance->setBinLabel(6,"TEC");
88  }
89 
90  trackHitPercentualVsEta = ibooker.book2D("trackHitDivtrackSegmHitVsEta_"+trackCollection, "(recHits_{Track} / recHits_{associatedSegm}) vs #eta [" +trackCollection+"]", etaBin, etaMin, etaMax, 20, 0, 1);
91  dtTrackHitPercentualVsEta = ibooker.book2D("dtTrackHitDivtrackSegmHitVsEta_"+trackCollection, "(recHits_{DTinTrack} / recHits_{associatedSegm}) vs #eta [" +trackCollection+"]", etaBin, etaMin, etaMax, 20, 0, 1);
92  cscTrackHitPercentualVsEta = ibooker.book2D("cscTrackHitDivtrackSegmHitVsEta_"+trackCollection, "(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs #eta [" +trackCollection+"]", etaBin, etaMin, etaMax, 20, 0, 1);
93 
94  trackHitPercentualVsPhi = ibooker.book2D("trackHitDivtrackSegmHitVsPhi_"+trackCollection, "(recHits_{Track} / recHits_{associatedSegm}) vs #phi [" +trackCollection+"]", phiBin, phiMin, phiMax, 20, 0, 1);
96  dtTrackHitPercentualVsPhi = ibooker.book2D("dtTrackHitDivtrackSegmHitVsPhi_"+trackCollection, "(recHits_{DTinTrack} / recHits_{associatedSegm}) vs #phi [" +trackCollection+"]", phiBin, phiMin, phiMax, 20, 0, 1);
98  cscTrackHitPercentualVsPhi = ibooker.book2D("cscTrackHitDivtrackSegmHitVsPhi_"+trackCollection, "(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs #phi [" +trackCollection+"]", phiBin, phiMin, phiMax, 20, 0, 1);
100 
101  trackHitPercentualVsPt = ibooker.book2D("trackHitDivtrackSegmHitVsPt_"+trackCollection, "(recHits_{Track} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+"]", ptBin, ptMin, ptMax, 20, 0, 1);
103  dtTrackHitPercentualVsPt = ibooker.book2D("dtTrackHitDivtrackSegmHitVsPt_"+trackCollection, "(recHits_{DTinTrack} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+"]", ptBin, ptMin, ptMax, 20, 0, 1);
105  cscTrackHitPercentualVsPt = ibooker.book2D("cscTrackHitDivtrackSegmHitVsPt_"+trackCollection, "(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+"]", ptBin, ptMin, ptMax, 20, 0, 1);
107 }
MonitorElement * trackHitPercentualVsPt
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * cscTrackHitPercentualVsPhi
MonitorElement * hitTkrProvenance
MonitorElement * trackHitPercentualVsPhi
MonitorElement * TrackSegm
MonitorElement * cscTrackHitPercentualVsPt
MonitorElement * dtTrackHitPercentualVsPhi
MonitorElement * hitsNotUsedPercentual
MonitorElement * cscTrackHitPercentualVsEta
MonitorElement * dtTrackHitPercentualVsEta
MonitorElement * hitsNotUsed
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * dtTrackHitPercentualVsPt
MonitorElement * trackHitPercentualVsEta
MonitorElement * hitStaProvenance

Member Data Documentation

MonitorElement* SegmentTrackAnalyzer::cscTrackHitPercentualVsEta
private

Definition at line 81 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::cscTrackHitPercentualVsPhi
private

Definition at line 82 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::cscTrackHitPercentualVsPt
private

Definition at line 83 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::dtTrackHitPercentualVsEta
private

Definition at line 78 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::dtTrackHitPercentualVsPhi
private

Definition at line 79 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::dtTrackHitPercentualVsPt
private

Definition at line 80 of file SegmentTrackAnalyzer.h.

int SegmentTrackAnalyzer::etaBin
private

Definition at line 59 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::etaMax
private

Definition at line 61 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::etaMin
private

Definition at line 60 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::hitsNotUsed
private

Definition at line 70 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::hitsNotUsedPercentual
private

Definition at line 71 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::hitStaProvenance
private

Definition at line 73 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::hitTkrProvenance
private

Definition at line 74 of file SegmentTrackAnalyzer.h.

std::string SegmentTrackAnalyzer::metname
private

Definition at line 54 of file SegmentTrackAnalyzer.h.

edm::ParameterSet SegmentTrackAnalyzer::parameters
private
int SegmentTrackAnalyzer::phiBin
private

Definition at line 62 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::phiMax
private

Definition at line 64 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::phiMin
private

Definition at line 63 of file SegmentTrackAnalyzer.h.

int SegmentTrackAnalyzer::ptBin
private

Definition at line 65 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::ptMax
private

Definition at line 67 of file SegmentTrackAnalyzer.h.

double SegmentTrackAnalyzer::ptMin
private

Definition at line 66 of file SegmentTrackAnalyzer.h.

edm::EDGetTokenT<reco::TrackCollection> SegmentTrackAnalyzer::theMuTrackCollectionLabel_
private

Definition at line 51 of file SegmentTrackAnalyzer.h.

SegmentsTrackAssociator* SegmentTrackAnalyzer::theSegmentsAssociator
private

Definition at line 57 of file SegmentTrackAnalyzer.h.

Referenced by ~SegmentTrackAnalyzer().

MuonServiceProxy* SegmentTrackAnalyzer::theService
private

Definition at line 49 of file SegmentTrackAnalyzer.h.

Referenced by ~SegmentTrackAnalyzer().

std::string SegmentTrackAnalyzer::trackCollection
private

Definition at line 55 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::trackHitPercentualVsEta
private

Definition at line 75 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::trackHitPercentualVsPhi
private

Definition at line 76 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::trackHitPercentualVsPt
private

Definition at line 77 of file SegmentTrackAnalyzer.h.

MonitorElement* SegmentTrackAnalyzer::TrackSegm
private

Definition at line 72 of file SegmentTrackAnalyzer.h.