54 hitsNotUsed = dbe->
book1D(
"HitsNotUsedForGlobalTracking_"+trackCollection,
"recHits not used for GLB ["+trackCollection+
"]", 50, -0.5, 49.5);
55 hitsNotUsedPercentual = dbe->
book1D(
"HitsNotUsedForGlobalTrackingDvHitUsed_"+trackCollection,
"(recHits_{notUsedForGLB}) / (recHits_{GLB}) ["+trackCollection+
"]", 100, 0, 1.);
57 TrackSegm = dbe->
book2D(
"trackSegments_"+trackCollection,
"Number of segments associated to the track ["+trackCollection+
"]", 3, 0.5, 3.5, 8, 0, 8);
62 hitStaProvenance = dbe->
book1D(
"trackHitStaProvenance_"+trackCollection,
"Number of recHits_{STAinTrack} ["+trackCollection+
"]", 7, 0.5, 7.5);
72 if(trackCollection!=
"standAloneMuons"){
73 hitTkrProvenance = dbe->
book1D(
"trackHitTkrProvenance_"+trackCollection,
"Number of recHits_{TKinTrack} ["+trackCollection+
"]", 6, 0.5, 6.5);
85 trackHitPercentualVsEta = dbe->
book2D(
"trackHitDivtrackSegmHitVsEta_"+trackCollection,
"(recHits_{Track} / recHits_{associatedSegm}) vs #eta [" +trackCollection+
"]", etaBin, etaMin, etaMax, 20, 0, 1);
86 dtTrackHitPercentualVsEta = dbe->
book2D(
"dtTrackHitDivtrackSegmHitVsEta_"+trackCollection,
"(recHits_{DTinTrack} / recHits_{associatedSegm}) vs #eta [" +trackCollection+
"]", etaBin, etaMin, etaMax, 20, 0, 1);
87 cscTrackHitPercentualVsEta = dbe->
book2D(
"cscTrackHitDivtrackSegmHitVsEta_"+trackCollection,
"(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs #eta [" +trackCollection+
"]", etaBin, etaMin, etaMax, 20, 0, 1);
92 trackHitPercentualVsPhi = dbe->
book2D(
"trackHitDivtrackSegmHitVsPhi_"+trackCollection,
"(recHits_{Track} / recHits_{associatedSegm}) vs #phi [" +trackCollection+
"]", phiBin, phiMin, phiMax, 20, 0, 1);
94 dtTrackHitPercentualVsPhi = dbe->
book2D(
"dtTrackHitDivtrackSegmHitVsPhi_"+trackCollection,
"(recHits_{DTinTrack} / recHits_{associatedSegm}) vs #phi [" +trackCollection+
"]", phiBin, phiMin, phiMax, 20, 0, 1);
96 cscTrackHitPercentualVsPhi = dbe->
book2D(
"cscTrackHitDivtrackSegmHitVsPhi_"+trackCollection,
"(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs #phi [" +trackCollection+
"]", phiBin, phiMin, phiMax, 20, 0, 1);
102 trackHitPercentualVsPt = dbe->
book2D(
"trackHitDivtrackSegmHitVsPt_"+trackCollection,
"(recHits_{Track} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+
"]", ptBin, ptMin, ptMax, 20, 0, 1);
104 dtTrackHitPercentualVsPt = dbe->
book2D(
"dtTrackHitDivtrackSegmHitVsPt_"+trackCollection,
"(recHits_{DTinTrack} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+
"]", ptBin, ptMin, ptMax, 20, 0, 1);
106 cscTrackHitPercentualVsPt = dbe->
book2D(
"cscTrackHitDivtrackSegmHitVsPt_"+trackCollection,
"(recHits_{CSCinTrack} / recHits_{associatedSegm}) vs 1/p_{t} [" +trackCollection+
"]", ptBin, ptMin, ptMax, 20, 0, 1);
118 LogTrace(
metname)<<
"[SegmentTrackAnalyzer] # of segments associated to the track: "<<(segments).
size();
126 int hitsFromSegmDt=0;
127 int hitsFromSegmCsc=0;
132 for (MuonTransientTrackingRecHit::MuonRecHitContainer::const_iterator segment=segments.begin();
133 segment!=segments.end(); segment++) {
135 DetId id = (*segment)->geographicalId();
141 if((*seg4D).hasPhi())
143 if((*seg4D).hasZed())
144 hitsFromSegmDt+=(*seg4D).zSegment()->specificRecHits().size();
150 hitsFromSegmCsc+=(*segment)->recHits().size();
161 DetId id = (*recHit)->geographicalId();
191 hitsNotUsed->
Fill(hitsFromSegmDt+hitsFromSegmCsc+hitsFromRpc+hitsFromTk-hitsFromTrack);
194 if(hitsFromDt!=0 && hitsFromCsc!=0)
196 if(hitsFromDt!=0 && hitsFromCsc==0)
198 if(hitsFromDt==0 && hitsFromCsc!=0)
209 if(hitsFromSegmDt+hitsFromSegmCsc !=0){
215 if(hitsFromSegmDt!=0){
221 if(hitsFromSegmCsc!=0){
T getParameter(std::string const &) const
MonitorElement * trackHitPercentualVsPt
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void analyze(const edm::Event &, const edm::EventSetup &, const reco::Track &recoTrack)
Get the analysis.
static PFTauRenderPlugin instance
const DTChamberRecSegment2D * phiSegment() const
The superPhi segment: 0 if no phi projection available.
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)
double phi() const
azimuthal angle of momentum vector
SegmentsTrackAssociator * theSegmentsAssociator
MonitorElement * cscTrackHitPercentualVsPhi
double eta() const
pseudorapidity of momentum vector
virtual ~SegmentTrackAnalyzer()
Destructor.
double pt() const
track transverse momentum
MonitorElement * hitTkrProvenance
MuonTransientTrackingRecHit::MuonRecHitContainer associate(const edm::Event &, const edm::EventSetup &, const reco::Track &)
Get the analysis.
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
MonitorElement * trackHitPercentualVsPhi
std::vector< DTRecHit1D > specificRecHits() const
Access to specific components.
MonitorElement * TrackSegm
MonitorElement * cscTrackHitPercentualVsPt
void beginJob(DQMStore *dbe)
Inizialize parameters for histo binning.
edm::ParameterSet parameters
MonitorElement * dtTrackHitPercentualVsPhi
MonitorElement * hitsNotUsedPercentual
SegmentTrackAnalyzer(const edm::ParameterSet &, MuonServiceProxy *theService)
Constructor.
MonitorElement * cscTrackHitPercentualVsEta
MonitorElement * dtTrackHitPercentualVsEta
MonitorElement * hitsNotUsed
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
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
std::vector< MuonRecHitPointer > MuonRecHitContainer
tuple size
Write out results.
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hitStaProvenance
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.