CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
TrackAnalyzer Class Reference

#include <TrackAnalyzer.h>

Classes

struct  TkParameterMEs
 
struct  TkRecHitsPerSubDetMEs
 

Public Member Functions

virtual void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
 
void doReset ()
 
void doSoftReset (DQMStore *dqmStore_)
 
virtual void initHisto (DQMStore::IBooker &ibooker)
 
void setLumiFlag ()
 
 TrackAnalyzer (const edm::ParameterSet &)
 
 TrackAnalyzer (const edm::ParameterSet &, edm::ConsumesCollector &iC)
 
void undoSoftReset (DQMStore *dqmStore_)
 
virtual ~TrackAnalyzer ()
 

Private Member Functions

void bookHistosForBeamSpot (DQMStore::IBooker &ibooker)
 
void bookHistosForHitProperties (DQMStore::IBooker &ibooker)
 
void bookHistosForLScertification (DQMStore::IBooker &ibooker)
 
void bookHistosForState (std::string sname, DQMStore::IBooker &ibooker)
 
void bookHistosForTrackerSpecific (DQMStore::IBooker &ibooker)
 
void fillHistosForHitProperties (const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
 
void fillHistosForLScertification (const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
 
void fillHistosForState (const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
 
void fillHistosForTrackerSpecific (const reco::Track &track)
 
void initHistos ()
 

Private Attributes

MonitorElementalgorithm
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
MonitorElementChi2
 
MonitorElementChi2oNDF
 
MonitorElementChi2oNDF_lumiFlag
 
MonitorElementChi2oNDFVsEta
 
MonitorElementChi2oNDFVsPhi
 
MonitorElementChi2oNDFVsTheta
 
MonitorElementChi2Prob
 
MonitorElementChi2ProbVsEta
 
MonitorElementChi2ProbVsPhi
 
MonitorElementChi2ProbVsTheta
 
edm::ParameterSet conf_
 
MonitorElementDistanceOfClosestApproach
 
MonitorElementDistanceOfClosestApproachToBS
 
MonitorElementDistanceOfClosestApproachToBSVsPhi
 
MonitorElementDistanceOfClosestApproachToPV
 
MonitorElementDistanceOfClosestApproachToPVVsPhi
 
MonitorElementDistanceOfClosestApproachVsEta
 
MonitorElementDistanceOfClosestApproachVsPhi
 
MonitorElementDistanceOfClosestApproachVsTheta
 
MonitorElementdNdEta_HighPurity
 
MonitorElementdNdPhi_HighPurity
 
MonitorElementdNdPt_HighPurity
 
bool doAllPlots_
 
bool doBSPlots_
 
bool doDCAPlots_
 
bool doDCAwrt000Plots_
 
bool doDCAwrtPVPlots_
 
bool doGeneralPropertiesPlots_
 
bool doHIPlots_
 
bool doHitPropertiesPlots_
 
bool doLayersVsPhiVsEtaPerTrack_
 
bool doLumiAnalysis_
 
bool doMeasurementStatePlots_
 
bool doPVPlots_
 
bool doRecHitsPerTrackProfile_
 
bool doRecHitVsPhiVsEtaPerTrack_
 
bool doSIPPlots_
 
bool doTestPlots_
 
bool doThetaPlots_
 
bool doTrack2DChi2Plots_
 
bool doTrackerSpecific_
 
bool doTrackLayersVsPhiVsEtaPerTrack_
 
bool doTrackPxPyPlots_
 
bool doTrackRecHitVsPhiVsEtaPerTrack_
 
std::string histname
 
MonitorElementLongDCASig
 
MonitorElementNhitVsEta_HighPurity
 
MonitorElementNhitVsPhi_HighPurity
 
MonitorElementNumberOfLayersPerTrack
 
MonitorElementNumberOfLayersPerTrackVsEta
 
MonitorElementNumberOfLayersPerTrackVsPhi
 
MonitorElementNumberOfLayersPerTrackVsTheta
 
MonitorElementNumberOfLayersVsPhiVsEtaPerTrack
 
MonitorElementNumberOfLostRecHitsPerTrack
 
MonitorElementNumberOfRecHitsPerTrack
 
MonitorElementNumberOfRecHitsPerTrack_lumiFlag
 
MonitorElementNumberOfRecHitsPerTrackVsEta
 
MonitorElementNumberOfRecHitsPerTrackVsPhi
 
MonitorElementNumberOfRecHitsPerTrackVsTheta
 
MonitorElementNumberOfRecHitVsPhiVsEtaPerTrack
 
MonitorElementNumberOfValidRecHitsPerTrack
 
MonitorElementNumberOfValidRecHitsPerTrackVsEta
 
MonitorElementNumberOfValidRecHitsPerTrackVsPhi
 
MonitorElementNumberOfValidRecHitsPerTrackVsTheta
 
MonitorElementNumberOfValidRecHitVsPhiVsEtaPerTrack
 
edm::EDGetTokenT
< reco::VertexCollection
pvToken_
 
std::string qualityString_
 
MonitorElementsip2dToPV
 
MonitorElementsip3dToPV
 
MonitorElementsipDxyToBS
 
MonitorElementsipDxyToPV
 
MonitorElementsipDzToBS
 
MonitorElementsipDzToPV
 
MonitorElementTESTDistanceOfClosestApproachToBS
 
MonitorElementTESTDistanceOfClosestApproachToBSVsPhi
 
std::map< std::string,
TkParameterMEs
TkParameterMEMap
 
std::map< std::string,
TkRecHitsPerSubDetMEs
TkRecHitsPerSubDetMEMap
 
std::string TopFolder_
 
MonitorElementTransDCASig
 
MonitorElementxPointOfClosestApproach
 
MonitorElementxPointOfClosestApproachToPV
 
MonitorElementxPointOfClosestApproachVsZ0wrt000
 
MonitorElementxPointOfClosestApproachVsZ0wrtBS
 
MonitorElementxPointOfClosestApproachVsZ0wrtPV
 
MonitorElementyPointOfClosestApproach
 
MonitorElementyPointOfClosestApproachToPV
 
MonitorElementyPointOfClosestApproachVsZ0wrt000
 
MonitorElementyPointOfClosestApproachVsZ0wrtBS
 
MonitorElementyPointOfClosestApproachVsZ0wrtPV
 
MonitorElementzPointOfClosestApproach
 
MonitorElementzPointOfClosestApproachToPV
 
MonitorElementzPointOfClosestApproachVsPhi
 

Detailed Description

Definition at line 31 of file TrackAnalyzer.h.

Constructor & Destructor Documentation

TrackAnalyzer::TrackAnalyzer ( const edm::ParameterSet iConfig)

Definition at line 22 of file TrackAnalyzer.cc.

References conf_, edm::ParameterSet::getParameter(), initHistos(), AlCaHLTBitMon_QueryRunRegistry::string, and TopFolder_.

23  : conf_( iConfig )
24  , doTrackerSpecific_ ( conf_.getParameter<bool>("doTrackerSpecific") )
25  , doAllPlots_ ( conf_.getParameter<bool>("doAllPlots") )
26  , doBSPlots_ ( conf_.getParameter<bool>("doBeamSpotPlots") )
27  , doPVPlots_ ( conf_.getParameter<bool>("doPrimaryVertexPlots") )
28  , doDCAPlots_ ( conf_.getParameter<bool>("doDCAPlots") )
29  , doGeneralPropertiesPlots_ ( conf_.getParameter<bool>("doGeneralPropertiesPlots") )
30  , doMeasurementStatePlots_ ( conf_.getParameter<bool>("doMeasurementStatePlots") )
31  , doHitPropertiesPlots_ ( conf_.getParameter<bool>("doHitPropertiesPlots") )
32  , doRecHitVsPhiVsEtaPerTrack_ ( conf_.getParameter<bool>("doRecHitVsPhiVsEtaPerTrack") )
33  , doLayersVsPhiVsEtaPerTrack_ ( conf_.getParameter<bool>("doLayersVsPhiVsEtaPerTrack") )
34  , doRecHitsPerTrackProfile_ ( conf_.getParameter<bool>("doRecHitsPerTrackProfile") )
35  , doThetaPlots_ ( conf_.getParameter<bool>("doThetaPlots") )
36  , doTrackPxPyPlots_ ( conf_.getParameter<bool>("doTrackPxPyPlots") )
37  , doDCAwrtPVPlots_ ( conf_.getParameter<bool>("doDCAwrtPVPlots") )
38  , doDCAwrt000Plots_ ( conf_.getParameter<bool>("doDCAwrt000Plots") )
39  , doLumiAnalysis_ ( conf_.getParameter<bool>("doLumiAnalysis") )
40  , doTestPlots_ ( conf_.getParameter<bool>("doTestPlots") )
41  , doHIPlots_ ( conf_.getParameter<bool>("doHIPlots") )
42  , doSIPPlots_ ( conf_.getParameter<bool>("doSIPPlots") )
43  , qualityString_ ( conf_.getParameter<std::string>("qualityString"))
44 {
45  initHistos();
46  TopFolder_ = conf_.getParameter<std::string>("FolderName");
47 
48 }
T getParameter(std::string const &) const
bool doTrackerSpecific_
Definition: TrackAnalyzer.h:66
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:71
bool doHitPropertiesPlots_
Definition: TrackAnalyzer.h:73
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:74
bool doMeasurementStatePlots_
Definition: TrackAnalyzer.h:72
std::string qualityString_
bool doDCAwrt000Plots_
Definition: TrackAnalyzer.h:88
std::string TopFolder_
Definition: TrackAnalyzer.h:59
bool doLumiAnalysis_
Definition: TrackAnalyzer.h:90
bool doDCAwrtPVPlots_
Definition: TrackAnalyzer.h:87
bool doTrackPxPyPlots_
Definition: TrackAnalyzer.h:84
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:76
bool doRecHitsPerTrackProfile_
Definition: TrackAnalyzer.h:80
TrackAnalyzer::TrackAnalyzer ( const edm::ParameterSet iConfig,
edm::ConsumesCollector iC 
)

Definition at line 50 of file TrackAnalyzer.cc.

References beamSpotToken_, conf_, edm::ConsumesCollector::consumes(), edm::ParameterSet::getParameter(), and pvToken_.

51  : TrackAnalyzer(iConfig)
52 {
53  edm::InputTag bsSrc = conf_.getParameter<edm::InputTag>("beamSpot");
54  edm::InputTag primaryVertexInputTag = conf_.getParameter<edm::InputTag>("primaryVertex");
56  pvToken_ = iC.consumes<reco::VertexCollection>(primaryVertexInputTag);
57 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:61
TrackAnalyzer(const edm::ParameterSet &)
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:62
TrackAnalyzer::~TrackAnalyzer ( )
virtual

Definition at line 133 of file TrackAnalyzer.cc.

134 {
135 }

Member Function Documentation

void TrackAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const reco::Track track 
)
virtual

Definition at line 678 of file TrackAnalyzer.cc.

References reco::TrackBase::algo(), algorithm, beamSpotToken_, reco::TrackBase::chi2(), Chi2oNDF, Chi2oNDF_lumiFlag, Chi2Prob, conf_, reco::TrackBase::d0(), reco::TrackBase::d0Error(), dir, DistanceOfClosestApproach, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachToPV, DistanceOfClosestApproachToPVVsPhi, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, dNdEta_HighPurity, dNdPhi_HighPurity, dNdPt_HighPurity, doAllPlots_, doBSPlots_, doDCAPlots_, doDCAwrt000Plots_, doGeneralPropertiesPlots_, doHIPlots_, doHitPropertiesPlots_, doLayersVsPhiVsEtaPerTrack_, doLumiAnalysis_, doMeasurementStatePlots_, doPVPlots_, doRecHitVsPhiVsEtaPerTrack_, doSIPPlots_, doTestPlots_, doThetaPlots_, doTrackerSpecific_, reco::TrackBase::dxy(), reco::TrackBase::dxyError(), reco::TrackBase::dz(), reco::TrackBase::dzError(), eta, reco::TrackBase::eta(), MonitorElement::Fill(), HcalObjRepresent::Fill(), fillHistosForState(), fillHistosForTrackerSpecific(), edm::EventSetup::get(), edm::Event::getByToken(), edm::ParameterSet::getParameter(), reco::TrackBase::hitPattern(), LongDCASig, reco::TrackBase::ndof(), NhitVsEta_HighPurity, NhitVsPhi_HighPurity, reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfHits(), NumberOfLayersPerTrack, NumberOfLayersVsPhiVsEtaPerTrack, reco::TrackBase::numberOfLostHits(), NumberOfLostRecHitsPerTrack, NumberOfRecHitsPerTrack, NumberOfRecHitsPerTrack_lumiFlag, NumberOfRecHitVsPhiVsEtaPerTrack, reco::TrackBase::numberOfValidHits(), NumberOfValidRecHitsPerTrack, phi, reco::TrackBase::phi(), reco::BeamSpot::position(), reco::Vertex::position(), reco::TrackBase::pt(), reco::TrackBase::ptError(), MetAnalyzer::pv(), pvToken_, reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), reco::TrackBase::quality(), reco::TrackBase::qualityByName(), qualityString_, reco::TrackBase::referencePoint(), IPTools::signedImpactParameter3D(), IPTools::signedTransverseImpactParameter(), sip2dToPV, sip3dToPV, sipDxyToBS, sipDxyToPV, sipDzToBS, sipDzToPV, AlCaHLTBitMon_QueryRunRegistry::string, TESTDistanceOfClosestApproachToBS, TESTDistanceOfClosestApproachToBSVsPhi, reco::TrackBase::theta(), reco::HitPattern::TRACK_HITS, reco::HitPattern::trackerLayersWithMeasurement(), TransDCASig, reco::TrackBase::vx(), reco::TrackBase::vy(), reco::TrackBase::vz(), x, reco::Vertex::xError(), xPointOfClosestApproach, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, xPointOfClosestApproachVsZ0wrtPV, y, reco::Vertex::yError(), yPointOfClosestApproach, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproachVsZ0wrtPV, reco::Vertex::zError(), zPointOfClosestApproach, and zPointOfClosestApproachVsPhi.

Referenced by TrackingMonitor::analyze().

679 {
680  double phi = track.phi();
681  double eta = track.eta();
682 
683  int nRecHits = track.hitPattern().numberOfHits(reco::HitPattern::TRACK_HITS);
684  int nValidRecHits = track.numberOfValidHits();
685  int nLostRecHits = track.numberOfLostHits();
686 
687  double chi2 = track.chi2();
688  double chi2prob = TMath::Prob(track.chi2(),(int)track.ndof());
689  double chi2oNDF = track.normalizedChi2();
690 
692  // rec hits
693  NumberOfRecHitsPerTrack -> Fill(nRecHits);
694  NumberOfValidRecHitsPerTrack-> Fill(nValidRecHits);
695  NumberOfLostRecHitsPerTrack -> Fill(nLostRecHits);
696 
697  // 2D plots
699  NumberOfRecHitVsPhiVsEtaPerTrack->Fill(eta,phi,nRecHits);
700 
701  int nLayers = track.hitPattern().trackerLayersWithMeasurement();
702  // layers
703  NumberOfLayersPerTrack->Fill(nLayers);
704 
705  // 2D plots
707  NumberOfLayersVsPhiVsEtaPerTrack->Fill(eta,phi,nLayers);
708  }
709 
711  // fitting
712  Chi2 -> Fill(chi2);
713  Chi2Prob -> Fill(chi2prob);
714  Chi2oNDF -> Fill(chi2oNDF);
715 
716  // DCA
717  // temporary patch in order to put back those MEs in Muon Workspace
718  if (doDCAPlots_) {
719  if (doDCAwrt000Plots_) {
721  DistanceOfClosestApproachVsPhi->Fill(phi, track.dxy());
722  }
723 
724  // PCA
728  }
729 
730  // algorithm
731  algorithm->Fill(static_cast<double>(track.algo()));
732  }
733 
734  if ( doLumiAnalysis_ ) {
736  Chi2oNDF_lumiFlag -> Fill(chi2oNDF);
737  }
738 
740 
741  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
742  iEvent.getByToken(beamSpotToken_,recoBeamSpotHandle);
743  const reco::BeamSpot& bs = *recoBeamSpotHandle;
744 
746  DistanceOfClosestApproachToBSVsPhi -> Fill(track.phi(), track.dxy(bs.position()));
747  zPointOfClosestApproachVsPhi -> Fill(track.phi(), track.vz());
748  xPointOfClosestApproachVsZ0wrt000 -> Fill(track.dz(), track.vx());
749  yPointOfClosestApproachVsZ0wrt000 -> Fill(track.dz(), track.vy());
750  xPointOfClosestApproachVsZ0wrtBS -> Fill(track.dz(bs.position()),(track.vx()-bs.position(track.vz()).x()));
751  yPointOfClosestApproachVsZ0wrtBS -> Fill(track.dz(bs.position()),(track.vy()-bs.position(track.vz()).y()));
752  if (doTestPlots_) {
753  TESTDistanceOfClosestApproachToBS -> Fill(track.dxy(bs.position(track.vz())));
754  TESTDistanceOfClosestApproachToBSVsPhi -> Fill(track.phi(), track.dxy(bs.position(track.vz())));
755  }
756 
757  if(doSIPPlots_) {
758  sipDxyToBS->Fill(track.dxy(bs.position())/track.dxyError());
759  sipDzToBS->Fill(track.dz(bs.position())/track.dzError());
760  }
761  }
762 
764  edm::Handle<reco::VertexCollection> recoPrimaryVerticesHandle;
765  iEvent.getByToken(pvToken_,recoPrimaryVerticesHandle);
766  if (recoPrimaryVerticesHandle->size() > 0) {
767  const reco::Vertex& pv = (*recoPrimaryVerticesHandle)[0];
768 
769 
771  //HI PLOTS///////
773 
774  if(doHIPlots_)
775  {
776  double longDCAsig = 0, transDCAsig = 0;
777  double zerr2 = track.dzError()*track.dzError()+pv.zError()*pv.zError();
778  double xyerr2 = track.d0Error()*track.d0Error()+pv.xError()*pv.yError();
779  if(zerr2 > 0) longDCAsig = track.dz(pv.position())/zerr2;
780  if(xyerr2 > 0) transDCAsig = track.dxy(pv.position())/xyerr2;
781  LongDCASig->Fill(longDCAsig);
782  TransDCASig->Fill(transDCAsig);
784  {
785  dNdEta_HighPurity->Fill(track.eta());
786  dNdPhi_HighPurity->Fill(track.phi());
787  dNdPt_HighPurity->Fill(track.ptError()/track.pt());
790  }//end of high quality tracks requirement
791  }
792 
793 
794 
796  DistanceOfClosestApproachToPVVsPhi -> Fill(track.phi(), track.dxy(pv.position()));
797  xPointOfClosestApproachVsZ0wrtPV -> Fill(track.dz(pv.position()),(track.vx()-pv.position().x()));
798  yPointOfClosestApproachVsZ0wrtPV -> Fill(track.dz(pv.position()),(track.vy()-pv.position().y()));
799 
800 
801  if(doSIPPlots_) {
803  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder",theB);
804  reco::TransientTrack transTrack = theB->build(track);
805 
806  GlobalVector dir(track.px(), track.py(), track.pz());
807  std::pair<bool, Measurement1D> ip3d = IPTools::signedImpactParameter3D(transTrack, dir, pv);
808  std::pair<bool, Measurement1D> ip2d = IPTools::signedTransverseImpactParameter(transTrack, dir, pv);
809  if(ip3d.first) sip3dToPV->Fill(ip3d.second.value() / ip3d.second.error());
810  if(ip2d.first) sip2dToPV->Fill(ip2d.second.value() / ip2d.second.error());
811  sipDxyToPV->Fill(track.dxy(pv.position())/track.dxyError());
812  sipDzToPV->Fill(track.dz(pv.position())/track.dzError());
813  }
814  }
815  }
816 
817  if(doDCAPlots_ || doAllPlots_) {
818  if (doDCAwrt000Plots_) {
819  if (doThetaPlots_) {
820  DistanceOfClosestApproachVsTheta->Fill(track.theta(), track.d0());
821  }
822  DistanceOfClosestApproachVsEta->Fill(track.eta(), track.d0());
823  }
824 
825  }
826 
827  //Tracker Specific Histograms
830  }
831 
833  std::string StateName = conf_.getParameter<std::string>("MeasurementState");
834 
835  if (StateName == "All") {
836  fillHistosForState(iSetup, track, std::string("OuterSurface"));
837  fillHistosForState(iSetup, track, std::string("InnerSurface"));
838  fillHistosForState(iSetup, track, std::string("ImpactPoint"));
839  } else if (
840  StateName != "OuterSurface" &&
841  StateName != "InnerSurface" &&
842  StateName != "ImpactPoint" &&
843  StateName != "default"
844  ) {
845  fillHistosForState(iSetup, track, std::string("default"));
846  } else {
847  fillHistosForState(iSetup, track, StateName);
848  }
849  }
850 
851  if ( doAllPlots_ ) {
852  }
853 
854 }
T getParameter(std::string const &) const
MonitorElement * DistanceOfClosestApproachToPVVsPhi
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:644
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
bool doTrackerSpecific_
Definition: TrackAnalyzer.h:66
double d0Error() const
error on d0
Definition: TrackBase.h:765
void fillHistosForTrackerSpecific(const reco::Track &track)
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:560
MonitorElement * NumberOfValidRecHitsPerTrack
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:524
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
double zError() const
error on z
Definition: Vertex.h:118
MonitorElement * Chi2oNDF_lumiFlag
double theta() const
polar angle
Definition: TrackBase.h:542
double dxyError() const
error on dxy
Definition: TrackBase.h:759
MonitorElement * sip3dToPV
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:50
MonitorElement * NumberOfLostRecHitsPerTrack
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:71
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:71
MonitorElement * DistanceOfClosestApproachVsPhi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:608
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:789
MonitorElement * sipDzToBS
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * algorithm
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:590
bool doHitPropertiesPlots_
Definition: TrackAnalyzer.h:73
MonitorElement * DistanceOfClosestApproach
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:74
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:477
const Point & position() const
position
Definition: Vertex.h:106
bool doMeasurementStatePlots_
Definition: TrackAnalyzer.h:72
MonitorElement * NumberOfRecHitsPerTrack
void Fill(long long x)
TrackAlgorithm algo() const
Definition: TrackBase.h:460
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * TransDCASig
MonitorElement * xPointOfClosestApproachVsZ0wrt000
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:614
std::string qualityString_
bool doDCAwrt000Plots_
Definition: TrackAnalyzer.h:88
MonitorElement * xPointOfClosestApproach
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:512
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:518
double pt() const
track transverse momentum
Definition: TrackBase.h:584
MonitorElement * dNdPt_HighPurity
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:726
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * dNdPhi_HighPurity
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:783
MonitorElement * sip2dToPV
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:602
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:572
double dzError() const
error on dz
Definition: TrackBase.h:777
MonitorElement * dNdEta_HighPurity
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:632
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
bool doLumiAnalysis_
Definition: TrackAnalyzer.h:90
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:123
double xError() const
error on x
Definition: Vertex.h:114
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:61
MonitorElement * sipDxyToPV
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:421
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfLayersPerTrack
const T & get() const
Definition: EventSetup.h:55
MonitorElement * DistanceOfClosestApproachVsTheta
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:473
MonitorElement * DistanceOfClosestApproachToPV
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:626
MonitorElement * DistanceOfClosestApproachToBSVsPhi
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:76
MonitorElement * NhitVsEta_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TESTDistanceOfClosestApproachToBS
const Point & position() const
position
Definition: BeamSpot.h:62
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * Chi2Prob
Definition: Chi2.h:17
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:554
MonitorElement * zPointOfClosestApproach
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * Chi2oNDF
double yError() const
error on y
Definition: Vertex.h:116
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:596
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:620
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:718
MonitorElement * LongDCASig
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:62
void TrackAnalyzer::bookHistosForBeamSpot ( DQMStore::IBooker ibooker)
private

Definition at line 434 of file TrackAnalyzer.cc.

References HLT_25ns14e33_v1_cff::AlgoName, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), conf_, DistanceOfClosestApproach, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachToPV, DistanceOfClosestApproachToPVVsPhi, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, doAllPlots_, doBSPlots_, doDCAPlots_, doDCAwrt000Plots_, doPVPlots_, doSIPPlots_, doTestPlots_, doThetaPlots_, HLT_25ns14e33_v3_cff::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), histname, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), sip2dToPV, sip3dToPV, sipDxyToBS, sipDxyToPV, sipDzToBS, sipDzToPV, AlCaHLTBitMon_QueryRunRegistry::string, TESTDistanceOfClosestApproachToBS, TESTDistanceOfClosestApproachToBSVsPhi, TopFolder_, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, xPointOfClosestApproachVsZ0wrtPV, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproachVsZ0wrtPV, and zPointOfClosestApproachVsPhi.

Referenced by initHisto().

434  {
435 
436  // parameters from the configuration
437  std::string QualName = conf_.getParameter<std::string>("Quality");
439 
440  // use the AlgoName and Quality Name
441  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
442 
443  // book the Beam Spot related histograms
444  // ---------------------------------------------------------------------------------//
445 
447 
448  int DxyBin = conf_.getParameter<int>( "DxyBin");
449  double DxyMin = conf_.getParameter<double>("DxyMin");
450  double DxyMax = conf_.getParameter<double>("DxyMax");
451 
452  int PhiBin = conf_.getParameter<int>( "PhiBin");
453  double PhiMin = conf_.getParameter<double>("PhiMin");
454  double PhiMax = conf_.getParameter<double>("PhiMax");
455 
456  int X0Bin = conf_.getParameter<int>( "X0Bin");
457  double X0Min = conf_.getParameter<double>("X0Min");
458  double X0Max = conf_.getParameter<double>("X0Max");
459 
460  int Y0Bin = conf_.getParameter<int>( "Y0Bin");
461  double Y0Min = conf_.getParameter<double>("Y0Min");
462  double Y0Max = conf_.getParameter<double>("Y0Max");
463 
464  int Z0Bin = conf_.getParameter<int>( "Z0Bin");
465  double Z0Min = conf_.getParameter<double>("Z0Min");
466  double Z0Max = conf_.getParameter<double>("Z0Max");
467 
468  int VZBinProf = conf_.getParameter<int>( "VZBinProf");
469  double VZMinProf = conf_.getParameter<double>("VZMinProf");
470  double VZMaxProf = conf_.getParameter<double>("VZMaxProf");
471 
472 
473  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
474 
475  histname = "DistanceOfClosestApproachToBS_";
476  DistanceOfClosestApproachToBS = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
477  DistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
478  DistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
479 
480  histname = "DistanceOfClosestApproachToBSVsPhi_";
481  DistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
482  DistanceOfClosestApproachToBSVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
484  DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
485 
486  histname = "xPointOfClosestApproachVsZ0wrt000_";
487  xPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
489  xPointOfClosestApproachVsZ0wrt000->setAxisTitle("x component of Track PCA to beam line (cm)",2);
490 
491  histname = "yPointOfClosestApproachVsZ0wrt000_";
492  yPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
494  yPointOfClosestApproachVsZ0wrt000->setAxisTitle("y component of Track PCA to beam line (cm)",2);
495 
496  histname = "xPointOfClosestApproachVsZ0wrtBS_";
497  xPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
498  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
499  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("x component of Track PCA to BS (cm)",2);
500 
501  histname = "yPointOfClosestApproachVsZ0wrtBS_";
502  yPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
503  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
504  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("y component of Track PCA to BS (cm)",2);
505 
506  histname = "zPointOfClosestApproachVsPhi_";
507  zPointOfClosestApproachVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, VZBinProf, VZMinProf, VZMaxProf, "");
509  zPointOfClosestApproachVsPhi->setAxisTitle("y component of Track PCA to beam line (cm)",2);
510  }
511 
513 
514  int DxyBin = conf_.getParameter<int>( "DxyBin");
515  double DxyMin = conf_.getParameter<double>("DxyMin");
516  double DxyMax = conf_.getParameter<double>("DxyMax");
517 
518  int PhiBin = conf_.getParameter<int>( "PhiBin");
519  double PhiMin = conf_.getParameter<double>("PhiMin");
520  double PhiMax = conf_.getParameter<double>("PhiMax");
521 
522  int X0Bin = conf_.getParameter<int>( "X0Bin");
523  double X0Min = conf_.getParameter<double>("X0Min");
524  double X0Max = conf_.getParameter<double>("X0Max");
525 
526  int Y0Bin = conf_.getParameter<int>( "Y0Bin");
527  double Y0Min = conf_.getParameter<double>("Y0Min");
528  double Y0Max = conf_.getParameter<double>("Y0Max");
529 
530  int Z0Bin = conf_.getParameter<int>( "Z0Bin");
531  double Z0Min = conf_.getParameter<double>("Z0Min");
532  double Z0Max = conf_.getParameter<double>("Z0Max");
533 
534  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
535 
536  histname = "DistanceOfClosestApproachToPV_";
537  DistanceOfClosestApproachToPV = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
538  DistanceOfClosestApproachToPV->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
539  DistanceOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
540 
541  histname = "DistanceOfClosestApproachToPVVsPhi_";
542  DistanceOfClosestApproachToPVVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
543  DistanceOfClosestApproachToPVVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
545  DistanceOfClosestApproachToPVVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
546 
547  histname = "xPointOfClosestApproachVsZ0wrtPV_";
548  xPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
549  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
550  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("x component of Track PCA to PV (cm)",2);
551 
552  histname = "yPointOfClosestApproachVsZ0wrtPV_";
553  yPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
554  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
555  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("y component of Track PCA to PV (cm)",2);
556 
557  }
558 
559  if (doBSPlots_ || doAllPlots_) {
560  if (doTestPlots_) {
561 
562  int DxyBin = conf_.getParameter<int>( "DxyBin");
563  double DxyMin = conf_.getParameter<double>("DxyMin");
564  double DxyMax = conf_.getParameter<double>("DxyMax");
565 
566  int PhiBin = conf_.getParameter<int>( "PhiBin");
567  double PhiMin = conf_.getParameter<double>("PhiMin");
568  double PhiMax = conf_.getParameter<double>("PhiMax");
569 
570  histname = "TESTDistanceOfClosestApproachToBS_";
571  TESTDistanceOfClosestApproachToBS = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
572  TESTDistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
573  TESTDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
574 
575  histname = "TESTDistanceOfClosestApproachToBSVsPhi_";
576  TESTDistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
577  TESTDistanceOfClosestApproachToBSVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
579  TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
580 
581  }
582 
583  }
584 
585  // book the Profile plots for DCA related histograms
586  // ---------------------------------------------------------------------------------//
587  if(doDCAPlots_ || doAllPlots_) {
588 
589  if (doDCAwrt000Plots_) {
590 
591  int EtaBin = conf_.getParameter<int>( "EtaBin");
592  double EtaMin = conf_.getParameter<double>("EtaMin");
593  double EtaMax = conf_.getParameter<double>("EtaMax");
594 
595  int PhiBin = conf_.getParameter<int>( "PhiBin");
596  double PhiMin = conf_.getParameter<double>("PhiMin");
597  double PhiMax = conf_.getParameter<double>("PhiMax");
598 
599  int DxyBin = conf_.getParameter<int>( "DxyBin");
600  double DxyMin = conf_.getParameter<double>("DxyMin");
601  double DxyMax = conf_.getParameter<double>("DxyMax");
602 
603  if (doThetaPlots_) {
604  int ThetaBin = conf_.getParameter<int>( "ThetaBin");
605  double ThetaMin = conf_.getParameter<double>("ThetaMin");
606  double ThetaMax = conf_.getParameter<double>("ThetaMax");
607 
608  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
609  histname = "DistanceOfClosestApproachVsTheta_";
610  DistanceOfClosestApproachVsTheta = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, ThetaBin, ThetaMin, ThetaMax, DxyMin,DxyMax,"");
612  DistanceOfClosestApproachVsTheta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
613  }
614 
615  histname = "DistanceOfClosestApproachVsEta_";
616  DistanceOfClosestApproachVsEta = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, EtaBin, EtaMin, EtaMax, DxyMin, DxyMax,"");
618  DistanceOfClosestApproachVsEta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
619  // temporary patch in order to put back those MEs in Muon Workspace
620 
621  histname = "DistanceOfClosestApproach_";
622  DistanceOfClosestApproach = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
623  DistanceOfClosestApproach->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",1);
624  DistanceOfClosestApproach->setAxisTitle("Number of Tracks",2);
625 
626  histname = "DistanceOfClosestApproachVsPhi_";
627  DistanceOfClosestApproachVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyMin,DxyMax,"");
628  DistanceOfClosestApproachVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
630  DistanceOfClosestApproachVsPhi->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
631  }
632  }
633 
634 
635  if (doSIPPlots_ || doAllPlots_) {
636  const double sipBins = 200;
637  const double sipMin = -20;
638  const double sipMax = 20;
639 
640  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
641 
642  // SIP wrt. beamspot
643  histname = "SIPDxyToBS_";
644  sipDxyToBS = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
645  sipDxyToBS->setAxisTitle("Track dxy significance wrt beam spot",1);
646  sipDxyToBS->setAxisTitle("Number of Tracks",2);
647 
648  histname = "SIPDzToBS_";
649  sipDzToBS = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
650  sipDzToBS->setAxisTitle("Track dz significance wrt beam spot",1);
651  sipDzToBS->setAxisTitle("Number of Tracks",2);
652 
653  // SIP wrt. vertex
654  histname = "SIP3DToPV_";
655  sip3dToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
656  sip3dToPV->setAxisTitle("3D IP significance wrt primary vertex",1);
657  sip3dToPV->setAxisTitle("Number of Tracks",2);
658 
659  histname = "SIP2DToPV_";
660  sip2dToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
661  sip2dToPV->setAxisTitle("2D IP significance wrt primary vertex",1);
662  sip2dToPV->setAxisTitle("Number of Tracks",2);
663 
664  histname = "SIPDxyToPV_";
665  sipDxyToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
666  sipDxyToPV->setAxisTitle("Track dxy significance wrt primary vertex",1);
667  sipDxyToPV->setAxisTitle("Number of Tracks",2);
668 
669  histname = "SIPDzToPV_";
670  sipDzToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
671  sipDzToPV->setAxisTitle("Track dz significance wrt primary vertex",1);
672  sipDzToPV->setAxisTitle("Number of Tracks",2);
673  }
674 }
T getParameter(std::string const &) const
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * sip3dToPV
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * sipDzToBS
MonitorElement * DistanceOfClosestApproach
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrt000
bool doDCAwrt000Plots_
Definition: TrackAnalyzer.h:88
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
TH1 * getTH1(void) const
const double EtaMin[kNumberCalorimeter]
MonitorElement * sip2dToPV
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * sipDxyToPV
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * DistanceOfClosestApproachToBS
std::string histname
void TrackAnalyzer::bookHistosForHitProperties ( DQMStore::IBooker ibooker)
private

Definition at line 173 of file TrackAnalyzer.cc.

References HLT_25ns14e33_v1_cff::AlgoName, reco::TrackBase::algoNames, algorithm, reco::TrackBase::algoSize, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), DQMStore::IBooker::bookProfile2D(), Chi2oNDF, Chi2Prob, conf_, dNdEta_HighPurity, dNdPhi_HighPurity, dNdPt_HighPurity, doAllPlots_, doDCAPlots_, doGeneralPropertiesPlots_, doHIPlots_, doHitPropertiesPlots_, doLayersVsPhiVsEtaPerTrack_, doRecHitVsPhiVsEtaPerTrack_, HLT_25ns14e33_v3_cff::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), histname, LongDCASig, NhitVsEta_HighPurity, NhitVsPhi_HighPurity, NumberOfLayersPerTrack, NumberOfLayersVsPhiVsEtaPerTrack, NumberOfLostRecHitsPerTrack, NumberOfRecHitsPerTrack, NumberOfRecHitVsPhiVsEtaPerTrack, NumberOfValidRecHitsPerTrack, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TopFolder_, TransDCASig, xPointOfClosestApproach, xPointOfClosestApproachToPV, yPointOfClosestApproach, yPointOfClosestApproachToPV, zPointOfClosestApproach, and zPointOfClosestApproachToPV.

Referenced by initHisto().

173  {
174 
175  // parameters from the configuration
176  std::string QualName = conf_.getParameter<std::string>("Quality");
178  std::string MEBSFolderName = conf_.getParameter<std::string>("BSFolderName");
179 
180  // use the AlgoName and Quality Name
181  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
182 
183  // get binning from the configuration
184  int TKHitBin = conf_.getParameter<int>( "RecHitBin");
185  double TKHitMin = conf_.getParameter<double>("RecHitMin");
186  double TKHitMax = conf_.getParameter<double>("RecHitMax");
187 
188  int TKLostBin = conf_.getParameter<int>( "RecLostBin");
189  double TKLostMin = conf_.getParameter<double>("RecLostMin");
190  double TKLostMax = conf_.getParameter<double>("RecLostMax");
191 
192  int TKLayBin = conf_.getParameter<int>( "RecLayBin");
193  double TKLayMin = conf_.getParameter<double>("RecLayMin");
194  double TKLayMax = conf_.getParameter<double>("RecLayMax");
195 
196  int PhiBin = conf_.getParameter<int>( "PhiBin");
197  double PhiMin = conf_.getParameter<double>("PhiMin");
198  double PhiMax = conf_.getParameter<double>("PhiMax");
199 
200  int EtaBin = conf_.getParameter<int>( "EtaBin");
201  double EtaMin = conf_.getParameter<double>("EtaMin");
202  double EtaMax = conf_.getParameter<double>("EtaMax");
203 
204  int VXBin = conf_.getParameter<int>( "VXBin");
205  double VXMin = conf_.getParameter<double>("VXMin");
206  double VXMax = conf_.getParameter<double>("VXMax");
207 
208  int VYBin = conf_.getParameter<int>( "VYBin");
209  double VYMin = conf_.getParameter<double>("VYMin");
210  double VYMax = conf_.getParameter<double>("VYMax");
211 
212  int VZBin = conf_.getParameter<int>( "VZBin");
213  double VZMin = conf_.getParameter<double>("VZMin");
214  double VZMax = conf_.getParameter<double>("VZMax");
215 
216  ibooker.setCurrentFolder(TopFolder_);
217 
218  // book the Hit Property histograms
219  // ---------------------------------------------------------------------------------//
220 
221  TkParameterMEs tkmes;
223 
224  ibooker.setCurrentFolder(TopFolder_+"/HitProperties");
225 
226  histname = "NumberOfRecHitsPerTrack_";
227  NumberOfRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
228  NumberOfRecHitsPerTrack->setAxisTitle("Number of all RecHits of each Track");
229  NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
230 
231  histname = "NumberOfValidRecHitsPerTrack_";
232  NumberOfValidRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
233  NumberOfValidRecHitsPerTrack->setAxisTitle("Number of valid RecHits for each Track");
234  NumberOfValidRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
235 
236  histname = "NumberOfLostRecHitsPerTrack_";
237  NumberOfLostRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKLostBin, TKLostMin, TKLostMax);
238  NumberOfLostRecHitsPerTrack->setAxisTitle("Number of lost RecHits for each Track");
239  NumberOfLostRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
240 
241  histname = "NumberOfLayersPerTrack_";
242  NumberOfLayersPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKLayBin, TKLayMin, TKLayMax);
243  NumberOfLayersPerTrack->setAxisTitle("Number of Layers of each Track", 1);
244  NumberOfLayersPerTrack->setAxisTitle("Number of Tracks", 2);
245 
246 
248 
249  histname = "NumberOfRecHitVsPhiVsEtaPerTrack_";
250  NumberOfRecHitVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
251  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
254  }
255 
257 
258  histname = "NumberOfLayersVsPhiVsEtaPerTrack_";
259  NumberOfLayersVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
260  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
263  }
264  }
265 
266  // book the General Property histograms
267  // ---------------------------------------------------------------------------------//
268 
270 
271  int Chi2Bin = conf_.getParameter<int>( "Chi2Bin");
272  double Chi2Min = conf_.getParameter<double>("Chi2Min");
273  double Chi2Max = conf_.getParameter<double>("Chi2Max");
274 
275  int Chi2NDFBin = conf_.getParameter<int>( "Chi2NDFBin");
276  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
277  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
278 
279  int Chi2ProbBin = conf_.getParameter<int>( "Chi2ProbBin");
280  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
281  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
282 
283 
284  //HI PLOTS////
285  int TransDCABins = conf_.getParameter<int>("TransDCABins");
286  double TransDCAMin = conf_.getParameter<double>("TransDCAMin");
287  double TransDCAMax = conf_.getParameter<double>("TransDCAMax");
288 
289  int LongDCABins = conf_.getParameter<int>("LongDCABins");
290  double LongDCAMin = conf_.getParameter<double>("LongDCAMin");
291  double LongDCAMax = conf_.getParameter<double>("LongDCAMax");
293 
294 
295  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
296 
297  histname = "Chi2_";
298  Chi2 = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2Bin, Chi2Min, Chi2Max);
299  Chi2->setAxisTitle("Track #chi^{2}" ,1);
300  Chi2->setAxisTitle("Number of Tracks",2);
301 
302  histname = "Chi2Prob_";
303  Chi2Prob = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2ProbBin, Chi2ProbMin, Chi2ProbMax);
304  Chi2Prob->setAxisTitle("Track #chi^{2} probability",1);
305  Chi2Prob->setAxisTitle("Number of Tracks" ,2);
306 
307  histname = "Chi2oNDF_";
308  Chi2oNDF = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
309  Chi2oNDF->setAxisTitle("Track #chi^{2}/ndf",1);
310  Chi2oNDF->setAxisTitle("Number of Tracks" ,2);
311 
312 
314  //HI PLOTS///
316  if (doHIPlots_)
317  {
318  histname = "LongDCASig_";
319  LongDCASig = ibooker.book1D(histname+CategoryName, histname+CategoryName,LongDCABins,LongDCAMin,LongDCAMax);
320  LongDCASig->setAxisTitle("dz/#sigma_{dz}",1);
321 
322  histname = "TransDCASig_";
323  TransDCASig = ibooker.book1D(histname+CategoryName,histname+CategoryName,TransDCABins,TransDCAMin,TransDCAMax);
324  TransDCASig->setAxisTitle("dxy/#sigma_{dxy}",1);
325 
326  histname = "dNdPhi_HighPurity_";
327  dNdPhi_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,PhiBin,PhiMin,PhiMax);
328  dNdPhi_HighPurity->setAxisTitle("#phi",1);
329 
330  histname = "dNdEta_HighPurity_";
331  dNdEta_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,EtaBin,EtaMin,EtaMax);
332  dNdEta_HighPurity->setAxisTitle("#eta",1);
333 
334  histname = "dNdPt_HighPurity_";
335  dNdPt_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,150,0,0.3);
336  dNdPt_HighPurity->setAxisTitle("#sigma_{p_{T}}/p_{T}",1);
337 
338  histname = "NhitVsEta_HighPurity_";
339  NhitVsEta_HighPurity = ibooker.bookProfile(histname+CategoryName,histname+CategoryName,EtaBin,EtaMin,EtaMax,-0.5,39.5,"");
340  NhitVsEta_HighPurity->setAxisTitle("Track #eta",1);
341  NhitVsEta_HighPurity->setAxisTitle("Number of Valid RecHits in each Track",2);
342 
343  histname = "NhitVsPhi_HighPurity_";
344  NhitVsPhi_HighPurity = ibooker.bookProfile(histname+CategoryName,histname+CategoryName,PhiBin,PhiMin,PhiMax,-0.5,39.5,"");
345  NhitVsPhi_HighPurity->setAxisTitle("Track #phi",1);
346  NhitVsPhi_HighPurity->setAxisTitle("Number of Valid RecHits in each Track",2);
347  }
348 
349 
350 
351  if (doDCAPlots_) {
352  histname = "xPointOfClosestApproach_";
353  xPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
354  xPointOfClosestApproach->setAxisTitle("x component of Track PCA to beam line (cm)",1);
355  xPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
356 
357  histname = "yPointOfClosestApproach_";
358  yPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
359  yPointOfClosestApproach->setAxisTitle("y component of Track PCA to beam line (cm)",1);
360  yPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
361 
362  histname = "zPointOfClosestApproach_";
363  zPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
364  zPointOfClosestApproach->setAxisTitle("z component of Track PCA to beam line (cm)",1);
365  zPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
366 
367  histname = "xPointOfClosestApproachToPV_";
368  xPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
369  xPointOfClosestApproachToPV->setAxisTitle("x component of Track PCA to pv (cm)",1);
370  xPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
371 
372  histname = "yPointOfClosestApproachToPV_";
373  yPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
374  yPointOfClosestApproachToPV->setAxisTitle("y component of Track PCA to pv line (cm)",1);
375  yPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
376 
377  histname = "zPointOfClosestApproachToPV_";
378  zPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
379  zPointOfClosestApproachToPV->setAxisTitle("z component of Track PCA to pv line (cm)",1);
380  zPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
381  }
382 
383  // See DataFormats/TrackReco/interface/TrackBase.h for track algorithm enum definition
384  // http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/TrackReco/interface/TrackBase.h?view=log
385  histname = "algorithm_";
386  algorithm = ibooker.book1D(histname+CategoryName, histname+CategoryName, reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize));
387  algorithm->setAxisTitle("Tracking algorithm",1);
388  algorithm->setAxisTitle("Number of Tracks",2);
389  for (size_t ibin=0; ibin<reco::TrackBase::algoSize-1; ibin++)
391  }
392 
393 }
T getParameter(std::string const &) const
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * xPointOfClosestApproachToPV
MonitorElement * NumberOfLostRecHitsPerTrack
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:71
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 * NhitVsPhi_HighPurity
MonitorElement * algorithm
bool doHitPropertiesPlots_
Definition: TrackAnalyzer.h:73
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:74
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * TransDCASig
MonitorElement * xPointOfClosestApproach
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:163
MonitorElement * dNdPt_HighPurity
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * dNdPhi_HighPurity
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * yPointOfClosestApproachToPV
const double EtaMin[kNumberCalorimeter]
MonitorElement * dNdEta_HighPurity
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * NumberOfLayersPerTrack
static const std::string algoNames[]
Definition: TrackBase.h:146
MonitorElement * zPointOfClosestApproachToPV
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:76
MonitorElement * NhitVsEta_HighPurity
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack
MonitorElement * Chi2Prob
Definition: Chi2.h:17
MonitorElement * zPointOfClosestApproach
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * Chi2oNDF
std::string histname
MonitorElement * LongDCASig
void TrackAnalyzer::bookHistosForLScertification ( DQMStore::IBooker ibooker)
private

Definition at line 395 of file TrackAnalyzer.cc.

References HLT_25ns14e33_v1_cff::AlgoName, DQMStore::IBooker::book1D(), Chi2oNDF_lumiFlag, conf_, doLumiAnalysis_, edm::ParameterSet::getParameter(), histname, NumberOfRecHitsPerTrack_lumiFlag, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and TopFolder_.

Referenced by initHisto().

395  {
396 
397  // parameters from the configuration
398  std::string QualName = conf_.getParameter<std::string>("Quality");
400 
401  // use the AlgoName and Quality Name
402  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
403 
404 
405  // book LS analysis related histograms
406  // -----------------------------------
407  if ( doLumiAnalysis_ ) {
408 
409  // get binning from the configuration
410  int TKHitBin = conf_.getParameter<int>( "RecHitBin");
411  double TKHitMin = conf_.getParameter<double>("RecHitMin");
412  double TKHitMax = conf_.getParameter<double>("RecHitMax");
413 
414  int Chi2NDFBin = conf_.getParameter<int>( "Chi2NDFBin");
415  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
416  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
417 
418  // add by Mia in order to deal w/ LS transitions
419  ibooker.setCurrentFolder(TopFolder_+"/LSanalysis");
420 
421  histname = "NumberOfRecHitsPerTrack_lumiFlag_";
422  NumberOfRecHitsPerTrack_lumiFlag = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
423  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of all RecHits of each Track");
424  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of Tracks", 2);
425 
426  histname = "Chi2oNDF_lumiFlag_";
427  Chi2oNDF_lumiFlag = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
428  Chi2oNDF_lumiFlag->setAxisTitle("Track #chi^{2}/ndf",1);
429  Chi2oNDF_lumiFlag->setAxisTitle("Number of Tracks" ,2);
430 
431  }
432 }
T getParameter(std::string const &) const
MonitorElement * Chi2oNDF_lumiFlag
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
bool doLumiAnalysis_
Definition: TrackAnalyzer.h:90
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::string histname
void TrackAnalyzer::bookHistosForState ( std::string  sname,
DQMStore::IBooker ibooker 
)
private

Definition at line 858 of file TrackAnalyzer.cc.

References HLT_25ns14e33_v1_cff::AlgoName, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), TrackAnalyzer::TkParameterMEs::Chi2oNDFVsEta, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPhi, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsTheta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsEta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsPhi, conf_, doAllPlots_, doThetaPlots_, doTrackPxPyPlots_, HLT_25ns14e33_v3_cff::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), histname, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPhi, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TkParameterMEMap, TopFolder_, TrackAnalyzer::TkParameterMEs::TrackEta, TrackAnalyzer::TkParameterMEs::TrackEtaErr, TrackAnalyzer::TkParameterMEs::TrackP, TrackAnalyzer::TkParameterMEs::TrackPErr, TrackAnalyzer::TkParameterMEs::TrackPhi, TrackAnalyzer::TkParameterMEs::TrackPhiErr, TrackAnalyzer::TkParameterMEs::TrackPt, TrackAnalyzer::TkParameterMEs::TrackPtErr, TrackAnalyzer::TkParameterMEs::TrackPtErrVsEta, TrackAnalyzer::TkParameterMEs::TrackPx, TrackAnalyzer::TkParameterMEs::TrackPxErr, TrackAnalyzer::TkParameterMEs::TrackPy, TrackAnalyzer::TkParameterMEs::TrackPyErr, TrackAnalyzer::TkParameterMEs::TrackPz, TrackAnalyzer::TkParameterMEs::TrackPzErr, TrackAnalyzer::TkParameterMEs::TrackQ, and TrackAnalyzer::TkParameterMEs::TrackTheta.

Referenced by initHisto().

859 {
860 
861  // parameters from the configuration
862  std::string QualName = conf_.getParameter<std::string>("Quality");
864 
865  // use the AlgoName and Quality Name
866  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
867 
868  // get binning from the configuration
869  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
870  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
871 
872  int RecHitBin = conf_.getParameter<int>( "RecHitBin");
873  double RecHitMin = conf_.getParameter<double>("RecHitMin");
874  double RecHitMax = conf_.getParameter<double>("RecHitMax");
875 
876  int RecLayBin = conf_.getParameter<int>( "RecHitBin");
877  double RecLayMin = conf_.getParameter<double>("RecHitMin");
878  double RecLayMax = conf_.getParameter<double>("RecHitMax");
879 
880 
881  int PhiBin = conf_.getParameter<int>( "PhiBin");
882  double PhiMin = conf_.getParameter<double>("PhiMin");
883  double PhiMax = conf_.getParameter<double>("PhiMax");
884 
885  int EtaBin = conf_.getParameter<int>( "EtaBin");
886  double EtaMin = conf_.getParameter<double>("EtaMin");
887  double EtaMax = conf_.getParameter<double>("EtaMax");
888 
889  int ThetaBin = conf_.getParameter<int>( "ThetaBin");
890  double ThetaMin = conf_.getParameter<double>("ThetaMin");
891  double ThetaMax = conf_.getParameter<double>("ThetaMax");
892 
893  int TrackQBin = conf_.getParameter<int>( "TrackQBin");
894  double TrackQMin = conf_.getParameter<double>("TrackQMin");
895  double TrackQMax = conf_.getParameter<double>("TrackQMax");
896 
897  int TrackPtBin = conf_.getParameter<int>( "TrackPtBin");
898  double TrackPtMin = conf_.getParameter<double>("TrackPtMin");
899  double TrackPtMax = conf_.getParameter<double>("TrackPtMax");
900 
901  int TrackPBin = conf_.getParameter<int>( "TrackPBin");
902  double TrackPMin = conf_.getParameter<double>("TrackPMin");
903  double TrackPMax = conf_.getParameter<double>("TrackPMax");
904 
905  int TrackPxBin = conf_.getParameter<int>( "TrackPxBin");
906  double TrackPxMin = conf_.getParameter<double>("TrackPxMin");
907  double TrackPxMax = conf_.getParameter<double>("TrackPxMax");
908 
909  int TrackPyBin = conf_.getParameter<int>( "TrackPyBin");
910  double TrackPyMin = conf_.getParameter<double>("TrackPyMin");
911  double TrackPyMax = conf_.getParameter<double>("TrackPyMax");
912 
913  int TrackPzBin = conf_.getParameter<int>( "TrackPzBin");
914  double TrackPzMin = conf_.getParameter<double>("TrackPzMin");
915  double TrackPzMax = conf_.getParameter<double>("TrackPzMax");
916 
917  int ptErrBin = conf_.getParameter<int>( "ptErrBin");
918  double ptErrMin = conf_.getParameter<double>("ptErrMin");
919  double ptErrMax = conf_.getParameter<double>("ptErrMax");
920 
921  int pxErrBin = conf_.getParameter<int>( "pxErrBin");
922  double pxErrMin = conf_.getParameter<double>("pxErrMin");
923  double pxErrMax = conf_.getParameter<double>("pxErrMax");
924 
925  int pyErrBin = conf_.getParameter<int>( "pyErrBin");
926  double pyErrMin = conf_.getParameter<double>("pyErrMin");
927  double pyErrMax = conf_.getParameter<double>("pyErrMax");
928 
929  int pzErrBin = conf_.getParameter<int>( "pzErrBin");
930  double pzErrMin = conf_.getParameter<double>("pzErrMin");
931  double pzErrMax = conf_.getParameter<double>("pzErrMax");
932 
933  int pErrBin = conf_.getParameter<int>( "pErrBin");
934  double pErrMin = conf_.getParameter<double>("pErrMin");
935  double pErrMax = conf_.getParameter<double>("pErrMax");
936 
937  int phiErrBin = conf_.getParameter<int>( "phiErrBin");
938  double phiErrMin = conf_.getParameter<double>("phiErrMin");
939  double phiErrMax = conf_.getParameter<double>("phiErrMax");
940 
941  int etaErrBin = conf_.getParameter<int>( "etaErrBin");
942  double etaErrMin = conf_.getParameter<double>("etaErrMin");
943  double etaErrMax = conf_.getParameter<double>("etaErrMax");
944 
945 
946  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
947  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
948 
949  ibooker.setCurrentFolder(TopFolder_);
950 
951  TkParameterMEs tkmes;
952 
953  std::string histTag = (sname == "default") ? CategoryName : sname + "_" + CategoryName;
954 
955  if(doAllPlots_) {
956 
957  // general properties
958  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
959 
960  if (doThetaPlots_) {
961  histname = "Chi2oNDFVsTheta_" + histTag;
962  tkmes.Chi2oNDFVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax,"");
963  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta",1);
964  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf",2);
965  }
966  histname = "Chi2oNDFVsPhi_" + histTag;
967  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax,"");
968  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi",1);
969  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf",2);
970 
971  histname = "Chi2oNDFVsEta_" + histTag;
972  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax,"");
973  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta",1);
974  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf",2);
975 
976  histname = "Chi2ProbVsPhi_" + histTag;
977  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
978  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi" ,1);
979  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability",2);
980 
981  histname = "Chi2ProbVsEta_" + histTag;
982  tkmes.Chi2ProbVsEta = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
983  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta" ,1);
984  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability",2);
985 
986  }
987 
988  // general properties
989  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
990 
991  histname = "TrackP_" + histTag;
992  tkmes.TrackP = ibooker.book1D(histname, histname, TrackPBin, TrackPMin, TrackPMax);
993  tkmes.TrackP->setAxisTitle("Track |p| (GeV/c)", 1);
994  tkmes.TrackP->setAxisTitle("Number of Tracks",2);
995 
996  histname = "TrackPt_" + histTag;
997  tkmes.TrackPt = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
998  tkmes.TrackPt->setAxisTitle("Track p_{T} (GeV/c)", 1);
999  tkmes.TrackPt->setAxisTitle("Number of Tracks",2);
1000 
1001  if (doTrackPxPyPlots_) {
1002  histname = "TrackPx_" + histTag;
1003  tkmes.TrackPx = ibooker.book1D(histname, histname, TrackPxBin, TrackPxMin, TrackPxMax);
1004  tkmes.TrackPx->setAxisTitle("Track p_{x} (GeV/c)", 1);
1005  tkmes.TrackPx->setAxisTitle("Number of Tracks",2);
1006 
1007  histname = "TrackPy_" + histTag;
1008  tkmes.TrackPy = ibooker.book1D(histname, histname, TrackPyBin, TrackPyMin, TrackPyMax);
1009  tkmes.TrackPy->setAxisTitle("Track p_{y} (GeV/c)", 1);
1010  tkmes.TrackPy->setAxisTitle("Number of Tracks",2);
1011  }
1012  histname = "TrackPz_" + histTag;
1013  tkmes.TrackPz = ibooker.book1D(histname, histname, TrackPzBin, TrackPzMin, TrackPzMax);
1014  tkmes.TrackPz->setAxisTitle("Track p_{z} (GeV/c)", 1);
1015  tkmes.TrackPz->setAxisTitle("Number of Tracks",2);
1016 
1017  histname = "TrackPhi_" + histTag;
1018  tkmes.TrackPhi = ibooker.book1D(histname, histname, PhiBin, PhiMin, PhiMax);
1019  tkmes.TrackPhi->setAxisTitle("Track #phi", 1);
1020  tkmes.TrackPhi->setAxisTitle("Number of Tracks",2);
1021 
1022  histname = "TrackEta_" + histTag;
1023  tkmes.TrackEta = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1024  tkmes.TrackEta->setAxisTitle("Track #eta", 1);
1025  tkmes.TrackEta->setAxisTitle("Number of Tracks",2);
1026 
1027  if (doThetaPlots_) {
1028  histname = "TrackTheta_" + histTag;
1029  tkmes.TrackTheta = ibooker.book1D(histname, histname, ThetaBin, ThetaMin, ThetaMax);
1030  tkmes.TrackTheta->setAxisTitle("Track #theta", 1);
1031  tkmes.TrackTheta->setAxisTitle("Number of Tracks",2);
1032  }
1033  histname = "TrackQ_" + histTag;
1034  tkmes.TrackQ = ibooker.book1D(histname, histname, TrackQBin, TrackQMin, TrackQMax);
1035  tkmes.TrackQ->setAxisTitle("Track Charge", 1);
1036  tkmes.TrackQ->setAxisTitle("Number of Tracks",2);
1037 
1038  histname = "TrackPErrOverP_" + histTag;
1039  tkmes.TrackPErr = ibooker.book1D(histname, histname, pErrBin, pErrMin, pErrMax);
1040  tkmes.TrackPErr->setAxisTitle("track error(p)/p", 1);
1041  tkmes.TrackPErr->setAxisTitle("Number of Tracks",2);
1042 
1043  histname = "TrackPtErrOverPt_" + histTag;
1044  tkmes.TrackPtErr = ibooker.book1D(histname, histname, ptErrBin, ptErrMin, ptErrMax);
1045  tkmes.TrackPtErr->setAxisTitle("track error(p_{T})/p_{T}", 1);
1046  tkmes.TrackPtErr->setAxisTitle("Number of Tracks",2);
1047 
1048  histname = "TrackPtErrOverPtVsEta_" + histTag;
1049  tkmes.TrackPtErrVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, ptErrMin, ptErrMax);
1050  tkmes.TrackPtErrVsEta->setAxisTitle("Track #eta",1);
1051  tkmes.TrackPtErrVsEta->setAxisTitle("track error(p_{T})/p_{T}", 2);
1052 
1053  if (doTrackPxPyPlots_) {
1054  histname = "TrackPxErrOverPx_" + histTag;
1055  tkmes.TrackPxErr = ibooker.book1D(histname, histname, pxErrBin, pxErrMin, pxErrMax);
1056  tkmes.TrackPxErr->setAxisTitle("track error(p_{x})/p_{x}", 1);
1057  tkmes.TrackPxErr->setAxisTitle("Number of Tracks",2);
1058 
1059  histname = "TrackPyErrOverPy_" + histTag;
1060  tkmes.TrackPyErr = ibooker.book1D(histname, histname, pyErrBin, pyErrMin, pyErrMax);
1061  tkmes.TrackPyErr->setAxisTitle("track error(p_{y})/p_{y}", 1);
1062  tkmes.TrackPyErr->setAxisTitle("Number of Tracks",2);
1063  }
1064  histname = "TrackPzErrOverPz_" + histTag;
1065  tkmes.TrackPzErr = ibooker.book1D(histname, histname, pzErrBin, pzErrMin, pzErrMax);
1066  tkmes.TrackPzErr->setAxisTitle("track error(p_{z})/p_{z}", 1);
1067  tkmes.TrackPzErr->setAxisTitle("Number of Tracks",2);
1068 
1069  histname = "TrackPhiErr_" + histTag;
1070  tkmes.TrackPhiErr = ibooker.book1D(histname, histname, phiErrBin, phiErrMin, phiErrMax);
1071  tkmes.TrackPhiErr->setAxisTitle("track error(#phi)");
1072  tkmes.TrackPhiErr->setAxisTitle("Number of Tracks",2);
1073 
1074  histname = "TrackEtaErr_" + histTag;
1075  tkmes.TrackEtaErr = ibooker.book1D(histname, histname, etaErrBin, etaErrMin, etaErrMax);
1076  tkmes.TrackEtaErr->setAxisTitle("track error(#eta)");
1077  tkmes.TrackEtaErr->setAxisTitle("Number of Tracks",2);
1078 
1079  // rec hit profiles
1080  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
1081  histname = "NumberOfRecHitsPerTrackVsPhi_" + histTag;
1082  tkmes.NumberOfRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitBin, RecHitMin, RecHitMax,"");
1083  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1084  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of RecHits in each Track",2);
1085 
1086  if (doThetaPlots_) {
1087  histname = "NumberOfRecHitsPerTrackVsTheta_" + histTag;
1088  tkmes.NumberOfRecHitsPerTrackVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecHitBin, RecHitMin, RecHitMax,"");
1089  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Track #phi",1);
1090  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Number of RecHits in each Track",2);
1091  }
1092  histname = "NumberOfRecHitsPerTrackVsEta_" + histTag;
1093  tkmes.NumberOfRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitBin, RecHitMin, RecHitMax,"");
1094  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1095  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of RecHits in each Track",2);
1096 
1097  histname = "NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1098  tkmes.NumberOfValidRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitMin, RecHitMax,"");
1099  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1100  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Number of valid RecHits in each Track",2);
1101 
1102  // std::cout << "[TrackAnalyzer::bookHistosForState] histTag: " << histTag << std::endl;
1103  histname = "NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1104  tkmes.NumberOfValidRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitMin, RecHitMax,"");
1105  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1106  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Number of valid RecHits in each Track",2);
1107 
1109  histname = "NumberOfLayersPerTrackVsPhi_" + histTag;
1110  tkmes.NumberOfLayersPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecLayBin, RecLayMin, RecLayMax,"");
1111  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi",1);
1112  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of Layers in each Track",2);
1113 
1114  if (doThetaPlots_) {
1115  histname = "NumberOfLayersPerTrackVsTheta_" + histTag;
1116  tkmes.NumberOfLayersPerTrackVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecLayBin, RecLayMin, RecLayMax,"");
1117  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Track #phi",1);
1118  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Number of Layers in each Track",2);
1119  }
1120  histname = "NumberOfLayersPerTrackVsEta_" + histTag;
1121  tkmes.NumberOfLayersPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecLayBin, RecLayMin, RecLayMax,"");
1122  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta",1);
1123  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of Layers in each Track",2);
1124 
1125  if (doThetaPlots_) {
1126  histname = "Chi2oNDFVsTheta_" + histTag;
1127  tkmes.Chi2oNDFVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax,"");
1128  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta",1);
1129  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf",2);
1130  }
1131  if (doAllPlots_) {
1132  histname = "Chi2oNDFVsPhi_" + histTag;
1133  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax,"");
1134  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi",1);
1135  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf",2);
1136 
1137  histname = "Chi2oNDFVsEta_" + histTag;
1138  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax,"");
1139  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta",1);
1140  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf",2);
1141 
1142  histname = "Chi2ProbVsPhi_" + histTag;
1143  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
1144  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi" ,1);
1145  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability",2);
1146 
1147  histname = "Chi2ProbVsEta_" + histTag;
1148  tkmes.Chi2ProbVsEta = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
1149  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta" ,1);
1150  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability",2);
1151  }
1152 
1153  // now put the MEs in the map
1154  TkParameterMEMap.insert( std::make_pair(sname, tkmes) );
1155 
1156 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
std::map< std::string, TkParameterMEs > TkParameterMEMap
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
const double EtaMin[kNumberCalorimeter]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
bool doTrackPxPyPlots_
Definition: TrackAnalyzer.h:84
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::string histname
void TrackAnalyzer::bookHistosForTrackerSpecific ( DQMStore::IBooker ibooker)
private

Definition at line 1296 of file TrackAnalyzer.cc.

References HLT_25ns14e33_v1_cff::AlgoName, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), conf_, TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorId, TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorTag, HLT_25ns14e33_v3_cff::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), histname, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrack, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrack, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsPhi, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, produceOfflineValidationTex::subdetectors, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, TkRecHitsPerSubDetMEMap, StripSubdetector::TOB, and TopFolder_.

Referenced by initHisto().

1297 {
1298 
1299  // parameters from the configuration
1300  std::string QualName = conf_.getParameter<std::string>("Quality");
1302 
1303  // use the AlgoName and Quality Name
1304  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
1305 
1306  int PhiBin = conf_.getParameter<int>( "PhiBin");
1307  double PhiMin = conf_.getParameter<double>("PhiMin");
1308  double PhiMax = conf_.getParameter<double>("PhiMax");
1309 
1310  int EtaBin = conf_.getParameter<int>( "EtaBin");
1311  double EtaMin = conf_.getParameter<double>("EtaMin");
1312  double EtaMax = conf_.getParameter<double>("EtaMax");
1313 
1314  // book hit property histograms
1315  // ---------------------------------------------------------------------------------//
1316  ibooker.setCurrentFolder(TopFolder_+"/HitProperties");
1317 
1318 
1319 
1320  std::vector<std::string> subdetectors = conf_.getParameter<std::vector<std::string> >("subdetectors");
1321  int detBin = conf_.getParameter<int>("subdetectorBin");
1322 
1323  for ( auto det : subdetectors ) {
1324 
1325  // hits properties
1326  ibooker.setCurrentFolder(TopFolder_+"/HitProperties/"+det);
1327 
1328  TkRecHitsPerSubDetMEs recHitsPerSubDet_mes;
1329 
1330  recHitsPerSubDet_mes.detectorTag = det;
1331  int detID = -1;
1332  if ( det == "TIB" ) detID = StripSubdetector::TIB;
1333  if ( det == "TOB" ) detID = StripSubdetector::TOB;
1334  if ( det == "TID" ) detID = StripSubdetector::TID;
1335  if ( det == "TEC" ) detID = StripSubdetector::TEC;
1336  if ( det == "PixBarrel" ) detID = PixelSubdetector::PixelBarrel;
1337  if ( det == "PixEndcap" ) detID = PixelSubdetector::PixelEndcap;
1338  recHitsPerSubDet_mes.detectorId = detID;
1339 
1340  histname = "NumberOfRecHitsPerTrack_" + det + "_" + CategoryName;
1341  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack = ibooker.book1D(histname, histname, detBin, -0.5, double(detBin)-0.5);
1342  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of " + det + " valid RecHits in each Track",1);
1343  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
1344 
1345  histname = "NumberOfRecHitsPerTrackVsPhi_" + det + "_" + CategoryName;
1346  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin)-0.5,"");
1347  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1348  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of " + det + " valid RecHits in each Track",2);
1349 
1350  histname = "NumberOfRecHitsPerTrackVsEta_" + det + "_" + CategoryName;
1351  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin)-0.5,"");
1352  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1353  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of " + det + " valid RecHits in each Track",2);
1354 
1355  histname = "NumberOfLayersPerTrack_" + det + "_" + CategoryName;
1356  recHitsPerSubDet_mes.NumberOfLayersPerTrack = ibooker.book1D(histname, histname, detBin, -0.5, double(detBin)-0.5);
1357  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of " + det + " valid Layers in each Track",1);
1358  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of Tracks", 2);
1359 
1360  histname = "NumberOfLayersPerTrackVsPhi_" + det + "_" + CategoryName;
1361  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin)-0.5,"");
1362  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi",1);
1363  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of " + det + " valid Layers in each Track",2);
1364 
1365  histname = "NumberOfLayersPerTrackVsEta_" + det + "_" + CategoryName;
1366  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin)-0.5,"");
1367  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta",1);
1368  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of " + det + " valid Layers in each Track",2);
1369 
1370  TkRecHitsPerSubDetMEMap.insert(std::pair<std::string,TkRecHitsPerSubDetMEs>(det,recHitsPerSubDet_mes));
1371 
1372 
1373  }
1374 
1375 
1376 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
const double EtaMin[kNumberCalorimeter]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::string histname
void TrackAnalyzer::doReset ( )

Definition at line 1451 of file TrackAnalyzer.cc.

References Chi2oNDF_lumiFlag, NumberOfRecHitsPerTrack_lumiFlag, and HcalObjRepresent::Reset().

Referenced by TrackingMonitor::beginLuminosityBlock().

1451  {
1452  TkParameterMEs tkmes;
1455 }
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void Reset(std::vector< TH2F > &depth)
void TrackAnalyzer::doSoftReset ( DQMStore dqmStore_)

Definition at line 1443 of file TrackAnalyzer.cc.

References Chi2oNDF, NumberOfRecHitsPerTrack, and DQMStore::softReset().

1443  {
1444  TkParameterMEs tkmes;
1445  dqmStore_->softReset(Chi2oNDF);
1446  dqmStore_->softReset(NumberOfRecHitsPerTrack);
1447 }
MonitorElement * NumberOfRecHitsPerTrack
void softReset(MonitorElement *me)
Definition: DQMStore.cc:3374
MonitorElement * Chi2oNDF
void TrackAnalyzer::fillHistosForHitProperties ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private
void TrackAnalyzer::fillHistosForLScertification ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private
void TrackAnalyzer::fillHistosForState ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private

Definition at line 1161 of file TrackAnalyzer.cc.

References TrajectoryStateOnSurface::cartesianError(), TrajectoryStateOnSurface::charge(), reco::TrackBase::charge(), reco::TrackBase::chi2(), TrackAnalyzer::TkParameterMEs::Chi2oNDFVsEta, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPhi, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsTheta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsEta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsPhi, TrajectoryStateOnSurface::curvilinearError(), doAllPlots_, doThetaPlots_, doTrackPxPyPlots_, benchmark_cfg::errors, eta, PV3DBase< T, PVType, FrameType >::eta(), reco::TrackBase::eta(), etaerror, reco::TrackBase::etaError(), MonitorElement::Fill(), edm::EventSetup::get(), TrajectoryStateOnSurface::globalMomentum(), reco::TrackBase::hitPattern(), reco::TransientTrack::impactPointState(), reco::TransientTrack::innermostMeasurementState(), PV3DBase< T, PVType, FrameType >::mag(), CartesianTrajectoryError::matrix(), CurvilinearTrajectoryError::matrix(), reco::TrackBase::ndof(), reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfHits(), TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsTheta, reco::TrackBase::numberOfValidHits(), TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPhi, reco::TransientTrack::outermostMeasurementState(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::p(), PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), reco::TrackBase::phi(), reco::TrackBase::phiError(), funct::pow(), EnergyCorrector::pt, reco::TrackBase::pt(), reco::TrackBase::ptError(), reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), lumiQueryAPI::q, funct::sin(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::theta(), theta(), reco::TrackBase::theta(), TkParameterMEMap, reco::HitPattern::TRACK_HITS, reco::HitPattern::trackerLayersWithMeasurement(), TrackAnalyzer::TkParameterMEs::TrackEta, TrackAnalyzer::TkParameterMEs::TrackEtaErr, TrackAnalyzer::TkParameterMEs::TrackP, TrackAnalyzer::TkParameterMEs::TrackPErr, TrackAnalyzer::TkParameterMEs::TrackPhi, TrackAnalyzer::TkParameterMEs::TrackPhiErr, TrackAnalyzer::TkParameterMEs::TrackPt, TrackAnalyzer::TkParameterMEs::TrackPtErr, TrackAnalyzer::TkParameterMEs::TrackPtErrVsEta, TrackAnalyzer::TkParameterMEs::TrackPx, TrackAnalyzer::TkParameterMEs::TrackPxErr, TrackAnalyzer::TkParameterMEs::TrackPy, TrackAnalyzer::TkParameterMEs::TrackPyErr, TrackAnalyzer::TkParameterMEs::TrackPz, TrackAnalyzer::TkParameterMEs::TrackPzErr, TrackAnalyzer::TkParameterMEs::TrackQ, TrackAnalyzer::TkParameterMEs::TrackTheta, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

1162 {
1163  //get the kinematic parameters
1164  double p, px, py, pz, pt, theta, phi, eta, q;
1165  double pxerror, pyerror, pzerror, pterror, perror, phierror, etaerror;
1166 
1167  if (sname == "default") {
1168 
1169  p = track.p();
1170  px = track.px();
1171  py = track.py();
1172  pz = track.pz();
1173  pt = track.pt();
1174  phi = track.phi();
1175  theta = track.theta();
1176  eta = track.eta();
1177  q = track.charge();
1178 
1179  pterror = (pt) ? track.ptError()/(pt*pt) : 0.0;
1180  pxerror = -1.0;
1181  pyerror = -1.0;
1182  pzerror = -1.0;
1183  perror = -1.0;
1184  phierror = track.phiError();
1185  etaerror = track.etaError();
1186 
1187  } else {
1188 
1190  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder",theB);
1191  reco::TransientTrack TransTrack = theB->build(track);
1192 
1194 
1195  if (sname == "OuterSurface") TSOS = TransTrack.outermostMeasurementState();
1196  else if (sname == "InnerSurface") TSOS = TransTrack.innermostMeasurementState();
1197  else if (sname == "ImpactPoint") TSOS = TransTrack.impactPointState();
1198 
1199  p = TSOS.globalMomentum().mag();
1200  px = TSOS.globalMomentum().x();
1201  py = TSOS.globalMomentum().y();
1202  pz = TSOS.globalMomentum().z();
1203  pt = TSOS.globalMomentum().perp();
1204  phi = TSOS.globalMomentum().phi();
1205  theta = TSOS.globalMomentum().theta();
1206  eta = TSOS.globalMomentum().eta();
1207  q = TSOS.charge();
1208 
1209  //get the error of the kinimatic parameters
1211  double partialPterror = errors(3,3)*pow(TSOS.globalMomentum().x(),2) + errors(4,4)*pow(TSOS.globalMomentum().y(),2);
1212  pterror = sqrt(partialPterror)/TSOS.globalMomentum().perp();
1213  pxerror = sqrt(errors(3,3))/TSOS.globalMomentum().x();
1214  pyerror = sqrt(errors(4,4))/TSOS.globalMomentum().y();
1215  pzerror = sqrt(errors(5,5))/TSOS.globalMomentum().z();
1216  perror = sqrt(partialPterror+errors(5,5)*pow(TSOS.globalMomentum().z(),2))/TSOS.globalMomentum().mag();
1217  phierror = sqrt(TSOS.curvilinearError().matrix()(2,2));
1218  etaerror = sqrt(TSOS.curvilinearError().matrix()(1,1))*fabs(sin(TSOS.globalMomentum().theta()));
1219 
1220  }
1221 
1222  std::map<std::string, TkParameterMEs>::iterator iPos = TkParameterMEMap.find(sname);
1223  if (iPos != TkParameterMEMap.end()) {
1224 
1225  TkParameterMEs tkmes = iPos->second;
1226 
1227  // momentum
1228  tkmes.TrackP->Fill(p);
1229  if (doTrackPxPyPlots_) {
1230  tkmes.TrackPx->Fill(px);
1231  tkmes.TrackPy->Fill(py);
1232  }
1233  tkmes.TrackPz->Fill(pz);
1234  tkmes.TrackPt->Fill(pt);
1235 
1236  // angles
1237  tkmes.TrackPhi->Fill(phi);
1238  tkmes.TrackEta->Fill(eta);
1239  if (doThetaPlots_) {
1240  tkmes.TrackTheta->Fill(theta);
1241  }
1242  tkmes.TrackQ->Fill(q);
1243 
1244  // errors
1245  tkmes.TrackPtErr->Fill(pterror);
1246  tkmes.TrackPtErrVsEta->Fill(eta,pterror);
1247  if (doTrackPxPyPlots_) {
1248  tkmes.TrackPxErr->Fill(pxerror);
1249  tkmes.TrackPyErr->Fill(pyerror);
1250  }
1251  tkmes.TrackPzErr->Fill(pzerror);
1252  tkmes.TrackPErr->Fill(perror);
1253  tkmes.TrackPhiErr->Fill(phierror);
1254  tkmes.TrackEtaErr->Fill(etaerror);
1255 
1256  int nRecHits = track.hitPattern().numberOfHits(reco::HitPattern::TRACK_HITS);
1257  int nValidRecHits = track.numberOfValidHits();
1258  // rec hits
1259  tkmes.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nRecHits);
1260  if (doThetaPlots_) {
1261  tkmes.NumberOfRecHitsPerTrackVsTheta->Fill(theta,nRecHits);
1262  }
1263  tkmes.NumberOfRecHitsPerTrackVsEta->Fill(eta, nRecHits);
1264 
1265  tkmes.NumberOfValidRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
1266  tkmes.NumberOfValidRecHitsPerTrackVsEta->Fill(eta, nValidRecHits);
1267 
1268  int nLayers = track.hitPattern().trackerLayersWithMeasurement();
1269  // rec layers
1270  tkmes.NumberOfLayersPerTrackVsPhi->Fill(phi, nLayers);
1271  if (doThetaPlots_) {
1272  tkmes.NumberOfLayersPerTrackVsTheta->Fill(theta, nLayers);
1273  }
1274  tkmes.NumberOfLayersPerTrackVsEta->Fill(eta, nLayers);
1275 
1276  double chi2prob = TMath::Prob(track.chi2(),(int)track.ndof());
1277  double chi2oNDF = track.normalizedChi2();
1278 
1279  if(doAllPlots_) {
1280 
1281  // general properties
1282  if (doThetaPlots_) {
1283  tkmes.Chi2oNDFVsTheta->Fill(theta, chi2oNDF);
1284  }
1285  tkmes.Chi2oNDFVsPhi->Fill(phi, chi2oNDF);
1286  tkmes.Chi2oNDFVsEta->Fill(eta, chi2oNDF);
1287  tkmes.Chi2ProbVsPhi->Fill(phi, chi2prob);
1288  tkmes.Chi2ProbVsEta->Fill(eta, chi2prob);
1289  }
1290 
1291  }
1292 
1293 }
double p() const
momentum vector magnitude
Definition: TrackBase.h:578
T perp() const
Definition: PV3DBase.h:72
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:524
double theta() const
polar angle
Definition: TrackBase.h:542
const CurvilinearTrajectoryError & curvilinearError() const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
const CartesianTrajectoryError cartesianError() const
Geom::Theta< T > theta() const
T y() const
Definition: PV3DBase.h:63
double etaError() const
error on eta
Definition: TrackBase.h:747
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:608
std::map< std::string, TkParameterMEs > TkParameterMEMap
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:590
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:477
TrajectoryStateOnSurface innermostMeasurementState() const
Geom::Theta< T > theta() const
Definition: PV3DBase.h:75
T mag() const
Definition: PV3DBase.h:67
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:614
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:512
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:518
T sqrt(T t)
Definition: SSEVec.h:48
double pt() const
track transverse momentum
Definition: TrackBase.h:584
T z() const
Definition: PV3DBase.h:64
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:726
double phiError() const
error on phi
Definition: TrackBase.h:753
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:783
TrajectoryStateOnSurface outermostMeasurementState() const
const AlgebraicSymMatrix66 & matrix() const
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:602
TrajectoryStateOnSurface TSOS
Definition: TestHits.cc:19
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:421
const T & get() const
Definition: EventSetup.h:55
T eta() const
Definition: PV3DBase.h:76
bool doTrackPxPyPlots_
Definition: TrackAnalyzer.h:84
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
int charge() const
track electric charge
Definition: TrackBase.h:530
TrajectoryStateOnSurface impactPointState() const
T x() const
Definition: PV3DBase.h:62
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:596
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:718
void TrackAnalyzer::fillHistosForTrackerSpecific ( const reco::Track track)
private

Definition at line 1379 of file TrackAnalyzer.cc.

References eta, reco::TrackBase::eta(), HcalObjRepresent::Fill(), reco::TrackBase::hitPattern(), reco::HitPattern::numberOfValidPixelBarrelHits(), reco::HitPattern::numberOfValidPixelEndcapHits(), reco::HitPattern::numberOfValidStripTECHits(), reco::HitPattern::numberOfValidStripTIBHits(), reco::HitPattern::numberOfValidStripTIDHits(), reco::HitPattern::numberOfValidStripTOBHits(), phi, reco::TrackBase::phi(), PixelSubdetector::PixelBarrel, reco::HitPattern::pixelBarrelLayersWithMeasurement(), PixelSubdetector::PixelEndcap, reco::HitPattern::pixelEndcapLayersWithMeasurement(), reco::HitPattern::stripTECLayersWithMeasurement(), reco::HitPattern::stripTIBLayersWithMeasurement(), reco::HitPattern::stripTIDLayersWithMeasurement(), reco::HitPattern::stripTOBLayersWithMeasurement(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, TkRecHitsPerSubDetMEMap, and StripSubdetector::TOB.

Referenced by analyze().

1380 {
1381 
1382  double phi = track.phi();
1383  double eta = track.eta();
1384 
1385  for ( std::map<std::string,TkRecHitsPerSubDetMEs>::iterator it = TkRecHitsPerSubDetMEMap.begin();
1386  it != TkRecHitsPerSubDetMEMap.end(); it++ ) {
1387 
1388  int nValidLayers = 0;
1389  int nValidRecHits = 0;
1390  int substr = it->second.detectorId;
1391  switch(substr) {
1392  case StripSubdetector::TIB :
1393  nValidLayers = track.hitPattern().stripTIBLayersWithMeasurement(); // case 0: strip TIB
1394  nValidRecHits = track.hitPattern().numberOfValidStripTIBHits(); // case 0: strip TIB
1395  break;
1396  case StripSubdetector::TID :
1397  nValidLayers = track.hitPattern().stripTIDLayersWithMeasurement(); // case 0: strip TID
1398  nValidRecHits = track.hitPattern().numberOfValidStripTIDHits(); // case 0: strip TID
1399  break;
1400  case StripSubdetector::TOB :
1401  nValidLayers = track.hitPattern().stripTOBLayersWithMeasurement(); // case 0: strip TOB
1402  nValidRecHits = track.hitPattern().numberOfValidStripTOBHits(); // case 0: strip TOB
1403  break;
1404  case StripSubdetector::TEC :
1405  nValidLayers = track.hitPattern().stripTECLayersWithMeasurement(); // case 0: strip TEC
1406  nValidRecHits = track.hitPattern().numberOfValidStripTECHits(); // case 0: strip TEC
1407  break;
1409  nValidLayers = track.hitPattern().pixelBarrelLayersWithMeasurement(); // case 0: pixel PXB
1410  nValidRecHits = track.hitPattern().numberOfValidPixelBarrelHits(); // case 0: pixel PXB
1411  break;
1413  nValidLayers = track.hitPattern().pixelEndcapLayersWithMeasurement(); // case 0: pixel PXF
1414  nValidRecHits = track.hitPattern().numberOfValidPixelEndcapHits(); // case 0: pixel PXF
1415  break;
1416  default :
1417  break;
1418  }
1419 
1420  //Fill Layers and RecHits
1421  it->second.NumberOfRecHitsPerTrack -> Fill(nValidRecHits);
1422  it->second.NumberOfRecHitsPerTrackVsPhi -> Fill(phi, nValidRecHits);
1423  it->second.NumberOfRecHitsPerTrackVsEta -> Fill(eta, nValidRecHits);
1424 
1425  it->second.NumberOfLayersPerTrack -> Fill(nValidLayers);
1426  it->second.NumberOfLayersPerTrackVsPhi -> Fill(phi, nValidLayers);
1427  it->second.NumberOfLayersPerTrackVsEta -> Fill(eta, nValidLayers);
1428  }
1429 
1430 }
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:563
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:541
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:608
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:529
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:779
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:614
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:754
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:552
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:774
int numberOfValidStripTECHits() const
Definition: HitPattern.h:784
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:421
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:517
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:769
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:759
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:574
void TrackAnalyzer::initHisto ( DQMStore::IBooker ibooker)
virtual

Definition at line 137 of file TrackAnalyzer.cc.

References bookHistosForBeamSpot(), bookHistosForHitProperties(), bookHistosForLScertification(), bookHistosForState(), bookHistosForTrackerSpecific(), conf_, doAllPlots_, doMeasurementStatePlots_, doTrackerSpecific_, edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by TrackingMonitor::bookHistograms().

138 {
139 
141  bookHistosForBeamSpot(ibooker);
143 
144  // book tracker specific related histograms
145  // ---------------------------------------------------------------------------------//
147 
148  // book state related histograms
149  // ---------------------------------------------------------------------------------//
151 
152  std::string StateName = conf_.getParameter<std::string>("MeasurementState");
153 
154  if (StateName == "All") {
155  bookHistosForState("OuterSurface", ibooker);
156  bookHistosForState("InnerSurface", ibooker);
157  bookHistosForState("ImpactPoint" , ibooker);
158  } else if (
159  StateName != "OuterSurface" &&
160  StateName != "InnerSurface" &&
161  StateName != "ImpactPoint" &&
162  StateName != "default"
163  ) {
164  bookHistosForState("default", ibooker);
165 
166  } else {
167  bookHistosForState(StateName, ibooker);
168  }
169 
170  }
171 }
T getParameter(std::string const &) const
bool doTrackerSpecific_
Definition: TrackAnalyzer.h:66
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
bool doMeasurementStatePlots_
Definition: TrackAnalyzer.h:72
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
void TrackAnalyzer::initHistos ( )
private

Definition at line 59 of file TrackAnalyzer.cc.

References algorithm, Chi2oNDF, Chi2oNDF_lumiFlag, Chi2oNDFVsEta, Chi2oNDFVsPhi, Chi2oNDFVsTheta, Chi2Prob, Chi2ProbVsEta, Chi2ProbVsPhi, DistanceOfClosestApproach, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, dNdEta_HighPurity, dNdPhi_HighPurity, dNdPt_HighPurity, LongDCASig, NhitVsEta_HighPurity, NhitVsPhi_HighPurity, NULL, NumberOfLayersPerTrack, NumberOfLayersVsPhiVsEtaPerTrack, NumberOfLostRecHitsPerTrack, NumberOfRecHitsPerTrack, NumberOfRecHitsPerTrack_lumiFlag, NumberOfRecHitsPerTrackVsEta, NumberOfRecHitsPerTrackVsPhi, NumberOfRecHitsPerTrackVsTheta, NumberOfRecHitVsPhiVsEtaPerTrack, NumberOfValidRecHitsPerTrack, NumberOfValidRecHitsPerTrackVsEta, NumberOfValidRecHitsPerTrackVsPhi, sip2dToPV, sip3dToPV, sipDxyToBS, sipDxyToPV, sipDzToBS, sipDzToPV, TESTDistanceOfClosestApproachToBS, TESTDistanceOfClosestApproachToBSVsPhi, TransDCASig, xPointOfClosestApproach, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproach, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, zPointOfClosestApproach, and zPointOfClosestApproachVsPhi.

Referenced by TrackAnalyzer().

60 {
61  Chi2 = NULL;
62  Chi2Prob = NULL;
65  Chi2oNDF = NULL;
72 
76 
80 
82 
85 
88 
103  algorithm = NULL;
104  // TESTING
107 
108 // by Mia in order to deal w/ LS transitions
111 
113  //special Plots for HI DQM //SHOULD I ADD THE BOOL HERE??
115  LongDCASig = NULL;
116  TransDCASig = NULL;
122 
123  // IP significance
124  sipDxyToBS = NULL;
125  sipDzToBS = NULL;
126  sip3dToPV = NULL;
127  sip2dToPV = NULL;
128  sipDxyToPV = NULL;
129  sipDzToPV = NULL;
130 
131 }
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * sip3dToPV
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * Chi2oNDFVsPhi
MonitorElement * Chi2ProbVsPhi
MonitorElement * DistanceOfClosestApproachVsPhi
#define NULL
Definition: scimark2.h:8
MonitorElement * sipDzToBS
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * algorithm
MonitorElement * DistanceOfClosestApproach
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * TransDCASig
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDFVsTheta
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * dNdPt_HighPurity
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * dNdPhi_HighPurity
MonitorElement * sip2dToPV
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * dNdEta_HighPurity
MonitorElement * sipDxyToPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfLayersPerTrack
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * NhitVsEta_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack
MonitorElement * Chi2Prob
Definition: Chi2.h:17
MonitorElement * zPointOfClosestApproach
MonitorElement * Chi2ProbVsEta
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * Chi2oNDF
MonitorElement * Chi2oNDFVsEta
MonitorElement * LongDCASig
void TrackAnalyzer::setLumiFlag ( )

Definition at line 1434 of file TrackAnalyzer.cc.

References Chi2oNDF_lumiFlag, and NumberOfRecHitsPerTrack_lumiFlag.

Referenced by TrackingMonitor::bookHistograms().

1434  {
1435 
1436  TkParameterMEs tkmes;
1439 }
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void TrackAnalyzer::undoSoftReset ( DQMStore dqmStore_)

Definition at line 1459 of file TrackAnalyzer.cc.

References Chi2oNDF, DQMStore::disableSoftReset(), and NumberOfRecHitsPerTrack.

1459  {
1460  TkParameterMEs tkmes;
1461  dqmStore_->disableSoftReset(Chi2oNDF);
1463 }
MonitorElement * NumberOfRecHitsPerTrack
void disableSoftReset(MonitorElement *me)
Definition: DQMStore.cc:3382
MonitorElement * Chi2oNDF

Member Data Documentation

MonitorElement* TrackAnalyzer::algorithm
private

Definition at line 257 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

edm::EDGetTokenT<reco::BeamSpot> TrackAnalyzer::beamSpotToken_
private

Definition at line 61 of file TrackAnalyzer.h.

Referenced by analyze(), and TrackAnalyzer().

MonitorElement* TrackAnalyzer::Chi2
private

Definition at line 224 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::Chi2oNDF
private
MonitorElement* TrackAnalyzer::Chi2oNDF_lumiFlag
private
MonitorElement* TrackAnalyzer::Chi2oNDFVsEta
private

Definition at line 228 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2oNDFVsPhi
private

Definition at line 229 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2oNDFVsTheta
private

Definition at line 230 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2Prob
private

Definition at line 225 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::Chi2ProbVsEta
private

Definition at line 232 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2ProbVsPhi
private

Definition at line 233 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2ProbVsTheta
private

Definition at line 234 of file TrackAnalyzer.h.

edm::ParameterSet TrackAnalyzer::conf_
private
MonitorElement* TrackAnalyzer::DistanceOfClosestApproach
private

Definition at line 236 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBS
private

Definition at line 237 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBSVsPhi
private

Definition at line 241 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToPV
private

Definition at line 238 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToPVVsPhi
private

Definition at line 242 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsEta
private

Definition at line 243 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsPhi
private

Definition at line 240 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsTheta
private

Definition at line 239 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::dNdEta_HighPurity
private

Definition at line 270 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::dNdPhi_HighPurity
private

Definition at line 269 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::dNdPt_HighPurity
private

Definition at line 271 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

bool TrackAnalyzer::doAllPlots_
private
bool TrackAnalyzer::doBSPlots_
private

Definition at line 68 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doDCAPlots_
private

Definition at line 70 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and bookHistosForHitProperties().

bool TrackAnalyzer::doDCAwrt000Plots_
private

Definition at line 88 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doDCAwrtPVPlots_
private

Definition at line 87 of file TrackAnalyzer.h.

bool TrackAnalyzer::doGeneralPropertiesPlots_
private

Definition at line 71 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doHIPlots_
private

Definition at line 96 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doHitPropertiesPlots_
private

Definition at line 73 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doLayersVsPhiVsEtaPerTrack_
private

Definition at line 76 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doLumiAnalysis_
private

Definition at line 90 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForLScertification().

bool TrackAnalyzer::doMeasurementStatePlots_
private

Definition at line 72 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doPVPlots_
private

Definition at line 69 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doRecHitsPerTrackProfile_
private

Definition at line 80 of file TrackAnalyzer.h.

bool TrackAnalyzer::doRecHitVsPhiVsEtaPerTrack_
private

Definition at line 74 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doSIPPlots_
private

Definition at line 99 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doTestPlots_
private

Definition at line 93 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doThetaPlots_
private
bool TrackAnalyzer::doTrack2DChi2Plots_
private

Definition at line 79 of file TrackAnalyzer.h.

bool TrackAnalyzer::doTrackerSpecific_
private

Definition at line 66 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doTrackLayersVsPhiVsEtaPerTrack_
private

Definition at line 78 of file TrackAnalyzer.h.

bool TrackAnalyzer::doTrackPxPyPlots_
private

Definition at line 84 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

bool TrackAnalyzer::doTrackRecHitVsPhiVsEtaPerTrack_
private

Definition at line 77 of file TrackAnalyzer.h.

std::string TrackAnalyzer::histname
private
MonitorElement* TrackAnalyzer::LongDCASig
private

Definition at line 267 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NhitVsEta_HighPurity
private

Definition at line 272 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NhitVsPhi_HighPurity
private

Definition at line 273 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrack
private

Definition at line 216 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsEta
private

Definition at line 220 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsPhi
private

Definition at line 218 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsTheta
private

Definition at line 219 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLayersVsPhiVsEtaPerTrack
private

Definition at line 222 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrack
private

Definition at line 204 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrack
private
MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrack_lumiFlag
private
MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrackVsEta
private

Definition at line 208 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrackVsPhi
private

Definition at line 206 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrackVsTheta
private

Definition at line 207 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitVsPhiVsEtaPerTrack
private

Definition at line 209 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrack
private

Definition at line 203 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsEta
private

Definition at line 213 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsPhi
private

Definition at line 211 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsTheta
private

Definition at line 212 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfValidRecHitVsPhiVsEtaPerTrack
private

Definition at line 214 of file TrackAnalyzer.h.

edm::EDGetTokenT<reco::VertexCollection> TrackAnalyzer::pvToken_
private

Definition at line 62 of file TrackAnalyzer.h.

Referenced by analyze(), and TrackAnalyzer().

std::string TrackAnalyzer::qualityString_
private

Definition at line 101 of file TrackAnalyzer.h.

Referenced by analyze().

MonitorElement* TrackAnalyzer::sip2dToPV
private

Definition at line 279 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::sip3dToPV
private

Definition at line 278 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::sipDxyToBS
private

Definition at line 276 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::sipDxyToPV
private

Definition at line 280 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::sipDzToBS
private

Definition at line 277 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::sipDzToPV
private

Definition at line 281 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::TESTDistanceOfClosestApproachToBS
private

Definition at line 259 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::TESTDistanceOfClosestApproachToBSVsPhi
private

Definition at line 260 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

std::map<std::string, TkParameterMEs> TrackAnalyzer::TkParameterMEMap
private

Definition at line 199 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

std::map<std::string, TkRecHitsPerSubDetMEs> TrackAnalyzer::TkRecHitsPerSubDetMEMap
private

Definition at line 294 of file TrackAnalyzer.h.

Referenced by bookHistosForTrackerSpecific(), and fillHistosForTrackerSpecific().

std::string TrackAnalyzer::TopFolder_
private
MonitorElement* TrackAnalyzer::TransDCASig
private

Definition at line 268 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::xPointOfClosestApproach
private

Definition at line 244 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::xPointOfClosestApproachToPV
private

Definition at line 245 of file TrackAnalyzer.h.

Referenced by bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrt000
private

Definition at line 246 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrtBS
private

Definition at line 247 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrtPV
private

Definition at line 248 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::yPointOfClosestApproach
private

Definition at line 249 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::yPointOfClosestApproachToPV
private

Definition at line 250 of file TrackAnalyzer.h.

Referenced by bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrt000
private

Definition at line 251 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrtBS
private

Definition at line 252 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrtPV
private

Definition at line 253 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::zPointOfClosestApproach
private

Definition at line 254 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForHitProperties(), and initHistos().

MonitorElement* TrackAnalyzer::zPointOfClosestApproachToPV
private

Definition at line 255 of file TrackAnalyzer.h.

Referenced by bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::zPointOfClosestApproachVsPhi
private

Definition at line 256 of file TrackAnalyzer.h.

Referenced by analyze(), bookHistosForBeamSpot(), and initHistos().