CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
dqm::TrackAnalyzer Class Reference

#include <TrackAnalyzer.h>

Classes

struct  Key
 
struct  KeyHasher
 
struct  TkParameterMEs
 
struct  TkRecHitsPerSubDetMEs
 

Public Member Functions

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

Private Types

enum  monQuantity {
  VsPU, VsBX, VsPIXELLUMI, VsSCALLUMI,
  END
}
 

Private Member Functions

void bookHistosForBeamSpot (DQMStore::IBooker &ibooker)
 
void bookHistosForEfficiencyFromHitPatter (DQMStore::IBooker &ibooker, const edm::EventSetup &iSetup, const std::string suffix, bool useInac)
 
void bookHistosForHitProperties (DQMStore::IBooker &ibooker)
 
void bookHistosForLScertification (DQMStore::IBooker &ibooker)
 
void bookHistosForState (std::string sname, DQMStore::IBooker &ibooker)
 
void bookHistosForTrackerSpecific (DQMStore::IBooker &ibooker)
 
void fillHistosForEfficiencyFromHitPatter (const reco::Track &track, const std::string suffix, const float monitoring, bool useInac)
 
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

MonitorElementAbsDistanceOfClosestApproachToBS
 
MonitorElementalgorithm
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
unsigned int bx_
 
MonitorElementChi2
 
MonitorElementChi2oNDF
 
MonitorElementChi2oNDF_lumiFlag
 
MonitorElementChi2oNDFVsEta = 0
 
MonitorElementChi2oNDFVsNHits = 0
 
MonitorElementChi2oNDFVsPhi
 
MonitorElementChi2oNDFVsPt = 0
 
MonitorElementChi2oNDFVsTheta
 
MonitorElementChi2Prob
 
MonitorElementChi2ProbVsEta
 
MonitorElementChi2ProbVsPhi
 
MonitorElementChi2ProbVsTheta
 
edm::ParameterSet const * conf_
 
MonitorElementDeltaZToPV
 
MonitorElementDeltaZToPVZoom
 
MonitorElementDistanceOfClosestApproach
 
MonitorElementDistanceOfClosestApproachToBS
 
MonitorElementDistanceOfClosestApproachToBSVsPhi
 
MonitorElementDistanceOfClosestApproachToPV
 
MonitorElementDistanceOfClosestApproachToPVVsPhi
 
MonitorElementDistanceOfClosestApproachToPVZoom
 
MonitorElementDistanceOfClosestApproachVsEta
 
MonitorElementDistanceOfClosestApproachVsPhi
 
MonitorElementDistanceOfClosestApproachVsTheta
 
MonitorElementdNdEta_HighPurity
 
MonitorElementdNdPhi_HighPurity
 
MonitorElementdNdPt_HighPurity
 
MonitorElementdNhitdPt_HighPurity
 
bool doAllPlots_
 
bool doBSPlots_
 
bool doDCAPlots_
 
bool doDCAwrt000Plots_
 
bool doDCAwrtPVPlots_
 
bool doEffFromHitPatternVsBX_
 
bool doEffFromHitPatternVsLUMI_
 
bool doEffFromHitPatternVsPU_
 
bool doGeneralPropertiesPlots_
 
bool doHIPlots_
 
bool doHitPropertiesPlots_
 
bool doLayersVsPhiVsEtaPerTrack_
 
bool doLumiAnalysis_
 
bool doMeasurementStatePlots_
 
bool doPVPlots_
 
bool doRecHitsPerTrackProfile_
 
bool doRecHitVsPhiVsEtaPerTrack_
 
bool doRecHitVsPtVsEtaPerTrack_
 
bool doSIPPlots_
 
bool doTestPlots_
 
bool doThetaPlots_
 
bool doTrack2DChi2Plots_
 
bool doTrackerSpecific_
 
bool doTrackLayersVsPhiVsEtaPerTrack_
 
bool doTrackPxPyPlots_
 
bool doTrackRecHitVsPhiVsEtaPerTrack_
 
bool doTrackRecHitVsPtVsEtaPerTrack_
 
unsigned int good_vertices_
 
std::string histname
 
std::unordered_map< Key, MonitorElement *, KeyHasherhits_bad_
 
std::unordered_map< Key, MonitorElement *, KeyHasherhits_inactive_
 
std::unordered_map< Key, MonitorElement *, KeyHasherhits_missing_
 
std::unordered_map< Key, MonitorElement *, KeyHasherhits_total_
 
std::unordered_map< Key, MonitorElement *, KeyHasherhits_valid_
 
MonitorElementLongDCASig
 
float lumi_factor_per_bx_
 
edm::EDGetTokenT< LumiScalersCollectionlumiscalersToken_
 
int minNumberOfPixelsPerCluster_
 
float minPixelClusterCharge_
 
std::string monName [monQuantity::END] = { "", "VsBX", "VsPIXELLUMI", "VsSCALLUMI" }
 
MonitorElementNhitVsEta_HighPurity
 
MonitorElementNhitVsPhi_HighPurity
 
MonitorElementNumberOfLayersPerTrack [4] = { 0 , 0 , 0 , 0 }
 
MonitorElementNumberOfLayersPerTrackVsEta
 
MonitorElementNumberOfLayersPerTrackVsPhi
 
MonitorElementNumberOfLayersPerTrackVsTheta
 
MonitorElementNumberOfLayersVsPhiVsEtaPerTrack [5] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementNumberOfLostRecHitsPerTrack
 
MonitorElementNumberOfLostRecHitsPerTrackVsEta = 0
 
MonitorElementNumberOfLostRecHitsPerTrackVsPhi = 0
 
MonitorElementNumberOfLostRecHitsPerTrackVsPt = 0
 
MonitorElementNumberOfLostRecHitsPerTrackVsTheta = 0
 
MonitorElementNumberOfLostRecHitVsPhiVsEtaPerTrack = 0
 
MonitorElementNumberOfLostRecHitVsPtVsEtaPerTrack = 0
 
MonitorElementNumberOfMIRecHitsPerTrack = 0
 
MonitorElementNumberOfMIRecHitsPerTrackVsEta = 0
 
MonitorElementNumberOfMIRecHitsPerTrackVsPhi = 0
 
MonitorElementNumberOfMIRecHitsPerTrackVsPt = 0
 
MonitorElementNumberOfMIRecHitsPerTrackVsTheta = 0
 
MonitorElementNumberOfMIRecHitVsPhiVsEtaPerTrack = 0
 
MonitorElementNumberOfMIRecHitVsPtVsEtaPerTrack = 0
 
MonitorElementNumberOfMORecHitsPerTrack = 0
 
MonitorElementNumberOfMORecHitsPerTrackVsEta = 0
 
MonitorElementNumberOfMORecHitsPerTrackVsPhi = 0
 
MonitorElementNumberOfMORecHitsPerTrackVsPt = 0
 
MonitorElementNumberOfMORecHitsPerTrackVsTheta = 0
 
MonitorElementNumberOfMORecHitVsPhiVsEtaPerTrack = 0
 
MonitorElementNumberOfMORecHitVsPtVsEtaPerTrack = 0
 
MonitorElementNumberOfRecHitsPerTrack
 
MonitorElementNumberOfRecHitsPerTrack_lumiFlag
 
MonitorElementNumberOfRecHitsPerTrackVsEta = 0
 
MonitorElementNumberOfRecHitsPerTrackVsPhi = 0
 
MonitorElementNumberOfRecHitsPerTrackVsTheta = 0
 
MonitorElementNumberOfRecHitVsPhiVsEtaPerTrack = 0
 
MonitorElementNumberOfValidRecHitsPerTrack
 
MonitorElementNumberOfValidRecHitsPerTrackVsEta = 0
 
MonitorElementNumberOfValidRecHitsPerTrackVsPhi = 0
 
MonitorElementNumberOfValidRecHitsPerTrackVsPt = 0
 
MonitorElementNumberOfValidRecHitsPerTrackVsTheta = 0
 
MonitorElementNumberOfValidRecHitVsPhiVsEtaPerTrack = 0
 
MonitorElementNumberOfValidRecHitVsPtVsEtaPerTrack = 0
 
MonitorElementoriAlgo
 
float pixel_lumi_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
 
MonitorElementPtdist_HighPurity
 
int pvNDOF_
 
edm::EDGetTokenT< reco::VertexCollectionpvToken_
 
std::string qualityString_
 
float scal_lumi_
 
MonitorElementsip2dToPV
 
MonitorElementsip3dToPV
 
MonitorElementsipDxyToBS
 
MonitorElementsipDxyToPV
 
MonitorElementsipDzToBS
 
MonitorElementsipDzToPV
 
std::string stateName_
 
MonitorElementstoppingSource
 
MonitorElementstoppingSourceVSeta
 
MonitorElementstoppingSourceVSphi
 
MonitorElementTESTDistanceOfClosestApproachToBS
 
MonitorElementTESTDistanceOfClosestApproachToBSVsPhi
 
std::map< std::string, TkParameterMEsTkParameterMEMap
 
std::map< std::string, TkRecHitsPerSubDetMEsTkRecHitsPerSubDetMEMap
 
std::string TopFolder_
 
MonitorElementTransDCASig
 
bool useBPixLayer1_
 
MonitorElementValidFractionPerTrack = 0
 
MonitorElementValidFractionVsPhiVsEtaPerTrack = 0
 
MonitorElementxPointOfClosestApproach
 
MonitorElementxPointOfClosestApproachToPV
 
MonitorElementxPointOfClosestApproachVsZ0wrt000
 
MonitorElementxPointOfClosestApproachVsZ0wrtBS
 
MonitorElementxPointOfClosestApproachVsZ0wrtPV
 
MonitorElementyPointOfClosestApproach
 
MonitorElementyPointOfClosestApproachToPV
 
MonitorElementyPointOfClosestApproachVsZ0wrt000
 
MonitorElementyPointOfClosestApproachVsZ0wrtBS
 
MonitorElementyPointOfClosestApproachVsZ0wrtPV
 
MonitorElementzPointOfClosestApproach
 
MonitorElementzPointOfClosestApproachToPV
 
MonitorElementzPointOfClosestApproachVsPhi
 

Detailed Description

Definition at line 34 of file TrackAnalyzer.h.

Member Enumeration Documentation

Enumerator
VsPU 
VsBX 
VsPIXELLUMI 
VsSCALLUMI 
END 

Definition at line 456 of file TrackAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file TrackAnalyzer.cc.

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

43  : conf_( nullptr )
44  , stateName_ (iConfig.getParameter<std::string>("MeasurementState") )
45  , doTrackerSpecific_ ( iConfig.getParameter<bool>("doTrackerSpecific") )
46  , doAllPlots_ ( iConfig.getParameter<bool>("doAllPlots") )
47  , doBSPlots_ ( iConfig.getParameter<bool>("doBeamSpotPlots") )
48  , doPVPlots_ ( iConfig.getParameter<bool>("doPrimaryVertexPlots") )
49  , doDCAPlots_ ( iConfig.getParameter<bool>("doDCAPlots") )
50  , doGeneralPropertiesPlots_ ( iConfig.getParameter<bool>("doGeneralPropertiesPlots") )
51  , doMeasurementStatePlots_ ( iConfig.getParameter<bool>("doMeasurementStatePlots") )
52  , doHitPropertiesPlots_ ( iConfig.getParameter<bool>("doHitPropertiesPlots") )
53  , doRecHitVsPhiVsEtaPerTrack_ ( iConfig.getParameter<bool>("doRecHitVsPhiVsEtaPerTrack") )
54  , doRecHitVsPtVsEtaPerTrack_ ( iConfig.getParameter<bool>("doRecHitVsPtVsEtaPerTrack") )
55  , doLayersVsPhiVsEtaPerTrack_ ( iConfig.getParameter<bool>("doLayersVsPhiVsEtaPerTrack") )
56  , doRecHitsPerTrackProfile_ ( iConfig.getParameter<bool>("doRecHitsPerTrackProfile") )
57  , doThetaPlots_ ( iConfig.getParameter<bool>("doThetaPlots") )
58  , doTrackPxPyPlots_ ( iConfig.getParameter<bool>("doTrackPxPyPlots") )
59  , doDCAwrtPVPlots_ ( iConfig.getParameter<bool>("doDCAwrtPVPlots") )
60  , doDCAwrt000Plots_ ( iConfig.getParameter<bool>("doDCAwrt000Plots") )
61  , doLumiAnalysis_ ( iConfig.getParameter<bool>("doLumiAnalysis") )
62  , doTestPlots_ ( iConfig.getParameter<bool>("doTestPlots") )
63  , doHIPlots_ ( iConfig.getParameter<bool>("doHIPlots") )
64  , doSIPPlots_ ( iConfig.getParameter<bool>("doSIPPlots") )
65  , doEffFromHitPatternVsPU_ ( iConfig.getParameter<bool>("doEffFromHitPatternVsPU") )
66  , doEffFromHitPatternVsBX_ ( iConfig.getParameter<bool>("doEffFromHitPatternVsBX") )
67  , doEffFromHitPatternVsLUMI_ ( iConfig.getParameter<bool>("doEffFromHitPatternVsLUMI") )
68  , pvNDOF_ ( iConfig.getParameter<int> ("pvNDOF") )
69  , useBPixLayer1_ ( iConfig.getParameter<bool>("useBPixLayer1") )
70  , minNumberOfPixelsPerCluster_ ( iConfig.getParameter<int>("minNumberOfPixelsPerCluster") )
71  , minPixelClusterCharge_ ( iConfig.getParameter<double>("minPixelClusterCharge") )
72  , qualityString_ ( iConfig.getParameter<std::string>("qualityString"))
73  , good_vertices_(0)
74  , bx_(0)
75  , pixel_lumi_(0.)
76  , scal_lumi_(0.)
77 {
78  initHistos();
79  TopFolder_ = iConfig.getParameter<std::string>("FolderName");
80 }
unsigned int bx_
T getParameter(std::string const &) const
unsigned int good_vertices_
std::string stateName_
Definition: TrackAnalyzer.h:83
bool doRecHitVsPtVsEtaPerTrack_
Definition: TrackAnalyzer.h:94
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:90
std::string TopFolder_
Definition: TrackAnalyzer.h:73
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:93
std::string qualityString_
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:96
TrackAnalyzer::TrackAnalyzer ( const edm::ParameterSet iConfig,
edm::ConsumesCollector iC 
)

Definition at line 82 of file TrackAnalyzer.cc.

References beamSpotToken_, edm::ConsumesCollector::consumes(), GetLumi::FREQ_ORBIT, edm::ParameterSet::getParameter(), lumi_factor_per_bx_, lumiscalersToken_, edm::ConsumesCollector::mayConsume(), pixelClustersToken_, pvToken_, GetLumi::rXSEC_PIXEL_CLUSTER, GetLumi::SECONDS_PER_LS, useBPixLayer1_, and GetLumi::XSEC_PIXEL_CLUSTER.

83  : TrackAnalyzer(iConfig)
84 {
85  edm::InputTag bsSrc = iConfig.getParameter<edm::InputTag>("beamSpot");
86  edm::InputTag primaryVertexInputTag = iConfig.getParameter<edm::InputTag>("primaryVertex");
87  edm::InputTag pixelClusterInputTag = iConfig.getParameter<edm::InputTag>("pixelCluster4lumi");
88  edm::InputTag scalInputTag = iConfig.getParameter<edm::InputTag>("scal");
90  pvToken_ = iC.consumes<reco::VertexCollection>(primaryVertexInputTag);
93 
94  if(useBPixLayer1_)
96  else
98 
99 
100 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
Definition: TrackAnalyzer.h:78
static double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:41
TrackAnalyzer(const edm::ParameterSet &)
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:75
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:76
static double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:45
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
Definition: TrackAnalyzer.h:77
std::vector< LumiScalers > LumiScalersCollection
Definition: LumiScalers.h:160
static double FREQ_ORBIT
Definition: GetLumi.h:32
static double SECONDS_PER_LS
Definition: GetLumi.h:33
TrackAnalyzer::~TrackAnalyzer ( )

Definition at line 180 of file TrackAnalyzer.cc.

181 {
182 }

Member Function Documentation

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

Definition at line 1049 of file TrackAnalyzer.cc.

References funct::abs(), AbsDistanceOfClosestApproachToBS, reco::TrackBase::algo(), algorithm, beamSpotToken_, TransientTrackBuilder::build(), bx_, vertices_cff::chi2, reco::TrackBase::chi2(), Chi2oNDF, Chi2oNDF_lumiFlag, Chi2Prob, reco::TrackBase::d0(), reco::TrackBase::d0Error(), DeltaZToPV, DeltaZToPVZoom, dir, DistanceOfClosestApproach, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachToPV, DistanceOfClosestApproachToPVVsPhi, DistanceOfClosestApproachToPVZoom, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, dNdEta_HighPurity, dNdPhi_HighPurity, dNdPt_HighPurity, dNhitdPt_HighPurity, doAllPlots_, doBSPlots_, doDCAPlots_, doDCAwrt000Plots_, doEffFromHitPatternVsBX_, doEffFromHitPatternVsLUMI_, doEffFromHitPatternVsPU_, doGeneralPropertiesPlots_, doHIPlots_, doHitPropertiesPlots_, doLayersVsPhiVsEtaPerTrack_, doLumiAnalysis_, doMeasurementStatePlots_, doPVPlots_, doRecHitVsPhiVsEtaPerTrack_, doRecHitVsPtVsEtaPerTrack_, doSIPPlots_, doTestPlots_, doThetaPlots_, doTrackerSpecific_, reco::TrackBase::dxy(), reco::TrackBase::dxyError(), reco::TrackBase::dz(), reco::TrackBase::dzError(), reco::TrackBase::eta(), MonitorElement::Fill(), HcalObjRepresent::Fill(), fillHistosForEfficiencyFromHitPatter(), fillHistosForState(), fillHistosForTrackerSpecific(), edm::EventSetup::get(), edm::Event::getByToken(), MonitorElement::getNbinsX(), good_vertices_, reco::TrackBase::hitPattern(), mps_fire::i, reco::Track::innerPosition(), createfilelist::int, electrons_cff::ip3d, edm::HandleBase::isValid(), LongDCASig, SiStripPI::max, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::ndof(), NhitVsEta_HighPurity, NhitVsPhi_HighPurity, MuonTCMETValueMapProducer_cff::nLayers, reco::TrackBase::normalizedChi2(), NOT_STOPPED, reco::HitPattern::numberOfAllHits(), NumberOfLayersPerTrack, NumberOfLayersVsPhiVsEtaPerTrack, reco::TrackBase::numberOfLostHits(), NumberOfLostRecHitsPerTrack, NumberOfLostRecHitsPerTrackVsPt, NumberOfLostRecHitVsPhiVsEtaPerTrack, NumberOfLostRecHitVsPtVsEtaPerTrack, reco::HitPattern::numberOfLostTrackerHits(), NumberOfMIRecHitsPerTrack, NumberOfMIRecHitsPerTrackVsPt, NumberOfMIRecHitVsPhiVsEtaPerTrack, NumberOfMIRecHitVsPtVsEtaPerTrack, NumberOfMORecHitsPerTrack, NumberOfMORecHitsPerTrackVsPt, NumberOfMORecHitVsPhiVsEtaPerTrack, NumberOfMORecHitVsPtVsEtaPerTrack, NumberOfRecHitsPerTrack, NumberOfRecHitsPerTrack_lumiFlag, reco::TrackBase::numberOfValidHits(), NumberOfValidRecHitsPerTrack, NumberOfValidRecHitsPerTrackVsPt, NumberOfValidRecHitVsPhiVsEtaPerTrack, NumberOfValidRecHitVsPtVsEtaPerTrack, reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), oriAlgo, reco::TrackBase::originalAlgo(), reco::Track::outerPosition(), reco::TrackBase::phi(), reco::HitPattern::pixelLayersWithMeasurement(), reco::BeamSpot::position(), reco::Vertex::position(), EnergyCorrector::pt, reco::TrackBase::pt(), Ptdist_HighPurity, 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(), scal_lumi_, IPTools::signedImpactParameter3D(), IPTools::signedTransverseImpactParameter(), sip2dToPV, sip3dToPV, sipDxyToBS, sipDxyToPV, sipDzToBS, sipDzToPV, stateName_, stoppingSource, stoppingSourceVSeta, stoppingSourceVSphi, reco::TrackBase::stopReason(), AlCaHLTBitMon_QueryRunRegistry::string, TESTDistanceOfClosestApproachToBS, TESTDistanceOfClosestApproachToBSVsPhi, reco::TrackBase::theta(), reco::HitPattern::TRACK_HITS, reco::HitPattern::trackerLayersTotallyOffOrBad(), reco::HitPattern::trackerLayersWithMeasurement(), reco::HitPattern::trackerLayersWithoutMeasurement(), TransDCASig, reco::TrackBase::validFraction(), ValidFractionPerTrack, ValidFractionVsPhiVsEtaPerTrack, reco::TrackBase::vx(), reco::TrackBase::vy(), reco::TrackBase::vz(), reco::Vertex::xError(), xPointOfClosestApproach, xPointOfClosestApproachToPV, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, xPointOfClosestApproachVsZ0wrtPV, reco::Vertex::yError(), yPointOfClosestApproach, yPointOfClosestApproachToPV, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproachVsZ0wrtPV, reco::Vertex::zError(), zPointOfClosestApproach, zPointOfClosestApproachToPV, and zPointOfClosestApproachVsPhi.

Referenced by TrackingMonitor::analyze().

1050 {
1051  auto pt = track.pt();
1052  auto phi = track.phi();
1053  // double eta = track.eta();
1054  auto phiIn = track.innerPosition().phi();
1055  auto etaIn = track.innerPosition().eta();
1056  auto phiOut = track.outerPosition().phi();
1057  auto etaOut = track.outerPosition().eta();
1058 
1060  int nValidRecHits = track.numberOfValidHits();
1061  int nLostRecHits = track.numberOfLostHits();
1064 
1065  auto chi2 = track.chi2();
1066  auto chi2prob = TMath::Prob(track.chi2(),(int)track.ndof());
1067  auto chi2oNDF = track.normalizedChi2();
1068 
1070  // rec hits
1071  NumberOfRecHitsPerTrack -> Fill(nRecHits);
1072  NumberOfValidRecHitsPerTrack-> Fill(nValidRecHits);
1073  NumberOfLostRecHitsPerTrack -> Fill(nLostRecHits);
1074  NumberOfMIRecHitsPerTrack -> Fill(nLostIn);
1075  NumberOfMORecHitsPerTrack -> Fill(nLostOut);
1077 
1078 
1079  // 2D plots
1081  NumberOfValidRecHitVsPhiVsEtaPerTrack->Fill(etaIn,phiIn,nValidRecHits);
1082  NumberOfLostRecHitVsPhiVsEtaPerTrack->Fill(etaIn,phiIn,nLostRecHits);
1083  NumberOfMIRecHitVsPhiVsEtaPerTrack->Fill(etaIn,phiIn,nLostIn);
1084  NumberOfMORecHitVsPhiVsEtaPerTrack->Fill(etaOut,phiOut,nLostOut);
1085  ValidFractionVsPhiVsEtaPerTrack -> Fill(etaIn,phiIn,track.validFraction());
1086  }
1088  NumberOfValidRecHitVsPtVsEtaPerTrack->Fill(etaIn,pt,nValidRecHits);
1089  NumberOfLostRecHitVsPtVsEtaPerTrack->Fill(etaIn,pt,nLostRecHits);
1090  NumberOfMIRecHitVsPtVsEtaPerTrack->Fill(etaIn,pt,nLostIn);
1091  NumberOfMORecHitVsPtVsEtaPerTrack->Fill(etaOut,pt,nLostOut);
1092  }
1093  NumberOfValidRecHitsPerTrackVsPt->Fill(pt,nValidRecHits);
1094  NumberOfLostRecHitsPerTrackVsPt->Fill(pt,nLostRecHits);
1097 
1098  int nLayers[5] = { track.hitPattern().trackerLayersWithMeasurement(),
1103  };
1104 
1105  // layers
1106  for (int i=0;i<4;++i) NumberOfLayersPerTrack[i]->Fill(nLayers[i]);
1107 
1108  // 2D plots
1110  for (int i=0;i<5;++i) NumberOfLayersVsPhiVsEtaPerTrack[i]->Fill(etaIn,phiIn,nLayers[i]);
1111 
1112  }
1113 
1115  if (doEffFromHitPatternVsBX_ || doAllPlots_) fillHistosForEfficiencyFromHitPatter(track,"VsBX", float(bx_), false );
1117  // if (doEffFromHitPatternVsLUMI_ || doAllPlots_) fillHistosForEfficiencyFromHitPatter(track,"VsPIXELLUMI", pixel_lumi_ );
1120 
1121 
1123  // fitting
1124  Chi2 -> Fill(chi2);
1125  Chi2Prob -> Fill(chi2prob);
1126  Chi2oNDF -> Fill(chi2oNDF);
1127 
1128  // DCA
1129  // temporary patch in order to put back those MEs in Muon Workspace
1130  if (doDCAPlots_) {
1131  if (doDCAwrt000Plots_) {
1134  }
1135 
1136  // PCA
1140  }
1141 
1142  // algorithm
1143  algorithm->Fill(static_cast<double>(track.algo()));
1144  oriAlgo->Fill(static_cast<double>(track.originalAlgo()));
1145 
1146  // stopping source
1147  int max = stoppingSource->getNbinsX();
1148  double stop = track.stopReason() > max ? double(max-1) : static_cast<double>(track.stopReason());
1149  double stopped = int(StopReason::NOT_STOPPED)==track.stopReason() ? 0. : 1.;
1150  stoppingSource->Fill(stop);
1151  stoppingSourceVSeta->Fill(track.eta(),stopped);
1152  stoppingSourceVSphi->Fill(track.phi(),stopped);
1153  }
1154 
1155  if ( doLumiAnalysis_ ) {
1157  Chi2oNDF_lumiFlag -> Fill(chi2oNDF);
1158  }
1159 
1161 
1162  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
1163  iEvent.getByToken(beamSpotToken_,recoBeamSpotHandle);
1164  const reco::BeamSpot& bs = *recoBeamSpotHandle;
1165 
1168  DistanceOfClosestApproachToBSVsPhi -> Fill(track.phi(), track.dxy(bs.position()));
1169  zPointOfClosestApproachVsPhi -> Fill(track.phi(), track.vz());
1170  xPointOfClosestApproachVsZ0wrt000 -> Fill(track.dz(), track.vx());
1171  yPointOfClosestApproachVsZ0wrt000 -> Fill(track.dz(), track.vy());
1172  xPointOfClosestApproachVsZ0wrtBS -> Fill(track.dz(bs.position()),(track.vx()-bs.position(track.vz()).x()));
1173  yPointOfClosestApproachVsZ0wrtBS -> Fill(track.dz(bs.position()),(track.vy()-bs.position(track.vz()).y()));
1174  if (doTestPlots_) {
1175  TESTDistanceOfClosestApproachToBS -> Fill(track.dxy(bs.position(track.vz())));
1176  TESTDistanceOfClosestApproachToBSVsPhi -> Fill(track.phi(), track.dxy(bs.position(track.vz())));
1177  }
1178 
1179  if(doSIPPlots_) {
1180  sipDxyToBS->Fill(track.dxy(bs.position())/track.dxyError());
1181  sipDzToBS->Fill(track.dz(bs.position())/track.dzError());
1182  }
1183  }
1184 
1186  edm::Handle<reco::VertexCollection> recoPrimaryVerticesHandle;
1187  iEvent.getByToken(pvToken_,recoPrimaryVerticesHandle);
1188  if (recoPrimaryVerticesHandle.isValid() && !recoPrimaryVerticesHandle->empty()) {
1189  const reco::Vertex& pv = (*recoPrimaryVerticesHandle)[0];
1190 
1191 
1193  //HI PLOTS///////
1195 
1196  if(doHIPlots_)
1197  {
1198  double longDCAsig = 0, transDCAsig = 0;
1199  double zerr2 = track.dzError()*track.dzError()+pv.zError()*pv.zError();
1200  double xyerr2 = track.d0Error()*track.d0Error()+pv.xError()*pv.yError();
1201  if(zerr2 > 0) longDCAsig = track.dz(pv.position())/zerr2;
1202  if(xyerr2 > 0) transDCAsig = track.dxy(pv.position())/xyerr2;
1203  LongDCASig->Fill(longDCAsig);
1204  TransDCASig->Fill(transDCAsig);
1205 
1206 
1207 
1208 
1210  {
1211  dNdEta_HighPurity->Fill(track.eta());
1212  dNdPhi_HighPurity->Fill(track.phi());
1213  dNdPt_HighPurity->Fill(track.ptError()/track.pt());
1214  NhitVsEta_HighPurity->Fill(track.eta(),track.numberOfValidHits());
1215  NhitVsPhi_HighPurity->Fill(track.phi(),track.numberOfValidHits());
1216  dNhitdPt_HighPurity->Fill(track.pt(),track.numberOfValidHits());
1217  Ptdist_HighPurity->Fill(track.pt());
1218  }//end of high quality tracks requirement
1219  }
1220 
1221 
1222  xPointOfClosestApproachToPV->Fill(track.vx()-pv.position().x());
1223  yPointOfClosestApproachToPV->Fill(track.vy()-pv.position().y());
1226  DeltaZToPV -> Fill(track.dz (pv.position()));
1228  DeltaZToPVZoom -> Fill(track.dz (pv.position()));
1229  DistanceOfClosestApproachToPVVsPhi -> Fill(track.phi(), track.dxy(pv.position()));
1230  xPointOfClosestApproachVsZ0wrtPV -> Fill(track.dz(pv.position()),(track.vx()-pv.position().x()));
1231  yPointOfClosestApproachVsZ0wrtPV -> Fill(track.dz(pv.position()),(track.vy()-pv.position().y()));
1232 
1233 
1234  if(doSIPPlots_) {
1236  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder",theB);
1237  reco::TransientTrack transTrack = theB->build(track);
1238 
1239  GlobalVector dir(track.px(), track.py(), track.pz());
1240  std::pair<bool, Measurement1D> ip3d = IPTools::signedImpactParameter3D(transTrack, dir, pv);
1241  std::pair<bool, Measurement1D> ip2d = IPTools::signedTransverseImpactParameter(transTrack, dir, pv);
1242  if(ip3d.first) sip3dToPV->Fill(ip3d.second.value() / ip3d.second.error());
1243  if(ip2d.first) sip2dToPV->Fill(ip2d.second.value() / ip2d.second.error());
1244  sipDxyToPV->Fill(track.dxy(pv.position())/track.dxyError());
1245  sipDzToPV->Fill(track.dz(pv.position())/track.dzError());
1246  }
1247  }
1248  }
1249 
1250  if(doDCAPlots_ || doAllPlots_) {
1251  if (doDCAwrt000Plots_) {
1252  if (doThetaPlots_) {
1253  DistanceOfClosestApproachVsTheta->Fill(track.theta(), track.d0());
1254  }
1255  DistanceOfClosestApproachVsEta->Fill(track.eta(), track.d0());
1256  }
1257 
1258  }
1259 
1260  //Tracker Specific Histograms
1263  }
1264 
1266 
1267  if (stateName_ == "All") {
1268  fillHistosForState(iSetup, track, std::string("OuterSurface"));
1269  fillHistosForState(iSetup, track, std::string("InnerSurface"));
1270  fillHistosForState(iSetup, track, std::string("ImpactPoint"));
1271  } else if (
1272  stateName_ != "OuterSurface" &&
1273  stateName_ != "InnerSurface" &&
1274  stateName_ != "ImpactPoint" &&
1275  stateName_ != "default"
1276  ) {
1277  fillHistosForState(iSetup, track, std::string("default"));
1278  } else {
1279  fillHistosForState(iSetup, track, stateName_);
1280  }
1281  }
1282 
1283  if ( doAllPlots_ ) {
1284  }
1285 
1286 }
MonitorElement * sipDzToPV
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * Ptdist_HighPurity
unsigned int bx_
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
MonitorElement * sip2dToPV
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:681
double d0Error() const
error on d0
Definition: TrackBase.h:802
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
void fillHistosForEfficiencyFromHitPatter(const reco::Track &track, const std::string suffix, const float monitoring, bool useInac)
MonitorElement * dNdPt_HighPurity
MonitorElement * sipDxyToPV
double validFraction() const
fraction of valid hits on the track
Definition: TrackBase.h:832
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:597
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
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:561
MonitorElement * LongDCASig
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
double zError() const
error on z
Definition: Vertex.h:123
MonitorElement * yPointOfClosestApproach
double theta() const
polar angle
Definition: TrackBase.h:579
double dxyError() const
error on dxy
Definition: TrackBase.h:796
MonitorElement * NumberOfMIRecHitsPerTrackVsPt
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:50
unsigned int good_vertices_
uint8_t stopReason() const
Definition: TrackBase.h:400
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * zPointOfClosestApproachToPV
reco::TransientTrack build(const reco::Track *p) const
std::string stateName_
Definition: TrackAnalyzer.h:83
MonitorElement * NumberOfLostRecHitsPerTrackVsPt
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:71
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:645
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:826
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:627
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:499
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:65
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:518
MonitorElement * sipDxyToBS
const Point & position() const
position
Definition: Vertex.h:109
MonitorElement * algorithm
void Fill(long long x)
int numberOfLostTrackerHits(HitCategory category) const
Definition: HitPattern.h:907
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:55
TrackAlgorithm algo() const
Definition: TrackBase.h:497
MonitorElement * NumberOfMORecHitVsPtVsEtaPerTrack
MonitorElement * yPointOfClosestApproachToPV
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * DistanceOfClosestApproach
MonitorElement * Chi2oNDF
MonitorElement * ValidFractionPerTrack
bool doRecHitVsPtVsEtaPerTrack_
Definition: TrackAnalyzer.h:94
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:341
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:549
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[5]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * DistanceOfClosestApproachToPVVsPhi
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:555
MonitorElement * NumberOfMORecHitsPerTrackVsPt
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
double pt() const
track transverse momentum
Definition: TrackBase.h:621
MonitorElement * stoppingSourceVSeta
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:763
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:807
void fillHistosForTrackerSpecific(const reco::Track &track)
def pv(vc)
Definition: MetAnalyzer.py:6
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * NumberOfMIRecHitVsPtVsEtaPerTrack
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
MonitorElement * dNhitdPt_HighPurity
MonitorElement * sipDzToBS
MonitorElement * xPointOfClosestApproachVsZ0wrt000
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:75
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * TESTDistanceOfClosestApproachToBS
bool isValid() const
Definition: HandleBase.h:74
int trackerLayersTotallyOffOrBad(HitCategory category=TRACK_HITS) const
Definition: HitPattern.h:1061
MonitorElement * NumberOfMIRecHitsPerTrack
MonitorElement * DeltaZToPVZoom
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:76
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:639
MonitorElement * NhitVsEta_HighPurity
MonitorElement * stoppingSourceVSphi
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:609
double dzError() const
error on dz
Definition: TrackBase.h:814
MonitorElement * NumberOfLostRecHitVsPtVsEtaPerTrack
MonitorElement * dNdPhi_HighPurity
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:669
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
TrackAlgorithm originalAlgo() const
Definition: TrackBase.h:501
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * oriAlgo
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:90
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:125
double xError() const
error on x
Definition: Vertex.h:119
MonitorElement * NumberOfRecHitsPerTrack
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:93
const T & get() const
Definition: EventSetup.h:59
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:510
int trackerLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:535
MonitorElement * xPointOfClosestApproachToPV
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:663
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * dNdEta_HighPurity
MonitorElement * stoppingSource
MonitorElement * DistanceOfClosestApproachToPVZoom
const Point & position() const
position
Definition: BeamSpot.h:62
MonitorElement * DeltaZToPV
MonitorElement * zPointOfClosestApproachVsPhi
int getNbinsX() const
get # of bins in X-axis
std::string qualityString_
MonitorElement * NumberOfMORecHitsPerTrack
dbl *** dir
Definition: mlp_gen.cc:35
Definition: Chi2.h:17
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:591
MonitorElement * zPointOfClosestApproach
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * NumberOfValidRecHitVsPtVsEtaPerTrack
MonitorElement * sip3dToPV
MonitorElement * Chi2Prob
double yError() const
error on y
Definition: Vertex.h:121
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * TransDCASig
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:633
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:657
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:96
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
MonitorElement * NumberOfLayersPerTrack[4]
void TrackAnalyzer::bookHistosForBeamSpot ( DQMStore::IBooker ibooker)
private

Definition at line 712 of file TrackAnalyzer.cc.

References AbsDistanceOfClosestApproachToBS, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), conf_, DeltaZToPV, DeltaZToPVZoom, DistanceOfClosestApproach, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachToPV, DistanceOfClosestApproachToPVVsPhi, DistanceOfClosestApproachToPVZoom, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, doAllPlots_, doBSPlots_, doDCAPlots_, doDCAwrt000Plots_, doPVPlots_, doSIPPlots_, doTestPlots_, doThetaPlots_, Gflash::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().

712  {
713 
714  // parameters from the configuration
715  std::string QualName = conf_->getParameter<std::string>("Quality");
716  std::string AlgoName = conf_->getParameter<std::string>("AlgoName");
717 
718  // use the AlgoName and Quality Name
719  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
720 
721  // book the Beam Spot related histograms
722  // ---------------------------------------------------------------------------------//
723 
725 
726  int DxyBin = conf_->getParameter<int>( "DxyBin");
727  double DxyMin = conf_->getParameter<double>("DxyMin");
728  double DxyMax = conf_->getParameter<double>("DxyMax");
729 
730  int AbsDxyBin = conf_->getParameter<int>( "AbsDxyBin");
731  double AbsDxyMin = conf_->getParameter<double>("AbsDxyMin");
732  double AbsDxyMax = conf_->getParameter<double>("AbsDxyMax");
733 
734  int PhiBin = conf_->getParameter<int>( "PhiBin");
735  double PhiMin = conf_->getParameter<double>("PhiMin");
736  double PhiMax = conf_->getParameter<double>("PhiMax");
737 
738  int X0Bin = conf_->getParameter<int>( "X0Bin");
739  double X0Min = conf_->getParameter<double>("X0Min");
740  double X0Max = conf_->getParameter<double>("X0Max");
741 
742  int Y0Bin = conf_->getParameter<int>( "Y0Bin");
743  double Y0Min = conf_->getParameter<double>("Y0Min");
744  double Y0Max = conf_->getParameter<double>("Y0Max");
745 
746  int Z0Bin = conf_->getParameter<int>( "Z0Bin");
747  double Z0Min = conf_->getParameter<double>("Z0Min");
748  double Z0Max = conf_->getParameter<double>("Z0Max");
749 
750  int VZBinProf = conf_->getParameter<int>( "VZBinProf");
751  double VZMinProf = conf_->getParameter<double>("VZMinProf");
752  double VZMaxProf = conf_->getParameter<double>("VZMaxProf");
753 
754 
755  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
756 
757  histname = "DistanceOfClosestApproachToBS_";
758  DistanceOfClosestApproachToBS = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
759  DistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
760  DistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
761 
762  histname = "AbsDistanceOfClosestApproachToBS_";
763  AbsDistanceOfClosestApproachToBS = ibooker.book1D(histname+CategoryName,histname+CategoryName,AbsDxyBin,AbsDxyMin,AbsDxyMax);
764  AbsDistanceOfClosestApproachToBS->setAxisTitle("Track |d_{xy}| wrt beam spot (cm)",1);
765  AbsDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
766 
767  histname = "DistanceOfClosestApproachToBSVsPhi_";
768  DistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
769  DistanceOfClosestApproachToBSVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
771  DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
772 
773  histname = "xPointOfClosestApproachVsZ0wrt000_";
774  xPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
776  xPointOfClosestApproachVsZ0wrt000->setAxisTitle("x component of Track PCA to beam line (cm)",2);
777 
778  histname = "yPointOfClosestApproachVsZ0wrt000_";
779  yPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
781  yPointOfClosestApproachVsZ0wrt000->setAxisTitle("y component of Track PCA to beam line (cm)",2);
782 
783  histname = "xPointOfClosestApproachVsZ0wrtBS_";
784  xPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
785  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
786  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("x component of Track PCA to BS (cm)",2);
787 
788  histname = "yPointOfClosestApproachVsZ0wrtBS_";
789  yPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
790  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
791  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("y component of Track PCA to BS (cm)",2);
792 
793  histname = "zPointOfClosestApproachVsPhi_";
794  zPointOfClosestApproachVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, VZBinProf, VZMinProf, VZMaxProf, "");
796  zPointOfClosestApproachVsPhi->setAxisTitle("z component of Track PCA to beam line (cm)",2);
797  }
798 
800 
801  int DxyBin = conf_->getParameter<int>( "DxyBin");
802  double DxyMin = conf_->getParameter<double>("DxyMin");
803  double DxyMax = conf_->getParameter<double>("DxyMax");
804 
805  int PhiBin = conf_->getParameter<int>( "PhiBin");
806  double PhiMin = conf_->getParameter<double>("PhiMin");
807  double PhiMax = conf_->getParameter<double>("PhiMax");
808 
809  int X0Bin = conf_->getParameter<int>( "X0Bin");
810  double X0Min = conf_->getParameter<double>("X0Min");
811  double X0Max = conf_->getParameter<double>("X0Max");
812 
813  int Y0Bin = conf_->getParameter<int>( "Y0Bin");
814  double Y0Min = conf_->getParameter<double>("Y0Min");
815  double Y0Max = conf_->getParameter<double>("Y0Max");
816 
817  int Z0Bin = conf_->getParameter<int>( "Z0Bin");
818  double Z0Min = conf_->getParameter<double>("Z0Min");
819  double Z0Max = conf_->getParameter<double>("Z0Max");
820 
821  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
822 
823  histname = "DistanceOfClosestApproachToPV_";
824  DistanceOfClosestApproachToPV = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
825  DistanceOfClosestApproachToPV->setAxisTitle("Track d_{xy} w.r.t. PV (cm)",1);
826  DistanceOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
827 
828  histname = "DistanceOfClosestApproachToPVZoom_";
829  DistanceOfClosestApproachToPVZoom = ibooker.book1D(histname+CategoryName,histname+CategoryName,100,-0.08,0.08);
830  DistanceOfClosestApproachToPVZoom->setAxisTitle("Track d_{xy} w.r.t. PV (cm)",1);
831  DistanceOfClosestApproachToPVZoom->setAxisTitle("Number of Tracks",2);
832 
833 
834  histname = "DeltaZToPV_";
835  DeltaZToPV = ibooker.book1D(histname+CategoryName,histname+CategoryName,Z0Bin,Z0Min,Z0Max);
836  DeltaZToPV->setAxisTitle("Track d_{z} w.r.t. PV (cm)",1);
837  DeltaZToPV->setAxisTitle("Number of Tracks",2);
838 
839  histname = "DeltaZToPVZoom_";
840  DeltaZToPVZoom = ibooker.book1D(histname+CategoryName,histname+CategoryName,100,-0.15,0.15);
841  DeltaZToPVZoom->setAxisTitle("Track d_{z} w.r.t. PV (cm)",1);
842  DeltaZToPVZoom->setAxisTitle("Number of Tracks",2);
843 
844 
845  histname = "DistanceOfClosestApproachToPVVsPhi_";
846  DistanceOfClosestApproachToPVVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
847  DistanceOfClosestApproachToPVVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
849  DistanceOfClosestApproachToPVVsPhi->setAxisTitle("Track d_{xy} w.r.t. PV (cm)",2);
850 
851  histname = "xPointOfClosestApproachVsZ0wrtPV_";
852  xPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
853  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. PV (cm)",1);
854  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("x component of Track PCA to PV (cm)",2);
855 
856  histname = "yPointOfClosestApproachVsZ0wrtPV_";
857  yPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
858  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. PV (cm)",1);
859  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("y component of Track PCA to PV (cm)",2);
860 
861  }
862 
863  if (doBSPlots_ || doAllPlots_) {
864  if (doTestPlots_) {
865 
866  int DxyBin = conf_->getParameter<int>( "DxyBin");
867  double DxyMin = conf_->getParameter<double>("DxyMin");
868  double DxyMax = conf_->getParameter<double>("DxyMax");
869 
870  int PhiBin = conf_->getParameter<int>( "PhiBin");
871  double PhiMin = conf_->getParameter<double>("PhiMin");
872  double PhiMax = conf_->getParameter<double>("PhiMax");
873 
874  histname = "TESTDistanceOfClosestApproachToBS_";
875  TESTDistanceOfClosestApproachToBS = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
876  TESTDistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
877  TESTDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
878 
879  histname = "TESTDistanceOfClosestApproachToBSVsPhi_";
880  TESTDistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
881  TESTDistanceOfClosestApproachToBSVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
883  TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
884 
885  }
886 
887  }
888 
889  // book the Profile plots for DCA related histograms
890  // ---------------------------------------------------------------------------------//
891  if(doDCAPlots_ || doAllPlots_) {
892 
893  if (doDCAwrt000Plots_) {
894 
895  int EtaBin = conf_->getParameter<int>( "EtaBin");
896  double EtaMin = conf_->getParameter<double>("EtaMin");
897  double EtaMax = conf_->getParameter<double>("EtaMax");
898 
899  int PhiBin = conf_->getParameter<int>( "PhiBin");
900  double PhiMin = conf_->getParameter<double>("PhiMin");
901  double PhiMax = conf_->getParameter<double>("PhiMax");
902 
903  int DxyBin = conf_->getParameter<int>( "DxyBin");
904  double DxyMin = conf_->getParameter<double>("DxyMin");
905  double DxyMax = conf_->getParameter<double>("DxyMax");
906 
907  if (doThetaPlots_) {
908  int ThetaBin = conf_->getParameter<int>( "ThetaBin");
909  double ThetaMin = conf_->getParameter<double>("ThetaMin");
910  double ThetaMax = conf_->getParameter<double>("ThetaMax");
911 
912  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
913  histname = "DistanceOfClosestApproachVsTheta_";
914  DistanceOfClosestApproachVsTheta = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, ThetaBin, ThetaMin, ThetaMax, DxyMin,DxyMax,"");
916  DistanceOfClosestApproachVsTheta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
917  }
918 
919  histname = "DistanceOfClosestApproachVsEta_";
920  DistanceOfClosestApproachVsEta = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, EtaBin, EtaMin, EtaMax, DxyMin, DxyMax,"");
922  DistanceOfClosestApproachVsEta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
923  // temporary patch in order to put back those MEs in Muon Workspace
924 
925  histname = "DistanceOfClosestApproach_";
926  DistanceOfClosestApproach = ibooker.book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
927  DistanceOfClosestApproach->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",1);
928  DistanceOfClosestApproach->setAxisTitle("Number of Tracks",2);
929 
930  histname = "DistanceOfClosestApproachVsPhi_";
931  DistanceOfClosestApproachVsPhi = ibooker.bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyMin,DxyMax,"");
932  DistanceOfClosestApproachVsPhi->getTH1()->SetCanExtend(TH1::kAllAxes);
934  DistanceOfClosestApproachVsPhi->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
935  }
936  }
937 
938 
939  if (doSIPPlots_ || doAllPlots_) {
940  const double sipBins = 200;
941  const double sipMin = -20;
942  const double sipMax = 20;
943 
944  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
945 
946  // SIP wrt. beamspot
947  histname = "SIPDxyToBS_";
948  sipDxyToBS = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
949  sipDxyToBS->setAxisTitle("Track dxy significance wrt beam spot",1);
950  sipDxyToBS->setAxisTitle("Number of Tracks",2);
951 
952  histname = "SIPDzToBS_";
953  sipDzToBS = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
954  sipDzToBS->setAxisTitle("Track dz significance wrt beam spot",1);
955  sipDzToBS->setAxisTitle("Number of Tracks",2);
956 
957  // SIP wrt. vertex
958  histname = "SIP3DToPV_";
959  sip3dToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
960  sip3dToPV->setAxisTitle("3D IP significance wrt primary vertex",1);
961  sip3dToPV->setAxisTitle("Number of Tracks",2);
962 
963  histname = "SIP2DToPV_";
964  sip2dToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
965  sip2dToPV->setAxisTitle("2D IP significance wrt primary vertex",1);
966  sip2dToPV->setAxisTitle("Number of Tracks",2);
967 
968  histname = "SIPDxyToPV_";
969  sipDxyToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
970  sipDxyToPV->setAxisTitle("Track dxy significance wrt primary vertex",1);
971  sipDxyToPV->setAxisTitle("Number of Tracks",2);
972 
973  histname = "SIPDzToPV_";
974  sipDzToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, sipBins, sipMin, sipMax);
975  sipDzToPV->setAxisTitle("Track dz significance wrt primary vertex",1);
976  sipDzToPV->setAxisTitle("Number of Tracks",2);
977  }
978 }
MonitorElement * sipDzToPV
T getParameter(std::string const &) const
MonitorElement * sip2dToPV
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * sipDxyToPV
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
MonitorElement * DistanceOfClosestApproachToBSVsPhi
TH1 * getTH1() const
const double EtaMax[kNumberCalorimeter]
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproach
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
const double EtaMin[kNumberCalorimeter]
MonitorElement * sipDzToBS
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * DeltaZToPVZoom
std::string histname
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * yPointOfClosestApproachVsZ0wrt000
std::string TopFolder_
Definition: TrackAnalyzer.h:73
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * DeltaZToPV
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * AbsDistanceOfClosestApproachToBS
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * sip3dToPV
MonitorElement * DistanceOfClosestApproachToPV
void TrackAnalyzer::bookHistosForEfficiencyFromHitPatter ( DQMStore::IBooker ibooker,
const edm::EventSetup iSetup,
const std::string  suffix,
bool  useInac 
)
private

Definition at line 225 of file TrackAnalyzer.cc.

References DQMStore::IBooker::book1D(), eostools::cat(), conf_, constexpr, objects.autophobj::float, edm::EventSetup::get(), edm::ParameterSet::getParameter(), hits_total_, hits_valid_, mps_fire::i, createfilelist::int, GetLumi::lastBunchCrossing, LogDebug, SiStripPI::max, min(), LaserDQM_cfi::mon, monName, dataset::name, NBINS, pileupCalc::nbins, TrackerGeometry::numberOfLayers(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, fftjetcommon_cfi::title, and TopFolder_.

Referenced by initHisto().

228 {
229 
230  ibooker.setCurrentFolder(TopFolder_ + "/HitEffFromHitPattern" + (useInac ? "All" :"") + suffix);
231 
232  constexpr int LUMIBin = 300; // conf_->getParameter<int>("LUMIBin");
233  float LUMIMin = conf_->getParameter<double>("LUMIMin");
234  float LUMIMax = conf_->getParameter<double>("LUMIMax");
235 
236  int PVBin = conf_->getParameter<int> ("PVBin");
237  float PVMin = conf_->getParameter<double>("PVMin");
238  float PVMax = conf_->getParameter<double>("PVMax");
239 
240 
241  int NBINS[] = { PVBin, int(GetLumi::lastBunchCrossing), LUMIBin, LUMIBin};
242  float MIN[] = { PVMin, 0.5, LUMIMin, LUMIMin };
243  float MAX[] = { PVMax, float(GetLumi::lastBunchCrossing)+0.5, LUMIMax, LUMIMax };
244  std::string NAME[] = { "", "VsBX", "VsLUMI", "VsLUMI" };
245 
246  auto logBins = makeLogBins<float,LUMIBin>(LUMIMin,LUMIMax);
247 
248  int mon = -1;
249  int nbins = -1;
250  float min = -1.;
251  float max = -1.;
252  bool logQ = false;
253  std::string name = "";
254  for (int i=0; i<monQuantity::END; i++) {
255  if (monName[i] == suffix) {
256  logQ = (i>1); // VsLUMI
257  mon = i;
258  if (useInac) mon+=monQuantity::END;
259  nbins = NBINS[i];
260  min = MIN[i];
261  max = MAX[i];
262  name = NAME[i];
263  }
264  }
265 
266  edm::ESHandle<TrackerGeometry> trackerGeometry;
267  iSetup.get<TrackerDigiGeometryRecord>().get(trackerGeometry);
268 
269  // Values are not ordered randomly, but the order is taken from
270  // http://cmslxr.fnal.gov/dxr/CMSSW/source/Geometry/CommonDetUnit/interface/GeomDetEnumerators.h#15
271  const char * dets[] = { "None", "PXB", "PXF", "TIB", "TID", "TOB", "TEC"};
272 
273  // Also in this case, ordering is not random but extracted from
274  // http://cmslxr.fnal.gov/dxr/CMSSW/source/DataFormats/TrackReco/interface/HitPattern.h
275  // The category "total" is an addition to ease the computation of
276  // the efficiencies and is not part of the original HitPattern.
277  const char * hit_category[] = { "valid", "missing", "inactive", "bad", "total"};
278 
279  // We set sub_det to be a 1-based index since to it is the sub-sub-structure in the HitPattern
280  char title[50];
281  for (unsigned int det = 1; det < sizeof(dets)/sizeof(char*); ++det ) {
282  for (unsigned int sub_det = 1;
283  sub_det <= trackerGeometry->numberOfLayers(det); ++sub_det) {
284  for (unsigned int cat = 0;
285  cat < sizeof(hit_category)/sizeof(char *); ++cat) {
286  memset(title, 0, sizeof(title));
287  snprintf(title, sizeof(title), "Hits%s_%s_%s_Subdet%d", name.c_str(), hit_category[cat], dets[det], sub_det);
288  switch(cat) {
289  case 0:
290  hits_valid_.insert(std::make_pair(
291  Key(det, sub_det, mon), logQ?
292  ibooker.book1D(title, title, nbins, &logBins[0]) :
293  ibooker.book1D(title, title, nbins, min, max)));
294  break;
295  case 4:
296  hits_total_.insert(std::make_pair(
297  Key(det, sub_det, mon), logQ?
298  ibooker.book1D(title, title, nbins, &logBins[0]) :
299  ibooker.book1D(title, title, nbins, min, max)));
300  break;
301  default:
302  LogDebug("TrackAnalyzer") << "Invalid hit category used " << cat << " ignored\n";
303  }
304  }
305  }
306  }
307 }
#define LogDebug(id)
T getParameter(std::string const &) const
#define constexpr
unsigned int numberOfLayers(int subdet) const
static const unsigned int lastBunchCrossing
Definition: GetLumi.h:48
def cat(path)
Definition: eostools.py:400
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
T min(T a, T b)
Definition: MathUtil.h:58
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
std::string monName[monQuantity::END]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
std::string TopFolder_
Definition: TrackAnalyzer.h:73
const T & get() const
Definition: EventSetup.h:59
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
const int NBINS
void TrackAnalyzer::bookHistosForHitProperties ( DQMStore::IBooker ibooker)
private

Definition at line 310 of file TrackAnalyzer.cc.

References 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, dNhitdPt_HighPurity, doAllPlots_, doDCAPlots_, doGeneralPropertiesPlots_, doHIPlots_, doHitPropertiesPlots_, doLayersVsPhiVsEtaPerTrack_, doPVPlots_, doRecHitVsPhiVsEtaPerTrack_, doRecHitVsPtVsEtaPerTrack_, doSIPPlots_, Gflash::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), histname, mps_fire::i, LongDCASig, NhitVsEta_HighPurity, NhitVsPhi_HighPurity, NumberOfLayersPerTrack, NumberOfLayersVsPhiVsEtaPerTrack, NumberOfLostRecHitsPerTrack, NumberOfLostRecHitsPerTrackVsPt, NumberOfLostRecHitVsPhiVsEtaPerTrack, NumberOfLostRecHitVsPtVsEtaPerTrack, NumberOfMIRecHitsPerTrack, NumberOfMIRecHitsPerTrackVsPt, NumberOfMIRecHitVsPhiVsEtaPerTrack, NumberOfMIRecHitVsPtVsEtaPerTrack, NumberOfMORecHitsPerTrack, NumberOfMORecHitsPerTrackVsPt, NumberOfMORecHitVsPhiVsEtaPerTrack, NumberOfMORecHitVsPtVsEtaPerTrack, NumberOfRecHitsPerTrack, NumberOfValidRecHitsPerTrack, NumberOfValidRecHitsPerTrackVsPt, NumberOfValidRecHitVsPhiVsEtaPerTrack, NumberOfValidRecHitVsPtVsEtaPerTrack, oriAlgo, Ptdist_HighPurity, HLT_HIPhoton15_DQM_cfi::PtMax, HIPixelMedianVertex_cfi::PtMin, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), stoppingSource, stoppingSourceVSeta, stoppingSourceVSphi, StopReasonName::StopReasonName, AlCaHLTBitMon_QueryRunRegistry::string, TopFolder_, TransDCASig, ValidFractionPerTrack, ValidFractionVsPhiVsEtaPerTrack, xPointOfClosestApproach, xPointOfClosestApproachToPV, yPointOfClosestApproach, yPointOfClosestApproachToPV, zPointOfClosestApproach, and zPointOfClosestApproachToPV.

Referenced by initHisto().

310  {
311 
312  // parameters from the configuration
313  std::string QualName = conf_->getParameter<std::string>("Quality");
314  std::string AlgoName = conf_->getParameter<std::string>("AlgoName");
315  std::string MEBSFolderName = conf_->getParameter<std::string>("BSFolderName");
316 
317  // use the AlgoName and Quality Name
318  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
319 
320  // get binning from the configuration
321  int TKHitBin = conf_->getParameter<int>( "RecHitBin");
322  double TKHitMin = conf_->getParameter<double>("RecHitMin");
323  double TKHitMax = conf_->getParameter<double>("RecHitMax");
324 
325  int TKLostBin = conf_->getParameter<int>( "RecLostBin");
326  double TKLostMin = conf_->getParameter<double>("RecLostMin");
327  double TKLostMax = conf_->getParameter<double>("RecLostMax");
328 
329  int TKLayBin = conf_->getParameter<int>( "RecLayBin");
330  double TKLayMin = conf_->getParameter<double>("RecLayMin");
331  double TKLayMax = conf_->getParameter<double>("RecLayMax");
332 
333  int PhiBin = conf_->getParameter<int>( "PhiBin");
334  double PhiMin = conf_->getParameter<double>("PhiMin");
335  double PhiMax = conf_->getParameter<double>("PhiMax");
336 
337  int EtaBin = conf_->getParameter<int>( "EtaBin");
338  double EtaMin = conf_->getParameter<double>("EtaMin");
339  double EtaMax = conf_->getParameter<double>("EtaMax");
340 
341  int PtBin = conf_->getParameter<int>( "TrackPtBin");
342  double PtMin = conf_->getParameter<double>("TrackPtMin");
343  double PtMax = conf_->getParameter<double>("TrackPtMax");
344 
345  int VXBin = conf_->getParameter<int>( "VXBin");
346  double VXMin = conf_->getParameter<double>("VXMin");
347  double VXMax = conf_->getParameter<double>("VXMax");
348 
349  int VYBin = conf_->getParameter<int>( "VYBin");
350  double VYMin = conf_->getParameter<double>("VYMin");
351  double VYMax = conf_->getParameter<double>("VYMax");
352 
353  int VZBin = conf_->getParameter<int>( "VZBin");
354  double VZMin = conf_->getParameter<double>("VZMin");
355  double VZMax = conf_->getParameter<double>("VZMax");
356 
357  ibooker.setCurrentFolder(TopFolder_);
358 
359  // book the Hit Property histograms
360  // ---------------------------------------------------------------------------------//
361 
362  TkParameterMEs tkmes;
364 
365  ibooker.setCurrentFolder(TopFolder_+"/HitProperties");
366 
367  histname = "NumberOfRecHitsPerTrack_";
368  NumberOfRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
369  NumberOfRecHitsPerTrack->setAxisTitle("Number of all RecHits of each Track");
370  NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
371 
372  histname = "NumberOfValidRecHitsPerTrack_";
373  NumberOfValidRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
374  NumberOfValidRecHitsPerTrack->setAxisTitle("Number of valid RecHits for each Track");
375 
376  NumberOfValidRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
377 
378  histname = "NumberOfLostRecHitsPerTrack_";
379  NumberOfLostRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKLostBin, TKLostMin, TKLostMax);
380  NumberOfLostRecHitsPerTrack->setAxisTitle("Number of lost RecHits for each Track");
381  NumberOfLostRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
382 
383  histname = "NumberOfMissingInnerRecHitsPerTrack_";
384  NumberOfMIRecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, 10, -0.5, 9.5);
385  NumberOfMIRecHitsPerTrack->setAxisTitle("Number of missing-inner RecHits for each Track");
386  NumberOfMIRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
387 
388  histname = "NumberOfMissingOuterRecHitsPerTrack_";
389  NumberOfMORecHitsPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, 10, -0.5, 9.5);
390  NumberOfMORecHitsPerTrack->setAxisTitle("Number of missing-outer RecHits for each Track");
391  NumberOfMORecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
392 
393  histname = "ValidFractionPerTrack_";
394  ValidFractionPerTrack = ibooker.book1D(histname+CategoryName, histname+CategoryName, 101, 0., 1.01);
395  ValidFractionPerTrack->setAxisTitle("ValidFraction of RecHits for each Track");
396  ValidFractionPerTrack->setAxisTitle("Number of Tracks", 2);
397 
398 
399 
401 
402  histname = "NumberOfValidRecHitVsPhiVsEtaPerTrack_";
403  NumberOfValidRecHitVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
404  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
407 
408  histname = "NumberOfLostRecHitVsPhiVsEtaPerTrack_";
409  NumberOfLostRecHitVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
410  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 5., "");
413 
414 
415  histname = "NumberMIRecHitVsPhiVsEtaPerTrack_";
416  NumberOfMIRecHitVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
417  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 15., "");
420 
421  histname = "NumberMORecHitVsPhiVsEtaPerTrack_";
422  NumberOfMORecHitVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
423  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 15., "");
426 
427  histname = "ValidFractionVsPhiVsEtaPerTrack_";
428  ValidFractionVsPhiVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
429  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 2., "");
432 
433  }
434 
436 
437  histname = "NumberOfValidRecHitVsPtVsEtaPerTrack_";
438  NumberOfValidRecHitVsPtVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
439  EtaBin, EtaMin, EtaMax, PtBin, PtMin, PtMax, 0, 40., "");
441  NumberOfValidRecHitVsPtVsEtaPerTrack->setAxisTitle("Track p_{T} [GeV] ", 2);
442 
443  histname = "NumberOfLostRecHitVsPtVsEtaPerTrack_";
444  NumberOfLostRecHitVsPtVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
445  EtaBin, EtaMin, EtaMax, PtBin, PtMin, PtMax, 0, 5., "");
447  NumberOfLostRecHitVsPtVsEtaPerTrack->setAxisTitle("Track p_{T} [GeV] ", 2);
448 
449 
450  histname = "NumberMIRecHitVsPtVsEtaPerTrack_";
451  NumberOfMIRecHitVsPtVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
452  EtaBin, EtaMin, EtaMax, PtBin, PtMin, PtMax, 0, 15., "");
454  NumberOfMIRecHitVsPtVsEtaPerTrack->setAxisTitle("Track p_{T} [GeV] ", 2);
455 
456  histname = "NumberMORecHitVsPtVsEtaPerTrack_";
457  NumberOfMORecHitVsPtVsEtaPerTrack = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
458  EtaBin, EtaMin, EtaMax, PtBin, PtMin, PtMax, 0, 15., "");
460  NumberOfMORecHitVsPtVsEtaPerTrack->setAxisTitle("Track p_{T} [GeV] ", 2);
461 
462  }
463 
464  histname = "NumberOfValidRecHitsPerTrackVsPt_";
465  NumberOfValidRecHitsPerTrackVsPt = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PtBin, PtMin, PtMax, TKHitMin, TKHitMax,"");
466  NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]",1);
467  NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Number of valid RecHits in each Track",2);
468 
469  histname = "NumberOfLostRecHitsPerTrackVsPt_";
470  NumberOfLostRecHitsPerTrackVsPt = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PtBin, PtMin, PtMax,TKHitMin, TKHitMax,"");
471  NumberOfLostRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
472  NumberOfLostRecHitsPerTrackVsPt->setAxisTitle("Average Number of Lost RecHits per Track", 2);
473 
474 
475  histname = "NumberMIRecHitsPerTrackVsPt_";
476  NumberOfMIRecHitsPerTrackVsPt = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PtBin, PtMin, PtMax,TKHitMin, TKHitMax,"");
477  NumberOfMIRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
478  NumberOfMIRecHitsPerTrackVsPt->setAxisTitle("Average Number of Lost RecHits per Track", 2);
479 
480  histname = "NumberMORecHitsPerTrackVsPt_";
481  NumberOfMORecHitsPerTrackVsPt = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PtBin, PtMin, PtMax,TKHitMin, TKHitMax,"");
482  NumberOfMORecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
483  NumberOfMORecHitsPerTrackVsPt->setAxisTitle("Average Number of Lost RecHits per Track", 2);
484 
485  std::string layerTypeName[5] = {"","Off","3D","Missing","Pixel"};
486  for (int i=0; i<4; ++i) {
487  histname = "NumberOf"+ layerTypeName[i] + "LayersPerTrack_";
488  NumberOfLayersPerTrack[i] = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKLayBin, TKLayMin, TKLayMax);
489  NumberOfLayersPerTrack[i]->setAxisTitle("Number of " + layerTypeName[i] + " Layers of each Track", 1);
490  NumberOfLayersPerTrack[i]->setAxisTitle("Number of Tracks", 2);
491  }
493  for (int i=0; i<5; ++i) {
494  histname = "NumberOf"+ layerTypeName[i] + "LayersVsPhiVsEtaPerTrack_";
495  NumberOfLayersVsPhiVsEtaPerTrack[i] = ibooker.bookProfile2D(histname+CategoryName, histname+CategoryName,
496  EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
497  NumberOfLayersVsPhiVsEtaPerTrack[i]->setAxisTitle("Track #eta ", 1);
498  NumberOfLayersVsPhiVsEtaPerTrack[i]->setAxisTitle("Track #phi ", 2);
499  }
500  }
501 
502  // book the General Property histograms
503  // ---------------------------------------------------------------------------------//
504 
506 
507  int Chi2Bin = conf_->getParameter<int>( "Chi2Bin");
508  double Chi2Min = conf_->getParameter<double>("Chi2Min");
509  double Chi2Max = conf_->getParameter<double>("Chi2Max");
510 
511  int Chi2NDFBin = conf_->getParameter<int>( "Chi2NDFBin");
512  double Chi2NDFMin = conf_->getParameter<double>("Chi2NDFMin");
513  double Chi2NDFMax = conf_->getParameter<double>("Chi2NDFMax");
514 
515  int Chi2ProbBin = conf_->getParameter<int>( "Chi2ProbBin");
516  double Chi2ProbMin = conf_->getParameter<double>("Chi2ProbMin");
517  double Chi2ProbMax = conf_->getParameter<double>("Chi2ProbMax");
518 
519 
520  //HI PLOTS////
521  int TransDCABins = conf_->getParameter<int>("TransDCABins");
522  double TransDCAMin = conf_->getParameter<double>("TransDCAMin");
523  double TransDCAMax = conf_->getParameter<double>("TransDCAMax");
524 
525  int LongDCABins = conf_->getParameter<int>("LongDCABins");
526  double LongDCAMin = conf_->getParameter<double>("LongDCAMin");
527  double LongDCAMax = conf_->getParameter<double>("LongDCAMax");
529 
530 
531  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
532 
533  histname = "Chi2_";
534  Chi2 = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2Bin, Chi2Min, Chi2Max);
535  Chi2->setAxisTitle("Track #chi^{2}" ,1);
536  Chi2->setAxisTitle("Number of Tracks",2);
537 
538  histname = "Chi2Prob_";
539  Chi2Prob = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2ProbBin, Chi2ProbMin, Chi2ProbMax);
540  Chi2Prob->setAxisTitle("Track #chi^{2} probability",1);
541  Chi2Prob->setAxisTitle("Number of Tracks" ,2);
542 
543  histname = "Chi2oNDF_";
544  Chi2oNDF = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
545  Chi2oNDF->setAxisTitle("Track #chi^{2}/ndf",1);
546  Chi2oNDF->setAxisTitle("Number of Tracks" ,2);
547 
548 
550  //HI PLOTS///
552  if (doHIPlots_)
553  {
554  histname = "LongDCASig_";
555  LongDCASig = ibooker.book1D(histname+CategoryName, histname+CategoryName,LongDCABins,LongDCAMin,LongDCAMax);
556  LongDCASig->setAxisTitle("dz/#sigma_{dz}",1);
557 
558  histname = "TransDCASig_";
559  TransDCASig = ibooker.book1D(histname+CategoryName,histname+CategoryName,TransDCABins,TransDCAMin,TransDCAMax);
560  TransDCASig->setAxisTitle("dxy/#sigma_{dxy}",1);
561 
562  histname = "dNdPhi_HighPurity_";
563  dNdPhi_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,PhiBin,PhiMin,PhiMax);
564  dNdPhi_HighPurity->setAxisTitle("#phi",1);
565 
566  histname = "dNdEta_HighPurity_";
567  dNdEta_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,EtaBin,EtaMin,EtaMax);
568  dNdEta_HighPurity->setAxisTitle("#eta",1);
569 
570  histname = "dNdPt_HighPurity_";
571  dNdPt_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,150,0,0.3);
572  dNdPt_HighPurity->setAxisTitle("#sigma_{p_{T}}/p_{T}",1);
573 
574  histname = "NhitVsEta_HighPurity_";
575  NhitVsEta_HighPurity = ibooker.bookProfile(histname+CategoryName,histname+CategoryName,EtaBin,EtaMin,EtaMax,-0.5,39.5,"");
576  NhitVsEta_HighPurity->setAxisTitle("Track #eta",1);
577  NhitVsEta_HighPurity->setAxisTitle("Number of Valid RecHits in each Track",2);
578 
579  histname = "NhitVsPhi_HighPurity_";
580  NhitVsPhi_HighPurity = ibooker.bookProfile(histname+CategoryName,histname+CategoryName,PhiBin,PhiMin,PhiMax,-0.5,39.5,"");
581  NhitVsPhi_HighPurity->setAxisTitle("Track #phi",1);
582  NhitVsPhi_HighPurity->setAxisTitle("Number of Valid RecHits in each Track",2);
583 
584  histname = "Ptdist_HighPurity_";
585  Ptdist_HighPurity = ibooker.book1D(histname+CategoryName,histname+CategoryName,150,0,50.);
586  Ptdist_HighPurity->setAxisTitle("p_{T} (GeV/c)",1);
587  Ptdist_HighPurity->setAxisTitle("Number of Tracks",2);
588 
589  histname = "dNhitdPt_HighPurity_";
590  dNhitdPt_HighPurity = ibooker.bookProfile(histname+CategoryName,histname+CategoryName,150,0,25.,-0.5,39.5,"");
591  dNhitdPt_HighPurity->setAxisTitle("p_{T} (GeV/c)",1);
592  dNhitdPt_HighPurity->setAxisTitle("N_{hit}",2);
593 
594  }
595 
596 
597 
599  histname = "xPointOfClosestApproach_";
600  xPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
601  xPointOfClosestApproach->setAxisTitle("x component of Track PCA to beam line (cm)",1);
602  xPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
603 
604  histname = "yPointOfClosestApproach_";
605  yPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
606  yPointOfClosestApproach->setAxisTitle("y component of Track PCA to beam line (cm)",1);
607  yPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
608 
609  histname = "zPointOfClosestApproach_";
610  zPointOfClosestApproach = ibooker.book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
611  zPointOfClosestApproach->setAxisTitle("z component of Track PCA to beam line (cm)",1);
612  zPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
613 
614  histname = "xPointOfClosestApproachToPV_";
615  xPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
616  xPointOfClosestApproachToPV->setAxisTitle("x component of Track PCA to pv (cm)",1);
617  xPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
618 
619  histname = "yPointOfClosestApproachToPV_";
620  yPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
621  yPointOfClosestApproachToPV->setAxisTitle("y component of Track PCA to pv line (cm)",1);
622  yPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
623 
624  histname = "zPointOfClosestApproachToPV_";
625  zPointOfClosestApproachToPV = ibooker.book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
626  zPointOfClosestApproachToPV->setAxisTitle("z component of Track PCA to pv line (cm)",1);
627  zPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
628  }
629 
630  // See DataFormats/TrackReco/interface/TrackBase.h for track algorithm enum definition
631  // http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/TrackReco/interface/TrackBase.h?view=log
632  histname = "algorithm_";
633  algorithm = ibooker.book1D(histname+CategoryName, histname+CategoryName, reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize));
634  algorithm->setAxisTitle("Tracking algorithm",1);
635  algorithm->setAxisTitle("Number of Tracks",2);
636 
637  histname = "originalAlgorithm_";
638  oriAlgo = ibooker.book1D(histname+CategoryName, histname+CategoryName, reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize));
639  oriAlgo->setAxisTitle("Tracking algorithm",1);
640  oriAlgo->setAxisTitle("Number of Tracks",2);
641 
642  for (size_t ibin=0; ibin<reco::TrackBase::algoSize-1; ibin++) {
645  }
646 
647  size_t StopReasonNameSize = sizeof(StopReasonName::StopReasonName)/sizeof(std::string);
648  histname = "stoppingSource_";
649  stoppingSource = ibooker.book1D(histname+CategoryName, histname+CategoryName, StopReasonNameSize, 0., double(StopReasonNameSize));
650  stoppingSource->setAxisTitle("stopping reason",1);
651  stoppingSource->setAxisTitle("Number of Tracks",2);
652 
653  histname = "stoppingSourceVSeta_";
654  stoppingSourceVSeta = ibooker.bookProfile(histname+CategoryName, histname+CategoryName,
655  EtaBin, EtaMin, EtaMax, 2, 0., 2.);
656  stoppingSourceVSeta->setAxisTitle("track #eta",1);
657  stoppingSourceVSeta->setAxisTitle("stopped fraction",2);
658 
659  histname = "stoppingSourceVSphi_";
660  stoppingSourceVSphi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName,
661  PhiBin, PhiMin, PhiMax, 2, 0., 2.);
662  stoppingSourceVSphi->setAxisTitle("track #phi",1);
663  stoppingSourceVSphi->setAxisTitle("stopped fraction",2);
664 
665  for (size_t ibin=0; ibin<StopReasonNameSize; ibin++) {
667  }
668 
669  }
670 
671 }
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * Ptdist_HighPurity
T getParameter(std::string const &) const
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
MonitorElement * dNdPt_HighPurity
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
MonitorElement * LongDCASig
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfMIRecHitsPerTrackVsPt
MonitorElement * zPointOfClosestApproachToPV
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 * NumberOfLostRecHitsPerTrackVsPt
const double EtaMax[kNumberCalorimeter]
static const std::string StopReasonName[]
MonitorElement * algorithm
MonitorElement * NumberOfMORecHitVsPtVsEtaPerTrack
MonitorElement * yPointOfClosestApproachToPV
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDF
MonitorElement * ValidFractionPerTrack
bool doRecHitVsPtVsEtaPerTrack_
Definition: TrackAnalyzer.h:94
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[5]
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:166
MonitorElement * NumberOfMORecHitsPerTrackVsPt
MonitorElement * stoppingSourceVSeta
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
MonitorElement * NumberOfMIRecHitVsPtVsEtaPerTrack
const double EtaMin[kNumberCalorimeter]
MonitorElement * dNhitdPt_HighPurity
MonitorElement * NumberOfMIRecHitsPerTrack
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
MonitorElement * NhitVsEta_HighPurity
MonitorElement * stoppingSourceVSphi
MonitorElement * NumberOfLostRecHitVsPtVsEtaPerTrack
MonitorElement * dNdPhi_HighPurity
std::string histname
MonitorElement * oriAlgo
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:90
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * NhitVsPhi_HighPurity
std::string TopFolder_
Definition: TrackAnalyzer.h:73
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:93
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
static const std::string algoNames[]
Definition: TrackBase.h:148
MonitorElement * xPointOfClosestApproachToPV
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * dNdEta_HighPurity
MonitorElement * stoppingSource
MonitorElement * NumberOfMORecHitsPerTrack
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 * NumberOfValidRecHitVsPtVsEtaPerTrack
MonitorElement * Chi2Prob
MonitorElement * TransDCASig
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:96
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * NumberOfLayersPerTrack[4]
void TrackAnalyzer::bookHistosForLScertification ( DQMStore::IBooker ibooker)
private

Definition at line 673 of file TrackAnalyzer.cc.

References 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().

673  {
674 
675  // parameters from the configuration
676  std::string QualName = conf_->getParameter<std::string>("Quality");
677  std::string AlgoName = conf_->getParameter<std::string>("AlgoName");
678 
679  // use the AlgoName and Quality Name
680  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
681 
682 
683  // book LS analysis related histograms
684  // -----------------------------------
685  if ( doLumiAnalysis_ ) {
686 
687  // get binning from the configuration
688  int TKHitBin = conf_->getParameter<int>( "RecHitBin");
689  double TKHitMin = conf_->getParameter<double>("RecHitMin");
690  double TKHitMax = conf_->getParameter<double>("RecHitMax");
691 
692  int Chi2NDFBin = conf_->getParameter<int>( "Chi2NDFBin");
693  double Chi2NDFMin = conf_->getParameter<double>("Chi2NDFMin");
694  double Chi2NDFMax = conf_->getParameter<double>("Chi2NDFMax");
695 
696  // add by Mia in order to deal w/ LS transitions
697  ibooker.setCurrentFolder(TopFolder_+"/LSanalysis");
698 
699  histname = "NumberOfRecHitsPerTrack_lumiFlag_";
700  NumberOfRecHitsPerTrack_lumiFlag = ibooker.book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
701  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of all RecHits of each Track");
702  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of Tracks", 2);
703 
704  histname = "Chi2oNDF_lumiFlag_";
705  Chi2oNDF_lumiFlag = ibooker.book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
706  Chi2oNDF_lumiFlag->setAxisTitle("Track #chi^{2}/ndf",1);
707  Chi2oNDF_lumiFlag->setAxisTitle("Number of Tracks" ,2);
708 
709  }
710 }
T getParameter(std::string const &) const
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
std::string histname
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
std::string TopFolder_
Definition: TrackAnalyzer.h:73
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void TrackAnalyzer::bookHistosForState ( std::string  sname,
DQMStore::IBooker ibooker 
)
private

Definition at line 1342 of file TrackAnalyzer.cc.

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

Referenced by initHisto().

1343 {
1344 
1345  // parameters from the configuration
1346  std::string QualName = conf_->getParameter<std::string>("Quality");
1347  std::string AlgoName = conf_->getParameter<std::string>("AlgoName");
1348 
1349  // use the AlgoName and Quality Name
1350  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
1351 
1352  // get binning from the configuration
1353  double Chi2NDFMin = conf_->getParameter<double>("Chi2NDFMin");
1354  double Chi2NDFMax = conf_->getParameter<double>("Chi2NDFMax");
1355 
1356  int RecHitBin = conf_->getParameter<int>( "RecHitBin");
1357  double RecHitMin = conf_->getParameter<double>("RecHitMin");
1358  double RecHitMax = conf_->getParameter<double>("RecHitMax");
1359 
1360  int RecLayBin = conf_->getParameter<int>( "RecHitBin");
1361  double RecLayMin = conf_->getParameter<double>("RecHitMin");
1362  double RecLayMax = conf_->getParameter<double>("RecHitMax");
1363 
1364 
1365  int PhiBin = conf_->getParameter<int>( "PhiBin");
1366  double PhiMin = conf_->getParameter<double>("PhiMin");
1367  double PhiMax = conf_->getParameter<double>("PhiMax");
1368 
1369  int EtaBin = conf_->getParameter<int>( "EtaBin");
1370  double EtaMin = conf_->getParameter<double>("EtaMin");
1371  double EtaMax = conf_->getParameter<double>("EtaMax");
1372 
1373  int ThetaBin = conf_->getParameter<int>( "ThetaBin");
1374  double ThetaMin = conf_->getParameter<double>("ThetaMin");
1375  double ThetaMax = conf_->getParameter<double>("ThetaMax");
1376 
1377  int TrackQBin = conf_->getParameter<int>( "TrackQBin");
1378  double TrackQMin = conf_->getParameter<double>("TrackQMin");
1379  double TrackQMax = conf_->getParameter<double>("TrackQMax");
1380 
1381  int TrackPtBin = conf_->getParameter<int>( "TrackPtBin");
1382  double TrackPtMin = conf_->getParameter<double>("TrackPtMin");
1383  double TrackPtMax = conf_->getParameter<double>("TrackPtMax");
1384 
1385  int TrackPBin = conf_->getParameter<int>( "TrackPBin");
1386  double TrackPMin = conf_->getParameter<double>("TrackPMin");
1387  double TrackPMax = conf_->getParameter<double>("TrackPMax");
1388 
1389  int TrackPxBin = conf_->getParameter<int>( "TrackPxBin");
1390  double TrackPxMin = conf_->getParameter<double>("TrackPxMin");
1391  double TrackPxMax = conf_->getParameter<double>("TrackPxMax");
1392 
1393  int TrackPyBin = conf_->getParameter<int>( "TrackPyBin");
1394  double TrackPyMin = conf_->getParameter<double>("TrackPyMin");
1395  double TrackPyMax = conf_->getParameter<double>("TrackPyMax");
1396 
1397  int TrackPzBin = conf_->getParameter<int>( "TrackPzBin");
1398  double TrackPzMin = conf_->getParameter<double>("TrackPzMin");
1399  double TrackPzMax = conf_->getParameter<double>("TrackPzMax");
1400 
1401  int ptErrBin = conf_->getParameter<int>( "ptErrBin");
1402  double ptErrMin = conf_->getParameter<double>("ptErrMin");
1403  double ptErrMax = conf_->getParameter<double>("ptErrMax");
1404 
1405  int pxErrBin = conf_->getParameter<int>( "pxErrBin");
1406  double pxErrMin = conf_->getParameter<double>("pxErrMin");
1407  double pxErrMax = conf_->getParameter<double>("pxErrMax");
1408 
1409  int pyErrBin = conf_->getParameter<int>( "pyErrBin");
1410  double pyErrMin = conf_->getParameter<double>("pyErrMin");
1411  double pyErrMax = conf_->getParameter<double>("pyErrMax");
1412 
1413  int pzErrBin = conf_->getParameter<int>( "pzErrBin");
1414  double pzErrMin = conf_->getParameter<double>("pzErrMin");
1415  double pzErrMax = conf_->getParameter<double>("pzErrMax");
1416 
1417  int pErrBin = conf_->getParameter<int>( "pErrBin");
1418  double pErrMin = conf_->getParameter<double>("pErrMin");
1419  double pErrMax = conf_->getParameter<double>("pErrMax");
1420 
1421  int phiErrBin = conf_->getParameter<int>( "phiErrBin");
1422  double phiErrMin = conf_->getParameter<double>("phiErrMin");
1423  double phiErrMax = conf_->getParameter<double>("phiErrMax");
1424 
1425  int etaErrBin = conf_->getParameter<int>( "etaErrBin");
1426  double etaErrMin = conf_->getParameter<double>("etaErrMin");
1427  double etaErrMax = conf_->getParameter<double>("etaErrMax");
1428 
1429 
1430  double Chi2ProbMin = conf_->getParameter<double>("Chi2ProbMin");
1431  double Chi2ProbMax = conf_->getParameter<double>("Chi2ProbMax");
1432 
1433  ibooker.setCurrentFolder(TopFolder_);
1434 
1435  TkParameterMEs tkmes;
1436 
1437  std::string histTag = (sname == "default") ? CategoryName : sname + "_" + CategoryName;
1438 
1439  if(doAllPlots_) {
1440 
1441  // general properties
1442  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
1443 
1444  if (doThetaPlots_) {
1445  histname = "Chi2oNDFVsTheta_" + histTag;
1446  tkmes.Chi2oNDFVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax,"");
1447  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta",1);
1448  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf",2);
1449  }
1450  histname = "Chi2oNDFVsPhi_" + histTag;
1451  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax,"");
1452  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi",1);
1453  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf",2);
1454 
1455  histname = "Chi2ProbVsPhi_" + histTag;
1456  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
1457  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi" ,1);
1458  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability",2);
1459 
1460  histname = "Chi2ProbVsEta_" + histTag;
1461  tkmes.Chi2ProbVsEta = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
1462  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta" ,1);
1463  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability",2);
1464 
1465  }
1466 
1467  // general properties
1468  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
1469 
1470 
1471  histname = "Chi2oNDFVsEta_" + histTag;
1472  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax,"");
1473  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta",1);
1474  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf",2);
1475 
1476  histname = "Chi2oNDFVsPt_" + histTag;
1477  tkmes.Chi2oNDFVsPt = ibooker.bookProfile(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax, Chi2NDFMin, Chi2NDFMax,"");
1478  tkmes.Chi2oNDFVsPt->setAxisTitle("Track p_{T} (GeV/c)", 1);
1479  tkmes.Chi2oNDFVsPt->setAxisTitle("Track #chi^{2}/ndf",2);
1480 
1481  histname = "Chi2oNDFVsNHits_" + histTag;
1482  tkmes.Chi2oNDFVsNHits = ibooker.bookProfile(histname, histname, 50, 0, 50, Chi2NDFMin, Chi2NDFMax,"");
1483  tkmes.Chi2oNDFVsNHits->setAxisTitle("Track NHits", 1);
1484  tkmes.Chi2oNDFVsNHits->setAxisTitle("Track #chi^{2}/ndf",2);
1485 
1486  histname = "TrackP_" + histTag;
1487  tkmes.TrackP = ibooker.book1D(histname, histname, TrackPBin, TrackPMin, TrackPMax);
1488  tkmes.TrackP->setAxisTitle("Track |p| (GeV/c)", 1);
1489  tkmes.TrackP->setAxisTitle("Number of Tracks",2);
1490 
1491  histname = "TrackPt_" + histTag;
1492  tkmes.TrackPt = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1493  tkmes.TrackPt->setAxisTitle("Track p_{T} (GeV/c)", 1);
1494  tkmes.TrackPt->setAxisTitle("Number of Tracks",2);
1495 
1496  if (doTrackPxPyPlots_) {
1497  histname = "TrackPx_" + histTag;
1498  tkmes.TrackPx = ibooker.book1D(histname, histname, TrackPxBin, TrackPxMin, TrackPxMax);
1499  tkmes.TrackPx->setAxisTitle("Track p_{x} (GeV/c)", 1);
1500  tkmes.TrackPx->setAxisTitle("Number of Tracks",2);
1501 
1502  histname = "TrackPy_" + histTag;
1503  tkmes.TrackPy = ibooker.book1D(histname, histname, TrackPyBin, TrackPyMin, TrackPyMax);
1504  tkmes.TrackPy->setAxisTitle("Track p_{y} (GeV/c)", 1);
1505  tkmes.TrackPy->setAxisTitle("Number of Tracks",2);
1506  }
1507  histname = "TrackPz_" + histTag;
1508  tkmes.TrackPz = ibooker.book1D(histname, histname, TrackPzBin, TrackPzMin, TrackPzMax);
1509  tkmes.TrackPz->setAxisTitle("Track p_{z} (GeV/c)", 1);
1510  tkmes.TrackPz->setAxisTitle("Number of Tracks",2);
1511 
1512  histname = "TrackPhi_" + histTag;
1513  tkmes.TrackPhi = ibooker.book1D(histname, histname, PhiBin, PhiMin, PhiMax);
1514  tkmes.TrackPhi->setAxisTitle("Track #phi", 1);
1515  tkmes.TrackPhi->setAxisTitle("Number of Tracks",2);
1516 
1517  histname = "TrackEta_" + histTag;
1518  tkmes.TrackEta = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1519  tkmes.TrackEta->setAxisTitle("Track #eta", 1);
1520  tkmes.TrackEta->setAxisTitle("Number of Tracks",2);
1521 
1522  histname = "TrackEtaPhi_" + histTag;
1523  tkmes.TrackEtaPhi = ibooker.book2D(histname, histname, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
1524  tkmes.TrackEtaPhi->setAxisTitle("Track #eta", 1);
1525  tkmes.TrackEtaPhi->setAxisTitle("Track #phi", 2);
1526 
1527  histname = "TrackEtaPhiInner_" + histTag;
1528  tkmes.TrackEtaPhiInner = ibooker.book2D(histname, histname, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
1529  tkmes.TrackEtaPhiInner->setAxisTitle("Track #eta", 1);
1530  tkmes.TrackEtaPhiInner->setAxisTitle("Track #phi", 2);
1531 
1532  histname = "TrackEtaPhiOuter_" + histTag;
1533  tkmes.TrackEtaPhiOuter = ibooker.book2D(histname, histname, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
1534  tkmes.TrackEtaPhiOuter->setAxisTitle("Track #eta", 1);
1535  tkmes.TrackEtaPhiOuter->setAxisTitle("Track #phi", 2);
1536 
1537 
1538 
1539  if (doThetaPlots_) {
1540  histname = "TrackTheta_" + histTag;
1541  tkmes.TrackTheta = ibooker.book1D(histname, histname, ThetaBin, ThetaMin, ThetaMax);
1542  tkmes.TrackTheta->setAxisTitle("Track #theta", 1);
1543  tkmes.TrackTheta->setAxisTitle("Number of Tracks",2);
1544  }
1545  histname = "TrackQ_" + histTag;
1546  tkmes.TrackQ = ibooker.book1D(histname, histname, TrackQBin, TrackQMin, TrackQMax);
1547  tkmes.TrackQ->setAxisTitle("Track Charge", 1);
1548  tkmes.TrackQ->setAxisTitle("Number of Tracks",2);
1549 
1550  histname = "TrackPErrOverP_" + histTag;
1551  tkmes.TrackPErr = ibooker.book1D(histname, histname, pErrBin, pErrMin, pErrMax);
1552  tkmes.TrackPErr->setAxisTitle("track error(p)/p", 1);
1553  tkmes.TrackPErr->setAxisTitle("Number of Tracks",2);
1554 
1555  histname = "TrackPtErrOverPt_" + histTag;
1556  tkmes.TrackPtErr = ibooker.book1D(histname, histname, ptErrBin, ptErrMin, ptErrMax);
1557  tkmes.TrackPtErr->setAxisTitle("track error(p_{T})/p_{T}", 1);
1558  tkmes.TrackPtErr->setAxisTitle("Number of Tracks",2);
1559 
1560  histname = "TrackPtErrOverPtVsEta_" + histTag;
1561  tkmes.TrackPtErrVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, ptErrMin, ptErrMax);
1562  tkmes.TrackPtErrVsEta->setAxisTitle("Track #eta",1);
1563  tkmes.TrackPtErrVsEta->setAxisTitle("track error(p_{T})/p_{T}", 2);
1564 
1565  if (doTrackPxPyPlots_) {
1566  histname = "TrackPxErrOverPx_" + histTag;
1567  tkmes.TrackPxErr = ibooker.book1D(histname, histname, pxErrBin, pxErrMin, pxErrMax);
1568  tkmes.TrackPxErr->setAxisTitle("track error(p_{x})/p_{x}", 1);
1569  tkmes.TrackPxErr->setAxisTitle("Number of Tracks",2);
1570 
1571  histname = "TrackPyErrOverPy_" + histTag;
1572  tkmes.TrackPyErr = ibooker.book1D(histname, histname, pyErrBin, pyErrMin, pyErrMax);
1573  tkmes.TrackPyErr->setAxisTitle("track error(p_{y})/p_{y}", 1);
1574  tkmes.TrackPyErr->setAxisTitle("Number of Tracks",2);
1575  }
1576  histname = "TrackPzErrOverPz_" + histTag;
1577  tkmes.TrackPzErr = ibooker.book1D(histname, histname, pzErrBin, pzErrMin, pzErrMax);
1578  tkmes.TrackPzErr->setAxisTitle("track error(p_{z})/p_{z}", 1);
1579  tkmes.TrackPzErr->setAxisTitle("Number of Tracks",2);
1580 
1581  histname = "TrackPhiErr_" + histTag;
1582  tkmes.TrackPhiErr = ibooker.book1D(histname, histname, phiErrBin, phiErrMin, phiErrMax);
1583  tkmes.TrackPhiErr->setAxisTitle("track error(#phi)");
1584  tkmes.TrackPhiErr->setAxisTitle("Number of Tracks",2);
1585 
1586  histname = "TrackEtaErr_" + histTag;
1587  tkmes.TrackEtaErr = ibooker.book1D(histname, histname, etaErrBin, etaErrMin, etaErrMax);
1588  tkmes.TrackEtaErr->setAxisTitle("track error(#eta)");
1589  tkmes.TrackEtaErr->setAxisTitle("Number of Tracks",2);
1590 
1591  // rec hit profiles
1592  ibooker.setCurrentFolder(TopFolder_+"/GeneralProperties");
1593  histname = "NumberOfRecHitsPerTrackVsPhi_" + histTag;
1594  tkmes.NumberOfRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitBin, RecHitMin, RecHitMax,"");
1595  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1596  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of RecHits in each Track",2);
1597 
1598  if (doThetaPlots_) {
1599  histname = "NumberOfRecHitsPerTrackVsTheta_" + histTag;
1600  tkmes.NumberOfRecHitsPerTrackVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecHitBin, RecHitMin, RecHitMax,"");
1601  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Track #phi",1);
1602  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Number of RecHits in each Track",2);
1603  }
1604  histname = "NumberOfRecHitsPerTrackVsEta_" + histTag;
1605  tkmes.NumberOfRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitBin, RecHitMin, RecHitMax,"");
1606  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1607  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of RecHits in each Track",2);
1608 
1609  histname = "NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1610  tkmes.NumberOfValidRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitMin, RecHitMax,"");
1611  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1612  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Number of valid RecHits in each Track",2);
1613 
1614  histname = "NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1615  tkmes.NumberOfValidRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitMin, RecHitMax,"");
1616  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1617  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Number of valid RecHits in each Track",2);
1618 
1619  histname = "NumberOfValidRecHitsPerTrackVsPt_" + histTag;
1620  tkmes.NumberOfValidRecHitsPerTrackVsPt = ibooker.bookProfile(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax, RecHitMin, RecHitMax,"");
1621  tkmes.NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]",1);
1622  tkmes.NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Number of valid RecHits in each Track",2);
1623 
1625  histname = "NumberOfLayersPerTrackVsPhi_" + histTag;
1626  tkmes.NumberOfLayersPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecLayBin, RecLayMin, RecLayMax,"");
1627  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi",1);
1628  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of Layers in each Track",2);
1629 
1630  if (doThetaPlots_) {
1631  histname = "NumberOfLayersPerTrackVsTheta_" + histTag;
1632  tkmes.NumberOfLayersPerTrackVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecLayBin, RecLayMin, RecLayMax,"");
1633  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Track #phi",1);
1634  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Number of Layers in each Track",2);
1635  }
1636  histname = "NumberOfLayersPerTrackVsEta_" + histTag;
1637  tkmes.NumberOfLayersPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecLayBin, RecLayMin, RecLayMax,"");
1638  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta",1);
1639  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of Layers in each Track",2);
1640 
1641  if (doThetaPlots_) {
1642  histname = "Chi2oNDFVsTheta_" + histTag;
1643  tkmes.Chi2oNDFVsTheta = ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax,"");
1644  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta",1);
1645  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf",2);
1646  }
1647  if (doAllPlots_) {
1648  histname = "Chi2oNDFVsPhi_" + histTag;
1649  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax,"");
1650  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi",1);
1651  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf",2);
1652 
1653  histname = "Chi2oNDFVsEta_" + histTag;
1654  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax,"");
1655  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta",1);
1656  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf",2);
1657 
1658  histname = "Chi2ProbVsPhi_" + histTag;
1659  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
1660  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi" ,1);
1661  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability",2);
1662 
1663  histname = "Chi2ProbVsEta_" + histTag;
1664  tkmes.Chi2ProbVsEta = ibooker.bookProfile(histname+CategoryName, histname+CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
1665  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta" ,1);
1666  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability",2);
1667  }
1668 
1669  // now put the MEs in the map
1670  TkParameterMEMap.insert( std::make_pair(sname, tkmes) );
1671 
1672 }
std::map< std::string, TkParameterMEs > TkParameterMEMap
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
const double EtaMax[kNumberCalorimeter]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
const double EtaMin[kNumberCalorimeter]
std::string histname
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
std::string TopFolder_
Definition: TrackAnalyzer.h:73
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void TrackAnalyzer::bookHistosForTrackerSpecific ( DQMStore::IBooker ibooker)
private

Definition at line 1826 of file TrackAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), conf_, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorId, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorTag, Gflash::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), histname, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrack, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsEta, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsPhi, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsPt, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrack, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsEta, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsPhi, dqm::TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsPt, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, HLT_HIPhoton15_DQM_cfi::PtMax, HIPixelMedianVertex_cfi::PtMin, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, TkRecHitsPerSubDetMEMap, StripSubdetector::TOB, and TopFolder_.

Referenced by initHisto().

1827 {
1828 
1829  // parameters from the configuration
1830  std::string QualName = conf_->getParameter<std::string>("Quality");
1831  std::string AlgoName = conf_->getParameter<std::string>("AlgoName");
1832 
1833  // use the AlgoName and Quality Name
1834  std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
1835 
1836  int PhiBin = conf_->getParameter<int>( "PhiBin");
1837  double PhiMin = conf_->getParameter<double>("PhiMin");
1838  double PhiMax = conf_->getParameter<double>("PhiMax");
1839 
1840  int EtaBin = conf_->getParameter<int>( "EtaBin");
1841  double EtaMin = conf_->getParameter<double>("EtaMin");
1842  double EtaMax = conf_->getParameter<double>("EtaMax");
1843 
1844  int PtBin = conf_->getParameter<int>( "TrackPtBin");
1845  double PtMin = conf_->getParameter<double>("TrackPtMin");
1846  double PtMax = conf_->getParameter<double>("TrackPtMax");
1847 
1848  // book hit property histograms
1849  // ---------------------------------------------------------------------------------//
1850  ibooker.setCurrentFolder(TopFolder_+"/HitProperties");
1851 
1852 
1853 
1854  std::vector<std::string> subdetectors = conf_->getParameter<std::vector<std::string> >("subdetectors");
1855  int detBin = conf_->getParameter<int>("subdetectorBin");
1856 
1857  for ( auto det : subdetectors ) {
1858 
1859  // hits properties
1860  ibooker.setCurrentFolder(TopFolder_+"/HitProperties/"+det);
1861 
1862  TkRecHitsPerSubDetMEs recHitsPerSubDet_mes;
1863 
1864  recHitsPerSubDet_mes.detectorTag = det;
1865  int detID = -1;
1866  if ( det == "TIB" ) detID = StripSubdetector::TIB; // 3
1867  if ( det == "TOB" ) detID = StripSubdetector::TOB; // 5
1868  if ( det == "TID" ) detID = StripSubdetector::TID; // 4
1869  if ( det == "TEC" ) detID = StripSubdetector::TEC; // 6
1870  if ( det == "PixBarrel" ) detID = PixelSubdetector::PixelBarrel; // 1
1871  if ( det == "PixEndcap" ) detID = PixelSubdetector::PixelEndcap; // 2
1872  if ( det == "Pixel" ) detID = 0;
1873  if ( det == "Strip" ) detID = 7;
1874 
1875  recHitsPerSubDet_mes.detectorId = detID;
1876 
1877  histname = "NumberOfRecHitsPerTrack_" + det + "_" + CategoryName;
1878  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack = ibooker.book1D(histname, histname, detBin, -0.5, double(detBin)-0.5);
1879  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of " + det + " valid RecHits in each Track",1);
1880  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
1881 
1882  histname = "NumberOfRecHitsPerTrackVsPhi_" + det + "_" + CategoryName;
1883  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin)-0.5,"");
1884  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi",1);
1885  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of " + det + " valid RecHits in each Track",2);
1886 
1887  histname = "NumberOfRecHitsPerTrackVsEta_" + det + "_" + CategoryName;
1888  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin)-0.5,"");
1889  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta",1);
1890  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of " + det + " valid RecHits in each Track",2);
1891 
1892  histname = "NumberOfRecHitsPerTrackVsPt_" + det + "_" + CategoryName;
1893  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt = ibooker.bookProfile(histname, histname, PtBin, PtMin, PtMax, detBin, -0.5, double(detBin)-0.5,"");
1894  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]",1);
1895  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt->setAxisTitle("Number of " + det + " valid RecHits in each Track",2);
1896 
1897  histname = "NumberOfLayersPerTrack_" + det + "_" + CategoryName;
1898  recHitsPerSubDet_mes.NumberOfLayersPerTrack = ibooker.book1D(histname, histname, detBin, -0.5, double(detBin)-0.5);
1899  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of " + det + " valid Layers in each Track",1);
1900  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of Tracks", 2);
1901 
1902  histname = "NumberOfLayersPerTrackVsPhi_" + det + "_" + CategoryName;
1903  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin)-0.5,"");
1904  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi",1);
1905  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of " + det + " valid Layers in each Track",2);
1906 
1907  histname = "NumberOfLayersPerTrackVsEta_" + det + "_" + CategoryName;
1908  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin)-0.5,"");
1909  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta",1);
1910  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of " + det + " valid Layers in each Track",2);
1911 
1912  histname = "NumberOfLayersPerTrackVsPt_" + det + "_" + CategoryName;
1913  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt = ibooker.bookProfile(histname, histname, PtBin, PtMin, PtMax, detBin, -0.5, double(detBin)-0.5,"");
1914  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]",1);
1915  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt->setAxisTitle("Number of " + det + " valid Layers in each Track",2);
1916 
1917  TkRecHitsPerSubDetMEMap.insert(std::pair<std::string,TkRecHitsPerSubDetMEs>(det,recHitsPerSubDet_mes));
1918 
1919 
1920  }
1921 
1922 
1923 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
const double EtaMax[kNumberCalorimeter]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
const double EtaMin[kNumberCalorimeter]
std::string histname
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
std::string TopFolder_
Definition: TrackAnalyzer.h:73
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void TrackAnalyzer::doReset ( )

Definition at line 2017 of file TrackAnalyzer.cc.

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

Referenced by TrackingMonitor::beginLuminosityBlock().

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

Definition at line 2009 of file TrackAnalyzer.cc.

References Chi2oNDF, and NumberOfRecHitsPerTrack.

2009  {
2010  TkParameterMEs tkmes;
2011  dqmStore_->softReset(Chi2oNDF);
2012  dqmStore_->softReset(NumberOfRecHitsPerTrack);
2013 }
MonitorElement * Chi2oNDF
MonitorElement * NumberOfRecHitsPerTrack
void TrackAnalyzer::fillHistosForEfficiencyFromHitPatter ( const reco::Track track,
const std::string  suffix,
const float  monitoring,
bool  useInac 
)
private

Definition at line 1288 of file TrackAnalyzer.cc.

References python.rootplot.argparse::category, reco::TrackBase::dxy(), HcalObjRepresent::Fill(), reco::TrackBase::hitPattern(), hits_total_, hits_valid_, AnalysisDataFormats_SUSYBSMObjects::hp, mps_fire::i, LogDebug, LaserDQM_cfi::mon, monName, listBenchmarks::pattern, and reco::TrackBase::pt().

Referenced by analyze().

1288  {
1289 
1290  int mon = -1;
1291  for (int i=0; i<monQuantity::END; i++) {
1292  if (monName[i] == suffix) mon = i;
1293  }
1294  if (useInac) mon+=monQuantity::END;
1295 
1296  // if (track.pt() > 1.0 && track.dxy() < 0.1 and monitoring > 0) {
1297  if (track.pt() > 1.0 && track.dxy() < 0.1 and monitoring > -9.) {
1298  auto hp = track.hitPattern();
1299  // Here hit_category is meant to iterate over
1300  // reco::HitPattern::HitCategory, defined here:
1301  // http://cmslxr.fnal.gov/dxr/CMSSW/source/DataFormats/TrackReco/interface/HitPattern.h
1302  for (unsigned int category = 0; category < 3; ++category) {
1303  for (int hit = 0; hit < hp.numberOfAllHits((reco::HitPattern::HitCategory)(category)); ++hit) {
1304  auto pattern = hp.getHitPattern((reco::HitPattern::HitCategory)(category), hit);
1305  // Boolean bad is missing simply because it is inferred and the only missing case.
1306  bool valid = hp.validHitFilter(pattern);
1307  bool missing = hp.missingHitFilter(pattern);
1308  bool inactive = hp.inactiveHitFilter(pattern);
1309  int hit_type = -1;
1310  hit_type = valid ? 0 :
1311  ( missing ? 1 :
1312  ( inactive ? 2 : 3));
1313  if (hits_valid_.find(Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)) == hits_valid_.end()) {
1314  LogDebug("TrackAnalyzer") << "Invalid combination of detector and subdetector: ("
1315  << hp.getSubStructure(pattern) << ", "
1316  << hp.getSubSubStructure(pattern) << ", "
1317  << mon
1318  << "): ignoring it.\n";
1319  continue;
1320  }
1321  switch (hit_type) {
1322  case 0:
1323  hits_valid_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1324  hits_total_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1325  break;
1326  case 2:
1327  if (!useInac) break;
1328  case 1:
1329  hits_total_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1330  break;
1331  default:
1332  LogDebug("TrackAnalyzer") << "Invalid hit category used " << hit_type << " ignored\n";
1333  }
1334  }
1335  }
1336  }
1337 
1338 }
#define LogDebug(id)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
double pt() const
track transverse momentum
Definition: TrackBase.h:621
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
std::string monName[monQuantity::END]
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
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:591
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
void dqm::TrackAnalyzer::fillHistosForHitProperties ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private
void dqm::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 1677 of file TrackAnalyzer.cc.

References TransientTrackBuilder::build(), TrajectoryStateOnSurface::cartesianError(), TrajectoryStateOnSurface::charge(), reco::TrackBase::charge(), reco::TrackBase::chi2(), dqm::TrackAnalyzer::TkParameterMEs::Chi2oNDFVsEta, dqm::TrackAnalyzer::TkParameterMEs::Chi2oNDFVsNHits, dqm::TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPhi, dqm::TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPt, dqm::TrackAnalyzer::TkParameterMEs::Chi2oNDFVsTheta, dqm::TrackAnalyzer::TkParameterMEs::Chi2ProbVsEta, dqm::TrackAnalyzer::TkParameterMEs::Chi2ProbVsPhi, TrajectoryStateOnSurface::curvilinearError(), doAllPlots_, doThetaPlots_, doTrackPxPyPlots_, benchmark_cfg::errors, PVValHelper::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(), reco::Track::innerPosition(), createfilelist::int, PV3DBase< T, PVType, FrameType >::mag(), CartesianTrajectoryError::matrix(), CurvilinearTrajectoryError::matrix(), reco::TrackBase::ndof(), MuonTCMETValueMapProducer_cff::nLayers, reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfAllHits(), dqm::TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsEta, dqm::TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsPhi, dqm::TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsTheta, dqm::TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsEta, dqm::TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsPhi, dqm::TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsTheta, reco::TrackBase::numberOfValidHits(), dqm::TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsEta, dqm::TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPhi, dqm::TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPt, reco::TransientTrack::outermostMeasurementState(), reco::Track::outerPosition(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::p(), PV3DBase< T, PVType, FrameType >::perp(), 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(), dqm::TrackAnalyzer::TkParameterMEs::TrackEta, dqm::TrackAnalyzer::TkParameterMEs::TrackEtaErr, dqm::TrackAnalyzer::TkParameterMEs::TrackEtaPhi, dqm::TrackAnalyzer::TkParameterMEs::TrackEtaPhiInner, dqm::TrackAnalyzer::TkParameterMEs::TrackEtaPhiOuter, dqm::TrackAnalyzer::TkParameterMEs::TrackP, dqm::TrackAnalyzer::TkParameterMEs::TrackPErr, dqm::TrackAnalyzer::TkParameterMEs::TrackPhi, dqm::TrackAnalyzer::TkParameterMEs::TrackPhiErr, dqm::TrackAnalyzer::TkParameterMEs::TrackPt, dqm::TrackAnalyzer::TkParameterMEs::TrackPtErr, dqm::TrackAnalyzer::TkParameterMEs::TrackPtErrVsEta, dqm::TrackAnalyzer::TkParameterMEs::TrackPx, dqm::TrackAnalyzer::TkParameterMEs::TrackPxErr, dqm::TrackAnalyzer::TkParameterMEs::TrackPy, dqm::TrackAnalyzer::TkParameterMEs::TrackPyErr, dqm::TrackAnalyzer::TkParameterMEs::TrackPz, dqm::TrackAnalyzer::TkParameterMEs::TrackPzErr, dqm::TrackAnalyzer::TkParameterMEs::TrackQ, dqm::TrackAnalyzer::TkParameterMEs::TrackTheta, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

1678 {
1679  //get the kinematic parameters
1680  double p, px, py, pz, pt, theta, phi, eta, q;
1681  double pxerror, pyerror, pzerror, pterror, perror, phierror, etaerror;
1682 
1683  auto phiIn = track.innerPosition().phi();
1684  auto etaIn = track.innerPosition().eta();
1685  auto phiOut = track.outerPosition().phi();
1686  auto etaOut = track.outerPosition().eta();
1687 
1688 
1689  if (sname == "default") {
1690 
1691  p = track.p();
1692  px = track.px();
1693  py = track.py();
1694  pz = track.pz();
1695  pt = track.pt();
1696  phi = track.phi();
1697  theta = track.theta();
1698  eta = track.eta();
1699  q = track.charge();
1700 
1701  pterror = (pt) ? track.ptError()/(pt*pt) : 0.0;
1702  pxerror = -1.0;
1703  pyerror = -1.0;
1704  pzerror = -1.0;
1705  perror = -1.0;
1706  phierror = track.phiError();
1707  etaerror = track.etaError();
1708 
1709  } else {
1710 
1712  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder",theB);
1713  reco::TransientTrack TransTrack = theB->build(track);
1714 
1716 
1717  if (sname == "OuterSurface") TSOS = TransTrack.outermostMeasurementState();
1718  else if (sname == "InnerSurface") TSOS = TransTrack.innermostMeasurementState();
1719  else if (sname == "ImpactPoint") TSOS = TransTrack.impactPointState();
1720 
1721  p = TSOS.globalMomentum().mag();
1722  px = TSOS.globalMomentum().x();
1723  py = TSOS.globalMomentum().y();
1724  pz = TSOS.globalMomentum().z();
1725  pt = TSOS.globalMomentum().perp();
1726  phi = TSOS.globalMomentum().phi();
1727  theta = TSOS.globalMomentum().theta();
1728  eta = TSOS.globalMomentum().eta();
1729  q = TSOS.charge();
1730 
1731  //get the error of the kinimatic parameters
1733  double partialPterror = errors(3,3)*pow(TSOS.globalMomentum().x(),2) + errors(4,4)*pow(TSOS.globalMomentum().y(),2);
1734  pterror = sqrt(partialPterror)/TSOS.globalMomentum().perp();
1735  pxerror = sqrt(errors(3,3))/TSOS.globalMomentum().x();
1736  pyerror = sqrt(errors(4,4))/TSOS.globalMomentum().y();
1737  pzerror = sqrt(errors(5,5))/TSOS.globalMomentum().z();
1738  perror = sqrt(partialPterror+errors(5,5)*pow(TSOS.globalMomentum().z(),2))/TSOS.globalMomentum().mag();
1739  phierror = sqrt(TSOS.curvilinearError().matrix()(2,2));
1740  etaerror = sqrt(TSOS.curvilinearError().matrix()(1,1))*fabs(sin(TSOS.globalMomentum().theta()));
1741 
1742  }
1743 
1744  std::map<std::string, TkParameterMEs>::iterator iPos = TkParameterMEMap.find(sname);
1745  if (iPos != TkParameterMEMap.end()) {
1746 
1747  TkParameterMEs tkmes = iPos->second;
1748 
1749  // momentum
1750  tkmes.TrackP->Fill(p);
1751  if (doTrackPxPyPlots_) {
1752  tkmes.TrackPx->Fill(px);
1753  tkmes.TrackPy->Fill(py);
1754  }
1755  tkmes.TrackPz->Fill(pz);
1756  tkmes.TrackPt->Fill(pt);
1757 
1758  // angles
1759  tkmes.TrackPhi->Fill(phi);
1760  tkmes.TrackEta->Fill(eta);
1761  tkmes.TrackEtaPhi->Fill(eta,phi);
1762  tkmes.TrackEtaPhiInner->Fill(etaIn,phiIn);
1763  tkmes.TrackEtaPhiOuter->Fill(etaOut,phiOut);
1764 
1765  if (doThetaPlots_) {
1766  tkmes.TrackTheta->Fill(theta);
1767  }
1768  tkmes.TrackQ->Fill(q);
1769 
1770  // errors
1771  tkmes.TrackPtErr->Fill(pterror);
1772  tkmes.TrackPtErrVsEta->Fill(eta,pterror);
1773  if (doTrackPxPyPlots_) {
1774  tkmes.TrackPxErr->Fill(pxerror);
1775  tkmes.TrackPyErr->Fill(pyerror);
1776  }
1777  tkmes.TrackPzErr->Fill(pzerror);
1778  tkmes.TrackPErr->Fill(perror);
1779  tkmes.TrackPhiErr->Fill(phierror);
1780  tkmes.TrackEtaErr->Fill(etaerror);
1781 
1783  int nValidRecHits = track.numberOfValidHits();
1784  // rec hits
1785  tkmes.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nRecHits);
1786  if (doThetaPlots_) {
1787  tkmes.NumberOfRecHitsPerTrackVsTheta->Fill(theta,nRecHits);
1788  }
1789  tkmes.NumberOfRecHitsPerTrackVsEta->Fill(eta, nRecHits);
1790 
1791  tkmes.NumberOfValidRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
1792  tkmes.NumberOfValidRecHitsPerTrackVsEta->Fill(eta, nValidRecHits);
1793  tkmes.NumberOfValidRecHitsPerTrackVsPt ->Fill(pt, nValidRecHits);
1794 
1796  // rec layers
1797  tkmes.NumberOfLayersPerTrackVsPhi->Fill(phi, nLayers);
1798  if (doThetaPlots_) {
1799  tkmes.NumberOfLayersPerTrackVsTheta->Fill(theta, nLayers);
1800  }
1801  tkmes.NumberOfLayersPerTrackVsEta->Fill(eta, nLayers);
1802 
1803  double chi2prob = TMath::Prob(track.chi2(),(int)track.ndof());
1804  double chi2oNDF = track.normalizedChi2();
1805 
1806  tkmes.Chi2oNDFVsEta->Fill(eta, chi2oNDF);
1807  tkmes.Chi2oNDFVsPt->Fill(pt, chi2oNDF);
1808  tkmes.Chi2oNDFVsNHits->Fill(nRecHits, chi2oNDF);
1809 
1810  if(doAllPlots_) {
1811 
1812  // general properties
1813  if (doThetaPlots_) {
1814  tkmes.Chi2oNDFVsTheta->Fill(theta, chi2oNDF);
1815  }
1816  tkmes.Chi2oNDFVsPhi->Fill(phi, chi2oNDF);
1817  tkmes.Chi2ProbVsPhi->Fill(phi, chi2prob);
1818  tkmes.Chi2ProbVsEta->Fill(eta, chi2prob);
1819  }
1820 
1821  }
1822 
1823 }
std::map< std::string, TkParameterMEs > TkParameterMEMap
double p() const
momentum vector magnitude
Definition: TrackBase.h:615
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:561
double theta() const
polar angle
Definition: TrackBase.h:579
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
reco::TransientTrack build(const reco::Track *p) const
T y() const
Definition: PV3DBase.h:63
double etaError() const
error on eta
Definition: TrackBase.h:784
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:645
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:627
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:65
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:518
TrajectoryStateOnSurface innermostMeasurementState() const
Geom::Theta< T > theta() const
Definition: PV3DBase.h:75
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:55
T mag() const
Definition: PV3DBase.h:67
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:549
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:555
T sqrt(T t)
Definition: SSEVec.h:18
double pt() const
track transverse momentum
Definition: TrackBase.h:621
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:763
double phiError() const
error on phi
Definition: TrackBase.h:790
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:807
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
TrajectoryStateOnSurface outermostMeasurementState() const
const AlgebraicSymMatrix66 & matrix() const
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:639
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:446
const T & get() const
Definition: EventSetup.h:59
T eta() const
Definition: PV3DBase.h:76
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
int charge() const
track electric charge
Definition: TrackBase.h:567
TrajectoryStateOnSurface impactPointState() const
Definition: errors.py:1
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:633
void TrackAnalyzer::fillHistosForTrackerSpecific ( const reco::Track track)
private

Definition at line 1926 of file TrackAnalyzer.cc.

References PVValHelper::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(), reco::TrackBase::phi(), PixelSubdetector::PixelBarrel, reco::HitPattern::pixelBarrelLayersWithMeasurement(), PixelSubdetector::PixelEndcap, reco::HitPattern::pixelEndcapLayersWithMeasurement(), EnergyCorrector::pt, reco::TrackBase::pt(), 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().

1927 {
1928 
1929  double phi = track.phi();
1930  double eta = track.eta();
1931  double pt = track.pt();
1932 
1933  for ( std::map<std::string,TkRecHitsPerSubDetMEs>::iterator it = TkRecHitsPerSubDetMEMap.begin();
1934  it != TkRecHitsPerSubDetMEMap.end(); it++ ) {
1935 
1936  int nValidLayers = 0;
1937  int nValidRecHits = 0;
1938  int substr = it->second.detectorId;
1939  switch(substr) {
1940  case 0 :
1941  nValidLayers = track.hitPattern().pixelBarrelLayersWithMeasurement()
1942  + track.hitPattern().pixelEndcapLayersWithMeasurement(); // case 0: pixel
1943  nValidRecHits = track.hitPattern().numberOfValidPixelBarrelHits()
1944  + track.hitPattern().numberOfValidPixelEndcapHits(); // case 0: pixel
1945  break;
1946  case StripSubdetector::TIB :
1947  nValidLayers = track.hitPattern().stripTIBLayersWithMeasurement(); // case 3: strip TIB
1948  nValidRecHits = track.hitPattern().numberOfValidStripTIBHits(); // case 3: strip TIB
1949  break;
1950  case StripSubdetector::TID :
1951  nValidLayers = track.hitPattern().stripTIDLayersWithMeasurement(); // case 4: strip TID
1952  nValidRecHits = track.hitPattern().numberOfValidStripTIDHits(); // case 4: strip TID
1953  break;
1954  case StripSubdetector::TOB :
1955  nValidLayers = track.hitPattern().stripTOBLayersWithMeasurement(); // case 5: strip TOB
1956  nValidRecHits = track.hitPattern().numberOfValidStripTOBHits(); // case 5: strip TOB
1957  break;
1958  case StripSubdetector::TEC :
1959  nValidLayers = track.hitPattern().stripTECLayersWithMeasurement(); // case 6: strip TEC
1960  nValidRecHits = track.hitPattern().numberOfValidStripTECHits(); // case 6: strip TEC
1961  break;
1963  nValidLayers = track.hitPattern().pixelBarrelLayersWithMeasurement(); // case 1: pixel PXB
1964  nValidRecHits = track.hitPattern().numberOfValidPixelBarrelHits(); // case 1: pixel PXB
1965  break;
1967  nValidLayers = track.hitPattern().pixelEndcapLayersWithMeasurement(); // case 2: pixel PXF
1968  nValidRecHits = track.hitPattern().numberOfValidPixelEndcapHits(); // case 2: pixel PXF
1969  break;
1970  case 7 :
1971  nValidLayers = track.hitPattern().stripTIBLayersWithMeasurement() // case 7: strip
1975  nValidRecHits = track.hitPattern().numberOfValidStripTIBHits() // case 7: strip
1979  break;
1980  default :
1981  break;
1982  }
1983 
1984  //Fill Layers and RecHits
1985  it->second.NumberOfRecHitsPerTrack -> Fill(nValidRecHits);
1986  it->second.NumberOfRecHitsPerTrackVsPhi -> Fill(phi, nValidRecHits);
1987  it->second.NumberOfRecHitsPerTrackVsEta -> Fill(eta, nValidRecHits);
1988  it->second.NumberOfRecHitsPerTrackVsPt -> Fill(pt, nValidRecHits);
1989 
1990  it->second.NumberOfLayersPerTrack -> Fill(nValidLayers);
1991  it->second.NumberOfLayersPerTrackVsPhi -> Fill(phi, nValidLayers);
1992  it->second.NumberOfLayersPerTrackVsEta -> Fill(eta, nValidLayers);
1993  it->second.NumberOfLayersPerTrackVsPt -> Fill(pt, nValidLayers);
1994  }
1995 
1996 }
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:604
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:582
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:645
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:570
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:868
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:843
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:593
double pt() const
track transverse momentum
Definition: TrackBase.h:621
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:863
int numberOfValidStripTECHits() const
Definition: HitPattern.h:873
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:558
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:858
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:848
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:615
void TrackAnalyzer::initHisto ( DQMStore::IBooker ibooker,
const edm::EventSetup iSetup,
const edm::ParameterSet iConfig 
)

Definition at line 184 of file TrackAnalyzer.cc.

References bookHistosForBeamSpot(), bookHistosForEfficiencyFromHitPatter(), bookHistosForHitProperties(), bookHistosForLScertification(), bookHistosForState(), bookHistosForTrackerSpecific(), conf_, doAllPlots_, doEffFromHitPatternVsBX_, doEffFromHitPatternVsLUMI_, doEffFromHitPatternVsPU_, doMeasurementStatePlots_, doTrackerSpecific_, and stateName_.

Referenced by TrackingMonitor::bookHistograms().

185 {
186  conf_ = &iConfig;
188  bookHistosForBeamSpot(ibooker);
191  if (doEffFromHitPatternVsBX_ || doAllPlots_) bookHistosForEfficiencyFromHitPatter(ibooker, iSetup, "VsBX",false);
192  if (doEffFromHitPatternVsLUMI_ || doAllPlots_) bookHistosForEfficiencyFromHitPatter(ibooker, iSetup, "VsSCALLUMI",false);
193  // if (doEffFromHitPatternVsLUMI_ || doAllPlots_) bookHistosForEfficiencyFromHitPatter(ibooker, iSetup, "VsPIXELLUMI");
195  if (doEffFromHitPatternVsLUMI_ || doAllPlots_) bookHistosForEfficiencyFromHitPatter(ibooker, iSetup, "VsSCALLUMI",true);
196 
197  // book tracker specific related histograms
198  // ---------------------------------------------------------------------------------//
200 
201  // book state related histograms
202  // ---------------------------------------------------------------------------------//
204 
205 
206  if (stateName_ == "All") {
207  bookHistosForState("OuterSurface", ibooker);
208  bookHistosForState("InnerSurface", ibooker);
209  bookHistosForState("ImpactPoint" , ibooker);
210  } else if (
211  stateName_ != "OuterSurface" &&
212  stateName_ != "InnerSurface" &&
213  stateName_ != "ImpactPoint" &&
214  stateName_ != "default"
215  ) {
216  bookHistosForState("default", ibooker);
217 
218  } else {
219  bookHistosForState(stateName_, ibooker);
220  }
221  conf_ = nullptr;
222  }
223 }
std::string stateName_
Definition: TrackAnalyzer.h:83
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:81
void bookHistosForEfficiencyFromHitPatter(DQMStore::IBooker &ibooker, const edm::EventSetup &iSetup, const std::string suffix, bool useInac)
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
void TrackAnalyzer::initHistos ( )
private

Definition at line 102 of file TrackAnalyzer.cc.

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

Referenced by TrackAnalyzer().

103 {
104  Chi2 = nullptr;
105  Chi2Prob = nullptr;
106  Chi2ProbVsPhi = nullptr;
107  Chi2ProbVsEta = nullptr;
108  Chi2oNDF = nullptr;
109  Chi2oNDFVsEta = nullptr;
110  Chi2oNDFVsPhi = nullptr;
111  Chi2oNDFVsTheta = nullptr;
112 
113  NumberOfRecHitsPerTrack = nullptr;
115  NumberOfLostRecHitsPerTrack = nullptr;
116 
120 
122 
125 
126  DistanceOfClosestApproach = nullptr;
131  DeltaZToPV = nullptr;
132  DeltaZToPVZoom = nullptr;
138  xPointOfClosestApproach = nullptr;
141  yPointOfClosestApproach = nullptr;
144  zPointOfClosestApproach = nullptr;
146  algorithm = nullptr;
147  oriAlgo = nullptr;
148  stoppingSource = nullptr;
149  stoppingSourceVSeta = nullptr;
150  stoppingSourceVSphi = nullptr;
151  // TESTING
154 
155 // by Mia in order to deal w/ LS transitions
156  Chi2oNDF_lumiFlag = nullptr;
158 
160  //special Plots for HI DQM //SHOULD I ADD THE BOOL HERE??
162  LongDCASig = nullptr;
163  TransDCASig = nullptr;
164  dNdPhi_HighPurity = nullptr;
165  dNdEta_HighPurity = nullptr;
166  dNdPt_HighPurity = nullptr;
167  NhitVsEta_HighPurity = nullptr;
168  NhitVsPhi_HighPurity = nullptr;
169 
170  // IP significance
171  sipDxyToBS = nullptr;
172  sipDzToBS = nullptr;
173  sip3dToPV = nullptr;
174  sip2dToPV = nullptr;
175  sipDxyToPV = nullptr;
176  sipDzToPV = nullptr;
177 
178 }
MonitorElement * sipDzToPV
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * sip2dToPV
MonitorElement * Chi2oNDFVsTheta
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * dNdPt_HighPurity
MonitorElement * sipDxyToPV
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * LongDCASig
MonitorElement * yPointOfClosestApproach
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * sipDxyToBS
MonitorElement * algorithm
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * DistanceOfClosestApproach
MonitorElement * Chi2oNDF
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * Chi2ProbVsEta
MonitorElement * stoppingSourceVSeta
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * sipDzToBS
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * DeltaZToPVZoom
MonitorElement * NhitVsEta_HighPurity
MonitorElement * stoppingSourceVSphi
MonitorElement * dNdPhi_HighPurity
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * oriAlgo
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * Chi2oNDFVsPhi
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * dNdEta_HighPurity
MonitorElement * stoppingSource
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * DeltaZToPV
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * Chi2oNDFVsEta
Definition: Chi2.h:17
MonitorElement * zPointOfClosestApproach
MonitorElement * Chi2ProbVsPhi
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * sip3dToPV
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * Chi2Prob
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * TransDCASig
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void TrackAnalyzer::setBX ( const edm::Event iEvent)

Definition at line 995 of file TrackAnalyzer.cc.

References edm::EventBase::bunchCrossing(), and bx_.

Referenced by TrackingMonitor::analyze().

995  {
996  bx_ = iEvent.bunchCrossing();
997 }
unsigned int bx_
int bunchCrossing() const
Definition: EventBase.h:66
void TrackAnalyzer::setLumi ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)

Definition at line 1000 of file TrackAnalyzer.cc.

References edmNew::DetSetVector< T >::begin(), GetLumi::CM2_TO_NANOBARN, edmNew::DetSetVector< T >::end(), edm::EventSetup::get(), edm::Event::getByToken(), edm::HandleBase::isValid(), TrackerTopology::layer(), lumi_factor_per_bx_, lumiscalersToken_, minNumberOfPixelsPerCluster_, minPixelClusterCharge_, pixel_lumi_, PixelSubdetector::PixelBarrel, HiRegitMuonDetachedTripletStep_cff::pixelClusters, pixelClustersToken_, edm::ESHandle< T >::product(), scal_lumi_, edmNew::DetSet< T >::size(), and DetId::subdetId().

Referenced by TrackingMonitor::analyze().

1000  {
1001  // as done by pixelLumi http://cmslxr.fnal.gov/source/DQM/PixelLumi/plugins/PixelLumiDQM.cc
1002 
1004  iEvent.getByToken(lumiscalersToken_, lumiScalers);
1005  if ( lumiScalers.isValid() && !lumiScalers->empty() ) {
1006  LumiScalersCollection::const_iterator scalit = lumiScalers->begin();
1007  scal_lumi_ = scalit->instantLumi();
1008  } else
1009  scal_lumi_ = -1;
1010 
1012  iEvent.getByToken(pixelClustersToken_, pixelClusters);
1013  if ( pixelClusters.isValid() ) {
1014 
1015  edm::ESHandle<TrackerTopology> tTopoHandle;
1016  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
1017  const TrackerTopology* const tTopo = tTopoHandle.product();
1018 
1019  // Count the number of clusters with at least a minimum
1020  // number of pixels per cluster and at least a minimum charge.
1021  size_t numClusters = 0;
1022  size_t tot = 0;
1023 
1024  edmNew::DetSetVector<SiPixelCluster>::const_iterator pixCluDet = pixelClusters->begin();
1025  for ( ; pixCluDet!=pixelClusters->end(); ++pixCluDet) {
1026 
1027  DetId detid = pixCluDet->detId();
1028  size_t subdetid = detid.subdetId();
1029  // std::cout << tTopo->print(detid) << std::endl;
1030  if ( subdetid == (int) PixelSubdetector::PixelBarrel )
1031  if ( tTopo->layer(detid)==1 )
1032  continue;
1033 
1035  for ( ; pixClu != pixCluDet->end(); ++pixClu ) {
1036  ++tot;
1037  if ( (pixClu->size() >= minNumberOfPixelsPerCluster_) &&
1038  (pixClu->charge() >= minPixelClusterCharge_ ) ) {
1039  ++numClusters;
1040  }
1041  }
1042  }
1043  pixel_lumi_ = lumi_factor_per_bx_ * numClusters / GetLumi::CM2_TO_NANOBARN ; // ?!?!
1044  } else
1045  pixel_lumi_ = -1.;
1046 
1047 }
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
data_type const * const_iterator
Definition: DetSetNew.h:30
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
Definition: TrackAnalyzer.h:78
static double CM2_TO_NANOBARN
Definition: GetLumi.h:47
bool isValid() const
Definition: HandleBase.h:74
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:38
Definition: DetId.h:18
const T & get() const
Definition: EventSetup.h:59
unsigned int layer(const DetId &id) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
Definition: TrackAnalyzer.h:77
size_type size() const
Definition: DetSetNew.h:87
T const * product() const
Definition: ESHandle.h:86
const_iterator begin(bool update=false) const
void TrackAnalyzer::setLumiFlag ( )

Definition at line 2000 of file TrackAnalyzer.cc.

References Chi2oNDF_lumiFlag, and NumberOfRecHitsPerTrack_lumiFlag.

Referenced by TrackingMonitor::bookHistograms().

2000  {
2001 
2002  TkParameterMEs tkmes;
2005 }
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void TrackAnalyzer::setNumberOfGoodVertices ( const edm::Event iEvent)

Definition at line 982 of file TrackAnalyzer.cc.

References edm::Event::getByToken(), good_vertices_, edm::HandleBase::isValid(), pvNDOF_, pvToken_, and findQualityFiles::v.

Referenced by TrackingMonitor::analyze().

982  {
983 
984  good_vertices_ = 0;
985 
986  edm::Handle<reco::VertexCollection> recoPrimaryVerticesHandle;
987  iEvent.getByToken(pvToken_, recoPrimaryVerticesHandle);
988  if (recoPrimaryVerticesHandle.isValid())
989  if (!recoPrimaryVerticesHandle->empty())
990  for (auto v : *recoPrimaryVerticesHandle)
991  if (v.ndof() >= pvNDOF_ && !v.isFake())
992  ++good_vertices_;
993 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
unsigned int good_vertices_
bool isValid() const
Definition: HandleBase.h:74
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:76
void TrackAnalyzer::undoSoftReset ( DQMStore dqmStore_)

Definition at line 2025 of file TrackAnalyzer.cc.

References Chi2oNDF, and NumberOfRecHitsPerTrack.

2025  {
2026  TkParameterMEs tkmes;
2027  dqmStore_->disableSoftReset(Chi2oNDF);
2028  dqmStore_->disableSoftReset(NumberOfRecHitsPerTrack);
2029 }
MonitorElement * Chi2oNDF
MonitorElement * NumberOfRecHitsPerTrack

Member Data Documentation

MonitorElement* dqm::TrackAnalyzer::AbsDistanceOfClosestApproachToBS
private

Definition at line 355 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::algorithm
private

Definition at line 378 of file TrackAnalyzer.h.

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

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

Definition at line 75 of file TrackAnalyzer.h.

Referenced by analyze(), and TrackAnalyzer().

unsigned int dqm::TrackAnalyzer::bx_
private

Definition at line 453 of file TrackAnalyzer.h.

Referenced by analyze(), and setBX().

MonitorElement* dqm::TrackAnalyzer::Chi2
private

Definition at line 339 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::Chi2oNDF
private
MonitorElement* dqm::TrackAnalyzer::Chi2oNDF_lumiFlag
private
MonitorElement* dqm::TrackAnalyzer::Chi2oNDFVsEta = 0
private

Definition at line 345 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::Chi2oNDFVsNHits = 0
private

Definition at line 343 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::Chi2oNDFVsPhi
private

Definition at line 346 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::Chi2oNDFVsPt = 0
private

Definition at line 344 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::Chi2oNDFVsTheta
private

Definition at line 347 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::Chi2Prob
private

Definition at line 340 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::Chi2ProbVsEta
private

Definition at line 349 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::Chi2ProbVsPhi
private

Definition at line 350 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::Chi2ProbVsTheta
private

Definition at line 351 of file TrackAnalyzer.h.

edm::ParameterSet const* dqm::TrackAnalyzer::conf_
private
MonitorElement* dqm::TrackAnalyzer::DeltaZToPV
private

Definition at line 358 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DeltaZToPVZoom
private

Definition at line 359 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproach
private

Definition at line 353 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachToBS
private

Definition at line 354 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachToBSVsPhi
private

Definition at line 362 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachToPV
private

Definition at line 356 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachToPVVsPhi
private

Definition at line 363 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachToPVZoom
private

Definition at line 357 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachVsEta
private

Definition at line 364 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachVsPhi
private

Definition at line 361 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::DistanceOfClosestApproachVsTheta
private

Definition at line 360 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::dNdEta_HighPurity
private

Definition at line 394 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::dNdPhi_HighPurity
private

Definition at line 393 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::dNdPt_HighPurity
private

Definition at line 395 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::dNhitdPt_HighPurity
private

Definition at line 399 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

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

Definition at line 87 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool dqm::TrackAnalyzer::doDCAPlots_
private

Definition at line 89 of file TrackAnalyzer.h.

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

bool dqm::TrackAnalyzer::doDCAwrt000Plots_
private

Definition at line 109 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool dqm::TrackAnalyzer::doDCAwrtPVPlots_
private

Definition at line 108 of file TrackAnalyzer.h.

bool dqm::TrackAnalyzer::doEffFromHitPatternVsBX_
private

Definition at line 125 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool dqm::TrackAnalyzer::doEffFromHitPatternVsLUMI_
private

Definition at line 126 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool dqm::TrackAnalyzer::doEffFromHitPatternVsPU_
private

Definition at line 124 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool dqm::TrackAnalyzer::doGeneralPropertiesPlots_
private

Definition at line 90 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doHIPlots_
private

Definition at line 117 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doHitPropertiesPlots_
private

Definition at line 92 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doLayersVsPhiVsEtaPerTrack_
private

Definition at line 96 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doLumiAnalysis_
private

Definition at line 111 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForLScertification().

bool dqm::TrackAnalyzer::doMeasurementStatePlots_
private

Definition at line 91 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool dqm::TrackAnalyzer::doPVPlots_
private

Definition at line 88 of file TrackAnalyzer.h.

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

bool dqm::TrackAnalyzer::doRecHitsPerTrackProfile_
private

Definition at line 101 of file TrackAnalyzer.h.

bool dqm::TrackAnalyzer::doRecHitVsPhiVsEtaPerTrack_
private

Definition at line 93 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doRecHitVsPtVsEtaPerTrack_
private

Definition at line 94 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool dqm::TrackAnalyzer::doSIPPlots_
private

Definition at line 120 of file TrackAnalyzer.h.

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

bool dqm::TrackAnalyzer::doTestPlots_
private

Definition at line 114 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

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

Definition at line 100 of file TrackAnalyzer.h.

bool dqm::TrackAnalyzer::doTrackerSpecific_
private

Definition at line 85 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool dqm::TrackAnalyzer::doTrackLayersVsPhiVsEtaPerTrack_
private

Definition at line 99 of file TrackAnalyzer.h.

bool dqm::TrackAnalyzer::doTrackPxPyPlots_
private

Definition at line 105 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

bool dqm::TrackAnalyzer::doTrackRecHitVsPhiVsEtaPerTrack_
private

Definition at line 97 of file TrackAnalyzer.h.

bool dqm::TrackAnalyzer::doTrackRecHitVsPtVsEtaPerTrack_
private

Definition at line 98 of file TrackAnalyzer.h.

unsigned int dqm::TrackAnalyzer::good_vertices_
private

Definition at line 452 of file TrackAnalyzer.h.

Referenced by analyze(), and setNumberOfGoodVertices().

std::string dqm::TrackAnalyzer::histname
private
std::unordered_map<Key, MonitorElement *, KeyHasher> dqm::TrackAnalyzer::hits_bad_
private

Definition at line 450 of file TrackAnalyzer.h.

std::unordered_map<Key, MonitorElement *, KeyHasher> dqm::TrackAnalyzer::hits_inactive_
private

Definition at line 449 of file TrackAnalyzer.h.

std::unordered_map<Key, MonitorElement *, KeyHasher> dqm::TrackAnalyzer::hits_missing_
private

Definition at line 448 of file TrackAnalyzer.h.

std::unordered_map<Key, MonitorElement *, KeyHasher> dqm::TrackAnalyzer::hits_total_
private
std::unordered_map<Key, MonitorElement *, KeyHasher> dqm::TrackAnalyzer::hits_valid_
private
MonitorElement* dqm::TrackAnalyzer::LongDCASig
private

Definition at line 391 of file TrackAnalyzer.h.

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

float dqm::TrackAnalyzer::lumi_factor_per_bx_
private

Definition at line 79 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

edm::EDGetTokenT<LumiScalersCollection> dqm::TrackAnalyzer::lumiscalersToken_
private

Definition at line 78 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

int dqm::TrackAnalyzer::minNumberOfPixelsPerCluster_
private

Definition at line 129 of file TrackAnalyzer.h.

Referenced by setLumi().

float dqm::TrackAnalyzer::minPixelClusterCharge_
private

Definition at line 130 of file TrackAnalyzer.h.

Referenced by setLumi().

std::string dqm::TrackAnalyzer::monName[monQuantity::END] = { "", "VsBX", "VsPIXELLUMI", "VsSCALLUMI" }
private
MonitorElement* dqm::TrackAnalyzer::NhitVsEta_HighPurity
private

Definition at line 396 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::NhitVsPhi_HighPurity
private

Definition at line 397 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::NumberOfLayersPerTrack[4] = { 0 , 0 , 0 , 0 }
private

Definition at line 330 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfLayersPerTrackVsEta
private

Definition at line 334 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLayersPerTrackVsPhi
private

Definition at line 332 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLayersPerTrackVsTheta
private

Definition at line 333 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLayersVsPhiVsEtaPerTrack[5] = { 0 , 0 , 0 , 0 , 0 }
private

Definition at line 336 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitsPerTrack
private

Definition at line 288 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitsPerTrackVsEta = 0
private

Definition at line 307 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitsPerTrackVsPhi = 0
private

Definition at line 305 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitsPerTrackVsPt = 0
private

Definition at line 308 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitsPerTrackVsTheta = 0
private

Definition at line 306 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 309 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfLostRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 310 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitsPerTrack = 0
private

Definition at line 289 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitsPerTrackVsEta = 0
private

Definition at line 314 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitsPerTrackVsPhi = 0
private

Definition at line 312 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitsPerTrackVsPt = 0
private

Definition at line 315 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitsPerTrackVsTheta = 0
private

Definition at line 313 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 316 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMIRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 317 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitsPerTrack = 0
private

Definition at line 290 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitsPerTrackVsEta = 0
private

Definition at line 321 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitsPerTrackVsPhi = 0
private

Definition at line 319 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitsPerTrackVsPt = 0
private

Definition at line 322 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitsPerTrackVsTheta = 0
private

Definition at line 320 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 323 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfMORecHitVsPtVsEtaPerTrack = 0
private

Definition at line 324 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitsPerTrack
private
MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitsPerTrack_lumiFlag
private
MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitsPerTrackVsEta = 0
private

Definition at line 295 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitsPerTrackVsPhi = 0
private

Definition at line 293 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitsPerTrackVsTheta = 0
private

Definition at line 294 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 296 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitsPerTrack
private

Definition at line 287 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitsPerTrackVsEta = 0
private

Definition at line 300 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitsPerTrackVsPhi = 0
private

Definition at line 298 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitsPerTrackVsPt = 0
private

Definition at line 301 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitsPerTrackVsTheta = 0
private

Definition at line 299 of file TrackAnalyzer.h.

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 302 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::NumberOfValidRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 303 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement * dqm::TrackAnalyzer::oriAlgo
private

Definition at line 378 of file TrackAnalyzer.h.

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

float dqm::TrackAnalyzer::pixel_lumi_
private

Definition at line 454 of file TrackAnalyzer.h.

Referenced by setLumi().

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > dqm::TrackAnalyzer::pixelClustersToken_
private

Definition at line 77 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

MonitorElement* dqm::TrackAnalyzer::Ptdist_HighPurity
private

Definition at line 398 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

int dqm::TrackAnalyzer::pvNDOF_
private

Definition at line 127 of file TrackAnalyzer.h.

Referenced by setNumberOfGoodVertices().

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

Definition at line 76 of file TrackAnalyzer.h.

Referenced by analyze(), setNumberOfGoodVertices(), and TrackAnalyzer().

std::string dqm::TrackAnalyzer::qualityString_
private

Definition at line 131 of file TrackAnalyzer.h.

Referenced by analyze().

float dqm::TrackAnalyzer::scal_lumi_
private

Definition at line 455 of file TrackAnalyzer.h.

Referenced by analyze(), and setLumi().

MonitorElement* dqm::TrackAnalyzer::sip2dToPV
private

Definition at line 405 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::sip3dToPV
private

Definition at line 404 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::sipDxyToBS
private

Definition at line 402 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::sipDxyToPV
private

Definition at line 406 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::sipDzToBS
private

Definition at line 403 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::sipDzToPV
private

Definition at line 407 of file TrackAnalyzer.h.

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

std::string dqm::TrackAnalyzer::stateName_
private

Definition at line 83 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

MonitorElement* dqm::TrackAnalyzer::stoppingSource
private

Definition at line 379 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::stoppingSourceVSeta
private

Definition at line 380 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::stoppingSourceVSphi
private

Definition at line 381 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::TESTDistanceOfClosestApproachToBS
private

Definition at line 383 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::TESTDistanceOfClosestApproachToBSVsPhi
private

Definition at line 384 of file TrackAnalyzer.h.

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

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

Definition at line 283 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

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

Definition at line 423 of file TrackAnalyzer.h.

Referenced by bookHistosForTrackerSpecific(), and fillHistosForTrackerSpecific().

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

Definition at line 392 of file TrackAnalyzer.h.

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

bool dqm::TrackAnalyzer::useBPixLayer1_
private

Definition at line 128 of file TrackAnalyzer.h.

Referenced by TrackAnalyzer().

MonitorElement* dqm::TrackAnalyzer::ValidFractionPerTrack = 0
private

Definition at line 326 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::ValidFractionVsPhiVsEtaPerTrack = 0
private

Definition at line 327 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::xPointOfClosestApproach
private

Definition at line 365 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::xPointOfClosestApproachToPV
private

Definition at line 366 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::xPointOfClosestApproachVsZ0wrt000
private

Definition at line 367 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::xPointOfClosestApproachVsZ0wrtBS
private

Definition at line 368 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::xPointOfClosestApproachVsZ0wrtPV
private

Definition at line 369 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* dqm::TrackAnalyzer::yPointOfClosestApproach
private

Definition at line 370 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::yPointOfClosestApproachToPV
private

Definition at line 371 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::yPointOfClosestApproachVsZ0wrt000
private

Definition at line 372 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::yPointOfClosestApproachVsZ0wrtBS
private

Definition at line 373 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::yPointOfClosestApproachVsZ0wrtPV
private

Definition at line 374 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* dqm::TrackAnalyzer::zPointOfClosestApproach
private

Definition at line 375 of file TrackAnalyzer.h.

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

MonitorElement* dqm::TrackAnalyzer::zPointOfClosestApproachToPV
private

Definition at line 376 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* dqm::TrackAnalyzer::zPointOfClosestApproachVsPhi
private

Definition at line 377 of file TrackAnalyzer.h.

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