CMS 3D CMS Logo

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

#include <TrackAnalyzer.h>

Classes

struct  Key
 
struct  KeyHasher
 
struct  TkParameterMEs
 
struct  TkRecHitsPerSubDetMEs
 

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
 
void doReset ()
 
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)
 
 ~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
 
MonitorElementDistanceOfClosestApproachError
 
MonitorElementDistanceOfClosestApproachErrorVsDxy
 
MonitorElementDistanceOfClosestApproachErrorVsEta
 
MonitorElementDistanceOfClosestApproachErrorVsPhi
 
MonitorElementDistanceOfClosestApproachErrorVsPt
 
MonitorElementDistanceOfClosestApproachToBS
 
MonitorElementDistanceOfClosestApproachToBSdz
 
MonitorElementDistanceOfClosestApproachToBSVsEta
 
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 31 of file TrackAnalyzer.h.

Member Typedef Documentation

Definition at line 33 of file TrackAnalyzer.h.

Definition at line 34 of file TrackAnalyzer.h.

Member Enumeration Documentation

Enumerator
VsPU 
VsBX 
VsPIXELLUMI 
VsSCALLUMI 
END 

Definition at line 493 of file TrackAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 40 of file TrackAnalyzer.cc.

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

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

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

79  : TrackAnalyzer(iConfig) {
80  edm::InputTag bsSrc = iConfig.getParameter<edm::InputTag>("beamSpot");
81  edm::InputTag primaryVertexInputTag = iConfig.getParameter<edm::InputTag>("primaryVertex");
82  edm::InputTag pixelClusterInputTag = iConfig.getParameter<edm::InputTag>("pixelCluster4lumi");
83  edm::InputTag scalInputTag = iConfig.getParameter<edm::InputTag>("scal");
85  pvToken_ = iC.consumes<reco::VertexCollection>(primaryVertexInputTag);
88 
89  if (useBPixLayer1_)
91  else
93 }
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
static double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:36
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:77
static double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:40
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
Definition: TrackAnalyzer.h:79
std::vector< LumiScalers > LumiScalersCollection
Definition: LumiScalers.h:144
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
Definition: TrackAnalyzer.h:80
TrackAnalyzer(const edm::ParameterSet &)
float lumi_factor_per_bx_
Definition: TrackAnalyzer.h:81
static double FREQ_ORBIT
Definition: GetLumi.h:26
static double SECONDS_PER_LS
Definition: GetLumi.h:27
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:78
TrackAnalyzer::~TrackAnalyzer ( )

Definition at line 178 of file TrackAnalyzer.cc.

178 {}

Member Function Documentation

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

Definition at line 1152 of file TrackAnalyzer.cc.

References funct::abs(), AbsDistanceOfClosestApproachToBS, reco::TrackBase::algo(), algorithm, beamSpotToken_, TransientTrackBuilder::build(), bx_, hltPixelTracks_cff::chi2, reco::TrackBase::chi2(), Chi2oNDF, Chi2oNDF_lumiFlag, Chi2Prob, reco::TrackBase::d0(), reco::TrackBase::d0Error(), DeltaZToPV, DeltaZToPVZoom, DeadROC_duringRun::dir, DistanceOfClosestApproach, DistanceOfClosestApproachError, DistanceOfClosestApproachErrorVsDxy, DistanceOfClosestApproachErrorVsEta, DistanceOfClosestApproachErrorVsPhi, DistanceOfClosestApproachErrorVsPt, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSdz, DistanceOfClosestApproachToBSVsEta, 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(), dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), fillHistosForEfficiencyFromHitPatter(), fillHistosForState(), fillHistosForTrackerSpecific(), edm::EventSetup::get(), edm::Event::getByToken(), dqm::impl::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, ticl::constants::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(), phi, reco::TrackBase::phi(), reco::HitPattern::pixelLayersWithMeasurement(), reco::BeamSpot::position(), reco::Vertex::position(), DiDispStaMuonMonitor_cfi::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(), TopFolder_, 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(), x, reco::Vertex::xError(), xPointOfClosestApproach, xPointOfClosestApproachToPV, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, xPointOfClosestApproachVsZ0wrtPV, y, reco::Vertex::yError(), yPointOfClosestApproach, yPointOfClosestApproachToPV, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproachVsZ0wrtPV, reco::Vertex::zError(), zPointOfClosestApproach, zPointOfClosestApproachToPV, and zPointOfClosestApproachVsPhi.

Referenced by TrackingMonitor::analyze().

1152  {
1153  auto pt = track.pt();
1154  auto phi = track.phi();
1155  // double eta = track.eta();
1156  auto phiIn = track.innerPosition().phi();
1157  auto etaIn = track.innerPosition().eta();
1158  auto phiOut = track.outerPosition().phi();
1159  auto etaOut = track.outerPosition().eta();
1160 
1162  int nValidRecHits = track.numberOfValidHits();
1163  int nLostRecHits = track.numberOfLostHits();
1166 
1167  auto chi2 = track.chi2();
1168  auto chi2prob = TMath::Prob(track.chi2(), (int)track.ndof());
1169  auto chi2oNDF = track.normalizedChi2();
1170 
1171  std::string Folder = TopFolder_.substr(0, 2);
1172 
1174  // rec hits
1175  NumberOfRecHitsPerTrack->Fill(nRecHits);
1176  NumberOfValidRecHitsPerTrack->Fill(nValidRecHits);
1177  NumberOfLostRecHitsPerTrack->Fill(nLostRecHits);
1178  NumberOfMIRecHitsPerTrack->Fill(nLostIn);
1179  NumberOfMORecHitsPerTrack->Fill(nLostOut);
1181 
1182  // 2D plots
1184  NumberOfValidRecHitVsPhiVsEtaPerTrack->Fill(etaIn, phiIn, nValidRecHits);
1185  NumberOfLostRecHitVsPhiVsEtaPerTrack->Fill(etaIn, phiIn, nLostRecHits);
1186  NumberOfMIRecHitVsPhiVsEtaPerTrack->Fill(etaIn, phiIn, nLostIn);
1187  NumberOfMORecHitVsPhiVsEtaPerTrack->Fill(etaOut, phiOut, nLostOut);
1188  ValidFractionVsPhiVsEtaPerTrack->Fill(etaIn, phiIn, track.validFraction());
1189  }
1191  NumberOfValidRecHitVsPtVsEtaPerTrack->Fill(etaIn, pt, nValidRecHits);
1192  NumberOfLostRecHitVsPtVsEtaPerTrack->Fill(etaIn, pt, nLostRecHits);
1193  NumberOfMIRecHitVsPtVsEtaPerTrack->Fill(etaIn, pt, nLostIn);
1194  NumberOfMORecHitVsPtVsEtaPerTrack->Fill(etaOut, pt, nLostOut);
1195  }
1196  NumberOfValidRecHitsPerTrackVsPt->Fill(pt, nValidRecHits);
1197  NumberOfLostRecHitsPerTrackVsPt->Fill(pt, nLostRecHits);
1200 
1201  int nLayers[5] = {track.hitPattern().trackerLayersWithMeasurement(),
1207 
1208  // layers
1209  for (int i = 0; i < 4; ++i)
1210  NumberOfLayersPerTrack[i]->Fill(nLayers[i]);
1211 
1212  // 2D plots
1214  for (int i = 0; i < 5; ++i)
1215  NumberOfLayersVsPhiVsEtaPerTrack[i]->Fill(etaIn, phiIn, nLayers[i]);
1216  }
1217 
1219  fillHistosForEfficiencyFromHitPatter(track, "", float(good_vertices_), false);
1221  fillHistosForEfficiencyFromHitPatter(track, "VsBX", float(bx_), false);
1223  fillHistosForEfficiencyFromHitPatter(track, "VsSCALLUMI", scal_lumi_, false);
1224  // if (doEffFromHitPatternVsLUMI_ || doAllPlots_) fillHistosForEfficiencyFromHitPatter(track,"VsPIXELLUMI", pixel_lumi_ );
1226  fillHistosForEfficiencyFromHitPatter(track, "", float(good_vertices_), true);
1228  fillHistosForEfficiencyFromHitPatter(track, "VsSCALLUMI", scal_lumi_, true);
1229 
1231  // fitting
1232  Chi2->Fill(chi2);
1233  Chi2Prob->Fill(chi2prob);
1234  Chi2oNDF->Fill(chi2oNDF);
1235 
1236  // DCA
1237  // temporary patch in order to put back those MEs in Muon Workspace
1238  if (doDCAPlots_) {
1239  if (doDCAwrt000Plots_) {
1242  }
1243 
1244  // PCA
1248  }
1249 
1250  // algorithm
1251  algorithm->Fill(static_cast<double>(track.algo()));
1252  oriAlgo->Fill(static_cast<double>(track.originalAlgo()));
1253 
1254  // stopping source
1255  int max = stoppingSource->getNbinsX();
1256  double stop = track.stopReason() > max ? double(max - 1) : static_cast<double>(track.stopReason());
1257  double stopped = int(StopReason::NOT_STOPPED) == track.stopReason() ? 0. : 1.;
1258  stoppingSource->Fill(stop);
1259  stoppingSourceVSeta->Fill(track.eta(), stopped);
1260  stoppingSourceVSphi->Fill(track.phi(), stopped);
1261  }
1262 
1263  if (doLumiAnalysis_) {
1265  Chi2oNDF_lumiFlag->Fill(chi2oNDF);
1266  }
1267 
1269  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
1270  iEvent.getByToken(beamSpotToken_, recoBeamSpotHandle);
1271  const reco::BeamSpot& bs = *recoBeamSpotHandle;
1272 
1278 
1280 
1281  if (Folder == "Tr") {
1283  DistanceOfClosestApproachToBSVsEta->Fill(track.eta(), track.dxy(bs.position()));
1284  }
1285 
1287  DistanceOfClosestApproachToBSVsPhi->Fill(track.phi(), track.dxy(bs.position()));
1288  zPointOfClosestApproachVsPhi->Fill(track.phi(), track.vz());
1289  xPointOfClosestApproachVsZ0wrt000->Fill(track.dz(), track.vx());
1290  yPointOfClosestApproachVsZ0wrt000->Fill(track.dz(), track.vy());
1291  xPointOfClosestApproachVsZ0wrtBS->Fill(track.dz(bs.position()), (track.vx() - bs.position(track.vz()).x()));
1292  yPointOfClosestApproachVsZ0wrtBS->Fill(track.dz(bs.position()), (track.vy() - bs.position(track.vz()).y()));
1293  if (doTestPlots_) {
1294  TESTDistanceOfClosestApproachToBS->Fill(track.dxy(bs.position(track.vz())));
1295  TESTDistanceOfClosestApproachToBSVsPhi->Fill(track.phi(), track.dxy(bs.position(track.vz())));
1296  }
1297 
1298  if (doSIPPlots_) {
1299  sipDxyToBS->Fill(track.dxy(bs.position()) / track.dxyError());
1300  sipDzToBS->Fill(track.dz(bs.position()) / track.dzError());
1301  }
1302  }
1303 
1305  edm::Handle<reco::VertexCollection> recoPrimaryVerticesHandle;
1306  iEvent.getByToken(pvToken_, recoPrimaryVerticesHandle);
1307  if (recoPrimaryVerticesHandle.isValid() && !recoPrimaryVerticesHandle->empty()) {
1308  const reco::Vertex& pv = (*recoPrimaryVerticesHandle)[0];
1309 
1311  //HI PLOTS///////
1313 
1314  if (doHIPlots_) {
1315  double longDCAsig = 0, transDCAsig = 0;
1316  double zerr2 = track.dzError() * track.dzError() + pv.zError() * pv.zError();
1317  double xyerr2 = track.d0Error() * track.d0Error() + pv.xError() * pv.yError();
1318  if (zerr2 > 0)
1319  longDCAsig = track.dz(pv.position()) / zerr2;
1320  if (xyerr2 > 0)
1321  transDCAsig = track.dxy(pv.position()) / xyerr2;
1322  LongDCASig->Fill(longDCAsig);
1323  TransDCASig->Fill(transDCAsig);
1324 
1326  dNdEta_HighPurity->Fill(track.eta());
1327  dNdPhi_HighPurity->Fill(track.phi());
1328  dNdPt_HighPurity->Fill(track.ptError() / track.pt());
1329  NhitVsEta_HighPurity->Fill(track.eta(), track.numberOfValidHits());
1330  NhitVsPhi_HighPurity->Fill(track.phi(), track.numberOfValidHits());
1331  dNhitdPt_HighPurity->Fill(track.pt(), track.numberOfValidHits());
1332  Ptdist_HighPurity->Fill(track.pt());
1333  } //end of high quality tracks requirement
1334  }
1335 
1336  xPointOfClosestApproachToPV->Fill(track.vx() - pv.position().x());
1337  yPointOfClosestApproachToPV->Fill(track.vy() - pv.position().y());
1340  DeltaZToPV->Fill(track.dz(pv.position()));
1342  DeltaZToPVZoom->Fill(track.dz(pv.position()));
1343  DistanceOfClosestApproachToPVVsPhi->Fill(track.phi(), track.dxy(pv.position()));
1344  xPointOfClosestApproachVsZ0wrtPV->Fill(track.dz(pv.position()), (track.vx() - pv.position().x()));
1345  yPointOfClosestApproachVsZ0wrtPV->Fill(track.dz(pv.position()), (track.vy() - pv.position().y()));
1346 
1347  if (doSIPPlots_) {
1349  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder", theB);
1350  reco::TransientTrack transTrack = theB->build(track);
1351 
1352  GlobalVector dir(track.px(), track.py(), track.pz());
1353  std::pair<bool, Measurement1D> ip3d = IPTools::signedImpactParameter3D(transTrack, dir, pv);
1354  std::pair<bool, Measurement1D> ip2d = IPTools::signedTransverseImpactParameter(transTrack, dir, pv);
1355  if (ip3d.first)
1356  sip3dToPV->Fill(ip3d.second.value() / ip3d.second.error());
1357  if (ip2d.first)
1358  sip2dToPV->Fill(ip2d.second.value() / ip2d.second.error());
1359  sipDxyToPV->Fill(track.dxy(pv.position()) / track.dxyError());
1360  sipDzToPV->Fill(track.dz(pv.position()) / track.dzError());
1361  }
1362  }
1363  }
1364 
1365  if (doDCAPlots_ || doAllPlots_) {
1366  if (doDCAwrt000Plots_) {
1367  if (doThetaPlots_) {
1368  DistanceOfClosestApproachVsTheta->Fill(track.theta(), track.d0());
1369  }
1370  DistanceOfClosestApproachVsEta->Fill(track.eta(), track.d0());
1371  }
1372  }
1373 
1374  //Tracker Specific Histograms
1377  }
1378 
1380  if (stateName_ == "All") {
1381  fillHistosForState(iSetup, track, std::string("OuterSurface"));
1382  fillHistosForState(iSetup, track, std::string("InnerSurface"));
1383  fillHistosForState(iSetup, track, std::string("ImpactPoint"));
1384  } else if (stateName_ != "OuterSurface" && stateName_ != "InnerSurface" && stateName_ != "ImpactPoint" &&
1385  stateName_ != "default") {
1386  fillHistosForState(iSetup, track, std::string("default"));
1387  } else {
1388  fillHistosForState(iSetup, track, stateName_);
1389  }
1390  }
1391 
1392  if (doAllPlots_) {
1393  }
1394 }
MonitorElement * stoppingSourceVSphi
MonitorElement * DistanceOfClosestApproachToPVVsPhi
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:632
bool doTrackerSpecific_
Definition: TrackAnalyzer.h:87
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
double d0Error() const
error on d0
Definition: TrackBase.h:719
MonitorElement * dNhitdPt_HighPurity
constexpr int nLayers
Definition: Common.h:13
void fillHistosForTrackerSpecific(const reco::Track &track)
MonitorElement * DistanceOfClosestApproachError
MonitorElement * DistanceOfClosestApproachToBSdz
MonitorElement * stoppingSourceVSeta
void fillHistosForEfficiencyFromHitPatter(const reco::Track &track, const std::string suffix, const float monitoring, bool useInac)
double validFraction() const
fraction of valid hits on the track
Definition: TrackBase.h:748
MonitorElement * DeltaZToPVZoom
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:590
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * DistanceOfClosestApproachErrorVsPhi
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:572
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
double zError() const
error on z
Definition: Vertex.h:127
MonitorElement * Chi2oNDF_lumiFlag
double theta() const
polar angle
Definition: TrackBase.h:581
double dxyError() const
error on dxy
Definition: TrackBase.h:716
MonitorElement * xPointOfClosestApproachToPV
MonitorElement * sip3dToPV
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:57
MonitorElement * NumberOfLostRecHitsPerTrack
uint8_t stopReason() const
Definition: TrackBase.h:428
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[5]
reco::TransientTrack build(const reco::Track *p) const
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:92
MonitorElement * NumberOfMORecHitsPerTrackVsPt
MonitorElement * DistanceOfClosestApproachErrorVsPt
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
MonitorElement * DistanceOfClosestApproachVsPhi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:614
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:743
bool doEffFromHitPatternVsBX_
MonitorElement * sipDzToBS
MonitorElement * NumberOfLayersPerTrack[4]
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * algorithm
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:605
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:492
bool doHitPropertiesPlots_
Definition: TrackAnalyzer.h:94
MonitorElement * DistanceOfClosestApproach
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:62
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:95
bool doRecHitVsPtVsEtaPerTrack_
Definition: TrackAnalyzer.h:96
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:513
const Point & position() const
position
Definition: Vertex.h:113
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
bool doMeasurementStatePlots_
Definition: TrackAnalyzer.h:93
MonitorElement * DeltaZToPV
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * Ptdist_HighPurity
MonitorElement * DistanceOfClosestApproachToBSVsEta
int numberOfLostTrackerHits(HitCategory category) const
Definition: HitPattern.h:863
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:56
TrackAlgorithm algo() const
Definition: TrackBase.h:526
void Fill(long long x)
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * TransDCASig
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * xPointOfClosestApproachVsZ0wrt000
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:348
std::string qualityString_
MonitorElement * oriAlgo
bool doDCAwrt000Plots_
bool doEffFromHitPatternVsPU_
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMIRecHitsPerTrackVsPt
virtual int getNbinsX() const
get # of bins in X-axis
MonitorElement * xPointOfClosestApproach
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:566
MonitorElement * NumberOfMIRecHitsPerTrack
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:569
double pt() const
track transverse momentum
Definition: TrackBase.h:602
MonitorElement * dNdPt_HighPurity
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:696
std::string TopFolder_
Definition: TrackAnalyzer.h:75
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:774
MonitorElement * dNdPhi_HighPurity
def pv(vc)
Definition: MetAnalyzer.py:7
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * yPointOfClosestApproachToPV
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
MonitorElement * NumberOfLostRecHitsPerTrackVsPt
MonitorElement * sip2dToPV
MonitorElement * DistanceOfClosestApproachErrorVsDxy
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
bool isValid() const
Definition: HandleBase.h:70
int trackerLayersTotallyOffOrBad(HitCategory category=TRACK_HITS) const
Definition: HitPattern.h:993
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:611
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:596
double dzError() const
error on dz
Definition: TrackBase.h:725
MonitorElement * dNdEta_HighPurity
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:626
MonitorElement * stoppingSource
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
TrackAlgorithm originalAlgo() const
Definition: TrackBase.h:527
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
double xError() const
error on x
Definition: Vertex.h:123
MonitorElement * DistanceOfClosestApproachErrorVsEta
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:77
MonitorElement * sipDxyToPV
bool doEffFromHitPatternVsLUMI_
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfMIRecHitVsPtVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * NumberOfMORecHitVsPtVsEtaPerTrack
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:531
MonitorElement * zPointOfClosestApproachToPV
int trackerLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:532
MonitorElement * DistanceOfClosestApproachToPV
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:623
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
MonitorElement * DistanceOfClosestApproachToBSVsPhi
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:98
unsigned int bx_
MonitorElement * ValidFractionPerTrack
T get() const
Definition: EventSetup.h:73
MonitorElement * NhitVsEta_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
unsigned int good_vertices_
MonitorElement * TESTDistanceOfClosestApproachToBS
const Point & position() const
position
Definition: BeamSpot.h:59
MonitorElement * yPointOfClosestApproach
MonitorElement * Chi2Prob
Definition: Chi2.h:15
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
std::string stateName_
Definition: TrackAnalyzer.h:85
MonitorElement * AbsDistanceOfClosestApproachToBS
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:587
MonitorElement * zPointOfClosestApproach
MonitorElement * NumberOfLostRecHitVsPtVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * Chi2oNDF
double yError() const
error on y
Definition: Vertex.h:125
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:608
MonitorElement * NumberOfValidRecHitVsPtVsEtaPerTrack
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:620
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMORecHitsPerTrack
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * LongDCASig
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:78
void TrackAnalyzer::bookHistosForBeamSpot ( DQMStore::IBooker ibooker)
private

Definition at line 764 of file TrackAnalyzer.cc.

References AbsDistanceOfClosestApproachToBS, beam_dqm_sourceclient-live_cfg::AbsDxyBin, beam_dqm_sourceclient-live_cfg::AbsDxyMax, TrackingMonitor_cfi::AbsDxyMin, HLTSiStripMonitoring_cff::AlgoName, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), conf_, DeltaZToPV, DeltaZToPVZoom, DistanceOfClosestApproach, DistanceOfClosestApproachError, DistanceOfClosestApproachErrorVsDxy, DistanceOfClosestApproachErrorVsEta, DistanceOfClosestApproachErrorVsPhi, DistanceOfClosestApproachErrorVsPt, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSdz, DistanceOfClosestApproachToBSVsEta, DistanceOfClosestApproachToBSVsPhi, DistanceOfClosestApproachToPV, DistanceOfClosestApproachToPVVsPhi, DistanceOfClosestApproachToPVZoom, DistanceOfClosestApproachVsEta, DistanceOfClosestApproachVsPhi, DistanceOfClosestApproachVsTheta, doAllPlots_, doBSPlots_, doDCAPlots_, doDCAwrt000Plots_, doPVPlots_, doSIPPlots_, doTestPlots_, doThetaPlots_, beam_dqm_sourceclient-live_cfg::DxyBin, TrackingMonitor_cfi::DxyErrBin, TrackingMonitor_cfi::DxyErrMax, beam_dqm_sourceclient-live_cfg::DxyMax, beam_dqm_sourceclient-live_cfg::DxyMin, MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), histname, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, electronDQMIsoDist_cfi::PtMax, HLT_2018_cff::PtMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), sip2dToPV, sip3dToPV, sipDxyToBS, sipDxyToPV, sipDzToBS, sipDzToPV, AlCaHLTBitMon_QueryRunRegistry::string, TESTDistanceOfClosestApproachToBS, TESTDistanceOfClosestApproachToBSVsPhi, MonitorTrackSTAMuons_cfi::ThetaBin, MonitorTrackSTAMuons_cfi::ThetaMax, MonitorTrackSTAMuons_cfi::ThetaMin, TopFolder_, TrackingMonitor_cfi::VZBinProf, TrackingMonitor_cfi::VZMaxProf, TrackingMonitor_cfi::VZMinProf, MonitorTrackSTAMuons_cfi::X0Bin, MonitorTrackSTAMuons_cfi::X0Max, MonitorTrackSTAMuons_cfi::X0Min, xPointOfClosestApproachVsZ0wrt000, xPointOfClosestApproachVsZ0wrtBS, xPointOfClosestApproachVsZ0wrtPV, MonitorTrackSTAMuons_cfi::Y0Bin, MonitorTrackSTAMuons_cfi::Y0Max, MonitorTrackSTAMuons_cfi::Y0Min, yPointOfClosestApproachVsZ0wrt000, yPointOfClosestApproachVsZ0wrtBS, yPointOfClosestApproachVsZ0wrtPV, MonitorTrackSTAMuons_cfi::Z0Bin, MonitorTrackSTAMuons_cfi::Z0Max, MonitorTrackSTAMuons_cfi::Z0Min, and zPointOfClosestApproachVsPhi.

Referenced by initHisto().

764  {
765  // parameters from the configuration
766  std::string QualName = conf_->getParameter<std::string>("Quality");
768 
769  // use the AlgoName and Quality Name
770  std::string CategoryName = !QualName.empty() ? AlgoName + "_" + QualName : AlgoName;
771  std::string Folder = TopFolder_.substr(0, 2);
772 
773  // book the Beam Spot related histograms
774  // ---------------------------------------------------------------------------------//
775 
776  if (doDCAPlots_ || doBSPlots_ || doAllPlots_) {
777  int DxyErrBin = conf_->getParameter<int>("DxyErrBin");
778  double DxyErrMax = conf_->getParameter<double>("DxyErrMax");
779 
780  int DxyBin = conf_->getParameter<int>("DxyBin");
781  double DxyMin = conf_->getParameter<double>("DxyMin");
782  double DxyMax = conf_->getParameter<double>("DxyMax");
783 
784  int AbsDxyBin = conf_->getParameter<int>("AbsDxyBin");
785  double AbsDxyMin = conf_->getParameter<double>("AbsDxyMin");
786  double AbsDxyMax = conf_->getParameter<double>("AbsDxyMax");
787 
788  int PhiBin = conf_->getParameter<int>("PhiBin");
789  double PhiMin = conf_->getParameter<double>("PhiMin");
790  double PhiMax = conf_->getParameter<double>("PhiMax");
791 
792  int EtaBin = conf_->getParameter<int>("EtaBin");
793  double EtaMin = conf_->getParameter<double>("EtaMin");
794  double EtaMax = conf_->getParameter<double>("EtaMax");
795 
796  int PtBin = conf_->getParameter<int>("TrackPtBin");
797  double PtMin = conf_->getParameter<double>("TrackPtMin");
798  double PtMax = conf_->getParameter<double>("TrackPtMax");
799 
800  int X0Bin = conf_->getParameter<int>("X0Bin");
801  double X0Min = conf_->getParameter<double>("X0Min");
802  double X0Max = conf_->getParameter<double>("X0Max");
803 
804  int Y0Bin = conf_->getParameter<int>("Y0Bin");
805  double Y0Min = conf_->getParameter<double>("Y0Min");
806  double Y0Max = conf_->getParameter<double>("Y0Max");
807 
808  int Z0Bin = conf_->getParameter<int>("Z0Bin");
809  double Z0Min = conf_->getParameter<double>("Z0Min");
810  double Z0Max = conf_->getParameter<double>("Z0Max");
811 
812  int VZBinProf = conf_->getParameter<int>("VZBinProf");
813  double VZMinProf = conf_->getParameter<double>("VZMinProf");
814  double VZMaxProf = conf_->getParameter<double>("VZMaxProf");
815 
816  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
817 
818  histname = "DistanceOfClosestApproachError_";
820  ibooker.book1D(histname + CategoryName, histname + CategoryName, DxyErrBin, 0., DxyErrMax);
821  DistanceOfClosestApproachError->setAxisTitle("Track d_{xy} error (cm)", 1);
822  DistanceOfClosestApproachError->setAxisTitle("Number of Tracks", 2);
823 
824  histname = "DistanceOfClosestApproachErrorVsPt_";
826  ibooker.bookProfile(histname + CategoryName, histname + CategoryName, PtBin, PtMin, PtMax, 0., DxyErrMax);
827  DistanceOfClosestApproachErrorVsPt->setAxisTitle("Track p_{T} (GeV)", 1);
828  DistanceOfClosestApproachErrorVsPt->setAxisTitle("Track d_{xy} error (cm)", 2);
829 
830  histname = "DistanceOfClosestApproachErrorVsEta_";
832  ibooker.bookProfile(histname + CategoryName, histname + CategoryName, EtaBin, EtaMin, EtaMax, 0., DxyErrMax);
834  DistanceOfClosestApproachErrorVsEta->setAxisTitle("Track d_{xy} error (cm)", 2);
835 
836  histname = "DistanceOfClosestApproachErrorVsPhi_";
838  ibooker.bookProfile(histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, 0., DxyErrMax);
840  DistanceOfClosestApproachErrorVsPhi->setAxisTitle("Track d_{xy} error (cm)", 2);
841 
842  histname = "DistanceOfClosestApproachErrorVsDxy_";
844  ibooker.bookProfile(histname + CategoryName, histname + CategoryName, DxyBin, DxyMin, DxyMax, 0., DxyErrMax);
846  DistanceOfClosestApproachErrorVsDxy->setAxisTitle("Track d_{xy} error (cm)", 2);
847 
848  histname = "DistanceOfClosestApproachToBS_";
850  ibooker.book1D(histname + CategoryName, histname + CategoryName, DxyBin, DxyMin, DxyMax);
851  DistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)", 1);
852  DistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks", 2);
853 
854  if (Folder == "Tr") {
855  histname = "DistanceOfClosestApproachToBSdz_";
857  ibooker.book1D(histname + CategoryName, histname + CategoryName, 100, -1.1, 1.1);
858  DistanceOfClosestApproachToBSdz->setAxisTitle("Track d_{z} wrt beam spot (cm)", 1);
859  DistanceOfClosestApproachToBSdz->setAxisTitle("Number of Tracks", 2);
860 
861  histname = "DistanceOfClosestApproachToBSVsEta_";
862  DistanceOfClosestApproachToBSVsEta = ibooker.bookProfile(
863  histname + CategoryName, histname + CategoryName, EtaBin, EtaMin, EtaMax, DxyBin, DxyMin, DxyMax, "");
865  DistanceOfClosestApproachToBSVsEta->setAxisTitle("Track d_{xy} wrt beam spot (cm)", 2);
866  }
867 
868  histname = "AbsDistanceOfClosestApproachToBS_";
870  ibooker.book1D(histname + CategoryName, histname + CategoryName, AbsDxyBin, AbsDxyMin, AbsDxyMax);
871  AbsDistanceOfClosestApproachToBS->setAxisTitle("Track |d_{xy}| wrt beam spot (cm)", 1);
872  AbsDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks", 2);
873 
874  histname = "DistanceOfClosestApproachToBSVsPhi_";
875  DistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(
876  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax, "");
878  DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)", 2);
879 
880  histname = "xPointOfClosestApproachVsZ0wrt000_";
881  xPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(
882  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max, "");
884  xPointOfClosestApproachVsZ0wrt000->setAxisTitle("x component of Track PCA to beam line (cm)", 2);
885 
886  histname = "yPointOfClosestApproachVsZ0wrt000_";
887  yPointOfClosestApproachVsZ0wrt000 = ibooker.bookProfile(
888  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max, "");
890  yPointOfClosestApproachVsZ0wrt000->setAxisTitle("y component of Track PCA to beam line (cm)", 2);
891 
892  histname = "xPointOfClosestApproachVsZ0wrtBS_";
893  xPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(
894  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max, "");
895  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)", 1);
896  xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("x component of Track PCA to BS (cm)", 2);
897 
898  histname = "yPointOfClosestApproachVsZ0wrtBS_";
899  yPointOfClosestApproachVsZ0wrtBS = ibooker.bookProfile(
900  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max, "");
901  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)", 1);
902  yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("y component of Track PCA to BS (cm)", 2);
903 
904  histname = "zPointOfClosestApproachVsPhi_";
905  zPointOfClosestApproachVsPhi = ibooker.bookProfile(
906  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, VZBinProf, VZMinProf, VZMaxProf, "");
907  zPointOfClosestApproachVsPhi->setAxisTitle("Track #phi", 1);
908  zPointOfClosestApproachVsPhi->setAxisTitle("z component of Track PCA to beam line (cm)", 2);
909  }
910 
911  if (doDCAPlots_ || doPVPlots_ || doAllPlots_) {
912  int DxyBin = conf_->getParameter<int>("DxyBin");
913  double DxyMin = conf_->getParameter<double>("DxyMin");
914  double DxyMax = conf_->getParameter<double>("DxyMax");
915 
916  int PhiBin = conf_->getParameter<int>("PhiBin");
917  double PhiMin = conf_->getParameter<double>("PhiMin");
918  double PhiMax = conf_->getParameter<double>("PhiMax");
919 
920  int X0Bin = conf_->getParameter<int>("X0Bin");
921  double X0Min = conf_->getParameter<double>("X0Min");
922  double X0Max = conf_->getParameter<double>("X0Max");
923 
924  int Y0Bin = conf_->getParameter<int>("Y0Bin");
925  double Y0Min = conf_->getParameter<double>("Y0Min");
926  double Y0Max = conf_->getParameter<double>("Y0Max");
927 
928  int Z0Bin = conf_->getParameter<int>("Z0Bin");
929  double Z0Min = conf_->getParameter<double>("Z0Min");
930  double Z0Max = conf_->getParameter<double>("Z0Max");
931 
932  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
933 
934  histname = "DistanceOfClosestApproachToPV_";
936  ibooker.book1D(histname + CategoryName, histname + CategoryName, DxyBin, DxyMin, DxyMax);
937  DistanceOfClosestApproachToPV->setAxisTitle("Track d_{xy} w.r.t. PV (cm)", 1);
938  DistanceOfClosestApproachToPV->setAxisTitle("Number of Tracks", 2);
939 
940  histname = "DistanceOfClosestApproachToPVZoom_";
942  ibooker.book1D(histname + CategoryName, histname + CategoryName, 100, -0.08, 0.08);
943  DistanceOfClosestApproachToPVZoom->setAxisTitle("Track d_{xy} w.r.t. PV (cm)", 1);
944  DistanceOfClosestApproachToPVZoom->setAxisTitle("Number of Tracks", 2);
945 
946  histname = "DeltaZToPV_";
947  DeltaZToPV = ibooker.book1D(histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max);
948  DeltaZToPV->setAxisTitle("Track d_{z} w.r.t. PV (cm)", 1);
949  DeltaZToPV->setAxisTitle("Number of Tracks", 2);
950 
951  histname = "DeltaZToPVZoom_";
952  DeltaZToPVZoom = ibooker.book1D(histname + CategoryName, histname + CategoryName, 100, -0.15, 0.15);
953  DeltaZToPVZoom->setAxisTitle("Track d_{z} w.r.t. PV (cm)", 1);
954  DeltaZToPVZoom->setAxisTitle("Number of Tracks", 2);
955 
956  histname = "DistanceOfClosestApproachToPVVsPhi_";
957  DistanceOfClosestApproachToPVVsPhi = ibooker.bookProfile(
958  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax, "");
960  DistanceOfClosestApproachToPVVsPhi->setAxisTitle("Track d_{xy} w.r.t. PV (cm)", 2);
961 
962  histname = "xPointOfClosestApproachVsZ0wrtPV_";
963  xPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(
964  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max, "");
965  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. PV (cm)", 1);
966  xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("x component of Track PCA to PV (cm)", 2);
967 
968  histname = "yPointOfClosestApproachVsZ0wrtPV_";
969  yPointOfClosestApproachVsZ0wrtPV = ibooker.bookProfile(
970  histname + CategoryName, histname + CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max, "");
971  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. PV (cm)", 1);
972  yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("y component of Track PCA to PV (cm)", 2);
973  }
974 
975  if (doBSPlots_ || doAllPlots_) {
976  if (doTestPlots_) {
977  int DxyBin = conf_->getParameter<int>("DxyBin");
978  double DxyMin = conf_->getParameter<double>("DxyMin");
979  double DxyMax = conf_->getParameter<double>("DxyMax");
980 
981  int PhiBin = conf_->getParameter<int>("PhiBin");
982  double PhiMin = conf_->getParameter<double>("PhiMin");
983  double PhiMax = conf_->getParameter<double>("PhiMax");
984 
985  histname = "TESTDistanceOfClosestApproachToBS_";
987  ibooker.book1D(histname + CategoryName, histname + CategoryName, DxyBin, DxyMin, DxyMax);
988  TESTDistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)", 1);
989  TESTDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks", 2);
990 
991  histname = "TESTDistanceOfClosestApproachToBSVsPhi_";
992  TESTDistanceOfClosestApproachToBSVsPhi = ibooker.bookProfile(
993  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax, "");
995  TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)", 2);
996  }
997  }
998 
999  // book the Profile plots for DCA related histograms
1000  // ---------------------------------------------------------------------------------//
1001  if (doDCAPlots_ || doAllPlots_) {
1002  if (doDCAwrt000Plots_) {
1003  int EtaBin = conf_->getParameter<int>("EtaBin");
1004  double EtaMin = conf_->getParameter<double>("EtaMin");
1005  double EtaMax = conf_->getParameter<double>("EtaMax");
1006 
1007  int PhiBin = conf_->getParameter<int>("PhiBin");
1008  double PhiMin = conf_->getParameter<double>("PhiMin");
1009  double PhiMax = conf_->getParameter<double>("PhiMax");
1010 
1011  int DxyBin = conf_->getParameter<int>("DxyBin");
1012  double DxyMin = conf_->getParameter<double>("DxyMin");
1013  double DxyMax = conf_->getParameter<double>("DxyMax");
1014 
1015  if (doThetaPlots_) {
1016  int ThetaBin = conf_->getParameter<int>("ThetaBin");
1017  double ThetaMin = conf_->getParameter<double>("ThetaMin");
1018  double ThetaMax = conf_->getParameter<double>("ThetaMax");
1019 
1020  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
1021  histname = "DistanceOfClosestApproachVsTheta_";
1022  DistanceOfClosestApproachVsTheta = ibooker.bookProfile(
1023  histname + CategoryName, histname + CategoryName, ThetaBin, ThetaMin, ThetaMax, DxyMin, DxyMax, "");
1024  DistanceOfClosestApproachVsTheta->setAxisTitle("Track #theta", 1);
1025  DistanceOfClosestApproachVsTheta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)", 2);
1026  }
1027 
1028  histname = "DistanceOfClosestApproachVsEta_";
1029  DistanceOfClosestApproachVsEta = ibooker.bookProfile(
1030  histname + CategoryName, histname + CategoryName, EtaBin, EtaMin, EtaMax, DxyMin, DxyMax, "");
1031  DistanceOfClosestApproachVsEta->setAxisTitle("Track #eta", 1);
1032  DistanceOfClosestApproachVsEta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)", 2);
1033  // temporary patch in order to put back those MEs in Muon Workspace
1034 
1035  histname = "DistanceOfClosestApproach_";
1037  ibooker.book1D(histname + CategoryName, histname + CategoryName, DxyBin, DxyMin, DxyMax);
1038  DistanceOfClosestApproach->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)", 1);
1039  DistanceOfClosestApproach->setAxisTitle("Number of Tracks", 2);
1040 
1041  histname = "DistanceOfClosestApproachVsPhi_";
1042  DistanceOfClosestApproachVsPhi = ibooker.bookProfile(
1043  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, DxyMin, DxyMax, "");
1044  DistanceOfClosestApproachVsPhi->setAxisTitle("Track #phi", 1);
1045  DistanceOfClosestApproachVsPhi->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)", 2);
1046  }
1047  }
1048 
1049  if (doSIPPlots_ || doAllPlots_) {
1050  const double sipBins = 200;
1051  const double sipMin = -20;
1052  const double sipMax = 20;
1053 
1054  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
1055 
1056  // SIP wrt. beamspot
1057  histname = "SIPDxyToBS_";
1058  sipDxyToBS = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1059  sipDxyToBS->setAxisTitle("Track dxy significance wrt beam spot", 1);
1060  sipDxyToBS->setAxisTitle("Number of Tracks", 2);
1061 
1062  histname = "SIPDzToBS_";
1063  sipDzToBS = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1064  sipDzToBS->setAxisTitle("Track dz significance wrt beam spot", 1);
1065  sipDzToBS->setAxisTitle("Number of Tracks", 2);
1066 
1067  // SIP wrt. vertex
1068  histname = "SIP3DToPV_";
1069  sip3dToPV = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1070  sip3dToPV->setAxisTitle("3D IP significance wrt primary vertex", 1);
1071  sip3dToPV->setAxisTitle("Number of Tracks", 2);
1072 
1073  histname = "SIP2DToPV_";
1074  sip2dToPV = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1075  sip2dToPV->setAxisTitle("2D IP significance wrt primary vertex", 1);
1076  sip2dToPV->setAxisTitle("Number of Tracks", 2);
1077 
1078  histname = "SIPDxyToPV_";
1079  sipDxyToPV = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1080  sipDxyToPV->setAxisTitle("Track dxy significance wrt primary vertex", 1);
1081  sipDxyToPV->setAxisTitle("Number of Tracks", 2);
1082 
1083  histname = "SIPDzToPV_";
1084  sipDzToPV = ibooker.book1D(histname + CategoryName, histname + CategoryName, sipBins, sipMin, sipMax);
1085  sipDzToPV->setAxisTitle("Track dz significance wrt primary vertex", 1);
1086  sipDzToPV->setAxisTitle("Number of Tracks", 2);
1087  }
1088 }
T getParameter(std::string const &) const
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * DistanceOfClosestApproachError
MonitorElement * DistanceOfClosestApproachToBSdz
MonitorElement * DeltaZToPVZoom
MonitorElement * DistanceOfClosestApproachErrorVsPhi
MonitorElement * sip3dToPV
DxyErrBin
it might need to be adjust if CMS asks to have lumi levelling at lower values
MonitorElement * DistanceOfClosestApproachErrorVsPt
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * sipDzToBS
MonitorElement * DistanceOfClosestApproach
MonitorElement * DeltaZToPV
MonitorElement * DistanceOfClosestApproachToBSVsEta
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrt000
bool doDCAwrt000Plots_
std::string TopFolder_
Definition: TrackAnalyzer.h:75
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * sip2dToPV
MonitorElement * DistanceOfClosestApproachErrorVsDxy
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:83
MonitorElement * DistanceOfClosestApproachErrorVsEta
MonitorElement * sipDxyToPV
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * DistanceOfClosestApproachToBS
std::string histname
MonitorElement * DistanceOfClosestApproachToPVZoom
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void TrackAnalyzer::bookHistosForEfficiencyFromHitPatter ( DQMStore::IBooker ibooker,
const edm::EventSetup iSetup,
const std::string  suffix,
bool  useInac 
)
private

Definition at line 222 of file TrackAnalyzer.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), eostools::cat(), conf_, constexpr, dqmMemoryStats::float, edm::EventSetup::get(), edm::ParameterSet::getParameter(), hits_total_, hits_valid_, mps_fire::i, createfilelist::int, GetLumi::lastBunchCrossing, LogDebug, TrackingMonitor_cfi::LUMIBin, TrackingMonitor_cfi::LUMIMax, TrackingMonitor_cfi::LUMIMin, SiStripPI::max, min(), LaserDQM_cfi::mon, monName, Skims_PA_cff::name, NBINS, LaserClient_cfi::nbins, TrackerGeometry::numberOfLayers(), MonitorTrackInnerTrackMuons_cff::PVBin, MonitorTrackInnerTrackMuons_cff::PVMax, MonitorTrackInnerTrackMuons_cff::PVMin, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, overlapproblemtsosanalyzer_cfi::title, and TopFolder_.

Referenced by initHisto().

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

Definition at line 302 of file TrackAnalyzer.cc.

References HLTSiStripMonitoring_cff::AlgoName, reco::TrackBase::algoNames, algorithm, reco::TrackBase::algoSize, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile2D(), MonitorTrackSTAMuons_cfi::Chi2Bin, MonitorTrackSTAMuons_cfi::Chi2Max, MonitorTrackSTAMuons_cfi::Chi2Min, beam_dqm_sourceclient-live_cfg::Chi2NDFBin, beam_dqm_sourceclient-live_cfg::Chi2NDFMax, beam_dqm_sourceclient-live_cfg::Chi2NDFMin, Chi2oNDF, Chi2Prob, MonitorTrackSTAMuons_cfi::Chi2ProbBin, MonitorTrackSTAMuons_cfi::Chi2ProbMax, MonitorTrackSTAMuons_cfi::Chi2ProbMin, conf_, dNdEta_HighPurity, dNdPhi_HighPurity, dNdPt_HighPurity, dNhitdPt_HighPurity, doAllPlots_, doDCAPlots_, doGeneralPropertiesPlots_, doHIPlots_, doHitPropertiesPlots_, doLayersVsPhiVsEtaPerTrack_, doPVPlots_, doRecHitVsPhiVsEtaPerTrack_, doRecHitVsPtVsEtaPerTrack_, doSIPPlots_, MonitorTrackInnerTrackMuons_cff::Eta2DBin, MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), histname, mps_fire::i, TrackingMonitor_cfi::LongDCABins, TrackingMonitor_cfi::LongDCAMax, TrackingMonitor_cfi::LongDCAMin, 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, MonitorTrackInnerTrackMuons_cff::Phi2DBin, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, Ptdist_HighPurity, electronDQMIsoDist_cfi::PtMax, HLT_2018_cff::PtMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), stoppingSource, stoppingSourceVSeta, stoppingSourceVSphi, StopReasonName::StopReasonName, AlCaHLTBitMon_QueryRunRegistry::string, TopFolder_, TrackingMonitor_cfi::TransDCABins, TrackingMonitor_cfi::TransDCAMax, TrackingMonitor_cfi::TransDCAMin, TransDCASig, ValidFractionPerTrack, ValidFractionVsPhiVsEtaPerTrack, MonitorTrackSTAMuons_cfi::VXBin, MonitorTrackSTAMuons_cfi::VXMax, MonitorTrackSTAMuons_cfi::VXMin, MonitorTrackSTAMuons_cfi::VYBin, MonitorTrackSTAMuons_cfi::VYMax, MonitorTrackSTAMuons_cfi::VYMin, beam_dqm_sourceclient-live_cfg::VZBin, beam_dqm_sourceclient-live_cfg::VZMax, beam_dqm_sourceclient-live_cfg::VZMin, xPointOfClosestApproach, xPointOfClosestApproachToPV, yPointOfClosestApproach, yPointOfClosestApproachToPV, zPointOfClosestApproach, and zPointOfClosestApproachToPV.

Referenced by initHisto().

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

Definition at line 727 of file TrackAnalyzer.cc.

References HLTSiStripMonitoring_cff::AlgoName, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), beam_dqm_sourceclient-live_cfg::Chi2NDFBin, beam_dqm_sourceclient-live_cfg::Chi2NDFMax, beam_dqm_sourceclient-live_cfg::Chi2NDFMin, Chi2oNDF_lumiFlag, conf_, doLumiAnalysis_, edm::ParameterSet::getParameter(), histname, NumberOfRecHitsPerTrack_lumiFlag, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and TopFolder_.

Referenced by initHisto().

727  {
728  // parameters from the configuration
729  std::string QualName = conf_->getParameter<std::string>("Quality");
731 
732  // use the AlgoName and Quality Name
733  std::string CategoryName = !QualName.empty() ? AlgoName + "_" + QualName : AlgoName;
734 
735  // book LS analysis related histograms
736  // -----------------------------------
737  if (doLumiAnalysis_) {
738  // get binning from the configuration
739  int TKHitBin = conf_->getParameter<int>("RecHitBin");
740  double TKHitMin = conf_->getParameter<double>("RecHitMin");
741  double TKHitMax = conf_->getParameter<double>("RecHitMax");
742 
743  int Chi2NDFBin = conf_->getParameter<int>("Chi2NDFBin");
744  double Chi2NDFMin = conf_->getParameter<double>("Chi2NDFMin");
745  double Chi2NDFMax = conf_->getParameter<double>("Chi2NDFMax");
746 
747  // add by Mia in order to deal w/ LS transitions
748  ibooker.setCurrentFolder(TopFolder_ + "/LSanalysis");
749 
750  histname = "NumberOfRecHitsPerTrack_lumiFlag_";
752  ibooker.book1D(histname + CategoryName, histname + CategoryName, TKHitBin, TKHitMin, TKHitMax);
753  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of all RecHits of each Track");
754  NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of Tracks", 2);
755 
756  histname = "Chi2oNDF_lumiFlag_";
758  ibooker.book1D(histname + CategoryName, histname + CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
759  Chi2oNDF_lumiFlag->setAxisTitle("Track #chi^{2}/ndf", 1);
760  Chi2oNDF_lumiFlag->setAxisTitle("Number of Tracks", 2);
761  }
762 }
T getParameter(std::string const &) const
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
std::string TopFolder_
Definition: TrackAnalyzer.h:75
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:83
std::string histname
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void TrackAnalyzer::bookHistosForState ( std::string  sname,
DQMStore::IBooker ibooker 
)
private

Definition at line 1452 of file TrackAnalyzer.cc.

References HLTSiStripMonitoring_cff::AlgoName, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), beam_dqm_sourceclient-live_cfg::Chi2NDFMax, beam_dqm_sourceclient-live_cfg::Chi2NDFMin, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsEta, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsNHits, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPhi, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPt, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsTheta, MonitorTrackSTAMuons_cfi::Chi2ProbMax, MonitorTrackSTAMuons_cfi::Chi2ProbMin, TrackAnalyzer::TkParameterMEs::Chi2ProbVsEta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsPhi, conf_, doAllPlots_, doThetaPlots_, doTrackPxPyPlots_, MonitorTrackInnerTrackMuons_cff::Eta2DBin, MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackSTAMuons_cfi::etaErrBin, MonitorTrackInnerTrackMuons_cff::etaErrMax, MonitorTrackSTAMuons_cfi::etaErrMin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), histname, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPt, MonitorTrackSTAMuons_cfi::pErrBin, MonitorTrackSTAMuons_cfi::pErrMax, MonitorTrackSTAMuons_cfi::pErrMin, MonitorTrackInnerTrackMuons_cff::Phi2DBin, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::phiErrBin, MonitorTrackInnerTrackMuons_cff::phiErrMax, MonitorTrackSTAMuons_cfi::phiErrMin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, MonitorTrackSTAMuons_cfi::ptErrBin, MonitorTrackSTAMuons_cfi::ptErrMax, MonitorTrackSTAMuons_cfi::ptErrMin, MonitorTrackSTAMuons_cfi::pxErrBin, MonitorTrackSTAMuons_cfi::pxErrMax, MonitorTrackSTAMuons_cfi::pxErrMin, MonitorTrackSTAMuons_cfi::pyErrBin, MonitorTrackSTAMuons_cfi::pyErrMax, MonitorTrackSTAMuons_cfi::pyErrMin, MonitorTrackSTAMuons_cfi::pzErrBin, MonitorTrackSTAMuons_cfi::pzErrMax, MonitorTrackSTAMuons_cfi::pzErrMin, TrackAnalyzer::TkParameterMEs::Quality, reco::TrackBase::qualityNames, TrackAnalyzer::TkParameterMEs::Ratio_byFolding, TrackAnalyzer::TkParameterMEs::Ratio_byFolding2, MonitorTrackSTAMuons_cfi::RecHitBin, MonitorTrackSTAMuons_cfi::RecHitMax, MonitorTrackSTAMuons_cfi::RecHitMin, MonitorTrackSTAMuons_cfi::RecLayBin, MonitorTrackSTAMuons_cfi::RecLayMax, MonitorTrackSTAMuons_cfi::RecLayMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, MonitorTrackSTAMuons_cfi::ThetaBin, MonitorTrackSTAMuons_cfi::ThetaMax, MonitorTrackSTAMuons_cfi::ThetaMin, TrackAnalyzer::TkParameterMEs::TkEtaPhi_Ratio_byFoldingmap, TrackAnalyzer::TkParameterMEs::TkEtaPhi_Ratio_byFoldingmap_op, TrackAnalyzer::TkParameterMEs::TkEtaPhi_RelativeDifference_byFoldingmap, TrackAnalyzer::TkParameterMEs::TkEtaPhi_RelativeDifference_byFoldingmap_op, TkParameterMEMap, TopFolder_, TrackAnalyzer::TkParameterMEs::TrackEta, TrackAnalyzer::TkParameterMEs::TrackEtaErr, TrackAnalyzer::TkParameterMEs::TrackEtaHighPurity, TrackAnalyzer::TkParameterMEs::TrackEtaLoose, TrackAnalyzer::TkParameterMEs::TrackEtaPhi, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInner, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInverted, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInvertedoutofphase, TrackAnalyzer::TkParameterMEs::TrackEtaPhiOuter, TrackAnalyzer::TkParameterMEs::TrackEtaTight, TrackAnalyzer::TkParameterMEs::TrackP, MonitorTrackSTAMuons_cfi::TrackPBin, TrackAnalyzer::TkParameterMEs::TrackPErr, TrackAnalyzer::TkParameterMEs::TrackPhi, TrackAnalyzer::TkParameterMEs::TrackPhiErr, MonitorTrackSTAMuons_cfi::TrackPMax, MonitorTrackSTAMuons_cfi::TrackPMin, TrackAnalyzer::TkParameterMEs::TrackPt, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_0_neg16, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_16_0, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_32_16, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_neg16_neg32, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_0_neg16, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_16_0, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_32_16, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_neg16_neg32, beam_dqm_sourceclient-live_cfg::TrackPtBin, TrackAnalyzer::TkParameterMEs::TrackPtErr, TrackAnalyzer::TkParameterMEs::TrackPtErrVsEta, TrackAnalyzer::TkParameterMEs::TrackPtHighPurity, TrackAnalyzer::TkParameterMEs::TrackPtLoose, beam_dqm_sourceclient-live_cfg::TrackPtMax, beam_dqm_sourceclient-live_cfg::TrackPtMin, TrackAnalyzer::TkParameterMEs::TrackPtTight, TrackAnalyzer::TkParameterMEs::TrackPx, MonitorTrackSTAMuons_cfi::TrackPxBin, TrackAnalyzer::TkParameterMEs::TrackPxErr, MonitorTrackSTAMuons_cfi::TrackPxMax, MonitorTrackSTAMuons_cfi::TrackPxMin, TrackAnalyzer::TkParameterMEs::TrackPy, MonitorTrackSTAMuons_cfi::TrackPyBin, TrackAnalyzer::TkParameterMEs::TrackPyErr, MonitorTrackSTAMuons_cfi::TrackPyMax, MonitorTrackSTAMuons_cfi::TrackPyMin, TrackAnalyzer::TkParameterMEs::TrackPz, MonitorTrackSTAMuons_cfi::TrackPzBin, TrackAnalyzer::TkParameterMEs::TrackPzErr, MonitorTrackSTAMuons_cfi::TrackPzMax, MonitorTrackSTAMuons_cfi::TrackPzMin, TrackAnalyzer::TkParameterMEs::TrackQ, MonitorTrackSTAMuons_cfi::TrackQBin, MonitorTrackSTAMuons_cfi::TrackQMax, MonitorTrackSTAMuons_cfi::TrackQMin, TrackAnalyzer::TkParameterMEs::TrackQoverP, and TrackAnalyzer::TkParameterMEs::TrackTheta.

Referenced by initHisto().

1452  {
1453  // parameters from the configuration
1454  std::string QualName = conf_->getParameter<std::string>("Quality");
1456  std::string Folder = TopFolder_.substr(0, 2);
1457 
1458  // use the AlgoName and Quality Name
1459  std::string CategoryName = !QualName.empty() ? AlgoName + "_" + QualName : AlgoName;
1460 
1461  // get binning from the configuration
1462  double Chi2NDFMin = conf_->getParameter<double>("Chi2NDFMin");
1463  double Chi2NDFMax = conf_->getParameter<double>("Chi2NDFMax");
1464 
1465  int RecHitBin = conf_->getParameter<int>("RecHitBin");
1466  double RecHitMin = conf_->getParameter<double>("RecHitMin");
1467  double RecHitMax = conf_->getParameter<double>("RecHitMax");
1468 
1469  int RecLayBin = conf_->getParameter<int>("RecHitBin");
1470  double RecLayMin = conf_->getParameter<double>("RecHitMin");
1471  double RecLayMax = conf_->getParameter<double>("RecHitMax");
1472 
1473  int PhiBin = conf_->getParameter<int>("PhiBin");
1474  double PhiMin = conf_->getParameter<double>("PhiMin");
1475  double PhiMax = conf_->getParameter<double>("PhiMax");
1476 
1477  int EtaBin = conf_->getParameter<int>("EtaBin");
1478  double EtaMin = conf_->getParameter<double>("EtaMin");
1479  double EtaMax = conf_->getParameter<double>("EtaMax");
1480 
1481  int Phi2DBin = conf_->getParameter<int>("Phi2DBin");
1482  int Eta2DBin = conf_->getParameter<int>("Eta2DBin");
1483 
1484  int ThetaBin = conf_->getParameter<int>("ThetaBin");
1485  double ThetaMin = conf_->getParameter<double>("ThetaMin");
1486  double ThetaMax = conf_->getParameter<double>("ThetaMax");
1487 
1488  int TrackQBin = conf_->getParameter<int>("TrackQBin");
1489  double TrackQMin = conf_->getParameter<double>("TrackQMin");
1490  double TrackQMax = conf_->getParameter<double>("TrackQMax");
1491 
1492  int TrackPtBin = conf_->getParameter<int>("TrackPtBin");
1493  double TrackPtMin = conf_->getParameter<double>("TrackPtMin");
1494  double TrackPtMax = conf_->getParameter<double>("TrackPtMax");
1495 
1496  int TrackPBin = conf_->getParameter<int>("TrackPBin");
1497  double TrackPMin = conf_->getParameter<double>("TrackPMin");
1498  double TrackPMax = conf_->getParameter<double>("TrackPMax");
1499 
1500  int TrackPxBin = conf_->getParameter<int>("TrackPxBin");
1501  double TrackPxMin = conf_->getParameter<double>("TrackPxMin");
1502  double TrackPxMax = conf_->getParameter<double>("TrackPxMax");
1503 
1504  int TrackPyBin = conf_->getParameter<int>("TrackPyBin");
1505  double TrackPyMin = conf_->getParameter<double>("TrackPyMin");
1506  double TrackPyMax = conf_->getParameter<double>("TrackPyMax");
1507 
1508  int TrackPzBin = conf_->getParameter<int>("TrackPzBin");
1509  double TrackPzMin = conf_->getParameter<double>("TrackPzMin");
1510  double TrackPzMax = conf_->getParameter<double>("TrackPzMax");
1511 
1512  int ptErrBin = conf_->getParameter<int>("ptErrBin");
1513  double ptErrMin = conf_->getParameter<double>("ptErrMin");
1514  double ptErrMax = conf_->getParameter<double>("ptErrMax");
1515 
1516  int pxErrBin = conf_->getParameter<int>("pxErrBin");
1517  double pxErrMin = conf_->getParameter<double>("pxErrMin");
1518  double pxErrMax = conf_->getParameter<double>("pxErrMax");
1519 
1520  int pyErrBin = conf_->getParameter<int>("pyErrBin");
1521  double pyErrMin = conf_->getParameter<double>("pyErrMin");
1522  double pyErrMax = conf_->getParameter<double>("pyErrMax");
1523 
1524  int pzErrBin = conf_->getParameter<int>("pzErrBin");
1525  double pzErrMin = conf_->getParameter<double>("pzErrMin");
1526  double pzErrMax = conf_->getParameter<double>("pzErrMax");
1527 
1528  int pErrBin = conf_->getParameter<int>("pErrBin");
1529  double pErrMin = conf_->getParameter<double>("pErrMin");
1530  double pErrMax = conf_->getParameter<double>("pErrMax");
1531 
1532  int phiErrBin = conf_->getParameter<int>("phiErrBin");
1533  double phiErrMin = conf_->getParameter<double>("phiErrMin");
1534  double phiErrMax = conf_->getParameter<double>("phiErrMax");
1535 
1536  int etaErrBin = conf_->getParameter<int>("etaErrBin");
1537  double etaErrMin = conf_->getParameter<double>("etaErrMin");
1538  double etaErrMax = conf_->getParameter<double>("etaErrMax");
1539 
1540  double Chi2ProbMin = conf_->getParameter<double>("Chi2ProbMin");
1541  double Chi2ProbMax = conf_->getParameter<double>("Chi2ProbMax");
1542 
1543  ibooker.setCurrentFolder(TopFolder_);
1544 
1545  TkParameterMEs tkmes;
1546 
1547  std::string histTag = (sname == "default") ? CategoryName : sname + "_" + CategoryName;
1548 
1549  if (doAllPlots_) {
1550  // general properties
1551  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
1552 
1553  if (doThetaPlots_) {
1554  histname = "Chi2oNDFVsTheta_" + histTag;
1555  tkmes.Chi2oNDFVsTheta =
1556  ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax, "");
1557  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta", 1);
1558  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf", 2);
1559  }
1560  histname = "Chi2oNDFVsPhi_" + histTag;
1561  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax, "");
1562  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi", 1);
1563  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf", 2);
1564 
1565  histname = "Chi2ProbVsPhi_" + histTag;
1566  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(
1567  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
1568  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi", 1);
1569  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability", 2);
1570 
1571  histname = "Chi2ProbVsEta_" + histTag;
1572  tkmes.Chi2ProbVsEta = ibooker.bookProfile(
1573  histname + CategoryName, histname + CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
1574  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta", 1);
1575  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability", 2);
1576  }
1577 
1578  // general properties
1579  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
1580 
1581  histname = "Chi2oNDFVsEta_" + histTag;
1582  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax, "");
1583  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta", 1);
1584  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf", 2);
1585 
1586  histname = "Chi2oNDFVsPt_" + histTag;
1587  tkmes.Chi2oNDFVsPt =
1588  ibooker.bookProfile(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax, Chi2NDFMin, Chi2NDFMax, "");
1589  tkmes.Chi2oNDFVsPt->setAxisTitle("Track p_{T} (GeV/c)", 1);
1590  tkmes.Chi2oNDFVsPt->setAxisTitle("Track #chi^{2}/ndf", 2);
1591 
1592  histname = "Chi2oNDFVsNHits_" + histTag;
1593  tkmes.Chi2oNDFVsNHits = ibooker.bookProfile(histname, histname, 50, 0., 50, Chi2NDFMin, Chi2NDFMax, "");
1594  tkmes.Chi2oNDFVsNHits->setAxisTitle("Track NHits", 1);
1595  tkmes.Chi2oNDFVsNHits->setAxisTitle("Track #chi^{2}/ndf", 2);
1596 
1597  histname = "TrackP_" + histTag;
1598  tkmes.TrackP = ibooker.book1D(histname, histname, TrackPBin, TrackPMin, TrackPMax);
1599  tkmes.TrackP->setAxisTitle("Track |p| (GeV/c)", 1);
1600  tkmes.TrackP->setAxisTitle("Number of Tracks", 2);
1601 
1602  histname = "TrackPt_" + histTag;
1603  tkmes.TrackPt = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1604  tkmes.TrackPt->setAxisTitle("Track p_{T} (GeV/c)", 1);
1605  tkmes.TrackPt->setAxisTitle("Number of Tracks", 2);
1606 
1607  if (doTrackPxPyPlots_) {
1608  histname = "TrackPx_" + histTag;
1609  tkmes.TrackPx = ibooker.book1D(histname, histname, TrackPxBin, TrackPxMin, TrackPxMax);
1610  tkmes.TrackPx->setAxisTitle("Track p_{x} (GeV/c)", 1);
1611  tkmes.TrackPx->setAxisTitle("Number of Tracks", 2);
1612 
1613  histname = "TrackPy_" + histTag;
1614  tkmes.TrackPy = ibooker.book1D(histname, histname, TrackPyBin, TrackPyMin, TrackPyMax);
1615  tkmes.TrackPy->setAxisTitle("Track p_{y} (GeV/c)", 1);
1616  tkmes.TrackPy->setAxisTitle("Number of Tracks", 2);
1617  }
1618  histname = "TrackPz_" + histTag;
1619  tkmes.TrackPz = ibooker.book1D(histname, histname, TrackPzBin, TrackPzMin, TrackPzMax);
1620  tkmes.TrackPz->setAxisTitle("Track p_{z} (GeV/c)", 1);
1621  tkmes.TrackPz->setAxisTitle("Number of Tracks", 2);
1622 
1623  histname = "TrackPhi_" + histTag;
1624  tkmes.TrackPhi = ibooker.book1D(histname, histname, PhiBin, PhiMin, PhiMax);
1625  tkmes.TrackPhi->setAxisTitle("Track #phi", 1);
1626  tkmes.TrackPhi->setAxisTitle("Number of Tracks", 2);
1627 
1628  histname = "TrackEta_" + histTag;
1629  tkmes.TrackEta = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1630  tkmes.TrackEta->setAxisTitle("Track #eta", 1);
1631  tkmes.TrackEta->setAxisTitle("Number of Tracks", 2);
1632 
1633  if (Folder == "Tr") {
1634  histname = "TrackPtHighPurity_" + histTag;
1635  tkmes.TrackPtHighPurity = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1636  tkmes.TrackPtHighPurity->setAxisTitle("Track p_{T} (GeV/c)", 1);
1637  tkmes.TrackPtHighPurity->setAxisTitle("Number of High Purity Tracks", 2);
1638 
1639  histname = "TrackPtTight_" + histTag;
1640  tkmes.TrackPtTight = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1641  tkmes.TrackPtTight->setAxisTitle("Track p_{T} (GeV/c)", 1);
1642  tkmes.TrackPtTight->setAxisTitle("Number of Tight Tracks", 2);
1643 
1644  histname = "TrackPtLoose_" + histTag;
1645  tkmes.TrackPtLoose = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1646  tkmes.TrackPtLoose->setAxisTitle("Track p_{T} (GeV/c)", 1);
1647  tkmes.TrackPtLoose->setAxisTitle("Number of Loose Tracks", 2);
1648 
1649  histname = "Quality_";
1650  tkmes.Quality = ibooker.book1D(histname + CategoryName, histname + CategoryName, 3, 0., 3.);
1651  tkmes.Quality->setAxisTitle("Track quality", 1);
1652  tkmes.Quality->setAxisTitle("Number of Tracks", 2);
1653 
1654  for (size_t ibin = 0; ibin < 3; ibin++) {
1655  tkmes.Quality->setBinLabel(ibin + 1, reco::TrackBase::qualityNames[ibin]);
1656  }
1657 
1658  histname = "TrackPt_NegEta_Phi_btw_neg16_neg32_" + histTag;
1659  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1660  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->setAxisTitle("Track p_{T} (GeV/c)", 1);
1661  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->setAxisTitle("Number of Tracks", 2);
1662 
1663  histname = "TrackPt_NegEta_Phi_btw_0_neg16_" + histTag;
1664  tkmes.TrackPt_NegEta_Phi_btw_0_neg16 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1665  tkmes.TrackPt_NegEta_Phi_btw_0_neg16->setAxisTitle("Track p_{T} (GeV/c)", 1);
1666  tkmes.TrackPt_NegEta_Phi_btw_0_neg16->setAxisTitle("Number of Tracks", 2);
1667 
1668  histname = "TrackPt_NegEta_Phi_btw_16_0_" + histTag;
1669  tkmes.TrackPt_NegEta_Phi_btw_16_0 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1670  tkmes.TrackPt_NegEta_Phi_btw_16_0->setAxisTitle("Track p_{T} (GeV/c)", 1);
1671  tkmes.TrackPt_NegEta_Phi_btw_16_0->setAxisTitle("Number of Tracks", 2);
1672 
1673  histname = "TrackPt_NegEta_Phi_btw_32_16_" + histTag;
1674  tkmes.TrackPt_NegEta_Phi_btw_32_16 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1675  tkmes.TrackPt_NegEta_Phi_btw_32_16->setAxisTitle("Track p_{T} (GeV/c)", 1);
1676  tkmes.TrackPt_NegEta_Phi_btw_32_16->setAxisTitle("Number of Tracks", 2);
1677 
1678  histname = "TrackPt_PosEta_Phi_btw_neg16_neg32_" + histTag;
1679  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1680  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->setAxisTitle("Track p_{T} (GeV/c)", 1);
1681  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->setAxisTitle("Number of Tracks", 2);
1682 
1683  histname = "TrackPt_PosEta_Phi_btw_0_neg16_" + histTag;
1684  tkmes.TrackPt_PosEta_Phi_btw_0_neg16 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1685  tkmes.TrackPt_PosEta_Phi_btw_0_neg16->setAxisTitle("Track p_{T} (GeV/c)", 1);
1686  tkmes.TrackPt_PosEta_Phi_btw_0_neg16->setAxisTitle("Number of Tracks", 2);
1687 
1688  histname = "TrackPt_PosEta_Phi_btw_16_0_" + histTag;
1689  tkmes.TrackPt_PosEta_Phi_btw_16_0 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1690  tkmes.TrackPt_PosEta_Phi_btw_16_0->setAxisTitle("Track p_{T} (GeV/c)", 1);
1691  tkmes.TrackPt_PosEta_Phi_btw_16_0->setAxisTitle("Number of Tracks", 2);
1692 
1693  histname = "TrackPt_PosEta_Phi_btw_32_16_" + histTag;
1694  tkmes.TrackPt_PosEta_Phi_btw_32_16 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1695  tkmes.TrackPt_PosEta_Phi_btw_32_16->setAxisTitle("Track p_{T} (GeV/c)", 1);
1696  tkmes.TrackPt_PosEta_Phi_btw_32_16->setAxisTitle("Number of Tracks", 2);
1697 
1698  histname = "Ratio_byFolding_" + histTag;
1699  tkmes.Ratio_byFolding = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1700  tkmes.Ratio_byFolding->setAxisTitle("Track p_{T} (GeV/c)", 1);
1701 
1702  histname = "Ratio_byFolding2_" + histTag;
1703  tkmes.Ratio_byFolding2 = ibooker.book1D(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax);
1704  tkmes.Ratio_byFolding2->setAxisTitle("Track p_{T} (GeV/c)", 1);
1705 
1706  histname = "TrackEtaHighpurity_" + histTag;
1707  tkmes.TrackEtaHighPurity = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1708  tkmes.TrackEtaHighPurity->setAxisTitle("Track #eta", 1);
1709  tkmes.TrackEtaHighPurity->setAxisTitle("Number of High Purity Tracks", 2);
1710 
1711  histname = "TrackEtaTight_" + histTag;
1712  tkmes.TrackEtaTight = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1713  tkmes.TrackEtaTight->setAxisTitle("Track #eta", 1);
1714  tkmes.TrackEtaTight->setAxisTitle("Number of Tight Tracks", 2);
1715 
1716  histname = "TrackEtaLoose_" + histTag;
1717  tkmes.TrackEtaLoose = ibooker.book1D(histname, histname, EtaBin, EtaMin, EtaMax);
1718  tkmes.TrackEtaLoose->setAxisTitle("Track #eta", 1);
1719  tkmes.TrackEtaLoose->setAxisTitle("Number of Loose Tracks", 2);
1720 
1721  histname = "TrackEtaPhiInverted_" + histTag;
1722  tkmes.TrackEtaPhiInverted = ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1723  tkmes.TrackEtaPhiInverted->setAxisTitle("Track #eta", 1);
1724  tkmes.TrackEtaPhiInverted->setAxisTitle("Track #phi", 2);
1725 
1726  histname = "TrackEtaPhiInvertedoutofphase_" + histTag;
1727  tkmes.TrackEtaPhiInvertedoutofphase =
1728  ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1729  tkmes.TrackEtaPhiInvertedoutofphase->setAxisTitle("Track #eta", 1);
1730  tkmes.TrackEtaPhiInvertedoutofphase->setAxisTitle("Track #phi", 2);
1731 
1732  histname = "TkEtaPhi_Ratio_byFoldingmap_" + histTag;
1733  tkmes.TkEtaPhi_Ratio_byFoldingmap =
1734  ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1735  tkmes.TkEtaPhi_Ratio_byFoldingmap->setAxisTitle("Track #eta", 1);
1736  tkmes.TkEtaPhi_Ratio_byFoldingmap->setAxisTitle("Track #phi", 2);
1737 
1738  histname = "TkEtaPhi_Ratio_byFoldingmap_op_" + histTag;
1739  tkmes.TkEtaPhi_Ratio_byFoldingmap_op =
1740  ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1741  tkmes.TkEtaPhi_Ratio_byFoldingmap_op->setAxisTitle("Track #eta", 1);
1742  tkmes.TkEtaPhi_Ratio_byFoldingmap_op->setAxisTitle("Track #phi", 2);
1743 
1744  histname = "TkEtaPhi_RelativeDifference_byFoldingmap_" + histTag;
1745  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap =
1746  ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1747  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap->setAxisTitle("Track #eta", 1);
1748  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap->setAxisTitle("Track #phi", 2);
1749 
1750  histname = "TkEtaPhi_RelativeDifference_byFoldingmap_op_" + histTag;
1751  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap_op =
1752  ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1753  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap_op->setAxisTitle("Track #eta", 1);
1754  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap_op->setAxisTitle("Track #phi", 2);
1755 
1756  histname = "TrackQoverP_" + histTag;
1757  tkmes.TrackQoverP = ibooker.book1D(histname, histname, 10 * TrackQBin, TrackQMin, TrackQMax);
1758  tkmes.TrackQoverP->setAxisTitle("Track QoverP", 1);
1759  tkmes.TrackQoverP->setAxisTitle("Number of Tracks", 2);
1760  }
1761 
1762  histname = "TrackEtaPhi_" + histTag;
1763  tkmes.TrackEtaPhi = ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1764  tkmes.TrackEtaPhi->setAxisTitle("Track #eta", 1);
1765  tkmes.TrackEtaPhi->setAxisTitle("Track #phi", 2);
1766 
1767  histname = "TrackEtaPhiInner_" + histTag;
1768  tkmes.TrackEtaPhiInner = ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1769  tkmes.TrackEtaPhiInner->setAxisTitle("Track #eta", 1);
1770  tkmes.TrackEtaPhiInner->setAxisTitle("Track #phi", 2);
1771 
1772  histname = "TrackEtaPhiOuter_" + histTag;
1773  tkmes.TrackEtaPhiOuter = ibooker.book2D(histname, histname, Eta2DBin, EtaMin, EtaMax, Phi2DBin, PhiMin, PhiMax);
1774  tkmes.TrackEtaPhiOuter->setAxisTitle("Track #eta", 1);
1775  tkmes.TrackEtaPhiOuter->setAxisTitle("Track #phi", 2);
1776 
1777  if (doThetaPlots_) {
1778  histname = "TrackTheta_" + histTag;
1779  tkmes.TrackTheta = ibooker.book1D(histname, histname, ThetaBin, ThetaMin, ThetaMax);
1780  tkmes.TrackTheta->setAxisTitle("Track #theta", 1);
1781  tkmes.TrackTheta->setAxisTitle("Number of Tracks", 2);
1782  }
1783  histname = "TrackQ_" + histTag;
1784  tkmes.TrackQ = ibooker.book1D(histname, histname, TrackQBin, TrackQMin, TrackQMax);
1785  tkmes.TrackQ->setAxisTitle("Track Charge", 1);
1786  tkmes.TrackQ->setAxisTitle("Number of Tracks", 2);
1787 
1788  histname = "TrackPErrOverP_" + histTag;
1789  tkmes.TrackPErr = ibooker.book1D(histname, histname, pErrBin, pErrMin, pErrMax);
1790  tkmes.TrackPErr->setAxisTitle("track error(p)/p", 1);
1791  tkmes.TrackPErr->setAxisTitle("Number of Tracks", 2);
1792 
1793  histname = "TrackPtErrOverPt_" + histTag;
1794  tkmes.TrackPtErr = ibooker.book1D(histname, histname, ptErrBin, ptErrMin, ptErrMax);
1795  tkmes.TrackPtErr->setAxisTitle("track error(p_{T})/p_{T}", 1);
1796  tkmes.TrackPtErr->setAxisTitle("Number of Tracks", 2);
1797 
1798  histname = "TrackPtErrOverPtVsEta_" + histTag;
1799  tkmes.TrackPtErrVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, ptErrMin, ptErrMax);
1800  tkmes.TrackPtErrVsEta->setAxisTitle("Track #eta", 1);
1801  tkmes.TrackPtErrVsEta->setAxisTitle("track error(p_{T})/p_{T}", 2);
1802 
1803  if (doTrackPxPyPlots_) {
1804  histname = "TrackPxErrOverPx_" + histTag;
1805  tkmes.TrackPxErr = ibooker.book1D(histname, histname, pxErrBin, pxErrMin, pxErrMax);
1806  tkmes.TrackPxErr->setAxisTitle("track error(p_{x})/p_{x}", 1);
1807  tkmes.TrackPxErr->setAxisTitle("Number of Tracks", 2);
1808 
1809  histname = "TrackPyErrOverPy_" + histTag;
1810  tkmes.TrackPyErr = ibooker.book1D(histname, histname, pyErrBin, pyErrMin, pyErrMax);
1811  tkmes.TrackPyErr->setAxisTitle("track error(p_{y})/p_{y}", 1);
1812  tkmes.TrackPyErr->setAxisTitle("Number of Tracks", 2);
1813  }
1814  histname = "TrackPzErrOverPz_" + histTag;
1815  tkmes.TrackPzErr = ibooker.book1D(histname, histname, pzErrBin, pzErrMin, pzErrMax);
1816  tkmes.TrackPzErr->setAxisTitle("track error(p_{z})/p_{z}", 1);
1817  tkmes.TrackPzErr->setAxisTitle("Number of Tracks", 2);
1818 
1819  histname = "TrackPhiErr_" + histTag;
1820  tkmes.TrackPhiErr = ibooker.book1D(histname, histname, phiErrBin, phiErrMin, phiErrMax);
1821  tkmes.TrackPhiErr->setAxisTitle("track error(#phi)");
1822  tkmes.TrackPhiErr->setAxisTitle("Number of Tracks", 2);
1823 
1824  histname = "TrackEtaErr_" + histTag;
1825  tkmes.TrackEtaErr = ibooker.book1D(histname, histname, etaErrBin, etaErrMin, etaErrMax);
1826  tkmes.TrackEtaErr->setAxisTitle("track error(#eta)");
1827  tkmes.TrackEtaErr->setAxisTitle("Number of Tracks", 2);
1828 
1829  // rec hit profiles
1830  ibooker.setCurrentFolder(TopFolder_ + "/GeneralProperties");
1831  histname = "NumberOfRecHitsPerTrackVsPhi_" + histTag;
1832  tkmes.NumberOfRecHitsPerTrackVsPhi =
1833  ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitBin, RecHitMin, RecHitMax, "");
1834  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi", 1);
1835  tkmes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of RecHits in each Track", 2);
1836 
1837  if (doThetaPlots_) {
1838  histname = "NumberOfRecHitsPerTrackVsTheta_" + histTag;
1839  tkmes.NumberOfRecHitsPerTrackVsTheta =
1840  ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecHitBin, RecHitMin, RecHitMax, "");
1841  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Track #phi", 1);
1842  tkmes.NumberOfRecHitsPerTrackVsTheta->setAxisTitle("Number of RecHits in each Track", 2);
1843  }
1844  histname = "NumberOfRecHitsPerTrackVsEta_" + histTag;
1845  tkmes.NumberOfRecHitsPerTrackVsEta =
1846  ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitBin, RecHitMin, RecHitMax, "");
1847  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta", 1);
1848  tkmes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of RecHits in each Track", 2);
1849 
1850  histname = "NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1851  tkmes.NumberOfValidRecHitsPerTrackVsPhi =
1852  ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecHitMin, RecHitMax, "");
1853  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Track #phi", 1);
1854  tkmes.NumberOfValidRecHitsPerTrackVsPhi->setAxisTitle("Number of valid RecHits in each Track", 2);
1855 
1856  histname = "NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1857  tkmes.NumberOfValidRecHitsPerTrackVsEta =
1858  ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecHitMin, RecHitMax, "");
1859  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Track #eta", 1);
1860  tkmes.NumberOfValidRecHitsPerTrackVsEta->setAxisTitle("Number of valid RecHits in each Track", 2);
1861 
1862  histname = "NumberOfValidRecHitsPerTrackVsPt_" + histTag;
1863  tkmes.NumberOfValidRecHitsPerTrackVsPt =
1864  ibooker.bookProfile(histname, histname, TrackPtBin, TrackPtMin, TrackPtMax, RecHitMin, RecHitMax, "");
1865  tkmes.NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
1866  tkmes.NumberOfValidRecHitsPerTrackVsPt->setAxisTitle("Number of valid RecHits in each Track", 2);
1867 
1869  histname = "NumberOfLayersPerTrackVsPhi_" + histTag;
1870  tkmes.NumberOfLayersPerTrackVsPhi =
1871  ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, RecLayBin, RecLayMin, RecLayMax, "");
1872  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi", 1);
1873  tkmes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of Layers in each Track", 2);
1874 
1875  if (doThetaPlots_) {
1876  histname = "NumberOfLayersPerTrackVsTheta_" + histTag;
1877  tkmes.NumberOfLayersPerTrackVsTheta =
1878  ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, RecLayBin, RecLayMin, RecLayMax, "");
1879  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Track #phi", 1);
1880  tkmes.NumberOfLayersPerTrackVsTheta->setAxisTitle("Number of Layers in each Track", 2);
1881  }
1882  histname = "NumberOfLayersPerTrackVsEta_" + histTag;
1883  tkmes.NumberOfLayersPerTrackVsEta =
1884  ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, RecLayBin, RecLayMin, RecLayMax, "");
1885  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta", 1);
1886  tkmes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of Layers in each Track", 2);
1887 
1888  if (doThetaPlots_) {
1889  histname = "Chi2oNDFVsTheta_" + histTag;
1890  tkmes.Chi2oNDFVsTheta =
1891  ibooker.bookProfile(histname, histname, ThetaBin, ThetaMin, ThetaMax, Chi2NDFMin, Chi2NDFMax, "");
1892  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #theta", 1);
1893  tkmes.Chi2oNDFVsTheta->setAxisTitle("Track #chi^{2}/ndf", 2);
1894  }
1895  if (doAllPlots_) {
1896  histname = "Chi2oNDFVsPhi_" + histTag;
1897  tkmes.Chi2oNDFVsPhi = ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax, "");
1898  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #phi", 1);
1899  tkmes.Chi2oNDFVsPhi->setAxisTitle("Track #chi^{2}/ndf", 2);
1900 
1901  histname = "Chi2oNDFVsEta_" + histTag;
1902  tkmes.Chi2oNDFVsEta = ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax, "");
1903  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #eta", 1);
1904  tkmes.Chi2oNDFVsEta->setAxisTitle("Track #chi^{2}/ndf", 2);
1905 
1906  histname = "Chi2ProbVsPhi_" + histTag;
1907  tkmes.Chi2ProbVsPhi = ibooker.bookProfile(
1908  histname + CategoryName, histname + CategoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
1909  tkmes.Chi2ProbVsPhi->setAxisTitle("Tracks #phi", 1);
1910  tkmes.Chi2ProbVsPhi->setAxisTitle("Track #chi^{2} probability", 2);
1911 
1912  histname = "Chi2ProbVsEta_" + histTag;
1913  tkmes.Chi2ProbVsEta = ibooker.bookProfile(
1914  histname + CategoryName, histname + CategoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
1915  tkmes.Chi2ProbVsEta->setAxisTitle("Tracks #eta", 1);
1916  tkmes.Chi2ProbVsEta->setAxisTitle("Track #chi^{2} probability", 2);
1917  }
1918 
1919  // now put the MEs in the map
1920  TkParameterMEMap.insert(std::make_pair(sname, tkmes));
1921 }
T getParameter(std::string const &) const
std::map< std::string, TkParameterMEs > TkParameterMEMap
static const std::string qualityNames[]
Definition: TrackBase.h:163
std::string TopFolder_
Definition: TrackAnalyzer.h:75
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:83
bool doTrackPxPyPlots_
std::string histname
void TrackAnalyzer::bookHistosForTrackerSpecific ( DQMStore::IBooker ibooker)
private

Definition at line 2257 of file TrackAnalyzer.cc.

References HLTSiStripMonitoring_cff::AlgoName, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), conf_, TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorId, TrackAnalyzer::TkRecHitsPerSubDetMEs::detectorTag, MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), histname, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrack, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfLayersPerTrackVsPt, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrack, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsPhi, TrackAnalyzer::TkRecHitsPerSubDetMEs::NumberOfRecHitsPerTrackVsPt, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, electronDQMIsoDist_cfi::PtMax, HLT_2018_cff::PtMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TrackingMonitor_cfi::subdetectors, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, TkRecHitsPerSubDetMEMap, StripSubdetector::TOB, and TopFolder_.

Referenced by initHisto().

2257  {
2258  // parameters from the configuration
2259  std::string QualName = conf_->getParameter<std::string>("Quality");
2261 
2262  // use the AlgoName and Quality Name
2263  std::string CategoryName = !QualName.empty() ? AlgoName + "_" + QualName : AlgoName;
2264 
2265  int PhiBin = conf_->getParameter<int>("PhiBin");
2266  double PhiMin = conf_->getParameter<double>("PhiMin");
2267  double PhiMax = conf_->getParameter<double>("PhiMax");
2268 
2269  int EtaBin = conf_->getParameter<int>("EtaBin");
2270  double EtaMin = conf_->getParameter<double>("EtaMin");
2271  double EtaMax = conf_->getParameter<double>("EtaMax");
2272 
2273  int PtBin = conf_->getParameter<int>("TrackPtBin");
2274  double PtMin = conf_->getParameter<double>("TrackPtMin");
2275  double PtMax = conf_->getParameter<double>("TrackPtMax");
2276 
2277  // book hit property histograms
2278  // ---------------------------------------------------------------------------------//
2279  ibooker.setCurrentFolder(TopFolder_ + "/HitProperties");
2280 
2281  std::vector<std::string> subdetectors = conf_->getParameter<std::vector<std::string> >("subdetectors");
2282  int detBin = conf_->getParameter<int>("subdetectorBin");
2283 
2284  for (auto det : subdetectors) {
2285  // hits properties
2286  ibooker.setCurrentFolder(TopFolder_ + "/HitProperties/" + det);
2287 
2288  TkRecHitsPerSubDetMEs recHitsPerSubDet_mes;
2289 
2290  recHitsPerSubDet_mes.detectorTag = det;
2291  int detID = -1;
2292  if (det == "TIB")
2293  detID = StripSubdetector::TIB; // 3
2294  if (det == "TOB")
2295  detID = StripSubdetector::TOB; // 5
2296  if (det == "TID")
2297  detID = StripSubdetector::TID; // 4
2298  if (det == "TEC")
2299  detID = StripSubdetector::TEC; // 6
2300  if (det == "PixBarrel")
2301  detID = PixelSubdetector::PixelBarrel; // 1
2302  if (det == "PixEndcap")
2303  detID = PixelSubdetector::PixelEndcap; // 2
2304  if (det == "Pixel")
2305  detID = 0;
2306  if (det == "Strip")
2307  detID = 7;
2308 
2309  recHitsPerSubDet_mes.detectorId = detID;
2310 
2311  histname = "NumberOfRecHitsPerTrack_" + det + "_" + CategoryName;
2312  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack =
2313  ibooker.book1D(histname, histname, detBin, -0.5, double(detBin) - 0.5);
2314  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of " + det + " valid RecHits in each Track", 1);
2315  recHitsPerSubDet_mes.NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
2316 
2317  histname = "NumberOfRecHitsPerTrackVsPhi_" + det + "_" + CategoryName;
2318  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi =
2319  ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin) - 0.5, "");
2320  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Track #phi", 1);
2321  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPhi->setAxisTitle("Number of " + det + " valid RecHits in each Track",
2322  2);
2323 
2324  histname = "NumberOfRecHitsPerTrackVsEta_" + det + "_" + CategoryName;
2325  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta =
2326  ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin) - 0.5, "");
2327  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Track #eta", 1);
2328  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsEta->setAxisTitle("Number of " + det + " valid RecHits in each Track",
2329  2);
2330 
2331  histname = "NumberOfRecHitsPerTrackVsPt_" + det + "_" + CategoryName;
2332  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt =
2333  ibooker.bookProfile(histname, histname, PtBin, PtMin, PtMax, detBin, -0.5, double(detBin) - 0.5, "");
2334  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
2335  recHitsPerSubDet_mes.NumberOfRecHitsPerTrackVsPt->setAxisTitle("Number of " + det + " valid RecHits in each Track",
2336  2);
2337 
2338  histname = "NumberOfLayersPerTrack_" + det + "_" + CategoryName;
2339  recHitsPerSubDet_mes.NumberOfLayersPerTrack =
2340  ibooker.book1D(histname, histname, detBin, -0.5, double(detBin) - 0.5);
2341  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of " + det + " valid Layers in each Track", 1);
2342  recHitsPerSubDet_mes.NumberOfLayersPerTrack->setAxisTitle("Number of Tracks", 2);
2343 
2344  histname = "NumberOfLayersPerTrackVsPhi_" + det + "_" + CategoryName;
2345  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi =
2346  ibooker.bookProfile(histname, histname, PhiBin, PhiMin, PhiMax, detBin, -0.5, double(detBin) - 0.5, "");
2347  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Track #phi", 1);
2348  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPhi->setAxisTitle("Number of " + det + " valid Layers in each Track",
2349  2);
2350 
2351  histname = "NumberOfLayersPerTrackVsEta_" + det + "_" + CategoryName;
2352  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta =
2353  ibooker.bookProfile(histname, histname, EtaBin, EtaMin, EtaMax, detBin, -0.5, double(detBin) - 0.5, "");
2354  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Track #eta", 1);
2355  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsEta->setAxisTitle("Number of " + det + " valid Layers in each Track",
2356  2);
2357 
2358  histname = "NumberOfLayersPerTrackVsPt_" + det + "_" + CategoryName;
2359  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt =
2360  ibooker.bookProfile(histname, histname, PtBin, PtMin, PtMax, detBin, -0.5, double(detBin) - 0.5, "");
2361  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt->setAxisTitle("Track p_{T} [GeV]", 1);
2362  recHitsPerSubDet_mes.NumberOfLayersPerTrackVsPt->setAxisTitle("Number of " + det + " valid Layers in each Track",
2363  2);
2364 
2365  TkRecHitsPerSubDetMEMap.insert(std::pair<std::string, TkRecHitsPerSubDetMEs>(det, recHitsPerSubDet_mes));
2366  }
2367 }
T getParameter(std::string const &) const
static constexpr auto TEC
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
std::string TopFolder_
Definition: TrackAnalyzer.h:75
static constexpr auto TOB
edm::ParameterSet const * conf_
Definition: TrackAnalyzer.h:83
static constexpr auto TIB
static constexpr auto TID
std::string histname
void TrackAnalyzer::doReset ( )

Definition at line 2449 of file TrackAnalyzer.cc.

References Chi2oNDF_lumiFlag, NumberOfRecHitsPerTrack_lumiFlag, and dqm::impl::MonitorElement::Reset().

Referenced by TrackingMonitor::dqmBeginLuminosityBlock().

2449  {
2450  TkParameterMEs tkmes;
2451  if (Chi2oNDF_lumiFlag)
2455 }
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
virtual void Reset()
reset ME (ie. contents, errors, etc)
void TrackAnalyzer::fillHistosForEfficiencyFromHitPatter ( const reco::Track track,
const std::string  suffix,
const float  monitoring,
bool  useInac 
)
private

Definition at line 1396 of file TrackAnalyzer.cc.

References taus_updatedMVAIds_cff::category, reco::TrackBase::dxy(), HcalObjRepresent::Fill(), reco::TrackBase::hitPattern(), hits_total_, hits_valid_, AnalysisDataFormats_SUSYBSMObjects::hp, mps_fire::i, LogDebug, combine::missing, LaserDQM_cfi::mon, monName, topSingleLeptonDQM_PU_cfi::pattern, reco::TrackBase::pt(), and validateGeometry_cfg::valid.

Referenced by analyze().

1399  {
1400  int mon = -1;
1401  for (int i = 0; i < monQuantity::END; i++) {
1402  if (monName[i] == suffix)
1403  mon = i;
1404  }
1405  if (useInac)
1406  mon += monQuantity::END;
1407 
1408  // if (track.pt() > 1.0 && track.dxy() < 0.1 and monitoring > 0) {
1409  if (track.pt() > 1.0 && track.dxy() < 0.1 and monitoring > -9.) {
1410  auto hp = track.hitPattern();
1411  // Here hit_category is meant to iterate over
1412  // reco::HitPattern::HitCategory, defined here:
1413  // http://cmslxr.fnal.gov/dxr/CMSSW/source/DataFormats/TrackReco/interface/HitPattern.h
1414  for (unsigned int category = 0; category < 3; ++category) {
1415  for (int hit = 0; hit < hp.numberOfAllHits((reco::HitPattern::HitCategory)(category)); ++hit) {
1416  auto pattern = hp.getHitPattern((reco::HitPattern::HitCategory)(category), hit);
1417  // Boolean bad is missing simply because it is inferred and the only missing case.
1418  bool valid = hp.validHitFilter(pattern);
1419  bool missing = hp.missingHitFilter(pattern);
1420  bool inactive = hp.inactiveHitFilter(pattern);
1421  int hit_type = -1;
1422  hit_type = valid ? 0 : (missing ? 1 : (inactive ? 2 : 3));
1423  if (hits_valid_.find(Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)) ==
1424  hits_valid_.end()) {
1425  LogDebug("TrackAnalyzer") << "Invalid combination of detector and subdetector: ("
1426  << hp.getSubStructure(pattern) << ", " << hp.getSubSubStructure(pattern) << ", "
1427  << mon << "): ignoring it.\n";
1428  continue;
1429  }
1430  switch (hit_type) {
1431  case 0:
1432  hits_valid_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1433  hits_total_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1434  break;
1435  case 2:
1436  if (!useInac)
1437  break;
1438  [[fallthrough]];
1439  case 1:
1440  hits_total_[Key(hp.getSubStructure(pattern), hp.getSubSubStructure(pattern), mon)]->Fill(monitoring);
1441  break;
1442  default:
1443  LogDebug("TrackAnalyzer") << "Invalid hit category used " << hit_type << " ignored\n";
1444  }
1445  }
1446  }
1447  }
1448 }
#define LogDebug(id)
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
missing
Definition: combine.py:5
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:602
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
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:587
std::string monName[monQuantity::END]
monitoring
[optional] : when omitted the verbosity level is set to STANDARD
void TrackAnalyzer::fillHistosForHitProperties ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private
void TrackAnalyzer::fillHistosForLScertification ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private
void TrackAnalyzer::fillHistosForState ( const edm::EventSetup iSetup,
const reco::Track track,
std::string  sname 
)
private

Definition at line 1925 of file TrackAnalyzer.cc.

References MaterialEffects_cfi::A, TransientTrackBuilder::build(), TrajectoryStateOnSurface::cartesianError(), TrajectoryStateOnSurface::charge(), reco::TrackBase::charge(), reco::TrackBase::chi2(), TrackAnalyzer::TkParameterMEs::Chi2oNDFVsEta, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsNHits, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPhi, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsPt, TrackAnalyzer::TkParameterMEs::Chi2oNDFVsTheta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsEta, TrackAnalyzer::TkParameterMEs::Chi2ProbVsPhi, TrajectoryStateOnSurface::curvilinearError(), doAllPlots_, doThetaPlots_, doTrackPxPyPlots_, MessageLogger_cfi::errors, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), reco::TrackBase::eta(), etaerror, reco::TrackBase::etaError(), dqm::impl::MonitorElement::Fill(), edm::EventSetup::get(), dqm::legacy::MonitorElement::getTH1(), dqm::legacy::MonitorElement::getTH2F(), TrajectoryStateOnSurface::globalMomentum(), reco::TrackBase::highPurity, reco::TrackBase::hitPattern(), cuy::ii, reco::TransientTrack::impactPointState(), reco::TransientTrack::innermostMeasurementState(), reco::Track::innerPosition(), createfilelist::int, findQualityFiles::jj, reco::TrackBase::loose, PV3DBase< T, PVType, FrameType >::mag(), CartesianTrajectoryError::matrix(), CurvilinearTrajectoryError::matrix(), reco::TrackBase::ndof(), ticl::constants::nLayers, reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfAllHits(), TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfLayersPerTrackVsTheta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfRecHitsPerTrackVsTheta, reco::TrackBase::numberOfValidHits(), TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsEta, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPhi, TrackAnalyzer::TkParameterMEs::NumberOfValidRecHitsPerTrackVsPt, reco::TransientTrack::outermostMeasurementState(), reco::Track::outerPosition(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::p(), PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), reco::TrackBase::phi(), reco::TrackBase::phiError(), funct::pow(), DiDispStaMuonMonitor_cfi::pt, reco::TrackBase::pt(), reco::TrackBase::ptError(), multPhiCorr_741_25nsDY_cfi::px, reco::TrackBase::px(), multPhiCorr_741_25nsDY_cfi::py, reco::TrackBase::py(), reco::TrackBase::pz(), data-class-funcs::q, TrackAnalyzer::TkParameterMEs::Quality, reco::TrackBase::quality(), TrackAnalyzer::TkParameterMEs::Ratio_byFolding, TrackAnalyzer::TkParameterMEs::Ratio_byFolding2, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinContent(), funct::sin(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, PV3DBase< T, PVType, FrameType >::theta(), theta(), reco::TrackBase::theta(), reco::TrackBase::tight, TrackAnalyzer::TkParameterMEs::TkEtaPhi_Ratio_byFoldingmap, TrackAnalyzer::TkParameterMEs::TkEtaPhi_Ratio_byFoldingmap_op, TrackAnalyzer::TkParameterMEs::TkEtaPhi_RelativeDifference_byFoldingmap, TrackAnalyzer::TkParameterMEs::TkEtaPhi_RelativeDifference_byFoldingmap_op, TkParameterMEMap, TopFolder_, reco::HitPattern::TRACK_HITS, reco::HitPattern::trackerLayersWithMeasurement(), TrackAnalyzer::TkParameterMEs::TrackEta, TrackAnalyzer::TkParameterMEs::TrackEtaErr, TrackAnalyzer::TkParameterMEs::TrackEtaHighPurity, TrackAnalyzer::TkParameterMEs::TrackEtaLoose, TrackAnalyzer::TkParameterMEs::TrackEtaPhi, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInner, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInverted, TrackAnalyzer::TkParameterMEs::TrackEtaPhiInvertedoutofphase, TrackAnalyzer::TkParameterMEs::TrackEtaPhiOuter, TrackAnalyzer::TkParameterMEs::TrackEtaTight, TrackAnalyzer::TkParameterMEs::TrackP, TrackAnalyzer::TkParameterMEs::TrackPErr, TrackAnalyzer::TkParameterMEs::TrackPhi, TrackAnalyzer::TkParameterMEs::TrackPhiErr, TrackAnalyzer::TkParameterMEs::TrackPt, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_0_neg16, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_16_0, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_32_16, TrackAnalyzer::TkParameterMEs::TrackPt_NegEta_Phi_btw_neg16_neg32, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_0_neg16, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_16_0, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_32_16, TrackAnalyzer::TkParameterMEs::TrackPt_PosEta_Phi_btw_neg16_neg32, TrackAnalyzer::TkParameterMEs::TrackPtErr, TrackAnalyzer::TkParameterMEs::TrackPtErrVsEta, TrackAnalyzer::TkParameterMEs::TrackPtHighPurity, TrackAnalyzer::TkParameterMEs::TrackPtLoose, TrackAnalyzer::TkParameterMEs::TrackPtTight, TrackAnalyzer::TkParameterMEs::TrackPx, TrackAnalyzer::TkParameterMEs::TrackPxErr, TrackAnalyzer::TkParameterMEs::TrackPy, TrackAnalyzer::TkParameterMEs::TrackPyErr, TrackAnalyzer::TkParameterMEs::TrackPz, TrackAnalyzer::TkParameterMEs::TrackPzErr, TrackAnalyzer::TkParameterMEs::TrackQ, TrackAnalyzer::TkParameterMEs::TrackQoverP, TrackAnalyzer::TkParameterMEs::TrackTheta, w, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

1925  {
1926  //get the kinematic parameters
1927  double p, px, py, pz, pt, theta, phi, eta, q;
1928  double pxerror, pyerror, pzerror, pterror, perror, phierror, etaerror;
1929 
1930  std::string Folder = TopFolder_.substr(0, 2);
1931 
1932  auto phiIn = track.innerPosition().phi();
1933  auto etaIn = track.innerPosition().eta();
1934  auto phiOut = track.outerPosition().phi();
1935  auto etaOut = track.outerPosition().eta();
1936 
1937  if (sname == "default") {
1938  p = track.p();
1939  px = track.px();
1940  py = track.py();
1941  pz = track.pz();
1942  pt = track.pt();
1943  phi = track.phi();
1944  theta = track.theta();
1945  eta = track.eta();
1946  q = track.charge();
1947 
1948  pterror = (pt) ? track.ptError() / (pt * pt) : 0.0;
1949  pxerror = -1.0;
1950  pyerror = -1.0;
1951  pzerror = -1.0;
1952  perror = -1.0;
1953  phierror = track.phiError();
1954  etaerror = track.etaError();
1955 
1956  } else {
1958  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder", theB);
1959  reco::TransientTrack TransTrack = theB->build(track);
1960 
1962 
1963  if (sname == "OuterSurface")
1964  TSOS = TransTrack.outermostMeasurementState();
1965  else if (sname == "InnerSurface")
1966  TSOS = TransTrack.innermostMeasurementState();
1967  else if (sname == "ImpactPoint")
1968  TSOS = TransTrack.impactPointState();
1969 
1970  p = TSOS.globalMomentum().mag();
1971  px = TSOS.globalMomentum().x();
1972  py = TSOS.globalMomentum().y();
1973  pz = TSOS.globalMomentum().z();
1974  pt = TSOS.globalMomentum().perp();
1975  phi = TSOS.globalMomentum().phi();
1976  theta = TSOS.globalMomentum().theta();
1977  eta = TSOS.globalMomentum().eta();
1978  q = TSOS.charge();
1979 
1980  //get the error of the kinimatic parameters
1982  double partialPterror =
1983  errors(3, 3) * pow(TSOS.globalMomentum().x(), 2) + errors(4, 4) * pow(TSOS.globalMomentum().y(), 2);
1984  pterror = sqrt(partialPterror) / TSOS.globalMomentum().perp();
1985  pxerror = sqrt(errors(3, 3)) / TSOS.globalMomentum().x();
1986  pyerror = sqrt(errors(4, 4)) / TSOS.globalMomentum().y();
1987  pzerror = sqrt(errors(5, 5)) / TSOS.globalMomentum().z();
1988  perror = sqrt(partialPterror + errors(5, 5) * pow(TSOS.globalMomentum().z(), 2)) / TSOS.globalMomentum().mag();
1989  phierror = sqrt(TSOS.curvilinearError().matrix()(2, 2));
1990  etaerror = sqrt(TSOS.curvilinearError().matrix()(1, 1)) * fabs(sin(TSOS.globalMomentum().theta()));
1991  }
1992 
1993  std::map<std::string, TkParameterMEs>::iterator iPos = TkParameterMEMap.find(sname);
1994  if (iPos != TkParameterMEMap.end()) {
1995  TkParameterMEs tkmes = iPos->second;
1996 
1997  // momentum
1998  tkmes.TrackP->Fill(p);
1999  if (doTrackPxPyPlots_) {
2000  tkmes.TrackPx->Fill(px);
2001  tkmes.TrackPy->Fill(py);
2002  }
2003  tkmes.TrackPz->Fill(pz);
2004  tkmes.TrackPt->Fill(pt);
2005 
2006  // angles
2007  tkmes.TrackPhi->Fill(phi);
2008  tkmes.TrackEta->Fill(eta);
2009  tkmes.TrackEtaPhi->Fill(eta, phi);
2010 
2011  if (Folder == "Tr") {
2012  tkmes.TrackEtaPhiInverted->Fill(eta, -1 * phi);
2013  tkmes.TrackEtaPhiInvertedoutofphase->Fill(eta, 3.141592654 + -1 * phi);
2014  tkmes.TrackEtaPhiInvertedoutofphase->Fill(eta, -1 * phi - 3.141592654);
2015  tkmes.TkEtaPhi_Ratio_byFoldingmap->getTH2F()->Divide(
2016  tkmes.TrackEtaPhi->getTH2F(), tkmes.TrackEtaPhiInverted->getTH2F(), 1., 1., "");
2017  tkmes.TkEtaPhi_Ratio_byFoldingmap_op->getTH2F()->Divide(
2018  tkmes.TrackEtaPhi->getTH2F(), tkmes.TrackEtaPhiInvertedoutofphase->getTH2F(), 1., 1., "");
2019 
2020  int nx = tkmes.TrackEtaPhi->getTH2F()->GetNbinsX();
2021  int ny = tkmes.TrackEtaPhi->getTH2F()->GetNbinsY();
2022 
2023  for (int ii = 1; ii <= nx; ii++) {
2024  for (int jj = 1; jj <= ny; jj++) {
2025  double Sum1 = tkmes.TrackEtaPhi->getTH2F()->GetBinContent(ii, jj) +
2026  tkmes.TrackEtaPhiInverted->getTH2F()->GetBinContent(ii, jj);
2027  double Sum2 = tkmes.TrackEtaPhi->getTH2F()->GetBinContent(ii, jj) +
2028  tkmes.TrackEtaPhiInvertedoutofphase->getTH2F()->GetBinContent(ii, jj);
2029 
2030  double Sub1 = tkmes.TrackEtaPhi->getTH2F()->GetBinContent(ii, jj) -
2031  tkmes.TrackEtaPhiInverted->getTH2F()->GetBinContent(ii, jj);
2032  double Sub2 = tkmes.TrackEtaPhi->getTH2F()->GetBinContent(ii, jj) -
2033  tkmes.TrackEtaPhiInvertedoutofphase->getTH2F()->GetBinContent(ii, jj);
2034 
2035  if (Sum1 == 0 || Sum2 == 0) {
2036  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap->setBinContent(ii, jj, 1);
2037  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap_op->setBinContent(ii, jj, 1);
2038  } else {
2039  double ratio1 = Sub1 / Sum1;
2040  double ratio2 = Sub2 / Sum2;
2041  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap->setBinContent(ii, jj, ratio1);
2042  tkmes.TkEtaPhi_RelativeDifference_byFoldingmap_op->setBinContent(ii, jj, ratio2);
2043  }
2044  }
2045  }
2046 
2047  //pT histograms to create efficiency vs pT plot, only for the most inefficient region.
2048 
2049  if (eta < 0. && phi < -1.6) {
2050  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->Fill(pt);
2051  }
2052  if (eta < 0. && phi < 0 && phi >= -1.6) {
2053  tkmes.TrackPt_NegEta_Phi_btw_0_neg16->Fill(pt);
2054  }
2055  if (eta < 0. && phi < 1.6 && phi >= 0) {
2056  tkmes.TrackPt_NegEta_Phi_btw_16_0->Fill(pt);
2057  }
2058  if (eta < 0. && phi >= 1.6) {
2059  tkmes.TrackPt_NegEta_Phi_btw_32_16->Fill(pt);
2060  }
2061  if (eta >= 0. && phi < -1.6) {
2062  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->Fill(pt);
2063  }
2064  if (eta >= 0. && phi < 0 && phi >= -1.6) {
2065  tkmes.TrackPt_PosEta_Phi_btw_0_neg16->Fill(pt);
2066  }
2067  if (eta >= 0. && phi < 1.6 && phi >= 0) {
2068  tkmes.TrackPt_PosEta_Phi_btw_16_0->Fill(pt);
2069  }
2070  if (eta >= 0. && phi >= 1.6) {
2071  tkmes.TrackPt_PosEta_Phi_btw_32_16->Fill(pt);
2072  }
2073 
2074  float A[8];
2075  A[0] = tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->getTH1()->Integral();
2076  A[1] = tkmes.TrackPt_NegEta_Phi_btw_0_neg16->getTH1()->Integral();
2077  A[2] = tkmes.TrackPt_NegEta_Phi_btw_16_0->getTH1()->Integral();
2078  A[3] = tkmes.TrackPt_NegEta_Phi_btw_32_16->getTH1()->Integral();
2079  A[4] = tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->getTH1()->Integral();
2080  A[5] = tkmes.TrackPt_PosEta_Phi_btw_0_neg16->getTH1()->Integral();
2081  A[6] = tkmes.TrackPt_PosEta_Phi_btw_16_0->getTH1()->Integral();
2082  A[7] = tkmes.TrackPt_PosEta_Phi_btw_32_16->getTH1()->Integral();
2083 
2084  //WZ (the worst zone)
2085  int WZ = 0;
2086  float minA = A[0];
2087  for (int w = 1; w < 8; w++) {
2088  if (minA > A[w]) {
2089  minA = A[w];
2090  WZ = w;
2091  }
2092  }
2093 
2094  switch (WZ) {
2095  case 1:
2096  tkmes.Ratio_byFolding->getTH1()->Divide(tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->getTH1(),
2097  tkmes.TrackPt_NegEta_Phi_btw_32_16->getTH1(),
2098  1.,
2099  1.,
2100  "B");
2101  tkmes.Ratio_byFolding2->getTH1()->Divide(tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->getTH1(),
2102  tkmes.TrackPt_NegEta_Phi_btw_0_neg16->getTH1(),
2103  1.,
2104  1.,
2105  "B");
2106  break;
2107  case 2:
2108  tkmes.Ratio_byFolding->getTH1()->Divide(
2109  tkmes.TrackPt_NegEta_Phi_btw_0_neg16->getTH1(), tkmes.TrackPt_NegEta_Phi_btw_16_0->getTH1(), 1., 1., "B");
2110  tkmes.Ratio_byFolding2->getTH1()->Divide(tkmes.TrackPt_NegEta_Phi_btw_0_neg16->getTH1(),
2111  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->getTH1(),
2112  1.,
2113  1.,
2114  "B");
2115  break;
2116  case 3:
2117  tkmes.Ratio_byFolding->getTH1()->Divide(
2118  tkmes.TrackPt_NegEta_Phi_btw_16_0->getTH1(), tkmes.TrackPt_NegEta_Phi_btw_0_neg16->getTH1(), 1., 1., "B");
2119  tkmes.Ratio_byFolding2->getTH1()->Divide(
2120  tkmes.TrackPt_NegEta_Phi_btw_16_0->getTH1(), tkmes.TrackPt_NegEta_Phi_btw_32_16->getTH1(), 1., 1., "B");
2121  break;
2122  case 4:
2123  tkmes.Ratio_byFolding->getTH1()->Divide(tkmes.TrackPt_NegEta_Phi_btw_32_16->getTH1(),
2124  tkmes.TrackPt_NegEta_Phi_btw_neg16_neg32->getTH1(),
2125  1.,
2126  1.,
2127  "B");
2128  tkmes.Ratio_byFolding2->getTH1()->Divide(
2129  tkmes.TrackPt_NegEta_Phi_btw_32_16->getTH1(), tkmes.TrackPt_NegEta_Phi_btw_16_0->getTH1(), 1., 1., "B");
2130  break;
2131  case 5:
2132  tkmes.Ratio_byFolding->getTH1()->Divide(tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->getTH1(),
2133  tkmes.TrackPt_PosEta_Phi_btw_32_16->getTH1(),
2134  1.,
2135  1.,
2136  "B");
2137  tkmes.Ratio_byFolding2->getTH1()->Divide(tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->getTH1(),
2138  tkmes.TrackPt_PosEta_Phi_btw_0_neg16->getTH1(),
2139  1.,
2140  1.,
2141  "B");
2142  break;
2143  case 6:
2144  tkmes.Ratio_byFolding->getTH1()->Divide(
2145  tkmes.TrackPt_PosEta_Phi_btw_0_neg16->getTH1(), tkmes.TrackPt_PosEta_Phi_btw_16_0->getTH1(), 1., 1., "B");
2146  tkmes.Ratio_byFolding2->getTH1()->Divide(tkmes.TrackPt_PosEta_Phi_btw_0_neg16->getTH1(),
2147  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->getTH1(),
2148  1.,
2149  1.,
2150  "B");
2151  break;
2152  case 7:
2153  tkmes.Ratio_byFolding->getTH1()->Divide(
2154  tkmes.TrackPt_PosEta_Phi_btw_16_0->getTH1(), tkmes.TrackPt_PosEta_Phi_btw_0_neg16->getTH1(), 1., 1., "B");
2155  tkmes.Ratio_byFolding2->getTH1()->Divide(
2156  tkmes.TrackPt_PosEta_Phi_btw_16_0->getTH1(), tkmes.TrackPt_PosEta_Phi_btw_32_16->getTH1(), 1., 1., "B");
2157  break;
2158  case 8:
2159  tkmes.Ratio_byFolding->getTH1()->Divide(tkmes.TrackPt_PosEta_Phi_btw_32_16->getTH1(),
2160  tkmes.TrackPt_PosEta_Phi_btw_neg16_neg32->getTH1(),
2161  1.,
2162  1.,
2163  "B");
2164  tkmes.Ratio_byFolding2->getTH1()->Divide(
2165  tkmes.TrackPt_PosEta_Phi_btw_32_16->getTH1(), tkmes.TrackPt_PosEta_Phi_btw_16_0->getTH1(), 1., 1., "B");
2166  break;
2167  }
2168  tkmes.Ratio_byFolding->setAxisTitle("Efficiency(Ratio)_" + std::to_string(WZ), 2);
2169  tkmes.Ratio_byFolding2->setAxisTitle("Efficiency(Ratio)_" + std::to_string(WZ), 2);
2170 
2171  if (track.quality(reco::TrackBase::highPurity)) {
2172  tkmes.TrackPtHighPurity->Fill(pt);
2173  tkmes.Quality->Fill(reco::TrackBase::highPurity, 1.);
2174  }
2175  if (track.quality(reco::TrackBase::tight)) {
2176  tkmes.TrackPtTight->Fill(pt);
2177  tkmes.Quality->Fill(reco::TrackBase::tight, 1.);
2178  }
2179  if (track.quality(reco::TrackBase::loose)) {
2180  tkmes.TrackPtLoose->Fill(pt);
2181  tkmes.Quality->Fill(reco::TrackBase::loose, 1.);
2182  }
2183  if (track.quality(reco::TrackBase::highPurity)) {
2184  tkmes.TrackEtaHighPurity->Fill(eta);
2185  }
2186  if (track.quality(reco::TrackBase::tight)) {
2187  tkmes.TrackEtaTight->Fill(eta);
2188  }
2189  if (track.quality(reco::TrackBase::loose)) {
2190  tkmes.TrackEtaLoose->Fill(eta);
2191  }
2192 
2193  if (p > 0.) {
2194  tkmes.TrackQoverP->Fill(q / p);
2195  }
2196  }
2197 
2198  tkmes.TrackEtaPhiInner->Fill(etaIn, phiIn);
2199  tkmes.TrackEtaPhiOuter->Fill(etaOut, phiOut);
2200 
2201  if (doThetaPlots_) {
2202  tkmes.TrackTheta->Fill(theta);
2203  }
2204  tkmes.TrackQ->Fill(q);
2205 
2206  // errors
2207  tkmes.TrackPtErr->Fill(pterror);
2208  tkmes.TrackPtErrVsEta->Fill(eta, pterror);
2209  if (doTrackPxPyPlots_) {
2210  tkmes.TrackPxErr->Fill(pxerror);
2211  tkmes.TrackPyErr->Fill(pyerror);
2212  }
2213  tkmes.TrackPzErr->Fill(pzerror);
2214  tkmes.TrackPErr->Fill(perror);
2215  tkmes.TrackPhiErr->Fill(phierror);
2216  tkmes.TrackEtaErr->Fill(etaerror);
2217 
2219  int nValidRecHits = track.numberOfValidHits();
2220  // rec hits
2221  tkmes.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nRecHits);
2222  if (doThetaPlots_) {
2223  tkmes.NumberOfRecHitsPerTrackVsTheta->Fill(theta, nRecHits);
2224  }
2225  tkmes.NumberOfRecHitsPerTrackVsEta->Fill(eta, nRecHits);
2226  tkmes.NumberOfValidRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
2227  tkmes.NumberOfValidRecHitsPerTrackVsEta->Fill(eta, nValidRecHits);
2228  tkmes.NumberOfValidRecHitsPerTrackVsPt->Fill(pt, nValidRecHits);
2229 
2231  // rec layers
2232  tkmes.NumberOfLayersPerTrackVsPhi->Fill(phi, nLayers);
2233  if (doThetaPlots_) {
2234  tkmes.NumberOfLayersPerTrackVsTheta->Fill(theta, nLayers);
2235  }
2236  tkmes.NumberOfLayersPerTrackVsEta->Fill(eta, nLayers);
2237 
2238  double chi2prob = TMath::Prob(track.chi2(), (int)track.ndof());
2239  double chi2oNDF = track.normalizedChi2();
2240 
2241  tkmes.Chi2oNDFVsEta->Fill(eta, chi2oNDF);
2242  tkmes.Chi2oNDFVsPt->Fill(pt, chi2oNDF);
2243  tkmes.Chi2oNDFVsNHits->Fill(nRecHits, chi2oNDF);
2244 
2245  if (doAllPlots_) {
2246  // general properties
2247  if (doThetaPlots_) {
2248  tkmes.Chi2oNDFVsTheta->Fill(theta, chi2oNDF);
2249  }
2250  tkmes.Chi2oNDFVsPhi->Fill(phi, chi2oNDF);
2251  tkmes.Chi2ProbVsPhi->Fill(phi, chi2prob);
2252  tkmes.Chi2ProbVsEta->Fill(eta, chi2prob);
2253  }
2254  }
2255 }
double p() const
momentum vector magnitude
Definition: TrackBase.h:599
constexpr int nLayers
Definition: Common.h:13
T perp() const
Definition: PV3DBase.h:69
const double w
Definition: UKUtility.cc:23
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:572
double theta() const
polar angle
Definition: TrackBase.h:581
const CurvilinearTrajectoryError & curvilinearError() const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
const CartesianTrajectoryError cartesianError() const
Geom::Theta< T > theta() const
reco::TransientTrack build(const reco::Track *p) const
T y() const
Definition: PV3DBase.h:60
double etaError() const
error on eta
Definition: TrackBase.h:710
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:614
std::map< std::string, TkParameterMEs > TkParameterMEMap
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:605
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:62
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:513
TrajectoryStateOnSurface innermostMeasurementState() const
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:56
T mag() const
Definition: PV3DBase.h:64
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:566
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:569
T sqrt(T t)
Definition: SSEVec.h:19
double pt() const
track transverse momentum
Definition: TrackBase.h:602
T z() const
Definition: PV3DBase.h:61
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:696
std::string TopFolder_
Definition: TrackAnalyzer.h:75
double phiError() const
error on phi
Definition: TrackBase.h:713
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:774
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
TrajectoryStateOnSurface outermostMeasurementState() const
ii
Definition: cuy.py:590
const AlgebraicSymMatrix66 & matrix() const
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:611
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
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:483
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:531
T eta() const
Definition: PV3DBase.h:73
bool doTrackPxPyPlots_
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
T get() const
Definition: EventSetup.h:73
int charge() const
track electric charge
Definition: TrackBase.h:575
TrajectoryStateOnSurface impactPointState() const
Definition: errors.py:1
T x() const
Definition: PV3DBase.h:59
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:608
void TrackAnalyzer::fillHistosForTrackerSpecific ( const reco::Track track)
private

Definition at line 2369 of file TrackAnalyzer.cc.

References PVValHelper::eta, reco::TrackBase::eta(), reco::TrackBase::hitPattern(), reco::HitPattern::numberOfValidPixelBarrelHits(), reco::HitPattern::numberOfValidPixelEndcapHits(), reco::HitPattern::numberOfValidStripTECHits(), reco::HitPattern::numberOfValidStripTIBHits(), reco::HitPattern::numberOfValidStripTIDHits(), reco::HitPattern::numberOfValidStripTOBHits(), phi, reco::TrackBase::phi(), PixelSubdetector::PixelBarrel, reco::HitPattern::pixelBarrelLayersWithMeasurement(), PixelSubdetector::PixelEndcap, reco::HitPattern::pixelEndcapLayersWithMeasurement(), DiDispStaMuonMonitor_cfi::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().

2369  {
2370  double phi = track.phi();
2371  double eta = track.eta();
2372  double pt = track.pt();
2373 
2374  for (std::map<std::string, TkRecHitsPerSubDetMEs>::iterator it = TkRecHitsPerSubDetMEMap.begin();
2375  it != TkRecHitsPerSubDetMEMap.end();
2376  it++) {
2377  int nValidLayers = 0;
2378  int nValidRecHits = 0;
2379  int substr = it->second.detectorId;
2380  switch (substr) {
2381  case 0:
2382  nValidLayers = track.hitPattern().pixelBarrelLayersWithMeasurement() +
2383  track.hitPattern().pixelEndcapLayersWithMeasurement(); // case 0: pixel
2384  nValidRecHits = track.hitPattern().numberOfValidPixelBarrelHits() +
2385  track.hitPattern().numberOfValidPixelEndcapHits(); // case 0: pixel
2386  break;
2387  case StripSubdetector::TIB:
2388  nValidLayers = track.hitPattern().stripTIBLayersWithMeasurement(); // case 3: strip TIB
2389  nValidRecHits = track.hitPattern().numberOfValidStripTIBHits(); // case 3: strip TIB
2390  break;
2391  case StripSubdetector::TID:
2392  nValidLayers = track.hitPattern().stripTIDLayersWithMeasurement(); // case 4: strip TID
2393  nValidRecHits = track.hitPattern().numberOfValidStripTIDHits(); // case 4: strip TID
2394  break;
2395  case StripSubdetector::TOB:
2396  nValidLayers = track.hitPattern().stripTOBLayersWithMeasurement(); // case 5: strip TOB
2397  nValidRecHits = track.hitPattern().numberOfValidStripTOBHits(); // case 5: strip TOB
2398  break;
2399  case StripSubdetector::TEC:
2400  nValidLayers = track.hitPattern().stripTECLayersWithMeasurement(); // case 6: strip TEC
2401  nValidRecHits = track.hitPattern().numberOfValidStripTECHits(); // case 6: strip TEC
2402  break;
2404  nValidLayers = track.hitPattern().pixelBarrelLayersWithMeasurement(); // case 1: pixel PXB
2405  nValidRecHits = track.hitPattern().numberOfValidPixelBarrelHits(); // case 1: pixel PXB
2406  break;
2408  nValidLayers = track.hitPattern().pixelEndcapLayersWithMeasurement(); // case 2: pixel PXF
2409  nValidRecHits = track.hitPattern().numberOfValidPixelEndcapHits(); // case 2: pixel PXF
2410  break;
2411  case 7:
2412  nValidLayers = track.hitPattern().stripTIBLayersWithMeasurement() // case 7: strip
2416  nValidRecHits = track.hitPattern().numberOfValidStripTIBHits() // case 7: strip
2419  break;
2420  default:
2421  break;
2422  }
2423 
2424  //Fill Layers and RecHits
2425  it->second.NumberOfRecHitsPerTrack->Fill(nValidRecHits);
2426  it->second.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
2427  it->second.NumberOfRecHitsPerTrackVsEta->Fill(eta, nValidRecHits);
2428  it->second.NumberOfRecHitsPerTrackVsPt->Fill(pt, nValidRecHits);
2429 
2430  it->second.NumberOfLayersPerTrack->Fill(nValidLayers);
2431  it->second.NumberOfLayersPerTrackVsPhi->Fill(phi, nValidLayers);
2432  it->second.NumberOfLayersPerTrackVsEta->Fill(eta, nValidLayers);
2433  it->second.NumberOfLayersPerTrackVsPt->Fill(pt, nValidLayers);
2434  }
2435 }
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:597
static constexpr auto TEC
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:577
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:614
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:566
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:825
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:805
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:587
double pt() const
track transverse momentum
Definition: TrackBase.h:602
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:821
int numberOfValidStripTECHits() const
Definition: HitPattern.h:829
static constexpr auto TOB
static constexpr auto TIB
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:555
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:817
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:809
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:607
static constexpr auto TID
void TrackAnalyzer::initHisto ( DQMStore::IBooker ibooker,
const edm::EventSetup iSetup,
const edm::ParameterSet iConfig 
)

Definition at line 180 of file TrackAnalyzer.cc.

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

Referenced by TrackingMonitor::bookHistograms().

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

Definition at line 95 of file TrackAnalyzer.cc.

References AbsDistanceOfClosestApproachToBS, algorithm, Chi2oNDF, Chi2oNDF_lumiFlag, Chi2oNDFVsEta, Chi2oNDFVsPhi, Chi2oNDFVsTheta, Chi2Prob, Chi2ProbVsEta, Chi2ProbVsPhi, DeltaZToPV, DeltaZToPVZoom, DistanceOfClosestApproach, DistanceOfClosestApproachError, DistanceOfClosestApproachErrorVsDxy, DistanceOfClosestApproachErrorVsEta, DistanceOfClosestApproachErrorVsPhi, DistanceOfClosestApproachErrorVsPt, DistanceOfClosestApproachToBS, DistanceOfClosestApproachToBSdz, DistanceOfClosestApproachToBSVsEta, 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().

95  {
96  Chi2 = nullptr;
97  Chi2Prob = nullptr;
98  Chi2ProbVsPhi = nullptr;
99  Chi2ProbVsEta = nullptr;
100  Chi2oNDF = nullptr;
101  Chi2oNDFVsEta = nullptr;
102  Chi2oNDFVsPhi = nullptr;
103  Chi2oNDFVsTheta = nullptr;
104 
105  NumberOfRecHitsPerTrack = nullptr;
107  NumberOfLostRecHitsPerTrack = nullptr;
108 
112 
114 
117 
118  DistanceOfClosestApproach = nullptr;
129  DeltaZToPV = nullptr;
130  DeltaZToPVZoom = nullptr;
137  xPointOfClosestApproach = nullptr;
140  yPointOfClosestApproach = nullptr;
143  zPointOfClosestApproach = nullptr;
145  algorithm = nullptr;
146  oriAlgo = nullptr;
147  stoppingSource = nullptr;
148  stoppingSourceVSeta = nullptr;
149  stoppingSourceVSphi = nullptr;
150  // TESTING
153 
154  // by Mia in order to deal w/ LS transitions
155  Chi2oNDF_lumiFlag = nullptr;
157 
159  //special Plots for HI DQM //SHOULD I ADD THE BOOL HERE??
161  LongDCASig = nullptr;
162  TransDCASig = nullptr;
163  dNdPhi_HighPurity = nullptr;
164  dNdEta_HighPurity = nullptr;
165  dNdPt_HighPurity = nullptr;
166  NhitVsEta_HighPurity = nullptr;
167  NhitVsPhi_HighPurity = nullptr;
168 
169  // IP significance
170  sipDxyToBS = nullptr;
171  sipDzToBS = nullptr;
172  sip3dToPV = nullptr;
173  sip2dToPV = nullptr;
174  sipDxyToPV = nullptr;
175  sipDzToPV = nullptr;
176 }
MonitorElement * stoppingSourceVSphi
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachError
MonitorElement * DistanceOfClosestApproachToBSdz
MonitorElement * stoppingSourceVSeta
MonitorElement * DeltaZToPVZoom
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * DistanceOfClosestApproachErrorVsPhi
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * sip3dToPV
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * Chi2oNDFVsPhi
MonitorElement * Chi2ProbVsPhi
MonitorElement * DistanceOfClosestApproachErrorVsPt
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * sipDzToBS
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * algorithm
MonitorElement * DistanceOfClosestApproach
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
MonitorElement * DeltaZToPV
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * DistanceOfClosestApproachToBSVsEta
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * TransDCASig
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * oriAlgo
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDFVsTheta
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * dNdPt_HighPurity
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * dNdPhi_HighPurity
MonitorElement * sip2dToPV
MonitorElement * DistanceOfClosestApproachErrorVsDxy
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * dNdEta_HighPurity
MonitorElement * stoppingSource
MonitorElement * DistanceOfClosestApproachErrorVsEta
MonitorElement * sipDxyToPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * DistanceOfClosestApproachToBSVsPhi
MonitorElement * NhitVsEta_HighPurity
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * yPointOfClosestApproach
MonitorElement * Chi2Prob
Definition: Chi2.h:15
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * zPointOfClosestApproach
MonitorElement * Chi2ProbVsEta
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * Chi2oNDF
MonitorElement * Chi2oNDFVsEta
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * LongDCASig
void TrackAnalyzer::setBX ( const edm::Event iEvent)

Definition at line 1104 of file TrackAnalyzer.cc.

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

Referenced by TrackingMonitor::analyze().

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

Definition at line 1107 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_, V0Monitor_cfi::lumiScalers, lumiscalersToken_, minNumberOfPixelsPerCluster_, minPixelClusterCharge_, pixel_lumi_, PixelSubdetector::PixelBarrel, LumiMonitor_cff::pixelClusters, pixelClustersToken_, edm::ESHandle< T >::product(), scal_lumi_, edmNew::DetSet< T >::size(), and DetId::subdetId().

Referenced by TrackingMonitor::analyze().

1107  {
1108  // as done by pixelLumi http://cmslxr.fnal.gov/source/DQM/PixelLumi/plugins/PixelLumiDQM.cc
1109 
1111  iEvent.getByToken(lumiscalersToken_, lumiScalers);
1112  if (lumiScalers.isValid() && !lumiScalers->empty()) {
1113  LumiScalersCollection::const_iterator scalit = lumiScalers->begin();
1114  scal_lumi_ = scalit->instantLumi();
1115  } else
1116  scal_lumi_ = -1;
1117 
1119  iEvent.getByToken(pixelClustersToken_, pixelClusters);
1120  if (pixelClusters.isValid()) {
1121  edm::ESHandle<TrackerTopology> tTopoHandle;
1122  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
1123  const TrackerTopology* const tTopo = tTopoHandle.product();
1124 
1125  // Count the number of clusters with at least a minimum
1126  // number of pixels per cluster and at least a minimum charge.
1127  size_t numClusters = 0;
1128  size_t tot = 0;
1129 
1130  edmNew::DetSetVector<SiPixelCluster>::const_iterator pixCluDet = pixelClusters->begin();
1131  for (; pixCluDet != pixelClusters->end(); ++pixCluDet) {
1132  DetId detid = pixCluDet->detId();
1133  size_t subdetid = detid.subdetId();
1134  // std::cout << tTopo->print(detid) << std::endl;
1135  if (subdetid == (int)PixelSubdetector::PixelBarrel)
1136  if (tTopo->layer(detid) == 1)
1137  continue;
1138 
1140  for (; pixClu != pixCluDet->end(); ++pixClu) {
1141  ++tot;
1142  if ((pixClu->size() >= minNumberOfPixelsPerCluster_) && (pixClu->charge() >= minPixelClusterCharge_)) {
1143  ++numClusters;
1144  }
1145  }
1146  }
1147  pixel_lumi_ = lumi_factor_per_bx_ * numClusters / GetLumi::CM2_TO_NANOBARN; // ?!?!
1148  } else
1149  pixel_lumi_ = -1.;
1150 }
const_iterator end(bool update=false) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
data_type const * const_iterator
Definition: DetSetNew.h:31
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static double CM2_TO_NANOBARN
Definition: GetLumi.h:42
bool isValid() const
Definition: HandleBase.h:70
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetId.h:17
int minNumberOfPixelsPerCluster_
unsigned int layer(const DetId &id) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
Definition: TrackAnalyzer.h:79
T get() const
Definition: EventSetup.h:73
float minPixelClusterCharge_
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
Definition: TrackAnalyzer.h:80
size_type size() const
Definition: DetSetNew.h:68
float lumi_factor_per_bx_
Definition: TrackAnalyzer.h:81
T const * product() const
Definition: ESHandle.h:86
const_iterator begin(bool update=false) const
void TrackAnalyzer::setLumiFlag ( )

Definition at line 2439 of file TrackAnalyzer.cc.

References Chi2oNDF_lumiFlag, NumberOfRecHitsPerTrack_lumiFlag, and dqm::impl::MonitorElement::setLumiFlag().

Referenced by TrackingMonitor::bookHistograms().

2439  {
2440  TkParameterMEs tkmes;
2441  if (Chi2oNDF_lumiFlag)
2445 }
MonitorElement * Chi2oNDF_lumiFlag
void setLumiFlag()
this ME is meant to be stored for each luminosity section
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
void TrackAnalyzer::setNumberOfGoodVertices ( const edm::Event iEvent)

Definition at line 1092 of file TrackAnalyzer.cc.

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

Referenced by TrackingMonitor::analyze().

1092  {
1093  good_vertices_ = 0;
1094 
1095  edm::Handle<reco::VertexCollection> recoPrimaryVerticesHandle;
1096  iEvent.getByToken(pvToken_, recoPrimaryVerticesHandle);
1097  if (recoPrimaryVerticesHandle.isValid())
1098  if (!recoPrimaryVerticesHandle->empty())
1099  for (auto v : *recoPrimaryVerticesHandle)
1100  if (v.ndof() >= pvNDOF_ && !v.isFake())
1101  ++good_vertices_;
1102 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
bool isValid() const
Definition: HandleBase.h:70
unsigned int good_vertices_
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:78

Member Data Documentation

MonitorElement* TrackAnalyzer::AbsDistanceOfClosestApproachToBS
private

Definition at line 394 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::algorithm
private

Definition at line 418 of file TrackAnalyzer.h.

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

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

Definition at line 77 of file TrackAnalyzer.h.

Referenced by analyze(), and TrackAnalyzer().

unsigned int TrackAnalyzer::bx_
private

Definition at line 490 of file TrackAnalyzer.h.

Referenced by analyze(), and setBX().

MonitorElement* TrackAnalyzer::Chi2
private

Definition at line 372 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::Chi2oNDF
private

Definition at line 374 of file TrackAnalyzer.h.

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

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

Definition at line 378 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2oNDFVsNHits = 0
private

Definition at line 376 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::Chi2oNDFVsPhi
private

Definition at line 379 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2oNDFVsPt = 0
private

Definition at line 377 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::Chi2oNDFVsTheta
private

Definition at line 380 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2Prob
private

Definition at line 373 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::Chi2ProbVsEta
private

Definition at line 382 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2ProbVsPhi
private

Definition at line 383 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::Chi2ProbVsTheta
private

Definition at line 384 of file TrackAnalyzer.h.

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

Definition at line 397 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DeltaZToPVZoom
private

Definition at line 398 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproach
private

Definition at line 386 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachError
private

Definition at line 387 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachErrorVsDxy
private

Definition at line 391 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachErrorVsEta
private

Definition at line 389 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachErrorVsPhi
private

Definition at line 390 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachErrorVsPt
private

Definition at line 388 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBS
private

Definition at line 392 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBSdz
private

Definition at line 393 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBSVsEta
private

Definition at line 402 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToBSVsPhi
private

Definition at line 401 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToPV
private

Definition at line 395 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToPVVsPhi
private

Definition at line 403 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachToPVZoom
private

Definition at line 396 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsEta
private

Definition at line 404 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsPhi
private

Definition at line 400 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::DistanceOfClosestApproachVsTheta
private

Definition at line 399 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::dNdEta_HighPurity
private

Definition at line 434 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::dNdPhi_HighPurity
private

Definition at line 433 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::dNdPt_HighPurity
private

Definition at line 435 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::dNhitdPt_HighPurity
private

Definition at line 439 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

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

Definition at line 89 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doDCAPlots_
private

Definition at line 91 of file TrackAnalyzer.h.

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

bool TrackAnalyzer::doDCAwrt000Plots_
private

Definition at line 111 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

bool TrackAnalyzer::doDCAwrtPVPlots_
private

Definition at line 110 of file TrackAnalyzer.h.

bool TrackAnalyzer::doEffFromHitPatternVsBX_
private

Definition at line 127 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doEffFromHitPatternVsLUMI_
private

Definition at line 128 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doEffFromHitPatternVsPU_
private

Definition at line 126 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doGeneralPropertiesPlots_
private

Definition at line 92 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doHIPlots_
private

Definition at line 119 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doHitPropertiesPlots_
private

Definition at line 94 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doLayersVsPhiVsEtaPerTrack_
private

Definition at line 98 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doLumiAnalysis_
private

Definition at line 113 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForLScertification().

bool TrackAnalyzer::doMeasurementStatePlots_
private

Definition at line 93 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doPVPlots_
private

Definition at line 90 of file TrackAnalyzer.h.

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

bool TrackAnalyzer::doRecHitsPerTrackProfile_
private

Definition at line 103 of file TrackAnalyzer.h.

bool TrackAnalyzer::doRecHitVsPhiVsEtaPerTrack_
private

Definition at line 95 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doRecHitVsPtVsEtaPerTrack_
private

Definition at line 96 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

bool TrackAnalyzer::doSIPPlots_
private

Definition at line 122 of file TrackAnalyzer.h.

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

bool TrackAnalyzer::doTestPlots_
private

Definition at line 116 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

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

Definition at line 102 of file TrackAnalyzer.h.

bool TrackAnalyzer::doTrackerSpecific_
private

Definition at line 87 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

bool TrackAnalyzer::doTrackLayersVsPhiVsEtaPerTrack_
private

Definition at line 101 of file TrackAnalyzer.h.

bool TrackAnalyzer::doTrackPxPyPlots_
private

Definition at line 107 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

bool TrackAnalyzer::doTrackRecHitVsPhiVsEtaPerTrack_
private

Definition at line 99 of file TrackAnalyzer.h.

bool TrackAnalyzer::doTrackRecHitVsPtVsEtaPerTrack_
private

Definition at line 100 of file TrackAnalyzer.h.

unsigned int TrackAnalyzer::good_vertices_
private

Definition at line 489 of file TrackAnalyzer.h.

Referenced by analyze(), and setNumberOfGoodVertices().

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

Definition at line 487 of file TrackAnalyzer.h.

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

Definition at line 486 of file TrackAnalyzer.h.

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

Definition at line 485 of file TrackAnalyzer.h.

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

Definition at line 431 of file TrackAnalyzer.h.

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

float TrackAnalyzer::lumi_factor_per_bx_
private

Definition at line 81 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

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

Definition at line 80 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

int TrackAnalyzer::minNumberOfPixelsPerCluster_
private

Definition at line 131 of file TrackAnalyzer.h.

Referenced by setLumi().

float TrackAnalyzer::minPixelClusterCharge_
private

Definition at line 132 of file TrackAnalyzer.h.

Referenced by setLumi().

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

Definition at line 436 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::NhitVsPhi_HighPurity
private

Definition at line 437 of file TrackAnalyzer.h.

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

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

Definition at line 364 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsEta
private

Definition at line 368 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsPhi
private

Definition at line 366 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLayersPerTrackVsTheta
private

Definition at line 367 of file TrackAnalyzer.h.

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

Definition at line 370 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrack
private

Definition at line 324 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrackVsEta = 0
private

Definition at line 342 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrackVsPhi = 0
private

Definition at line 340 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrackVsPt = 0
private

Definition at line 343 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfLostRecHitsPerTrackVsTheta = 0
private

Definition at line 341 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfLostRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 344 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfLostRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 345 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMIRecHitsPerTrack = 0
private

Definition at line 325 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMIRecHitsPerTrackVsEta = 0
private

Definition at line 349 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMIRecHitsPerTrackVsPhi = 0
private

Definition at line 347 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMIRecHitsPerTrackVsPt = 0
private

Definition at line 350 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMIRecHitsPerTrackVsTheta = 0
private

Definition at line 348 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMIRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 351 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMIRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 352 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMORecHitsPerTrack = 0
private

Definition at line 326 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMORecHitsPerTrackVsEta = 0
private

Definition at line 356 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMORecHitsPerTrackVsPhi = 0
private

Definition at line 354 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMORecHitsPerTrackVsPt = 0
private

Definition at line 357 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMORecHitsPerTrackVsTheta = 0
private

Definition at line 355 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfMORecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 358 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfMORecHitVsPtVsEtaPerTrack = 0
private

Definition at line 359 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrack
private

Definition at line 322 of file TrackAnalyzer.h.

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

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

Definition at line 330 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrackVsPhi = 0
private

Definition at line 328 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitsPerTrackVsTheta = 0
private

Definition at line 329 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 331 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrack
private

Definition at line 323 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsEta = 0
private

Definition at line 335 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsPhi = 0
private

Definition at line 333 of file TrackAnalyzer.h.

Referenced by initHistos().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsPt = 0
private

Definition at line 336 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitsPerTrackVsTheta = 0
private

Definition at line 334 of file TrackAnalyzer.h.

MonitorElement* TrackAnalyzer::NumberOfValidRecHitVsPhiVsEtaPerTrack = 0
private

Definition at line 337 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::NumberOfValidRecHitVsPtVsEtaPerTrack = 0
private

Definition at line 338 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement * TrackAnalyzer::oriAlgo
private

Definition at line 418 of file TrackAnalyzer.h.

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

float TrackAnalyzer::pixel_lumi_
private

Definition at line 491 of file TrackAnalyzer.h.

Referenced by setLumi().

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

Definition at line 79 of file TrackAnalyzer.h.

Referenced by setLumi(), and TrackAnalyzer().

MonitorElement* TrackAnalyzer::Ptdist_HighPurity
private

Definition at line 438 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

int TrackAnalyzer::pvNDOF_
private

Definition at line 129 of file TrackAnalyzer.h.

Referenced by setNumberOfGoodVertices().

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

Definition at line 78 of file TrackAnalyzer.h.

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

std::string TrackAnalyzer::qualityString_
private

Definition at line 133 of file TrackAnalyzer.h.

Referenced by analyze().

float TrackAnalyzer::scal_lumi_
private

Definition at line 492 of file TrackAnalyzer.h.

Referenced by analyze(), and setLumi().

MonitorElement* TrackAnalyzer::sip2dToPV
private

Definition at line 445 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::sip3dToPV
private

Definition at line 444 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::sipDxyToBS
private

Definition at line 442 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::sipDxyToPV
private

Definition at line 446 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::sipDzToBS
private

Definition at line 443 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::sipDzToPV
private

Definition at line 447 of file TrackAnalyzer.h.

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

std::string TrackAnalyzer::stateName_
private

Definition at line 85 of file TrackAnalyzer.h.

Referenced by analyze(), and initHisto().

MonitorElement* TrackAnalyzer::stoppingSource
private

Definition at line 419 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::stoppingSourceVSeta
private

Definition at line 420 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::stoppingSourceVSphi
private

Definition at line 421 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::TESTDistanceOfClosestApproachToBS
private

Definition at line 423 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::TESTDistanceOfClosestApproachToBSVsPhi
private

Definition at line 424 of file TrackAnalyzer.h.

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

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

Definition at line 320 of file TrackAnalyzer.h.

Referenced by bookHistosForState(), and fillHistosForState().

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

Definition at line 463 of file TrackAnalyzer.h.

Referenced by bookHistosForTrackerSpecific(), and fillHistosForTrackerSpecific().

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

Definition at line 432 of file TrackAnalyzer.h.

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

bool TrackAnalyzer::useBPixLayer1_
private

Definition at line 130 of file TrackAnalyzer.h.

Referenced by TrackAnalyzer().

MonitorElement* TrackAnalyzer::ValidFractionPerTrack = 0
private

Definition at line 361 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::ValidFractionVsPhiVsEtaPerTrack = 0
private

Definition at line 362 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::xPointOfClosestApproach
private

Definition at line 405 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::xPointOfClosestApproachToPV
private

Definition at line 406 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrt000
private

Definition at line 407 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrtBS
private

Definition at line 408 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::xPointOfClosestApproachVsZ0wrtPV
private

Definition at line 409 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::yPointOfClosestApproach
private

Definition at line 410 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::yPointOfClosestApproachToPV
private

Definition at line 411 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrt000
private

Definition at line 412 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrtBS
private

Definition at line 413 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::yPointOfClosestApproachVsZ0wrtPV
private

Definition at line 414 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForBeamSpot().

MonitorElement* TrackAnalyzer::zPointOfClosestApproach
private

Definition at line 415 of file TrackAnalyzer.h.

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

MonitorElement* TrackAnalyzer::zPointOfClosestApproachToPV
private

Definition at line 416 of file TrackAnalyzer.h.

Referenced by analyze(), and bookHistosForHitProperties().

MonitorElement* TrackAnalyzer::zPointOfClosestApproachVsPhi
private

Definition at line 417 of file TrackAnalyzer.h.

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