test
CMS 3D CMS Logo

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

#include <MTVHistoProducerAlgoForTracker.h>

Public Member Functions

void bookRecodEdxHistos (DQMStore::IBooker &ibook)
 
void bookRecoHistos (DQMStore::IBooker &ibook)
 
void bookRecoPVAssociationHistos (DQMStore::IBooker &ibook)
 
void bookSeedHistos (DQMStore::IBooker &ibook)
 
void bookSimHistos (DQMStore::IBooker &ibook)
 
void bookSimTrackHistos (DQMStore::IBooker &ibook)
 
void bookSimTrackPVAssociationHistos (DQMStore::IBooker &ibook)
 
void fill_dedx_recoTrack_histos (int count, const edm::RefToBase< reco::Track > &trackref, const std::vector< const edm::ValueMap< reco::DeDxData > * > &v_dEdx)
 
void fill_generic_recoTrack_histos (int count, const reco::Track &track, const math::XYZPoint &bsPosition, const math::XYZPoint *pvPosition, bool isMatched, bool isSigMatched, bool isChargeMatched, int numAssocRecoTracks, int numVertices, int nSimHits, double sharedFraction, double dR)
 
void fill_generic_simTrack_histos (const TrackingParticle::Vector &, const TrackingParticle::Point &vertex, int bx)
 
void fill_recoAssociated_simTrack_histos (int count, const TrackingParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, double dxyPV, double dzPV, int nSimHits, int nSimLayers, int nSimPixelLayers, int nSimStripMonoAndStereoLayers, const reco::Track *track, int numVertices, double dR, const math::XYZPoint *pvPosition)
 
void fill_recoAssociated_simTrack_histos (int count, const reco::GenParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, int nSimHits, const reco::Track *track, int numVertices)
 
void fill_ResoAndPull_recoTrack_histos (int count, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, int chargeTP, const reco::Track &track, const math::XYZPoint &bsPosition)
 
void fill_seed_histos (int count, int seedsFitFailed, int seedsTotal)
 
void fill_simAssociated_recoTrack_histos (int count, const reco::Track &track)
 
void fill_simTrackBased_histos (int numSimTracks)
 
void fill_trackBased_histos (int count, int assTracks, int numRecoTracks, int numSimTracks)
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
 ~MTVHistoProducerAlgoForTracker ()
 

Private Member Functions

double getEta (double eta)
 
double getPt (double pt)
 
void getRecoMomentum (const reco::Track &track, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
 retrieval of reconstructed momentum components from reco::Track (== mean values for GSF) More...
 
void getRecoMomentum (const reco::GsfTrack &gsfTrack, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
 retrieval of reconstructed momentum components based on the mode of a reco::GsfTrack More...
 

Private Attributes

std::vector< MonitorElement * > chi2_vs_eta
 
std::vector< MonitorElement * > chi2_vs_nhits
 
std::vector< MonitorElement * > chi2_vs_phi
 
int cotThetaRes_nbin
 
double cotThetaRes_rangeMax
 
double cotThetaRes_rangeMin
 
std::vector< MonitorElement * > cotThetares_vs_eta
 
std::vector< MonitorElement * > cotThetares_vs_pt
 
std::vector< MonitorElement * > dxypull_vs_eta
 
int dxyRes_nbin
 
double dxyRes_rangeMax
 
double dxyRes_rangeMin
 
std::vector< MonitorElement * > dxyres_vs_eta
 
std::vector< MonitorElement * > dxyres_vs_pt
 
std::vector< MonitorElement * > dzpull_vs_eta
 
int dzRes_nbin
 
double dzRes_rangeMax
 
double dzRes_rangeMin
 
std::vector< MonitorElement * > dzres_vs_eta
 
std::vector< MonitorElement * > dzres_vs_pt
 
std::vector< MonitorElement * > etares_vs_eta
 
std::unique_ptr
< GenParticleCustomSelector
generalGpSelector
 
std::unique_ptr
< TrackingParticleSelector
generalTpSelector
 
std::unique_ptr
< GenParticleCustomSelector
GpSelectorForEfficiencyVsEta
 
std::unique_ptr
< GenParticleCustomSelector
GpSelectorForEfficiencyVsPhi
 
std::unique_ptr
< GenParticleCustomSelector
GpSelectorForEfficiencyVsPt
 
std::unique_ptr
< GenParticleCustomSelector
GpSelectorForEfficiencyVsVTXR
 
std::unique_ptr
< GenParticleCustomSelector
GpSelectorForEfficiencyVsVTXZ
 
std::vector< MonitorElement * > h_algo
 
std::vector< MonitorElement * > h_assoc23Dlayer
 
std::vector< MonitorElement * > h_assoc2_dzpvcut
 
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
 
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
 
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_assoc2_itpu_eta
 
std::vector< MonitorElement * > h_assoc2_itpu_sig_eta
 
std::vector< MonitorElement * > h_assoc2_itpu_sig_vertcount
 
std::vector< MonitorElement * > h_assoc2_itpu_vertcount
 
std::vector< MonitorElement * > h_assoc2_ootpu_eta
 
std::vector< MonitorElement * > h_assoc2_ootpu_vertcount
 
std::vector< MonitorElement * > h_assoc2chi2
 
std::vector< MonitorElement * > h_assoc2dr
 
std::vector< MonitorElement * > h_assoc2dxy
 
std::vector< MonitorElement * > h_assoc2dxypv
 
std::vector< MonitorElement * > h_assoc2dz
 
std::vector< MonitorElement * > h_assoc2dzpv
 
std::vector< MonitorElement * > h_assoc2eta
 
std::vector< MonitorElement * > h_assoc2eta_sig
 
std::vector< MonitorElement * > h_assoc2hit
 
std::vector< MonitorElement * > h_assoc2layer
 
std::vector< MonitorElement * > h_assoc2phi
 
std::vector< MonitorElement * > h_assoc2pixellayer
 
std::vector< MonitorElement * > h_assoc2pT
 
std::vector< MonitorElement * > h_assoc2pu
 
std::vector< MonitorElement * > h_assoc2vertpos
 
std::vector< MonitorElement * > h_assoc2zpos
 
std::vector< MonitorElement * > h_assoc3Dlayer
 
std::vector< MonitorElement * > h_assoc_dzpvcut
 
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
 
std::vector< MonitorElement * > h_assoc_dzpvsigcut
 
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_assocdr
 
std::vector< MonitorElement * > h_assocdxy
 
std::vector< MonitorElement * > h_assocdxypv
 
std::vector< MonitorElement * > h_assocdz
 
std::vector< MonitorElement * > h_assocdzpv
 
std::vector< MonitorElement * > h_assoceta
 
std::vector< MonitorElement * > h_assocFraction
 
std::vector< MonitorElement * > h_assochi2
 
std::vector< MonitorElement * > h_assochi2_prob
 
std::vector< MonitorElement * > h_assochit
 
std::vector< MonitorElement * > h_assoclayer
 
std::vector< MonitorElement * > h_assocphi
 
std::vector< MonitorElement * > h_assocpixellayer
 
std::vector< MonitorElement * > h_assocpT
 
std::vector< MonitorElement * > h_assocpu
 
std::vector< MonitorElement * > h_assocSharedHit
 
std::vector< MonitorElement * > h_assocvertpos
 
std::vector< MonitorElement * > h_assoczpos
 
MonitorElementh_bunchxSIM
 
std::vector< MonitorElement * > h_charge
 
std::vector< MonitorElement * > h_con_eta
 
std::vector< MonitorElement * > h_con_vertcount
 
std::vector< MonitorElement * > h_con_zpos
 
std::vector< std::vector
< MonitorElement * > > 
h_dedx_estim
 
std::vector< std::vector
< MonitorElement * > > 
h_dedx_nom
 
std::vector< std::vector
< MonitorElement * > > 
h_dedx_sat
 
std::vector< MonitorElement * > h_eta
 
MonitorElementh_etaSIM
 
std::vector< MonitorElement * > h_fakes
 
std::vector< MonitorElement * > h_hits
 
std::vector< MonitorElement * > h_looper3Dlayer
 
std::vector< MonitorElement * > h_looperchi2
 
std::vector< MonitorElement * > h_looperdr
 
std::vector< MonitorElement * > h_looperdxy
 
std::vector< MonitorElement * > h_looperdxypv
 
std::vector< MonitorElement * > h_looperdz
 
std::vector< MonitorElement * > h_looperdzpv
 
std::vector< MonitorElement * > h_loopereta
 
std::vector< MonitorElement * > h_looperhit
 
std::vector< MonitorElement * > h_looperlayer
 
std::vector< MonitorElement * > h_looperphi
 
std::vector< MonitorElement * > h_looperpixellayer
 
std::vector< MonitorElement * > h_looperpT
 
std::vector< MonitorElement * > h_looperpu
 
std::vector< MonitorElement * > h_loopervertpos
 
std::vector< MonitorElement * > h_looperzpos
 
std::vector< MonitorElement * > h_losthits
 
std::vector< MonitorElement * > h_misid3Dlayer
 
std::vector< MonitorElement * > h_misidchi2
 
std::vector< MonitorElement * > h_misiddxy
 
std::vector< MonitorElement * > h_misiddxypv
 
std::vector< MonitorElement * > h_misiddz
 
std::vector< MonitorElement * > h_misiddzpv
 
std::vector< MonitorElement * > h_misideta
 
std::vector< MonitorElement * > h_misidhit
 
std::vector< MonitorElement * > h_misidlayer
 
std::vector< MonitorElement * > h_misidphi
 
std::vector< MonitorElement * > h_misidpixellayer
 
std::vector< MonitorElement * > h_misidpT
 
std::vector< MonitorElement * > h_misidpu
 
std::vector< MonitorElement * > h_nchi2
 
std::vector< MonitorElement * > h_nchi2_prob
 
std::vector< MonitorElement * > h_nmisslayers_inner
 
std::vector< MonitorElement * > h_nmisslayers_outer
 
std::vector< MonitorElement * > h_pileup3Dlayer
 
std::vector< MonitorElement * > h_pileup_dzpvcut
 
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
 
std::vector< MonitorElement * > h_pileup_dzpvsigcut
 
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_pileupchi2
 
std::vector< MonitorElement * > h_pileupdr
 
std::vector< MonitorElement * > h_pileupdxy
 
std::vector< MonitorElement * > h_pileupdxypv
 
std::vector< MonitorElement * > h_pileupdz
 
std::vector< MonitorElement * > h_pileupdzpv
 
std::vector< MonitorElement * > h_pileupeta
 
std::vector< MonitorElement * > h_pileuphit
 
std::vector< MonitorElement * > h_pileuplayer
 
std::vector< MonitorElement * > h_pileupphi
 
std::vector< MonitorElement * > h_pileuppixellayer
 
std::vector< MonitorElement * > h_pileuppT
 
std::vector< MonitorElement * > h_pileuppu
 
std::vector< MonitorElement * > h_pileupvertpos
 
std::vector< MonitorElement * > h_pileupzpos
 
std::vector< MonitorElement * > h_pt
 
std::vector< MonitorElement * > h_ptshifteta
 
MonitorElementh_ptSIM
 
std::vector< MonitorElement * > h_pullDxy
 
std::vector< MonitorElement * > h_pullDz
 
std::vector< MonitorElement * > h_pullPhi
 
std::vector< MonitorElement * > h_pullQoverp
 
std::vector< MonitorElement * > h_pullTheta
 
std::vector< MonitorElement * > h_reco3Dlayer
 
std::vector< MonitorElement * > h_reco_dzpvcut
 
std::vector< MonitorElement * > h_reco_dzpvcut_pt
 
std::vector< MonitorElement * > h_reco_dzpvsigcut
 
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_reco_ootpu_eta
 
std::vector< MonitorElement * > h_reco_ootpu_vertcount
 
std::vector< MonitorElement * > h_recochi2
 
std::vector< MonitorElement * > h_recodr
 
std::vector< MonitorElement * > h_recodxy
 
std::vector< MonitorElement * > h_recodxypv
 
std::vector< MonitorElement * > h_recodz
 
std::vector< MonitorElement * > h_recodzpv
 
std::vector< MonitorElement * > h_recoeta
 
std::vector< MonitorElement * > h_recohit
 
std::vector< MonitorElement * > h_recolayer
 
std::vector< MonitorElement * > h_recophi
 
std::vector< MonitorElement * > h_recopixellayer
 
std::vector< MonitorElement * > h_recopT
 
std::vector< MonitorElement * > h_recopu
 
std::vector< MonitorElement * > h_recovertpos
 
std::vector< MonitorElement * > h_recozpos
 
std::vector< MonitorElement * > h_seedsFitFailed
 
std::vector< MonitorElement * > h_seedsFitFailedFraction
 
std::vector< MonitorElement * > h_simul2_dzpvcut
 
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
 
std::vector< MonitorElement * > h_simul2_dzpvsigcut
 
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_simul3Dlayer
 
std::vector< MonitorElement * > h_simul_dzpvcut
 
std::vector< MonitorElement * > h_simul_dzpvcut_pt
 
std::vector< MonitorElement * > h_simul_dzpvsigcut
 
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_simuldr
 
std::vector< MonitorElement * > h_simuldxy
 
std::vector< MonitorElement * > h_simuldxypv
 
std::vector< MonitorElement * > h_simuldz
 
std::vector< MonitorElement * > h_simuldzpv
 
std::vector< MonitorElement * > h_simuleta
 
std::vector< MonitorElement * > h_simulhit
 
std::vector< MonitorElement * > h_simullayer
 
std::vector< MonitorElement * > h_simulphi
 
std::vector< MonitorElement * > h_simulpixellayer
 
std::vector< MonitorElement * > h_simulpT
 
std::vector< MonitorElement * > h_simulpu
 
std::vector< MonitorElement * > h_simulvertpos
 
std::vector< MonitorElement * > h_simulzpos
 
std::vector< MonitorElement * > h_tracks
 
MonitorElementh_tracksSIM
 
MonitorElementh_vertposSIM
 
double maxChi2
 
double maxDeDx
 
double maxdr
 
double maxDxy
 
double maxDz
 
double maxDzpvCum
 
double maxDzpvsigCum
 
double maxEta
 
double maxHit
 
double maxLayers
 
double maxPhi
 
double maxPt
 
double maxPu
 
double maxTracks
 
double maxVertcount
 
double maxVertpos
 
double maxZpos
 
double minChi2
 
double minDeDx
 
double mindr
 
double minDxy
 
double minDz
 
double minEta
 
double minHit
 
double minLayers
 
double minPhi
 
double minPt
 
double minPu
 
double minTracks
 
double minVertcount
 
double minVertpos
 
double minZpos
 
std::vector< MonitorElement * > nhits_vs_eta
 
std::vector< MonitorElement * > nhits_vs_phi
 
int nintChi2
 
int nintDeDx
 
int nintdr
 
int nintDxy
 
int nintDz
 
int nintDzpvCum
 
int nintDzpvsigCum
 
int nintEta
 
int nintHit
 
int nintLayers
 
int nintPhi
 
int nintPt
 
int nintPu
 
int nintTracks
 
int nintVertcount
 
int nintVertpos
 
int nintZpos
 
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
 
std::vector< MonitorElement * > nlosthits_vs_eta
 
std::vector< MonitorElement * > nPXBhits_vs_eta
 
std::vector< MonitorElement * > nPXFhits_vs_eta
 
std::vector< MonitorElement * > nPXLlayersWithMeas_vs_eta
 
std::vector< MonitorElement * > nrec_vs_nsim
 
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
 
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
 
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
 
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
 
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
 
std::vector< MonitorElement * > nTEChits_vs_eta
 
std::vector< MonitorElement * > nTIBhits_vs_eta
 
std::vector< MonitorElement * > nTIDhits_vs_eta
 
std::vector< MonitorElement * > nTOBhits_vs_eta
 
std::vector< MonitorElement * > phimean_vs_eta_phi
 
std::vector< MonitorElement * > phipull_vs_eta
 
std::vector< MonitorElement * > phipull_vs_phi
 
int phiRes_nbin
 
double phiRes_rangeMax
 
double phiRes_rangeMin
 
std::vector< MonitorElement * > phires_vs_eta
 
std::vector< MonitorElement * > phires_vs_phi
 
std::vector< MonitorElement * > phires_vs_pt
 
std::vector< MonitorElement * > ptmean_vs_eta_phi
 
std::vector< MonitorElement * > ptpull_vs_eta
 
std::vector< MonitorElement * > ptpull_vs_phi
 
int ptRes_nbin
 
double ptRes_rangeMax
 
double ptRes_rangeMin
 
std::vector< MonitorElement * > ptres_vs_eta
 
std::vector< MonitorElement * > ptres_vs_phi
 
std::vector< MonitorElement * > ptres_vs_pt
 
std::vector< MonitorElement * > thetapull_vs_eta
 
std::vector< MonitorElement * > thetapull_vs_phi
 
std::unique_ptr
< TrackingParticleSelector
TpSelectorForEfficiencyVsEta
 
std::unique_ptr
< TrackingParticleSelector
TpSelectorForEfficiencyVsPhi
 
std::unique_ptr
< TrackingParticleSelector
TpSelectorForEfficiencyVsPt
 
std::unique_ptr
< TrackingParticleSelector
TpSelectorForEfficiencyVsVTXR
 
std::unique_ptr
< TrackingParticleSelector
TpSelectorForEfficiencyVsVTXZ
 
bool useFabsEta
 
bool useInvPt
 
bool useLogPt
 

Detailed Description

Definition at line 28 of file MTVHistoProducerAlgoForTracker.h.

Constructor & Destructor Documentation

MTVHistoProducerAlgoForTracker::MTVHistoProducerAlgoForTracker ( const edm::ParameterSet pset,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 30 of file MTVHistoProducerAlgoForTracker.h.

30  :
MTVHistoProducerAlgoForTracker(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
MTVHistoProducerAlgoForTracker::MTVHistoProducerAlgoForTracker ( const edm::ParameterSet pset,
edm::ConsumesCollector iC 
)

Definition at line 37 of file MTVHistoProducerAlgoForTracker.cc.

References cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, generalGpSelector, generalTpSelector, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, reco::modules::make(), maxChi2, maxDeDx, maxdr, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxTracks, maxVertcount, maxVertpos, maxZpos, minDeDx, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minTracks, minVertcount, minVertpos, minZpos, edmConvertToStreamModule::modules, mergeVDriftHistosByStation::name, nintChi2, nintDeDx, nintdr, nintDxy, nintDz, nintDzpvCum, nintDzpvsigCum, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintTracks, nintVertcount, nintVertpos, nintZpos, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, EgammaValidation_Wenu_cff::sel, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, useFabsEta, useInvPt, and useLogPt.

37  :
38  h_ptSIM(nullptr), h_etaSIM(nullptr), h_tracksSIM(nullptr), h_vertposSIM(nullptr), h_bunchxSIM(nullptr)
39 {
40  //parameters for _vs_eta plots
41  minEta = pset.getParameter<double>("minEta");
42  maxEta = pset.getParameter<double>("maxEta");
43  nintEta = pset.getParameter<int>("nintEta");
44  useFabsEta = pset.getParameter<bool>("useFabsEta");
45 
46  //parameters for _vs_pt plots
47  minPt = pset.getParameter<double>("minPt");
48  maxPt = pset.getParameter<double>("maxPt");
49  nintPt = pset.getParameter<int>("nintPt");
50  useInvPt = pset.getParameter<bool>("useInvPt");
51  useLogPt = pset.getUntrackedParameter<bool>("useLogPt",false);
52 
53  //parameters for _vs_Hit plots
54  minHit = pset.getParameter<double>("minHit");
55  maxHit = pset.getParameter<double>("maxHit");
56  nintHit = pset.getParameter<int>("nintHit");
57 
58  //parameters for _vs_Pu plots
59  minPu = pset.getParameter<double>("minPu");
60  maxPu = pset.getParameter<double>("maxPu");
61  nintPu = pset.getParameter<int>("nintPu");
62 
63  //parameters for _vs_Layer plots
64  minLayers = pset.getParameter<double>("minLayers");
65  maxLayers = pset.getParameter<double>("maxLayers");
66  nintLayers = pset.getParameter<int>("nintLayers");
67 
68  //parameters for _vs_phi plots
69  minPhi = pset.getParameter<double>("minPhi");
70  maxPhi = pset.getParameter<double>("maxPhi");
71  nintPhi = pset.getParameter<int>("nintPhi");
72 
73  //parameters for _vs_Dxy plots
74  minDxy = pset.getParameter<double>("minDxy");
75  maxDxy = pset.getParameter<double>("maxDxy");
76  nintDxy = pset.getParameter<int>("nintDxy");
77 
78  //parameters for _vs_Dz plots
79  minDz = pset.getParameter<double>("minDz");
80  maxDz = pset.getParameter<double>("maxDz");
81  nintDz = pset.getParameter<int>("nintDz");
82 
83  //parameters for _vs_ProductionVertexTransvPosition plots
84  minVertpos = pset.getParameter<double>("minVertpos");
85  maxVertpos = pset.getParameter<double>("maxVertpos");
86  nintVertpos = pset.getParameter<int>("nintVertpos");
87 
88  //parameters for _vs_ProductionVertexZPosition plots
89  minZpos = pset.getParameter<double>("minZpos");
90  maxZpos = pset.getParameter<double>("maxZpos");
91  nintZpos = pset.getParameter<int>("nintZpos");
92 
93  //parameters for _vs_dR plots
94  mindr = pset.getParameter<double>("mindr");
95  maxdr = pset.getParameter<double>("maxdr");
96  nintdr = pset.getParameter<int>("nintdr");
97 
98  // paramers for _vs_chi2 plots
99  minChi2 = pset.getParameter<double>("minChi2");
100  maxChi2 = pset.getParameter<double>("maxChi2");
101  nintChi2 = pset.getParameter<int>("nintChi2");
102 
103  //parameters for dE/dx plots
104  minDeDx = pset.getParameter<double>("minDeDx");
105  maxDeDx = pset.getParameter<double>("maxDeDx");
106  nintDeDx = pset.getParameter<int>("nintDeDx");
107 
108  //parameters for Pileup plots
109  minVertcount = pset.getParameter<double>("minVertcount");
110  maxVertcount = pset.getParameter<double>("maxVertcount");
111  nintVertcount = pset.getParameter<int>("nintVertcount");
112 
113  //parameters for number of tracks plots
114  minTracks = pset.getParameter<double>("minTracks");
115  maxTracks = pset.getParameter<double>("maxTracks");
116  nintTracks = pset.getParameter<int>("nintTracks");
117 
118  //parameters for resolution plots
119  ptRes_rangeMin = pset.getParameter<double>("ptRes_rangeMin");
120  ptRes_rangeMax = pset.getParameter<double>("ptRes_rangeMax");
121  ptRes_nbin = pset.getParameter<int>("ptRes_nbin");
122 
123  phiRes_rangeMin = pset.getParameter<double>("phiRes_rangeMin");
124  phiRes_rangeMax = pset.getParameter<double>("phiRes_rangeMax");
125  phiRes_nbin = pset.getParameter<int>("phiRes_nbin");
126 
127  cotThetaRes_rangeMin = pset.getParameter<double>("cotThetaRes_rangeMin");
128  cotThetaRes_rangeMax = pset.getParameter<double>("cotThetaRes_rangeMax");
129  cotThetaRes_nbin = pset.getParameter<int>("cotThetaRes_nbin");
130 
131  dxyRes_rangeMin = pset.getParameter<double>("dxyRes_rangeMin");
132  dxyRes_rangeMax = pset.getParameter<double>("dxyRes_rangeMax");
133  dxyRes_nbin = pset.getParameter<int>("dxyRes_nbin");
134 
135  dzRes_rangeMin = pset.getParameter<double>("dzRes_rangeMin");
136  dzRes_rangeMax = pset.getParameter<double>("dzRes_rangeMax");
137  dzRes_nbin = pset.getParameter<int>("dzRes_nbin");
138 
139 
140  maxDzpvCum = pset.getParameter<double>("maxDzpvCumulative");
141  nintDzpvCum = pset.getParameter<int>("nintDzpvCumulative");
142 
143  maxDzpvsigCum = pset.getParameter<double>("maxDzpvsigCumulative");
144  nintDzpvsigCum = pset.getParameter<int>("nintDzpvsigCumulative");
145 
146  //--- tracking particle selectors for efficiency measurements
147  using namespace edm;
148  using namespace reco::modules;
149  auto initTPselector = [&](auto& sel, auto& name) {
150  sel = std::make_unique<TrackingParticleSelector>(ParameterAdapter<TrackingParticleSelector>::make(pset.getParameter<ParameterSet>(name), iC));
151  };
152  auto initGPselector = [&](auto& sel, auto& name) {
153  sel = std::make_unique<GenParticleCustomSelector>(ParameterAdapter<GenParticleCustomSelector>::make(pset.getParameter<ParameterSet>(name), iC));
154  };
155 
156  initTPselector(generalTpSelector, "generalTpSelector");
157  initTPselector(TpSelectorForEfficiencyVsEta, "TpSelectorForEfficiencyVsEta");
158  initTPselector(TpSelectorForEfficiencyVsPhi, "TpSelectorForEfficiencyVsPhi");
159  initTPselector(TpSelectorForEfficiencyVsPt, "TpSelectorForEfficiencyVsPt");
160  initTPselector(TpSelectorForEfficiencyVsVTXR, "TpSelectorForEfficiencyVsVTXR");
161  initTPselector(TpSelectorForEfficiencyVsVTXZ, "TpSelectorForEfficiencyVsVTXZ");
162 
163  initGPselector(generalGpSelector, "generalGpSelector");
164  initGPselector(GpSelectorForEfficiencyVsEta, "GpSelectorForEfficiencyVsEta");
165  initGPselector(GpSelectorForEfficiencyVsPhi, "GpSelectorForEfficiencyVsPhi");
166  initGPselector(GpSelectorForEfficiencyVsPt, "GpSelectorForEfficiencyVsPt");
167  initGPselector(GpSelectorForEfficiencyVsVTXR, "GpSelectorForEfficiencyVsVTXR");
168  initGPselector(GpSelectorForEfficiencyVsVTXZ, "GpSelectorForEfficiencyVsVTXZ");
169 
170  // fix for the LogScale by Ryan
171  if(useLogPt){
172  maxPt=log10(maxPt);
173  if(minPt > 0){
174  minPt=log10(minPt);
175  }
176  else{
177  edm::LogWarning("MultiTrackValidator")
178  << "minPt = "
179  << minPt << " <= 0 out of range while requesting log scale. Using minPt = 0.1.";
180  minPt=log10(0.1);
181  }
182  }
183 
184 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
S make(const edm::ParameterSet &cfg)
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
std::unique_ptr< TrackingParticleSelector > generalTpSelector
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
std::unique_ptr< GenParticleCustomSelector > generalGpSelector
MTVHistoProducerAlgoForTracker::~MTVHistoProducerAlgoForTracker ( )

Definition at line 186 of file MTVHistoProducerAlgoForTracker.cc.

186 {}

Member Function Documentation

void MTVHistoProducerAlgoForTracker::bookRecodEdxHistos ( DQMStore::IBooker ibook)

Definition at line 564 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), h_dedx_estim, h_dedx_nom, h_dedx_sat, maxDeDx, maxHit, minDeDx, minHit, nintDeDx, and nintHit.

564  {
565  // dE/dx stuff
566  h_dedx_estim.emplace_back(std::initializer_list<MonitorElement*>{
567  ibook.book1D("h_dedx_estim1","dE/dx estimator 1",nintDeDx,minDeDx,maxDeDx),
568  ibook.book1D("h_dedx_estim2","dE/dx estimator 2",nintDeDx,minDeDx,maxDeDx)
569  });
570  h_dedx_nom.emplace_back(std::initializer_list<MonitorElement*>{
571  ibook.book1D("h_dedx_nom1","dE/dx number of measurements",nintHit,minHit,maxHit),
572  ibook.book1D("h_dedx_nom2","dE/dx number of measurements",nintHit,minHit,maxHit)
573  });
574  h_dedx_sat.emplace_back(std::initializer_list<MonitorElement*>{
575  ibook.book1D("h_dedx_sat1","dE/dx number of measurements with saturation",nintHit,minHit,maxHit),
576  ibook.book1D("h_dedx_sat2","dE/dx number of measurements with saturation",nintHit,minHit,maxHit)
577  });
578 }
std::vector< std::vector< MonitorElement * > > h_dedx_estim
std::vector< std::vector< MonitorElement * > > h_dedx_sat
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< std::vector< MonitorElement * > > h_dedx_nom
void MTVHistoProducerAlgoForTracker::bookRecoHistos ( DQMStore::IBooker ibook)

these are needed to calculate efficiency during the harvesting for the automated validation

Definition at line 288 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algoNames, reco::TrackBase::algoSize, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), DQMStore::IBooker::bookProfile2D(), chi2_vs_eta, chi2_vs_nhits, chi2_vs_phi, cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, cotThetares_vs_eta, cotThetares_vs_pt, dxypull_vs_eta, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dxyres_vs_eta, dxyres_vs_pt, dzpull_vs_eta, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, dzres_vs_eta, dzres_vs_pt, etares_vs_eta, h_algo, h_assoc23Dlayer, h_assoc2chi2, h_assoc2dr, h_assoc2dxy, h_assoc2dz, h_assoc2eta, h_assoc2hit, h_assoc2layer, h_assoc2phi, h_assoc2pixellayer, h_assoc2pT, h_assoc2pu, h_assoc2vertpos, h_assoc2zpos, h_assocFraction, h_assocSharedHit, h_charge, h_eta, h_fakes, h_hits, h_looper3Dlayer, h_looperchi2, h_looperdr, h_looperdxy, h_looperdz, h_loopereta, h_looperhit, h_looperlayer, h_looperphi, h_looperpixellayer, h_looperpT, h_looperpu, h_loopervertpos, h_looperzpos, h_losthits, h_misid3Dlayer, h_misidchi2, h_misiddxy, h_misiddz, h_misideta, h_misidhit, h_misidlayer, h_misidphi, h_misidpixellayer, h_misidpT, h_misidpu, h_nchi2, h_nchi2_prob, h_nmisslayers_inner, h_nmisslayers_outer, h_pileup3Dlayer, h_pileupchi2, h_pileupdr, h_pileupdxy, h_pileupdz, h_pileupeta, h_pileuphit, h_pileuplayer, h_pileupphi, h_pileuppixellayer, h_pileuppT, h_pileuppu, h_pileupvertpos, h_pileupzpos, h_pt, h_pullDxy, h_pullDz, h_pullPhi, h_pullQoverp, h_pullTheta, h_reco3Dlayer, h_recochi2, h_recodr, h_recodxy, h_recodz, h_recoeta, h_recohit, h_recolayer, h_recophi, h_recopixellayer, h_recopT, h_recopu, h_recovertpos, h_recozpos, h_tracks, maxChi2, maxdr, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxTracks, maxVertpos, maxZpos, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minTracks, minVertpos, minZpos, nhits_vs_eta, nhits_vs_phi, nintChi2, nintdr, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintTracks, nintVertpos, nintZpos, nLayersWithMeas_vs_eta, nlosthits_vs_eta, nPXBhits_vs_eta, nPXFhits_vs_eta, nPXLlayersWithMeas_vs_eta, nrec_vs_nsim, nrecHit_vs_nsimHit_rec2sim, nSTRIPlayersWith1dMeas_vs_eta, nSTRIPlayersWith2dMeas_vs_eta, nSTRIPlayersWithMeas_vs_eta, nTEChits_vs_eta, nTIBhits_vs_eta, nTIDhits_vs_eta, nTOBhits_vs_eta, phimean_vs_eta_phi, phipull_vs_eta, phipull_vs_phi, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, phires_vs_eta, phires_vs_phi, phires_vs_pt, ptmean_vs_eta_phi, ptpull_vs_eta, ptpull_vs_phi, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, ptres_vs_eta, ptres_vs_phi, ptres_vs_pt, thetapull_vs_eta, thetapull_vs_phi, and useLogPt.

288  {
289  h_tracks.push_back( ibook.book1D("tracks","number of reconstructed tracks", nintTracks, minTracks, maxTracks) );
290  h_fakes.push_back( ibook.book1D("fakes","number of fake reco tracks", nintTracks, minTracks, maxTracks) );
291  h_charge.push_back( ibook.book1D("charge","charge",3,-1.5,1.5) );
292 
293  h_hits.push_back( ibook.book1D("hits", "number of hits per track", nintHit,minHit,maxHit ) );
294  h_losthits.push_back( ibook.book1D("losthits", "number of lost hits per track", nintHit,minHit,maxHit) );
295  h_nchi2.push_back( ibook.book1D("chi2", "normalized #chi^{2}", 200, 0, 20 ) );
296  h_nchi2_prob.push_back( ibook.book1D("chi2_prob", "normalized #chi^{2} probability",100,0,1));
297 
298  h_nmisslayers_inner.push_back( ibook.book1D("missing_inner_layers", "number of missing inner layers", nintLayers,minLayers,maxLayers ) );
299  h_nmisslayers_outer.push_back( ibook.book1D("missing_outer_layers", "number of missing outer layers", nintLayers,minLayers,maxLayers ) );
300 
301  h_algo.push_back( ibook.book1D("h_algo","Tracks by algo",reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize) ) );
302  for (size_t ibin=0; ibin<reco::TrackBase::algoSize-1; ibin++)
303  h_algo.back()->setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
304  // h_algo.setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
305 
307  h_recoeta.push_back( ibook.book1D("num_reco_eta","N of reco track vs eta",nintEta,minEta,maxEta) );
308  h_assoc2eta.push_back( ibook.book1D("num_assoc(recoToSim)_eta","N of associated (recoToSim) tracks vs eta",nintEta,minEta,maxEta) );
309  h_loopereta.push_back( ibook.book1D("num_duplicate_eta","N of associated (recoToSim) duplicate tracks vs eta",nintEta,minEta,maxEta) );
310  h_misideta.push_back( ibook.book1D("num_chargemisid_eta","N of associated (recoToSim) charge misIDed tracks vs eta",nintEta,minEta,maxEta) );
311  h_pileupeta.push_back( ibook.book1D("num_pileup_eta","N of associated (recoToSim) pileup tracks vs eta",nintEta,minEta,maxEta) );
312  //
313  h_recopT.push_back( ibook.book1D("num_reco_pT","N of reco track vs pT",nintPt,minPt,maxPt) );
314  h_assoc2pT.push_back( ibook.book1D("num_assoc(recoToSim)_pT","N of associated (recoToSim) tracks vs pT",nintPt,minPt,maxPt) );
315  h_looperpT.push_back( ibook.book1D("num_duplicate_pT","N of associated (recoToSim) duplicate tracks vs pT",nintPt,minPt,maxPt) );
316  h_misidpT.push_back( ibook.book1D("num_chargemisid_pT","N of associated (recoToSim) charge misIDed tracks vs pT",nintPt,minPt,maxPt) );
317  h_pileuppT.push_back( ibook.book1D("num_pileup_pT","N of associated (recoToSim) pileup tracks vs pT",nintPt,minPt,maxPt) );
318  //
319  h_recohit.push_back( ibook.book1D("num_reco_hit","N of reco track vs hit",nintHit,minHit,maxHit) );
320  h_assoc2hit.push_back( ibook.book1D("num_assoc(recoToSim)_hit","N of associated (recoToSim) tracks vs hit",nintHit,minHit,maxHit) );
321  h_looperhit.push_back( ibook.book1D("num_duplicate_hit","N of associated (recoToSim) duplicate tracks vs hit",nintHit,minHit,maxHit) );
322  h_misidhit.push_back( ibook.book1D("num_chargemisid_hit","N of associated (recoToSim) charge misIDed tracks vs hit",nintHit,minHit,maxHit) );
323  h_pileuphit.push_back( ibook.book1D("num_pileup_hit","N of associated (recoToSim) pileup tracks vs hit",nintHit,minHit,maxHit) );
324  //
325  h_recolayer.push_back( ibook.book1D("num_reco_layer","N of reco track vs layer",nintLayers,minLayers,maxLayers) );
326  h_assoc2layer.push_back( ibook.book1D("num_assoc(recoToSim)_layer","N of associated (recoToSim) tracks vs layer",nintLayers,minLayers,maxLayers) );
327  h_looperlayer.push_back( ibook.book1D("num_duplicate_layer","N of associated (recoToSim) duplicate tracks vs layer",nintLayers,minLayers,maxLayers) );
328  h_misidlayer.push_back( ibook.book1D("num_chargemisid_layer","N of associated (recoToSim) charge misIDed tracks vs layer",nintLayers,minLayers,maxLayers) );
329  h_pileuplayer.push_back( ibook.book1D("num_pileup_layer","N of associated (recoToSim) pileup tracks vs layer",nintLayers,minLayers,maxLayers) );
330  //
331  h_recopixellayer.push_back( ibook.book1D("num_reco_pixellayer","N of reco track vs pixellayer",nintLayers,minLayers,maxLayers) );
332  h_assoc2pixellayer.push_back( ibook.book1D("num_assoc(recoToSim)_pixellayer","N of associated (recoToSim) tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
333  h_looperpixellayer.push_back( ibook.book1D("num_duplicate_pixellayer","N of associated (recoToSim) duplicate tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
334  h_misidpixellayer.push_back( ibook.book1D("num_chargemisid_pixellayer","N of associated (recoToSim) charge misIDed tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
335  h_pileuppixellayer.push_back( ibook.book1D("num_pileup_pixellayer","N of associated (recoToSim) pileup tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
336  //
337  h_reco3Dlayer.push_back( ibook.book1D("num_reco_3Dlayer","N of reco track vs 3D layer",nintLayers,minLayers,maxLayers) );
338  h_assoc23Dlayer.push_back( ibook.book1D("num_assoc(recoToSim)_3Dlayer","N of associated (recoToSim) tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
339  h_looper3Dlayer.push_back( ibook.book1D("num_duplicate_3Dlayer","N of associated (recoToSim) duplicate tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
340  h_misid3Dlayer.push_back( ibook.book1D("num_chargemisid_3Dlayer","N of associated (recoToSim) charge misIDed tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
341  h_pileup3Dlayer.push_back( ibook.book1D("num_pileup_3Dlayer","N of associated (recoToSim) pileup tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
342  //
343  h_recopu.push_back( ibook.book1D("num_reco_pu","N of reco track vs pu",nintPu,minPu,maxPu) );
344  h_assoc2pu.push_back( ibook.book1D("num_assoc(recoToSim)_pu","N of associated (recoToSim) tracks vs pu",nintPu,minPu,maxPu) );
345  h_looperpu.push_back( ibook.book1D("num_duplicate_pu","N of associated (recoToSim) duplicate tracks vs pu",nintPu,minPu,maxPu) );
346  h_misidpu.push_back( ibook.book1D("num_chargemisid_pu","N of associated (recoToSim) charge misIDed tracks vs pu",nintPu,minPu,maxPu) );
347  h_pileuppu.push_back( ibook.book1D("num_pileup_pu","N of associated (recoToSim) pileup tracks vs pu",nintPu,minPu,maxPu) );
348  //
349  h_recophi.push_back( ibook.book1D("num_reco_phi","N of reco track vs phi",nintPhi,minPhi,maxPhi) );
350  h_assoc2phi.push_back( ibook.book1D("num_assoc(recoToSim)_phi","N of associated (recoToSim) tracks vs phi",nintPhi,minPhi,maxPhi) );
351  h_looperphi.push_back( ibook.book1D("num_duplicate_phi","N of associated (recoToSim) duplicate tracks vs phi",nintPhi,minPhi,maxPhi) );
352  h_misidphi.push_back( ibook.book1D("num_chargemisid_phi","N of associated (recoToSim) charge misIDed tracks vs phi",nintPhi,minPhi,maxPhi) );
353  h_pileupphi.push_back( ibook.book1D("num_pileup_phi","N of associated (recoToSim) pileup tracks vs phi",nintPhi,minPhi,maxPhi) );
354 
355  h_recodxy.push_back( ibook.book1D("num_reco_dxy","N of reco track vs dxy",nintDxy,minDxy,maxDxy) );
356  h_assoc2dxy.push_back( ibook.book1D("num_assoc(recoToSim)_dxy","N of associated (recoToSim) tracks vs dxy",nintDxy,minDxy,maxDxy) );
357  h_looperdxy.push_back( ibook.book1D("num_duplicate_dxy","N of associated (recoToSim) looper tracks vs dxy",nintDxy,minDxy,maxDxy) );
358  h_misiddxy.push_back( ibook.book1D("num_chargemisid_dxy","N of associated (recoToSim) charge misIDed tracks vs dxy",nintDxy,minDxy,maxDxy) );
359  h_pileupdxy.push_back( ibook.book1D("num_pileup_dxy","N of associated (recoToSim) pileup tracks vs dxy",nintDxy,minDxy,maxDxy) );
360 
361  h_recodz.push_back( ibook.book1D("num_reco_dz","N of reco track vs dz",nintDz,minDz,maxDz) );
362  h_assoc2dz.push_back( ibook.book1D("num_assoc(recoToSim)_dz","N of associated (recoToSim) tracks vs dz",nintDz,minDz,maxDz) );
363  h_looperdz.push_back( ibook.book1D("num_duplicate_dz","N of associated (recoToSim) looper tracks vs dz",nintDz,minDz,maxDz) );
364  h_misiddz.push_back( ibook.book1D("num_chargemisid_versus_dz","N of associated (recoToSim) charge misIDed tracks vs dz",nintDz,minDz,maxDz) );
365  h_pileupdz.push_back( ibook.book1D("num_pileup_dz","N of associated (recoToSim) pileup tracks vs dz",nintDz,minDz,maxDz) );
366 
367  h_recovertpos.push_back( ibook.book1D("num_reco_vertpos","N of reconstructed tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
368  h_assoc2vertpos.push_back( ibook.book1D("num_assoc(recoToSim)_vertpos","N of associated (recoToSim) tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
369  h_loopervertpos.push_back( ibook.book1D("num_duplicate_vertpos","N of associated (recoToSim) looper tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
370  h_pileupvertpos.push_back( ibook.book1D("num_pileup_vertpos","N of associated (recoToSim) pileup tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
371 
372  h_recozpos.push_back( ibook.book1D("num_reco_zpos","N of reconstructed tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
373  h_assoc2zpos.push_back( ibook.book1D("num_assoc(recoToSim)_zpos","N of associated (recoToSim) tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
374  h_looperzpos.push_back( ibook.book1D("num_duplicate_zpos","N of associated (recoToSim) looper tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
375  h_pileupzpos.push_back( ibook.book1D("num_pileup_zpos","N of associated (recoToSim) pileup tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
376 
377  h_recodr.push_back( ibook.book1D("num_reco_dr","N of reconstructed tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
378  h_assoc2dr.push_back( ibook.book1D("num_assoc(recoToSim)_dr","N of associated tracks (recoToSim) vs dR",nintdr,log10(mindr),log10(maxdr)) );
379  h_looperdr.push_back( ibook.book1D("num_duplicate_dr","N of associated (recoToSim) looper tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
380  h_pileupdr.push_back( ibook.book1D("num_pileup_dr","N of associated (recoToSim) pileup tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
381  BinLogX(h_recodr.back()->getTH1F());
382  BinLogX(h_assoc2dr.back()->getTH1F());
383  BinLogX(h_looperdr.back()->getTH1F());
384  BinLogX(h_pileupdr.back()->getTH1F());
385 
386  h_recochi2.push_back( ibook.book1D("num_reco_chi2","N of reco track vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
387  h_assoc2chi2.push_back( ibook.book1D("num_assoc(recoToSim)_chi2","N of associated (recoToSim) tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
388  h_looperchi2.push_back( ibook.book1D("num_duplicate_chi2","N of associated (recoToSim) looper tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
389  h_misidchi2.push_back( ibook.book1D("num_chargemisid_chi2","N of associated (recoToSim) charge misIDed tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
390  h_pileupchi2.push_back( ibook.book1D("num_pileup_chi2","N of associated (recoToSim) pileup tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
391 
393 
394  h_eta.push_back( ibook.book1D("eta", "pseudorapidity residue", 1000, -0.1, 0.1 ) );
395  h_pt.push_back( ibook.book1D("pullPt", "pull of p_{t}", 100, -10, 10 ) );
396  h_pullTheta.push_back( ibook.book1D("pullTheta","pull of #theta parameter",250,-25,25) );
397  h_pullPhi.push_back( ibook.book1D("pullPhi","pull of #phi parameter",250,-25,25) );
398  h_pullDxy.push_back( ibook.book1D("pullDxy","pull of dxy parameter",250,-25,25) );
399  h_pullDz.push_back( ibook.book1D("pullDz","pull of dz parameter",250,-25,25) );
400  h_pullQoverp.push_back( ibook.book1D("pullQoverp","pull of qoverp parameter",250,-25,25) );
401 
402  /* TO BE FIXED -----------
403  if (associators[ww]=="TrackAssociatorByChi2"){
404  h_assochi2.push_back( ibook.book1D("assocChi2","track association #chi^{2}",1000000,0,100000) );
405  h_assochi2_prob.push_back(ibook.book1D("assocChi2_prob","probability of association #chi^{2}",100,0,1));
406  } else if (associators[ww]=="quickTrackAssociatorByHits"){
407  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
408  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",20,0,20));
409  }
410  */
411  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
412  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",41,-0.5,40.5));
413  // ----------------------
414 
415  // use the standard error of the mean as the errors in the profile
416  chi2_vs_nhits.push_back( ibook.bookProfile("chi2mean_vs_nhits","mean #chi^{2} vs nhits",nintHit,minHit,maxHit, 100,0,10, " ") );
417 
418  etares_vs_eta.push_back( ibook.book2D("etares_vs_eta","etaresidue vs eta",nintEta,minEta,maxEta,200,-0.1,0.1) );
419  nrec_vs_nsim.push_back( ibook.book2D("nrec_vs_nsim","nrec vs nsim", nintTracks,minTracks,maxTracks, nintTracks,minTracks,maxTracks) );
420 
421  chi2_vs_eta.push_back( ibook.bookProfile("chi2mean","mean #chi^{2} vs #eta",nintEta,minEta,maxEta, 200, 0, 20, " " ));
422  chi2_vs_phi.push_back( ibook.bookProfile("chi2mean_vs_phi","mean #chi^{2} vs #phi",nintPhi,minPhi,maxPhi, 200, 0, 20, " " ) );
423 
424  nhits_vs_eta.push_back( ibook.bookProfile("hits_eta","mean hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
425  nPXBhits_vs_eta.push_back( ibook.bookProfile("PXBhits_vs_eta","mean # PXB its vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
426  nPXFhits_vs_eta.push_back( ibook.bookProfile("PXFhits_vs_eta","mean # PXF hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
427  nTIBhits_vs_eta.push_back( ibook.bookProfile("TIBhits_vs_eta","mean # TIB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
428  nTIDhits_vs_eta.push_back( ibook.bookProfile("TIDhits_vs_eta","mean # TID hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
429  nTOBhits_vs_eta.push_back( ibook.bookProfile("TOBhits_vs_eta","mean # TOB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
430  nTEChits_vs_eta.push_back( ibook.bookProfile("TEChits_vs_eta","mean # TEC hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
431 
432  nLayersWithMeas_vs_eta.push_back( ibook.bookProfile("LayersWithMeas_eta","mean # Layers with measurement vs eta",
434  nPXLlayersWithMeas_vs_eta.push_back( ibook.bookProfile("PXLlayersWithMeas_vs_eta","mean # PXL Layers with measurement vs eta",
436  nSTRIPlayersWithMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWithMeas_vs_eta","mean # STRIP Layers with measurement vs eta",
438  nSTRIPlayersWith1dMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWith1dMeas_vs_eta","mean # STRIP Layers with 1D measurement vs eta",
440  nSTRIPlayersWith2dMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWith2dMeas_vs_eta","mean # STRIP Layers with 2D measurement vs eta",
442 
443  nhits_vs_phi.push_back( ibook.bookProfile("hits_phi","mean # hits vs #phi",nintPhi,minPhi,maxPhi,nintHit,minHit,maxHit, " ") );
444 
445  nlosthits_vs_eta.push_back( ibook.bookProfile("losthits_vs_eta","mean # lost hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
446 
447  //resolution of track parameters
448  // dPt/Pt cotTheta Phi TIP LIP
449  // log10(pt)<0.5 100,0.1 240,0.08 100,0.015 100,0.1000 150,0.3000
450  // 0.5<log10(pt)<1.5 100,0.1 120,0.01 100,0.003 100,0.0100 150,0.0500
451  // >1.5 100,0.3 100,0.005 100,0.0008 100,0.0060 120,0.0300
452 
453  ptres_vs_eta.push_back(ibook.book2D("ptres_vs_eta","ptres_vs_eta",
455 
456  ptres_vs_phi.push_back( ibook.book2D("ptres_vs_phi","p_{t} res vs #phi",
458 
459  ptres_vs_pt.push_back(ibook.book2D("ptres_vs_pt","ptres_vs_pt",nintPt,minPt,maxPt, ptRes_nbin, ptRes_rangeMin, ptRes_rangeMax));
460 
461  cotThetares_vs_eta.push_back(ibook.book2D("cotThetares_vs_eta","cotThetares_vs_eta",
463 
464 
465  cotThetares_vs_pt.push_back(ibook.book2D("cotThetares_vs_pt","cotThetares_vs_pt",
467 
468 
469  phires_vs_eta.push_back(ibook.book2D("phires_vs_eta","phires_vs_eta",
471 
472  phires_vs_pt.push_back(ibook.book2D("phires_vs_pt","phires_vs_pt",
474 
475  phires_vs_phi.push_back(ibook.book2D("phires_vs_phi","#phi res vs #phi",
477 
478  dxyres_vs_eta.push_back(ibook.book2D("dxyres_vs_eta","dxyres_vs_eta",
480 
481  dxyres_vs_pt.push_back( ibook.book2D("dxyres_vs_pt","dxyres_vs_pt",
483 
484  dzres_vs_eta.push_back(ibook.book2D("dzres_vs_eta","dzres_vs_eta",
486 
487  dzres_vs_pt.push_back(ibook.book2D("dzres_vs_pt","dzres_vs_pt",nintPt,minPt,maxPt,dzRes_nbin, dzRes_rangeMin, dzRes_rangeMax));
488 
489  ptmean_vs_eta_phi.push_back(ibook.bookProfile2D("ptmean_vs_eta_phi","mean p_{t} vs #eta and #phi",
490  nintPhi,minPhi,maxPhi,nintEta,minEta,maxEta,1000,0,1000));
491  phimean_vs_eta_phi.push_back(ibook.bookProfile2D("phimean_vs_eta_phi","mean #phi vs #eta and #phi",
493 
494  //pulls of track params vs eta: to be used with fitslicesytool
495  dxypull_vs_eta.push_back(ibook.book2D("dxypull_vs_eta","dxypull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
496  ptpull_vs_eta.push_back(ibook.book2D("ptpull_vs_eta","ptpull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
497  dzpull_vs_eta.push_back(ibook.book2D("dzpull_vs_eta","dzpull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
498  phipull_vs_eta.push_back(ibook.book2D("phipull_vs_eta","phipull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
499  thetapull_vs_eta.push_back(ibook.book2D("thetapull_vs_eta","thetapull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
500 
501  // h_ptshiftetamean.push_back( ibook.book1D("h_ptshifteta_Mean","<#deltapT/pT>[%] vs #eta",nintEta,minEta,maxEta) );
502 
503 
504  //pulls of track params vs phi
505  ptpull_vs_phi.push_back(ibook.book2D("ptpull_vs_phi","p_{t} pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
506  phipull_vs_phi.push_back(ibook.book2D("phipull_vs_phi","#phi pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
507  thetapull_vs_phi.push_back(ibook.book2D("thetapull_vs_phi","#theta pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
508 
509 
510  nrecHit_vs_nsimHit_rec2sim.push_back( ibook.book2D("nrecHit_vs_nsimHit_rec2sim","nrecHit vs nsimHit (Rec2simAssoc)",
512 
513  if(useLogPt){
514  BinLogX(dzres_vs_pt.back()->getTH2F());
515  BinLogX(dxyres_vs_pt.back()->getTH2F());
516  BinLogX(phires_vs_pt.back()->getTH2F());
517  BinLogX(cotThetares_vs_pt.back()->getTH2F());
518  BinLogX(ptres_vs_pt.back()->getTH2F());
519  BinLogX(h_looperpT.back()->getTH1F());
520  BinLogX(h_misidpT.back()->getTH1F());
521  BinLogX(h_recopT.back()->getTH1F());
522  BinLogX(h_assoc2pT.back()->getTH1F());
523  BinLogX(h_pileuppT.back()->getTH1F());
524  }
525 }
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_looperzpos
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > h_nchi2_prob
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > h_misidlayer
std::vector< MonitorElement * > ptpull_vs_phi
std::vector< MonitorElement * > h_looperchi2
std::vector< MonitorElement * > nPXFhits_vs_eta
std::vector< MonitorElement * > h_assoc2zpos
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_nmisslayers_inner
std::vector< MonitorElement * > h_looperpixellayer
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
std::vector< MonitorElement * > h_pileuphit
std::vector< MonitorElement * > h_pileupdr
std::vector< MonitorElement * > nTEChits_vs_eta
std::vector< MonitorElement * > h_hits
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
std::vector< MonitorElement * > h_pullPhi
std::vector< MonitorElement * > phipull_vs_phi
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_pileuppT
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_recovertpos
std::vector< MonitorElement * > nTIDhits_vs_eta
std::vector< MonitorElement * > phires_vs_eta
std::vector< MonitorElement * > h_pullDxy
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_nchi2
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_misidchi2
std::vector< MonitorElement * > h_looperdxy
std::vector< MonitorElement * > h_looper3Dlayer
std::vector< MonitorElement * > h_reco3Dlayer
std::vector< MonitorElement * > h_loopervertpos
std::vector< MonitorElement * > h_looperdr
std::vector< MonitorElement * > h_pileupchi2
std::vector< MonitorElement * > h_assoc2dz
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > phires_vs_phi
std::vector< MonitorElement * > dzres_vs_eta
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > nlosthits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > h_recohit
std::vector< MonitorElement * > h_looperlayer
std::vector< MonitorElement * > phires_vs_pt
std::vector< MonitorElement * > h_assoc2layer
std::vector< MonitorElement * > h_assoc23Dlayer
std::vector< MonitorElement * > nPXBhits_vs_eta
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_pullQoverp
std::vector< MonitorElement * > h_assoc2chi2
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:163
std::vector< MonitorElement * > nTOBhits_vs_eta
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > etares_vs_eta
std::vector< MonitorElement * > h_recozpos
std::vector< MonitorElement * > h_recophi
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
std::vector< MonitorElement * > h_tracks
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > nhits_vs_phi
std::vector< MonitorElement * > h_assoc2pixellayer
std::vector< MonitorElement * > h_misid3Dlayer
std::vector< MonitorElement * > phimean_vs_eta_phi
std::vector< MonitorElement * > h_charge
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_pileupvertpos
std::vector< MonitorElement * > h_pileupphi
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > h_assoc2vertpos
std::vector< MonitorElement * > dzpull_vs_eta
std::vector< MonitorElement * > h_misiddxy
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > h_recolayer
std::vector< MonitorElement * > dxyres_vs_eta
std::vector< MonitorElement * > h_recopu
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_nmisslayers_outer
std::vector< MonitorElement * > nPXLlayersWithMeas_vs_eta
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::vector< MonitorElement * > nTIBhits_vs_eta
std::vector< MonitorElement * > h_eta
std::vector< MonitorElement * > h_pt
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_pileuppixellayer
static const std::string algoNames[]
Definition: TrackBase.h:148
std::vector< MonitorElement * > h_pullTheta
std::vector< MonitorElement * > ptmean_vs_eta_phi
std::vector< MonitorElement * > h_looperphi
std::vector< MonitorElement * > h_assoc2dr
std::vector< MonitorElement * > dxypull_vs_eta
std::vector< MonitorElement * > ptres_vs_eta
std::vector< MonitorElement * > phipull_vs_eta
std::vector< MonitorElement * > h_recopixellayer
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_pileup3Dlayer
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_pileupzpos
std::vector< MonitorElement * > h_misidpixellayer
std::vector< MonitorElement * > h_pileuplayer
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_pileupdxy
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > ptres_vs_pt
std::vector< MonitorElement * > h_pileupdz
std::vector< MonitorElement * > h_recochi2
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > h_pileupeta
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
std::vector< MonitorElement * > dxyres_vs_pt
std::vector< MonitorElement * > h_losthits
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > dzres_vs_pt
std::vector< MonitorElement * > h_pileuppu
void MTVHistoProducerAlgoForTracker::bookRecoPVAssociationHistos ( DQMStore::IBooker ibook)

Definition at line 527 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), h_assoc2_dzpvcut, h_assoc2_dzpvcut_pt, h_assoc2_dzpvsigcut, h_assoc2_dzpvsigcut_pt, h_assoc2dxypv, h_assoc2dzpv, h_looperdxypv, h_looperdzpv, h_misiddxypv, h_misiddzpv, h_pileup_dzpvcut, h_pileup_dzpvcut_pt, h_pileup_dzpvsigcut, h_pileup_dzpvsigcut_pt, h_pileupdxypv, h_pileupdzpv, h_reco_dzpvcut, h_reco_dzpvcut_pt, h_reco_dzpvsigcut, h_reco_dzpvsigcut_pt, h_recodxypv, h_recodzpv, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

527  {
528  h_recodxypv.push_back( ibook.book1D("num_reco_dxypv","N of reco track vs dxy(PV)",nintDxy,minDxy,maxDxy) );
529  h_assoc2dxypv.push_back( ibook.book1D("num_assoc(recoToSim)_dxypv","N of associated (recoToSim) tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
530  h_looperdxypv.push_back( ibook.book1D("num_duplicate_dxypv","N of associated (recoToSim) looper tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
531  h_misiddxypv.push_back( ibook.book1D("num_chargemisid_dxypv","N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
532  h_pileupdxypv.push_back( ibook.book1D("num_pileup_dxypv","N of associated (recoToSim) pileup tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
533 
534  h_recodzpv.push_back( ibook.book1D("num_reco_dzpv","N of reco track vs dz(PV)",nintDz,minDz,maxDz) );
535  h_assoc2dzpv.push_back( ibook.book1D("num_assoc(recoToSim)_dzpv","N of associated (recoToSim) tracks vs dz(PV)",nintDz,minDz,maxDz) );
536  h_looperdzpv.push_back( ibook.book1D("num_duplicate_dzpv","N of associated (recoToSim) looper tracks vs dz(PV)",nintDz,minDz,maxDz) );
537  h_misiddzpv.push_back( ibook.book1D("num_chargemisid_versus_dzpv","N of associated (recoToSim) charge misIDed tracks vs dz(PV)",nintDz,minDz,maxDz) );
538  h_pileupdzpv.push_back( ibook.book1D("num_pileup_dzpv","N of associated (recoToSim) pileup tracks vs dz(PV)",nintDz,minDz,maxDz) );
539 
540  h_reco_dzpvcut.push_back( ibook.book1D("num_reco_dzpvcut","N of reco track vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
541  h_assoc2_dzpvcut.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvcut","N of associated (recoToSim) tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
542  h_pileup_dzpvcut.push_back( ibook.book1D("num_pileup_dzpvcut", "N of associated (recoToSim) pileup tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
543 
544  h_reco_dzpvcut_pt.push_back( ibook.book1D("num_reco_dzpvcut_pt","#sump_{T} of reco track vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
545  h_assoc2_dzpvcut_pt.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvcut_pt","#sump_{T} of associated (recoToSim) tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
546  h_pileup_dzpvcut_pt.push_back( ibook.book1D("num_pileup_dzpvcut_pt", "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
547  h_reco_dzpvcut_pt.back()->getTH1()->Sumw2();
548  h_assoc2_dzpvcut_pt.back()->getTH1()->Sumw2();
549  h_pileup_dzpvcut_pt.back()->getTH1()->Sumw2();
550 
551  h_reco_dzpvsigcut.push_back( ibook.book1D("num_reco_dzpvsigcut","N of reco track vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
552  h_assoc2_dzpvsigcut.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvsigcut","N of associated (recoToSim) tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
553  h_pileup_dzpvsigcut.push_back( ibook.book1D("num_pileup_dzpvsigcut","N of associated (recoToSim) pileup tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
554 
555  h_reco_dzpvsigcut_pt.push_back( ibook.book1D("num_reco_dzpvsigcut_pt","#sump_{T} of reco track vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
556  h_assoc2_dzpvsigcut_pt.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvsigcut_pt","#sump_{T} of associated (recoToSim) tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
557  h_pileup_dzpvsigcut_pt.push_back( ibook.book1D("num_pileup_dzpvsigcut_pt","#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
558  h_reco_dzpvsigcut_pt.back()->getTH1()->Sumw2();
559  h_assoc2_dzpvsigcut_pt.back()->getTH1()->Sumw2();
560  h_pileup_dzpvsigcut_pt.back()->getTH1()->Sumw2();
561 
562 }
std::vector< MonitorElement * > h_pileupdxypv
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
std::vector< MonitorElement * > h_assoc2_dzpvcut
std::vector< MonitorElement * > h_reco_dzpvcut
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
std::vector< MonitorElement * > h_assoc2dxypv
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
std::vector< MonitorElement * > h_reco_dzpvcut_pt
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > h_looperdxypv
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
std::vector< MonitorElement * > h_misiddzpv
std::vector< MonitorElement * > h_recodzpv
std::vector< MonitorElement * > h_pileup_dzpvcut
std::vector< MonitorElement * > h_looperdzpv
std::vector< MonitorElement * > h_recodxypv
std::vector< MonitorElement * > h_pileup_dzpvsigcut
std::vector< MonitorElement * > h_misiddxypv
std::vector< MonitorElement * > h_reco_dzpvsigcut
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
std::vector< MonitorElement * > h_pileupdzpv
std::vector< MonitorElement * > h_assoc2dzpv
void MTVHistoProducerAlgoForTracker::bookSeedHistos ( DQMStore::IBooker ibook)

Definition at line 580 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), h_seedsFitFailed, h_seedsFitFailedFraction, maxTracks, minTracks, and nintTracks.

580  {
581  h_seedsFitFailed.push_back(ibook.book1D("seeds_fitFailed", "Number of seeds for which the fit failed", nintTracks, minTracks, maxTracks));
582  h_seedsFitFailedFraction.push_back(ibook.book1D("seeds_fitFailedFraction", "Fraction of seeds for which the fit failed", 100, 0, 1));
583 }
std::vector< MonitorElement * > h_seedsFitFailedFraction
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > h_seedsFitFailed
void MTVHistoProducerAlgoForTracker::bookSimHistos ( DQMStore::IBooker ibook)

Definition at line 188 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), Exception, MonitorElement::getTH1F(), h_bunchxSIM, h_etaSIM, h_ptSIM, h_tracksSIM, h_vertposSIM, maxEta, maxPt, maxTracks, maxVertpos, minEta, minPt, minTracks, minVertpos, nintEta, nintPt, nintTracks, nintVertpos, and useLogPt.

188  {
189  if(h_ptSIM != nullptr)
190  throw cms::Exception("LogicError") << "bookSimHistos() has already been called";
191 
192  h_ptSIM = ibook.book1D("ptSIM", "generated p_{t}", nintPt, minPt, maxPt);
193  h_etaSIM = ibook.book1D("etaSIM", "generated pseudorapidity", nintEta, minEta, maxEta);
194  h_tracksSIM = ibook.book1D("tracksSIM","number of simulated tracks", nintTracks, minTracks, maxTracks*10);
195  h_vertposSIM = ibook.book1D("vertposSIM","Transverse position of sim vertices", nintVertpos, minVertpos, maxVertpos);
196  h_bunchxSIM = ibook.book1D("bunchxSIM", "bunch crossing", 21, -15.5, 5.5 );
197 
198  if(useLogPt) {
199  BinLogX(h_ptSIM->getTH1F());
200  }
201 }
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
TH1F * getTH1F(void) const
void MTVHistoProducerAlgoForTracker::bookSimTrackHistos ( DQMStore::IBooker ibook)

Definition at line 203 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), h_assoc3Dlayer, h_assocdr, h_assocdxy, h_assocdz, h_assoceta, h_assochit, h_assoclayer, h_assocphi, h_assocpixellayer, h_assocpT, h_assocpu, h_assocvertpos, h_assoczpos, h_simul3Dlayer, h_simuldr, h_simuldxy, h_simuldz, h_simuleta, h_simulhit, h_simullayer, h_simulphi, h_simulpixellayer, h_simulpT, h_simulpu, h_simulvertpos, h_simulzpos, maxdr, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxVertpos, maxZpos, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minVertpos, minZpos, nintdr, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintVertpos, nintZpos, nrecHit_vs_nsimHit_sim2rec, and useLogPt.

203  {
204  h_assoceta.push_back( ibook.book1D("num_assoc(simToReco)_eta","N of associated tracks (simToReco) vs eta",nintEta,minEta,maxEta) );
205  h_simuleta.push_back( ibook.book1D("num_simul_eta","N of simulated tracks vs eta",nintEta,minEta,maxEta) );
206 
207  h_assocpT.push_back( ibook.book1D("num_assoc(simToReco)_pT","N of associated tracks (simToReco) vs pT",nintPt,minPt,maxPt) );
208  h_simulpT.push_back( ibook.book1D("num_simul_pT","N of simulated tracks vs pT",nintPt,minPt,maxPt) );
209 
210  h_assochit.push_back( ibook.book1D("num_assoc(simToReco)_hit","N of associated tracks (simToReco) vs hit",nintHit,minHit,maxHit) );
211  h_simulhit.push_back( ibook.book1D("num_simul_hit","N of simulated tracks vs hit",nintHit,minHit,maxHit) );
212 
213  h_assoclayer.push_back( ibook.book1D("num_assoc(simToReco)_layer","N of associated tracks (simToReco) vs layer",nintLayers,minLayers,maxLayers) );
214  h_simullayer.push_back( ibook.book1D("num_simul_layer","N of simulated tracks vs layer",nintLayers,minLayers,maxLayers) );
215 
216  h_assocpixellayer.push_back( ibook.book1D("num_assoc(simToReco)_pixellayer","N of associated tracks (simToReco) vs pixel layer",nintLayers,minLayers,maxLayers) );
217  h_simulpixellayer.push_back( ibook.book1D("num_simul_pixellayer","N of simulated tracks vs pixel layer",nintLayers,minLayers,maxLayers) );
218 
219  h_assoc3Dlayer.push_back( ibook.book1D("num_assoc(simToReco)_3Dlayer","N of associated tracks (simToReco) vs 3D layer",nintLayers,minLayers,maxLayers) );
220  h_simul3Dlayer.push_back( ibook.book1D("num_simul_3Dlayer","N of simulated tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
221 
222  h_assocpu.push_back( ibook.book1D("num_assoc(simToReco)_pu","N of associated tracks (simToReco) vs pu",nintPu,minPu,maxPu) );
223  h_simulpu.push_back( ibook.book1D("num_simul_pu","N of simulated tracks vs pu",nintPu,minPu,maxPu) );
224 
225  h_assocphi.push_back( ibook.book1D("num_assoc(simToReco)_phi","N of associated tracks (simToReco) vs phi",nintPhi,minPhi,maxPhi) );
226  h_simulphi.push_back( ibook.book1D("num_simul_phi","N of simulated tracks vs phi",nintPhi,minPhi,maxPhi) );
227 
228  h_assocdxy.push_back( ibook.book1D("num_assoc(simToReco)_dxy","N of associated tracks (simToReco) vs dxy",nintDxy,minDxy,maxDxy) );
229  h_simuldxy.push_back( ibook.book1D("num_simul_dxy","N of simulated tracks vs dxy",nintDxy,minDxy,maxDxy) );
230 
231  h_assocdz.push_back( ibook.book1D("num_assoc(simToReco)_dz","N of associated tracks (simToReco) vs dz",nintDz,minDz,maxDz) );
232  h_simuldz.push_back( ibook.book1D("num_simul_dz","N of simulated tracks vs dz",nintDz,minDz,maxDz) );
233 
234  h_assocvertpos.push_back( ibook.book1D("num_assoc(simToReco)_vertpos",
235  "N of associated tracks (simToReco) vs transverse vert position",
237  h_simulvertpos.push_back( ibook.book1D("num_simul_vertpos","N of simulated tracks vs transverse vert position",
239 
240  h_assoczpos.push_back( ibook.book1D("num_assoc(simToReco)_zpos","N of associated tracks (simToReco) vs z vert position",
242  h_simulzpos.push_back( ibook.book1D("num_simul_zpos","N of simulated tracks vs z vert position",nintZpos,minZpos,maxZpos) );
243 
244  h_assocdr.push_back( ibook.book1D("num_assoc(simToReco)_dr","N of associated tracks (simToReco) vs dR",nintdr,log10(mindr),log10(maxdr)) );
245  h_simuldr.push_back( ibook.book1D("num_simul_dr","N of simulated tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
246  BinLogX(h_assocdr.back()->getTH1F());
247  BinLogX(h_simuldr.back()->getTH1F());
248 
249  nrecHit_vs_nsimHit_sim2rec.push_back( ibook.book2D("nrecHit_vs_nsimHit_sim2rec","nrecHit vs nsimHit (Sim2RecAssoc)",
251 
252  if(useLogPt){
253  BinLogX(h_assocpT.back()->getTH1F());
254  BinLogX(h_simulpT.back()->getTH1F());
255  }
256 }
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc3Dlayer
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_simuldr
std::vector< MonitorElement * > h_assocpT
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
std::vector< MonitorElement * > h_simullayer
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simulpixellayer
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::vector< MonitorElement * > h_simulphi
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoclayer
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simul3Dlayer
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_assocpixellayer
void MTVHistoProducerAlgoForTracker::bookSimTrackPVAssociationHistos ( DQMStore::IBooker ibook)

Definition at line 258 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), h_assoc_dzpvcut, h_assoc_dzpvcut_pt, h_assoc_dzpvsigcut, h_assoc_dzpvsigcut_pt, h_assocdxypv, h_assocdzpv, h_simul2_dzpvcut, h_simul2_dzpvcut_pt, h_simul2_dzpvsigcut, h_simul2_dzpvsigcut_pt, h_simul_dzpvcut, h_simul_dzpvcut_pt, h_simul_dzpvsigcut, h_simul_dzpvsigcut_pt, h_simuldxypv, h_simuldzpv, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

258  {
259  h_assocdxypv.push_back( ibook.book1D("num_assoc(simToReco)_dxypv","N of associated tracks (simToReco) vs dxy(PV)",nintDxy,minDxy,maxDxy) );
260  h_simuldxypv.push_back( ibook.book1D("num_simul_dxypv","N of simulated tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
261 
262  h_assocdzpv.push_back( ibook.book1D("num_assoc(simToReco)_dzpv","N of associated tracks (simToReco) vs dz(PV)",nintDz,minDz,maxDz) );
263  h_simuldzpv.push_back( ibook.book1D("num_simul_dzpv","N of simulated tracks vs dz(PV)",nintDz,minDz,maxDz) );
264 
265  h_assoc_dzpvcut.push_back( ibook.book1D("num_assoc(simToReco)_dzpvcut","N of associated tracks (simToReco) vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
266  h_simul_dzpvcut.push_back( ibook.book1D("num_simul_dzpvcut","N of simulated tracks from sim PV",nintDzpvCum,0,maxDzpvCum) );
267  h_simul2_dzpvcut.push_back( ibook.book1D("num_simul2_dzpvcut","N of simulated tracks (associated to any track) from sim PV",nintDzpvCum,0,maxDzpvCum) );
268 
269  h_assoc_dzpvcut_pt.push_back( ibook.book1D("num_assoc(simToReco)_dzpvcut_pt","#sump_{T} of associated tracks (simToReco) vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
270  h_simul_dzpvcut_pt.push_back( ibook.book1D("num_simul_dzpvcut_pt","#sump_{T} of simulated tracks from sim PV",nintDzpvCum,0,maxDzpvCum) );
271  h_simul2_dzpvcut_pt.push_back( ibook.book1D("num_simul2_dzpvcut_pt","#sump_{T} of simulated tracks (associated to any track) from sim PV",nintDzpvCum,0,maxDzpvCum) );
272  h_assoc_dzpvcut_pt.back()->getTH1()->Sumw2();
273  h_simul_dzpvcut_pt.back()->getTH1()->Sumw2();
274  h_simul2_dzpvcut_pt.back()->getTH1()->Sumw2();
275 
276  h_assoc_dzpvsigcut.push_back( ibook.book1D("num_assoc(simToReco)_dzpvsigcut","N of associated tracks (simToReco) vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
277  h_simul_dzpvsigcut.push_back( ibook.book1D("num_simul_dzpvsigcut","N of simulated tracks from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
278  h_simul2_dzpvsigcut.push_back( ibook.book1D("num_simul2_dzpvsigcut","N of simulated tracks (associated to any track) from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
279 
280  h_assoc_dzpvsigcut_pt.push_back( ibook.book1D("num_assoc(simToReco)_dzpvsigcut_pt","#sump_{T} of associated tracks (simToReco) vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
281  h_simul_dzpvsigcut_pt.push_back( ibook.book1D("num_simul_dzpvsigcut_pt","#sump_{T} of simulated tracks from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
282  h_simul2_dzpvsigcut_pt.push_back( ibook.book1D("num_simul2_dzpvsigcut_pt","#sump_{T} of simulated tracks (associated to any track) from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
283  h_assoc_dzpvsigcut_pt.back()->getTH1()->Sumw2();
284  h_simul_dzpvsigcut_pt.back()->getTH1()->Sumw2();
285  h_simul2_dzpvsigcut_pt.back()->getTH1()->Sumw2();
286 }
std::vector< MonitorElement * > h_simul2_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
std::vector< MonitorElement * > h_simul_dzpvsigcut
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
std::vector< MonitorElement * > h_simul_dzpvcut_pt
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
std::vector< MonitorElement * > h_assocdzpv
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
std::vector< MonitorElement * > h_simuldzpv
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > h_simuldxypv
std::vector< MonitorElement * > h_simul_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
std::vector< MonitorElement * > h_simul2_dzpvsigcut
std::vector< MonitorElement * > h_assoc_dzpvcut
std::vector< MonitorElement * > h_assocdxypv
void MTVHistoProducerAlgoForTracker::fill_dedx_recoTrack_histos ( int  count,
const edm::RefToBase< reco::Track > &  trackref,
const std::vector< const edm::ValueMap< reco::DeDxData > * > &  v_dEdx 
)

Definition at line 703 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), reco::DeDxData::dEdx(), h_dedx_estim, h_dedx_nom, h_dedx_sat, i, reco::DeDxData::numberOfMeasurements(), and reco::DeDxData::numberOfSaturatedMeasurements().

703  {
704  for (unsigned int i=0; i<v_dEdx.size(); i++) {
705  const edm::ValueMap<reco::DeDxData>& dEdxTrack = *(v_dEdx[i]);
706  const reco::DeDxData& dedx = dEdxTrack[trackref];
707  h_dedx_estim[count][i]->Fill(dedx.dEdx());
708  h_dedx_nom[count][i]->Fill(dedx.numberOfMeasurements());
710  }
711 }
int i
Definition: DBlmapReader.cc:9
std::vector< std::vector< MonitorElement * > > h_dedx_estim
float dEdx() const
Definition: DeDxData.cc:26
unsigned int numberOfMeasurements() const
Definition: DeDxData.cc:37
std::vector< std::vector< MonitorElement * > > h_dedx_sat
std::vector< std::vector< MonitorElement * > > h_dedx_nom
int numberOfSaturatedMeasurements() const
Definition: DeDxData.cc:42
void MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos ( int  count,
const reco::Track track,
const math::XYZPoint bsPosition,
const math::XYZPoint pvPosition,
bool  isMatched,
bool  isSigMatched,
bool  isChargeMatched,
int  numAssocRecoTracks,
int  numVertices,
int  nSimHits,
double  sharedFraction,
double  dR 
)

Definition at line 714 of file MTVHistoProducerAlgoForTracker.cc.

References funct::abs(), reco::TrackBase::algo(), beam_dqm_sourceclient-live_cfg::chi2, KineDebug3::count(), reco::TrackBase::dxy(), reco::TrackBase::dz(), reco::TrackBase::dzError(), eta, reco::Track::found(), getEta(), getPt(), h_algo, h_assoc23Dlayer, h_assoc2_dzpvcut, h_assoc2_dzpvcut_pt, h_assoc2_dzpvsigcut, h_assoc2_dzpvsigcut_pt, h_assoc2chi2, h_assoc2dr, h_assoc2dxy, h_assoc2dxypv, h_assoc2dz, h_assoc2dzpv, h_assoc2eta, h_assoc2hit, h_assoc2layer, h_assoc2phi, h_assoc2pixellayer, h_assoc2pT, h_assoc2pu, h_assoc2vertpos, h_assoc2zpos, h_assocFraction, h_assocSharedHit, h_looper3Dlayer, h_looperchi2, h_looperdr, h_looperdxy, h_looperdxypv, h_looperdz, h_looperdzpv, h_loopereta, h_looperhit, h_looperlayer, h_looperphi, h_looperpixellayer, h_looperpT, h_looperpu, h_loopervertpos, h_looperzpos, h_misid3Dlayer, h_misidchi2, h_misiddxy, h_misiddxypv, h_misiddz, h_misiddzpv, h_misideta, h_misidhit, h_misidlayer, h_misidphi, h_misidpixellayer, h_misidpT, h_misidpu, h_pileup3Dlayer, h_pileup_dzpvcut, h_pileup_dzpvcut_pt, h_pileup_dzpvsigcut, h_pileup_dzpvsigcut_pt, h_pileupchi2, h_pileupdr, h_pileupdxy, h_pileupdxypv, h_pileupdz, h_pileupdzpv, h_pileupeta, h_pileuphit, h_pileuplayer, h_pileupphi, h_pileuppixellayer, h_pileuppT, h_pileuppu, h_pileupvertpos, h_pileupzpos, h_reco3Dlayer, h_reco_dzpvcut, h_reco_dzpvcut_pt, h_reco_dzpvsigcut, h_reco_dzpvsigcut_pt, h_recochi2, h_recodr, h_recodxy, h_recodxypv, h_recodz, h_recodzpv, h_recoeta, h_recohit, h_recolayer, h_recophi, h_recopixellayer, h_recopT, h_recopu, h_recovertpos, h_recozpos, reco::TrackBase::hitPattern(), bookConverter::max, min(), reco::TrackBase::momentum(), nhits, nlayers, reco::TrackBase::normalizedChi2(), nrecHit_vs_nsimHit_rec2sim, reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), phi, reco::HitPattern::pixelLayersWithMeasurement(), EnergyCorrector::pt, reco::TrackBase::referencePoint(), EgAmbiguityTools::sharedHits(), mathSSE::sqrt(), and reco::HitPattern::trackerLayersWithMeasurement().

725  {
726 
727  //Fill track algo histogram
728  fillPlotNoFlow(h_algo[count],track.algo());
729  int sharedHits = sharedFraction * track.numberOfValidHits();
730 
731  //Compute fake rate vs eta
732  const auto eta = getEta(track.momentum().eta());
733  const auto phi = track.momentum().phi();
734  const auto pt = getPt(sqrt(track.momentum().perp2()));
735  const auto dxy = track.dxy(bsPosition);
736  const auto dz = track.dz(bsPosition);
737  const auto dxypv = pvPosition ? track.dxy(*pvPosition) : 0.0;
738  const auto dzpv = pvPosition ? track.dz(*pvPosition) : 0.0;
739  const auto dzpvsig = pvPosition ? dzpv / track.dzError() : 0.0;
740  const auto nhits = track.found();
741  const auto nlayers = track.hitPattern().trackerLayersWithMeasurement();
742  const auto nPixelLayers = track.hitPattern().pixelLayersWithMeasurement();
743  const auto n3DLayers = nPixelLayers + track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
744  const auto vertxy = std::sqrt(track.referencePoint().perp2());
745  const auto vertz = track.referencePoint().z();
746  const auto deltar = min(max(dR,h_recodr[count]->getTH1()->GetXaxis()->GetXmin()),h_recodr[count]->getTH1()->GetXaxis()->GetXmax());
747  const auto chi2 = track.normalizedChi2();
748 
749  fillPlotNoFlow(h_recoeta[count], eta);
750  fillPlotNoFlow(h_recophi[count], phi);
751  fillPlotNoFlow(h_recopT[count], pt);
752  fillPlotNoFlow(h_recodxy[count], dxy);
753  fillPlotNoFlow(h_recodz[count], dz);
754  fillPlotNoFlow(h_recohit[count], nhits);
755  fillPlotNoFlow(h_recolayer[count], nlayers);
756  fillPlotNoFlow(h_recopixellayer[count], nPixelLayers);
757  fillPlotNoFlow(h_reco3Dlayer[count], n3DLayers);
758  fillPlotNoFlow(h_recopu[count],numVertices);
759  fillPlotNoFlow(h_recochi2[count], chi2);
760  fillPlotNoFlow(h_recovertpos[count], vertxy);
761  fillPlotNoFlow(h_recozpos[count], vertz);
762  h_recodr[count]->Fill(deltar);
763  if(pvPosition) {
764  fillPlotNoFlow(h_recodxypv[count], dxypv);
765  fillPlotNoFlow(h_recodzpv[count], dzpv);
766 
767  h_reco_dzpvcut[count]->Fill(std::abs(dzpv));
768  h_reco_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
769  h_reco_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
770  h_reco_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
771  }
772 
773  if (isMatched) {
774  fillPlotNoFlow(h_assoc2eta[count], eta);
775  fillPlotNoFlow(h_assoc2phi[count], phi);
776  fillPlotNoFlow(h_assoc2pT[count], pt);
777  fillPlotNoFlow(h_assoc2dxy[count], dxy);
778  fillPlotNoFlow(h_assoc2dz[count], dz);
779  fillPlotNoFlow(h_assoc2hit[count], nhits);
780  fillPlotNoFlow(h_assoc2layer[count], nlayers);
781  fillPlotNoFlow(h_assoc2pixellayer[count], nPixelLayers);
782  fillPlotNoFlow(h_assoc23Dlayer[count], n3DLayers);
783  fillPlotNoFlow(h_assoc2pu[count],numVertices);
784  fillPlotNoFlow(h_assoc2chi2[count], chi2);
785  fillPlotNoFlow(h_assoc2vertpos[count], vertxy);
786  fillPlotNoFlow(h_assoc2zpos[count], vertz);
787  h_assoc2dr[count]->Fill(deltar);
788  if(pvPosition) {
789  fillPlotNoFlow(h_assoc2dxypv[count], dxypv);
790  fillPlotNoFlow(h_assoc2dzpv[count], dzpv);
791 
792  h_assoc2_dzpvcut[count]->Fill(std::abs(dzpv));
793  h_assoc2_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
794  h_assoc2_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
795  h_assoc2_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
796  }
797 
798  nrecHit_vs_nsimHit_rec2sim[count]->Fill( track.numberOfValidHits(),nSimHits);
799  h_assocFraction[count]->Fill( sharedFraction);
800  h_assocSharedHit[count]->Fill( sharedHits);
801 
802  if (!isChargeMatched) {
803  fillPlotNoFlow(h_misideta[count], eta);
804  fillPlotNoFlow(h_misidphi[count], phi);
805  fillPlotNoFlow(h_misidpT[count], pt);
806  fillPlotNoFlow(h_misiddxy[count], dxy);
807  fillPlotNoFlow(h_misiddz[count], dz);
808  fillPlotNoFlow(h_misidhit[count], nhits);
809  fillPlotNoFlow(h_misidlayer[count], nlayers);
810  fillPlotNoFlow(h_misidpixellayer[count], nPixelLayers);
811  fillPlotNoFlow(h_misid3Dlayer[count], n3DLayers);
812  fillPlotNoFlow(h_misidpu[count], numVertices);
813  fillPlotNoFlow(h_misidchi2[count], chi2);
814  if(pvPosition) {
815  fillPlotNoFlow(h_misiddxypv[count], dxypv);
816  fillPlotNoFlow(h_misiddzpv[count], dzpv);
817  }
818  }
819 
820  if (numAssocRecoTracks>1) {
821  fillPlotNoFlow(h_loopereta[count], eta);
822  fillPlotNoFlow(h_looperphi[count], phi);
823  fillPlotNoFlow(h_looperpT[count], pt);
824  fillPlotNoFlow(h_looperdxy[count], dxy);
825  fillPlotNoFlow(h_looperdz[count], dz);
826  fillPlotNoFlow(h_looperhit[count], nhits);
827  fillPlotNoFlow(h_looperlayer[count], nlayers);
828  fillPlotNoFlow(h_looperpixellayer[count], nPixelLayers);
829  fillPlotNoFlow(h_looper3Dlayer[count], n3DLayers);
830  fillPlotNoFlow(h_looperpu[count], numVertices);
831  fillPlotNoFlow(h_looperchi2[count], chi2);
832  fillPlotNoFlow(h_loopervertpos[count], vertxy);
833  fillPlotNoFlow(h_looperzpos[count], vertz);
834  h_looperdr[count]->Fill(deltar);
835  if(pvPosition) {
836  fillPlotNoFlow(h_looperdxypv[count], dxypv);
837  fillPlotNoFlow(h_looperdzpv[count], dzpv);
838  }
839  }
840  if(!isSigMatched) {
841  fillPlotNoFlow(h_pileupeta[count], eta);
842  fillPlotNoFlow(h_pileupphi[count], phi);
843  fillPlotNoFlow(h_pileuppT[count], pt);
844  fillPlotNoFlow(h_pileupdxy[count], dxy);
845  fillPlotNoFlow(h_pileupdz[count], dz);
846  fillPlotNoFlow(h_pileuphit[count], nhits);
847  fillPlotNoFlow(h_pileuplayer[count], nlayers);
848  fillPlotNoFlow(h_pileuppixellayer[count], nPixelLayers);
849  fillPlotNoFlow(h_pileup3Dlayer[count], n3DLayers);
850  fillPlotNoFlow(h_pileuppu[count], numVertices);
851  fillPlotNoFlow(h_pileupchi2[count], chi2);
852  fillPlotNoFlow(h_pileupvertpos[count], vertxy);
853  fillPlotNoFlow(h_pileupzpos[count], vertz);
854  h_pileupdr[count]->Fill(deltar);
855  if(pvPosition) {
856  fillPlotNoFlow(h_pileupdxypv[count], dxypv);
857  fillPlotNoFlow(h_pileupdzpv[count], dzpv);
858 
859  h_pileup_dzpvcut[count]->Fill(std::abs(dzpv));
860  h_pileup_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
861  h_pileup_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
862  h_pileup_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
863  }
864  }
865  }
866 }
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:676
std::vector< MonitorElement * > h_pileupdxypv
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_looperzpos
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_misidlayer
std::vector< MonitorElement * > h_looperchi2
std::vector< MonitorElement * > h_assoc2zpos
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_looperpixellayer
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:556
std::vector< MonitorElement * > h_pileuphit
std::vector< MonitorElement * > h_pileupdr
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
std::vector< MonitorElement * > h_pileuppT
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_recovertpos
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_misidchi2
std::vector< MonitorElement * > h_assoc2_dzpvcut
std::vector< MonitorElement * > h_looperdxy
std::vector< MonitorElement * > h_looper3Dlayer
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:508
std::vector< MonitorElement * > h_reco_dzpvcut
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:670
std::vector< MonitorElement * > h_reco3Dlayer
std::vector< MonitorElement * > h_loopervertpos
std::vector< MonitorElement * > h_looperdr
std::vector< MonitorElement * > h_pileupchi2
std::vector< MonitorElement * > h_assoc2dz
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:527
int sharedHits(const reco::GsfTrackRef &, const reco::GsfTrackRef &)
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > h_recohit
TrackAlgorithm algo() const
Definition: TrackBase.h:492
std::vector< MonitorElement * > h_looperlayer
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
std::vector< MonitorElement * > h_assoc2layer
std::vector< MonitorElement * > h_assoc23Dlayer
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:350
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxypv
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_assoc2chi2
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
std::vector< MonitorElement * > h_reco_dzpvcut_pt
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > h_recozpos
std::vector< MonitorElement * > h_recophi
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< MonitorElement * > h_assoc2pixellayer
std::vector< MonitorElement * > h_misid3Dlayer
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:815
T min(T a, T b)
Definition: MathUtil.h:58
std::vector< MonitorElement * > h_looperdxypv
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_pileupvertpos
std::vector< MonitorElement * > h_pileupphi
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > h_assoc2vertpos
std::vector< MonitorElement * > h_misiddxy
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:604
double dzError() const
error on dz
Definition: TrackBase.h:809
std::vector< MonitorElement * > h_recolayer
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
std::vector< MonitorElement * > h_recopu
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_misiddzpv
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:445
std::vector< MonitorElement * > h_recodzpv
std::vector< MonitorElement * > h_pileuppixellayer
std::vector< MonitorElement * > h_pileup_dzpvcut
std::vector< MonitorElement * > h_looperdzpv
std::vector< MonitorElement * > h_looperphi
std::vector< MonitorElement * > h_recodxypv
std::vector< MonitorElement * > h_assoc2dr
unsigned short found() const
Number of valid hits on track.
Definition: Track.h:194
std::vector< MonitorElement * > h_recopixellayer
std::vector< MonitorElement * > h_pileup_dzpvsigcut
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_pileup3Dlayer
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_pileupzpos
std::vector< MonitorElement * > h_misiddxypv
std::vector< MonitorElement * > h_misidpixellayer
std::vector< MonitorElement * > h_pileuplayer
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_reco_dzpvsigcut
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
std::vector< MonitorElement * > h_pileupdxy
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > h_pileupdzpv
std::vector< MonitorElement * > h_pileupdz
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:586
std::vector< MonitorElement * > h_recochi2
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > h_assoc2dzpv
std::vector< MonitorElement * > h_pileupeta
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > h_pileuppu
void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos ( const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertex,
int  bx 
)

Definition at line 585 of file MTVHistoProducerAlgoForTracker.cc.

References MonitorElement::Fill(), h_bunchxSIM, h_etaSIM, h_ptSIM, h_vertposSIM, and mathSSE::sqrt().

587  {
588  if(bx == 0) {
589  h_ptSIM->Fill(sqrt(momentumTP.perp2()));
590  h_etaSIM->Fill(momentumTP.eta());
591  h_vertposSIM->Fill(sqrt(vertexTP.perp2()));
592  }
593  h_bunchxSIM->Fill(bx);
594 }
void Fill(long long x)
T sqrt(T t)
Definition: SSEVec.h:18
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( int  count,
const TrackingParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
double  dxyPV,
double  dzPV,
int  nSimHits,
int  nSimLayers,
int  nSimPixelLayers,
int  nSimStripMonoAndStereoLayers,
const reco::Track track,
int  numVertices,
double  dR,
const math::XYZPoint pvPosition 
)

Definition at line 598 of file MTVHistoProducerAlgoForTracker.cc.

References funct::abs(), KineDebug3::count(), reco::TrackBase::dz(), reco::TrackBase::dzError(), eta, getEta(), getPt(), h_assoc3Dlayer, h_assoc_dzpvcut, h_assoc_dzpvcut_pt, h_assoc_dzpvsigcut, h_assoc_dzpvsigcut_pt, h_assocdr, h_assocdxy, h_assocdxypv, h_assocdz, h_assocdzpv, h_assoceta, h_assochit, h_assoclayer, h_assocphi, h_assocpixellayer, h_assocpT, h_assocpu, h_assocvertpos, h_assoczpos, h_simul2_dzpvcut, h_simul2_dzpvcut_pt, h_simul2_dzpvsigcut, h_simul2_dzpvsigcut_pt, h_simul3Dlayer, h_simul_dzpvcut, h_simul_dzpvcut_pt, h_simul_dzpvsigcut, h_simul_dzpvsigcut_pt, h_simuldr, h_simuldxy, h_simuldxypv, h_simuldz, h_simuldzpv, h_simuleta, h_simulhit, h_simullayer, h_simulphi, h_simulpixellayer, h_simulpT, h_simulpu, h_simulvertpos, h_simulzpos, trackerHitRTTI::isMatched(), nrecHit_vs_nsimHit_sim2rec, reco::TrackBase::numberOfValidHits(), phi, EnergyCorrector::pt, mathSSE::sqrt(), TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, and TpSelectorForEfficiencyVsVTXZ.

609  {
610  bool isMatched = track;
611  const auto eta = getEta(momentumTP.eta());
612  const auto phi = momentumTP.phi();
613  const auto pt = getPt(sqrt(momentumTP.perp2()));
614  const auto nSim3DLayers = nSimPixelLayers + nSimStripMonoAndStereoLayers;
615  const auto vertxy = sqrt(vertexTP.perp2());
616  const auto vertz = vertexTP.z();
617 
618  if((*TpSelectorForEfficiencyVsEta)(tp)){
619  //effic vs eta
620  fillPlotNoFlow(h_simuleta[count], eta);
621  if (isMatched) fillPlotNoFlow(h_assoceta[count], eta);
622  }
623 
624  if((*TpSelectorForEfficiencyVsPhi)(tp)){
625  fillPlotNoFlow(h_simulphi[count], phi);
626  if (isMatched) fillPlotNoFlow(h_assocphi[count], phi);
627  //effic vs hits
628  fillPlotNoFlow(h_simulhit[count], nSimHits);
629  fillPlotNoFlow(h_simullayer[count], nSimLayers);
630  fillPlotNoFlow(h_simulpixellayer[count], nSimPixelLayers);
631  fillPlotNoFlow(h_simul3Dlayer[count], nSim3DLayers);
632  if(isMatched) {
633  fillPlotNoFlow(h_assochit[count], nSimHits);
634  fillPlotNoFlow(h_assoclayer[count], nSimLayers);
635  fillPlotNoFlow(h_assocpixellayer[count], nSimPixelLayers);
636  fillPlotNoFlow(h_assoc3Dlayer[count], nSim3DLayers);
637  nrecHit_vs_nsimHit_sim2rec[count]->Fill( track->numberOfValidHits(),nSimHits);
638  }
639  //effic vs pu
640  fillPlotNoFlow(h_simulpu[count], numVertices);
641  if(isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
642  //efficiency vs dR
643  fillPlotNoFlow(h_simuldr[count],dR);
644  if (isMatched) fillPlotNoFlow(h_assocdr[count],dR);
645  }
646 
647  if((*TpSelectorForEfficiencyVsPt)(tp)){
648  fillPlotNoFlow(h_simulpT[count], pt);
649  if (isMatched) fillPlotNoFlow(h_assocpT[count], pt);
650  }
651 
653  fillPlotNoFlow(h_simuldxy[count],dxySim);
654  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
655  if(pvPosition) {
656  fillPlotNoFlow(h_simuldxypv[count], dxyPVSim);
657  if (isMatched) fillPlotNoFlow(h_assocdxypv[count], dxyPVSim);
658  }
659 
660  fillPlotNoFlow(h_simulvertpos[count], vertxy);
661  if (isMatched) fillPlotNoFlow(h_assocvertpos[count], vertxy);
662  }
663 
664 
666  fillPlotNoFlow(h_simuldz[count],dzSim);
667  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
668 
669  fillPlotNoFlow(h_simulzpos[count], vertz);
670  if (isMatched) fillPlotNoFlow(h_assoczpos[count], vertz);
671 
672  if(pvPosition) {
673  fillPlotNoFlow(h_simuldzpv[count], dzPVSim);
674 
675  h_simul_dzpvcut[count]->Fill(0);
676  h_simul_dzpvsigcut[count]->Fill(0);
677  h_simul_dzpvcut_pt[count]->Fill(0, pt);
678  h_simul_dzpvsigcut_pt[count]->Fill(0, pt);
679  if(isMatched) {
680  fillPlotNoFlow(h_assocdzpv[count], dzPVSim);
681 
682  h_simul2_dzpvcut[count]->Fill(0);
683  h_simul2_dzpvsigcut[count]->Fill(0);
684  h_simul2_dzpvcut_pt[count]->Fill(0, pt);
685  h_simul2_dzpvsigcut_pt[count]->Fill(0, pt);
686  const double dzpvcut = std::abs(track->dz(*pvPosition));
687  const double dzpvsigcut = dzpvcut / track->dzError();
688  h_assoc_dzpvcut[count]->Fill(dzpvcut);
689  h_assoc_dzpvsigcut[count]->Fill(dzpvsigcut);
690  h_assoc_dzpvcut_pt[count]->Fill(dzpvcut, pt);
691  h_assoc_dzpvsigcut_pt[count]->Fill(dzpvsigcut, pt);
692  }
693  }
694  }
695 
696 }
std::vector< MonitorElement * > h_simul2_dzpvcut
std::vector< MonitorElement * > h_assochit
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_simul_dzpvsigcut
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
std::vector< MonitorElement * > h_simul_dzpvcut_pt
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc3Dlayer
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
std::vector< MonitorElement * > h_assocdzpv
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_simuldzpv
std::vector< MonitorElement * > h_simuldr
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > h_assocpT
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:815
std::vector< MonitorElement * > h_simullayer
std::vector< MonitorElement * > h_simuldz
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:604
double dzError() const
error on dz
Definition: TrackBase.h:809
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simuldxypv
std::vector< MonitorElement * > h_simulpixellayer
std::vector< MonitorElement * > h_simul_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
std::vector< MonitorElement * > h_simulphi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_simul2_dzpvsigcut
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoclayer
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simul3Dlayer
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_assocpixellayer
std::vector< MonitorElement * > h_assoc_dzpvcut
std::vector< MonitorElement * > h_assocdxypv
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( int  count,
const reco::GenParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
int  nSimHits,
const reco::Track track,
int  numVertices 
)

Definition at line 1116 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), getEta(), getPt(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, h_assocdxy, h_assocdz, h_assoceta, h_assochit, h_assocphi, h_assocpT, h_assocpu, h_assocvertpos, h_assoczpos, h_simuldxy, h_simuldz, h_simuleta, h_simulhit, h_simulphi, h_simulpT, h_simulpu, h_simulvertpos, h_simulzpos, trackerHitRTTI::isMatched(), nrecHit_vs_nsimHit_sim2rec, reco::TrackBase::numberOfValidHits(), and mathSSE::sqrt().

1122  {
1123 
1124  bool isMatched = track;
1125 
1126  if((*GpSelectorForEfficiencyVsEta)(tp)){
1127  //effic vs eta
1128  fillPlotNoFlow(h_simuleta[count],getEta(momentumTP.eta()));
1129  if (isMatched) fillPlotNoFlow(h_assoceta[count],getEta(momentumTP.eta()));
1130  }
1131 
1132  if((*GpSelectorForEfficiencyVsPhi)(tp)){
1133  fillPlotNoFlow(h_simulphi[count],momentumTP.phi());
1134  if (isMatched) fillPlotNoFlow(h_assocphi[count],momentumTP.phi());
1135  //effic vs hits
1136  fillPlotNoFlow(h_simulhit[count],(int)nSimHits);
1137  if(isMatched) {
1138  fillPlotNoFlow(h_assochit[count],(int)nSimHits);
1139  nrecHit_vs_nsimHit_sim2rec[count]->Fill( track->numberOfValidHits(),nSimHits);
1140  }
1141  //effic vs pu
1142  fillPlotNoFlow(h_simulpu[count],numVertices);
1143  if (isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
1144  //efficiency vs dR
1145  //not implemented for now
1146  }
1147 
1148  if((*GpSelectorForEfficiencyVsPt)(tp)){
1149  fillPlotNoFlow(h_simulpT[count],getPt(sqrt(momentumTP.perp2())));
1150  if (isMatched) fillPlotNoFlow(h_assocpT[count],getPt(sqrt(momentumTP.perp2())));
1151  }
1152 
1153  if((*GpSelectorForEfficiencyVsVTXR)(tp)){
1154  fillPlotNoFlow(h_simuldxy[count],dxySim);
1155  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
1156 
1157  fillPlotNoFlow(h_simulvertpos[count],sqrt(vertexTP.perp2()));
1158  if (isMatched) fillPlotNoFlow(h_assocvertpos[count],sqrt(vertexTP.perp2()));
1159  }
1160 
1161  if((*GpSelectorForEfficiencyVsVTXZ)(tp)){
1162  fillPlotNoFlow(h_simuldz[count],dzSim);
1163  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
1164 
1165  fillPlotNoFlow(h_simulzpos[count],vertexTP.z());
1166  if (isMatched) fillPlotNoFlow(h_assoczpos[count],vertexTP.z());
1167  }
1168 
1169 }
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_assoczpos
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_assocdz
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_simuleta
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
std::vector< MonitorElement * > h_assocphi
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
T sqrt(T t)
Definition: SSEVec.h:18
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
std::vector< MonitorElement * > h_assocpT
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:815
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simulphi
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocvertpos
void MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos ( int  count,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
int  chargeTP,
const reco::Track track,
const math::XYZPoint bsPosition 
)

Definition at line 914 of file MTVHistoProducerAlgoForTracker.cc.

References chi2_vs_phi, funct::cos(), cotThetares_vs_eta, cotThetares_vs_pt, KineDebug3::count(), reco::TrackBase::dxy(), reco::TrackBase::dxyError(), dxypull_vs_eta, dxyres_vs_eta, dxyres_vs_pt, reco::TrackBase::dz(), reco::TrackBase::dzError(), dzpull_vs_eta, dzres_vs_eta, dzres_vs_pt, reco::TrackBase::eta(), etares_vs_eta, getEta(), getPt(), getRecoMomentum(), h_eta, h_pt, h_pullDxy, h_pullDz, h_pullPhi, h_pullQoverp, h_pullTheta, LogTrace, M_PI, nhits_vs_phi, reco::TrackBase::normalizedChi2(), reco::TrackBase::numberOfValidHits(), phimean_vs_eta_phi, phipull_vs_eta, phipull_vs_phi, phires_vs_eta, phires_vs_phi, phires_vs_pt, ptmean_vs_eta_phi, ptpull_vs_eta, ptpull_vs_phi, ptres_vs_eta, ptres_vs_phi, ptres_vs_pt, funct::sin(), mathSSE::sqrt(), funct::tan(), reco::TrackBase::theta(), thetapull_vs_eta, and thetapull_vs_phi.

919  {
920 
921  // evaluation of TP parameters
922  double qoverpSim = chargeTP/sqrt(momentumTP.x()*momentumTP.x()+momentumTP.y()*momentumTP.y()+momentumTP.z()*momentumTP.z());
923  double lambdaSim = M_PI/2-momentumTP.theta();
924  double phiSim = momentumTP.phi();
925  double dxySim = (-vertexTP.x()*sin(momentumTP.phi())+vertexTP.y()*cos(momentumTP.phi()));
926  double dzSim = vertexTP.z() - (vertexTP.x()*momentumTP.x()+vertexTP.y()*momentumTP.y())/sqrt(momentumTP.perp2())
927  * momentumTP.z()/sqrt(momentumTP.perp2());
928 
929 
930  // reco::Track::ParameterVector rParameters = track.parameters(); // UNUSED
931 
932  double qoverpRec(0);
933  double qoverpErrorRec(0);
934  double ptRec(0);
935  double ptErrorRec(0);
936  double lambdaRec(0);
937  double lambdaErrorRec(0);
938  double phiRec(0);
939  double phiErrorRec(0);
940 
941  /* TO BE FIXED LATER -----------
942  //loop to decide whether to take gsfTrack (utilisation of mode-function) or common track
943  const GsfTrack* gsfTrack(0);
944  if(useGsf){
945  gsfTrack = dynamic_cast<const GsfTrack*>(&(*track));
946  if (gsfTrack==0) edm::LogInfo("TrackValidator") << "Trying to access mode for a non-GsfTrack";
947  }
948 
949  if (gsfTrack) {
950  // get values from mode
951  getRecoMomentum(*gsfTrack, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
952  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
953  }
954 
955  else {
956  // get values from track (without mode)
957  getRecoMomentum(*track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
958  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
959  }
960  */
961  getRecoMomentum(track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
962  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
963  // -------------
964 
965  double ptError = ptErrorRec;
966  double ptres=ptRec-sqrt(momentumTP.perp2());
967  double etares=track.eta()-momentumTP.Eta();
968 
969 
970  double dxyRec = track.dxy(bsPosition);
971  double dzRec = track.dz(bsPosition);
972 
973  const auto phiRes = phiRec-phiSim;
974  const auto dxyRes = dxyRec-dxySim;
975  const auto dzRes = dzRec-dzSim;
976  const auto cotThetaRes = 1/tan(M_PI*0.5-lambdaRec)-1/tan(M_PI*0.5-lambdaSim);
977 
978  // eta residue; pt, k, theta, phi, dxy, dz pulls
979  double qoverpPull=(qoverpRec-qoverpSim)/qoverpErrorRec;
980  double thetaPull=(lambdaRec-lambdaSim)/lambdaErrorRec;
981  double phiPull=phiRes/phiErrorRec;
982  double dxyPull=dxyRes/track.dxyError();
983  double dzPull=dzRes/track.dzError();
984 
985 #ifdef EDM_ML_DEBUG
986  double contrib_Qoverp = ((qoverpRec-qoverpSim)/qoverpErrorRec)*
987  ((qoverpRec-qoverpSim)/qoverpErrorRec)/5;
988  double contrib_dxy = ((dxyRec-dxySim)/track.dxyError())*((dxyRec-dxySim)/track.dxyError())/5;
989  double contrib_dz = ((dzRec-dzSim)/track.dzError())*((dzRec-dzSim)/track.dzError())/5;
990  double contrib_theta = ((lambdaRec-lambdaSim)/lambdaErrorRec)*
991  ((lambdaRec-lambdaSim)/lambdaErrorRec)/5;
992  double contrib_phi = ((phiRec-phiSim)/phiErrorRec)*
993  ((phiRec-phiSim)/phiErrorRec)/5;
994 
995  LogTrace("TrackValidatorTEST")
996  //<< "assocChi2=" << tp.begin()->second << "\n"
997  << "" << "\n"
998  << "ptREC=" << ptRec << "\n" << "etaREC=" << track.eta() << "\n" << "qoverpREC=" << qoverpRec << "\n"
999  << "dxyREC=" << dxyRec << "\n" << "dzREC=" << dzRec << "\n"
1000  << "thetaREC=" << track.theta() << "\n" << "phiREC=" << phiRec << "\n"
1001  << "" << "\n"
1002  << "qoverpError()=" << qoverpErrorRec << "\n" << "dxyError()=" << track.dxyError() << "\n"<< "dzError()="
1003  << track.dzError() << "\n"
1004  << "thetaError()=" << lambdaErrorRec << "\n" << "phiError()=" << phiErrorRec << "\n"
1005  << "" << "\n"
1006  << "ptSIM=" << sqrt(momentumTP.perp2()) << "\n"<< "etaSIM=" << momentumTP.Eta() << "\n"<< "qoverpSIM=" << qoverpSim << "\n"
1007  << "dxySIM=" << dxySim << "\n"<< "dzSIM=" << dzSim << "\n" << "thetaSIM=" << M_PI/2-lambdaSim << "\n"
1008  << "phiSIM=" << phiSim << "\n"
1009  << "" << "\n"
1010  << "contrib_Qoverp=" << contrib_Qoverp << "\n"<< "contrib_dxy=" << contrib_dxy << "\n"<< "contrib_dz=" << contrib_dz << "\n"
1011  << "contrib_theta=" << contrib_theta << "\n"<< "contrib_phi=" << contrib_phi << "\n"
1012  << "" << "\n"
1013  <<"chi2PULL="<<contrib_Qoverp+contrib_dxy+contrib_dz+contrib_theta+contrib_phi<<"\n";
1014 #endif
1015 
1016  h_pullQoverp[count]->Fill(qoverpPull);
1017  h_pullTheta[count]->Fill(thetaPull);
1018  h_pullPhi[count]->Fill(phiPull);
1019  h_pullDxy[count]->Fill(dxyPull);
1020  h_pullDz[count]->Fill(dzPull);
1021 
1022  const auto etaSim = getEta(momentumTP.eta());
1023  const auto ptSim = getPt(sqrt(momentumTP.perp2()));
1024 
1025  h_pt[count]->Fill(ptres/ptError);
1026  h_eta[count]->Fill(etares);
1027  //etares_vs_eta[count]->Fill(getEta(track.eta()),etares);
1028  etares_vs_eta[count]->Fill(etaSim, etares);
1029 
1030  //resolution of track params: fill 2D histos
1031  dxyres_vs_eta[count]->Fill(etaSim, dxyRes);
1032  ptres_vs_eta[count]->Fill(etaSim, ptres/ptRec);
1033  dzres_vs_eta[count]->Fill(etaSim, dzRes);
1034  phires_vs_eta[count]->Fill(etaSim, phiRes);
1035  cotThetares_vs_eta[count]->Fill(etaSim, cotThetaRes);
1036 
1037  //same as before but vs pT
1038  dxyres_vs_pt[count]->Fill(ptSim, dxyRes);
1039  ptres_vs_pt[count]->Fill(ptSim, ptres/ptRec);
1040  dzres_vs_pt[count]->Fill(ptSim, dzRes);
1041  phires_vs_pt[count]->Fill(ptSim, phiRes);
1042  cotThetares_vs_pt[count]->Fill(ptSim, cotThetaRes);
1043 
1044  //pulls of track params vs eta: fill 2D histos
1045  dxypull_vs_eta[count]->Fill(etaSim, dxyPull);
1046  ptpull_vs_eta[count]->Fill(etaSim, ptres/ptError);
1047  dzpull_vs_eta[count]->Fill(etaSim, dzPull);
1048  phipull_vs_eta[count]->Fill(etaSim, phiPull);
1049  thetapull_vs_eta[count]->Fill(etaSim, thetaPull);
1050 
1051  //plots vs phi
1052  nhits_vs_phi[count]->Fill(phiRec,track.numberOfValidHits());
1053  chi2_vs_phi[count]->Fill(phiRec,track.normalizedChi2());
1054  ptmean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),ptRec);
1055  phimean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),phiRec);
1056 
1057  ptres_vs_phi[count]->Fill(phiSim, ptres/ptRec);
1058  phires_vs_phi[count]->Fill(phiSim, phiRes);
1059  ptpull_vs_phi[count]->Fill(phiSim, ptres/ptError);
1060  phipull_vs_phi[count]->Fill(phiSim, phiPull);
1061  thetapull_vs_phi[count]->Fill(phiSim, thetaPull);
1062 
1063 
1064 }
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > ptpull_vs_phi
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:556
void getRecoMomentum(const reco::Track &track, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
retrieval of reconstructed momentum components from reco::Track (== mean values for GSF) ...
double theta() const
polar angle
Definition: TrackBase.h:574
double dxyError() const
error on dxy
Definition: TrackBase.h:791
std::vector< MonitorElement * > h_pullPhi
std::vector< MonitorElement * > phipull_vs_phi
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
std::vector< MonitorElement * > phires_vs_eta
std::vector< MonitorElement * > h_pullDxy
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > phires_vs_phi
std::vector< MonitorElement * > dzres_vs_eta
std::vector< MonitorElement * > phires_vs_pt
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:646
std::vector< MonitorElement * > h_pullQoverp
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > etares_vs_eta
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
std::vector< MonitorElement * > nhits_vs_phi
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:815
std::vector< MonitorElement * > phimean_vs_eta_phi
#define LogTrace(id)
std::vector< MonitorElement * > dzpull_vs_eta
#define M_PI
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:604
double dzError() const
error on dz
Definition: TrackBase.h:809
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > dxyres_vs_eta
std::vector< MonitorElement * > h_eta
std::vector< MonitorElement * > h_pt
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_pullTheta
std::vector< MonitorElement * > ptmean_vs_eta_phi
std::vector< MonitorElement * > dxypull_vs_eta
std::vector< MonitorElement * > ptres_vs_eta
std::vector< MonitorElement * > phipull_vs_eta
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > ptres_vs_pt
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:586
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< MonitorElement * > dxyres_vs_pt
std::vector< MonitorElement * > dzres_vs_pt
void MTVHistoProducerAlgoForTracker::fill_seed_histos ( int  count,
int  seedsFitFailed,
int  seedsTotal 
)

Definition at line 1171 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), h_seedsFitFailed, and h_seedsFitFailedFraction.

1173  {
1174  fillPlotNoFlow(h_seedsFitFailed[count], seedsFitFailed);
1175  h_seedsFitFailedFraction[count]->Fill(static_cast<double>(seedsFitFailed)/seedsTotal);
1176 }
std::vector< MonitorElement * > h_seedsFitFailedFraction
std::vector< MonitorElement * > h_seedsFitFailed
void MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos ( int  count,
const reco::Track track 
)

Definition at line 869 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::charge(), reco::TrackBase::chi2(), chi2_vs_eta, chi2_vs_nhits, KineDebug3::count(), eta, reco::TrackBase::eta(), getEta(), h_charge, h_hits, h_losthits, h_nchi2, h_nchi2_prob, h_nmisslayers_inner, h_nmisslayers_outer, reco::TrackBase::hitPattern(), reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::ndof(), nhits_vs_eta, nLayersWithMeas_vs_eta, nlosthits_vs_eta, reco::TrackBase::normalizedChi2(), nPXBhits_vs_eta, nPXFhits_vs_eta, nPXLlayersWithMeas_vs_eta, nSTRIPlayersWith1dMeas_vs_eta, nSTRIPlayersWith2dMeas_vs_eta, nSTRIPlayersWithMeas_vs_eta, nTEChits_vs_eta, nTIBhits_vs_eta, nTIDhits_vs_eta, nTOBhits_vs_eta, reco::HitPattern::numberOfHits(), reco::TrackBase::numberOfLostHits(), reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidPixelBarrelHits(), reco::HitPattern::numberOfValidPixelEndcapHits(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), reco::HitPattern::numberOfValidStripTECHits(), reco::HitPattern::numberOfValidStripTIBHits(), reco::HitPattern::numberOfValidStripTIDHits(), reco::HitPattern::numberOfValidStripTOBHits(), reco::HitPattern::pixelLayersWithMeasurement(), reco::HitPattern::stripLayersWithMeasurement(), and reco::HitPattern::trackerLayersWithMeasurement().

870  {
871  //nchi2 and hits global distributions
872  h_nchi2[count]->Fill(track.normalizedChi2());
873  h_nchi2_prob[count]->Fill(TMath::Prob(track.chi2(),(int)track.ndof()));
874  h_hits[count]->Fill(track.numberOfValidHits());
875  h_losthits[count]->Fill(track.numberOfLostHits());
876  chi2_vs_nhits[count]->Fill(track.numberOfValidHits(),track.normalizedChi2());
877  h_charge[count]->Fill( track.charge() );
880 
881  //chi2 and #hit vs eta: fill 2D histos
882  const auto eta = getEta(track.eta());
883  chi2_vs_eta[count]->Fill(eta, track.normalizedChi2());
884  nhits_vs_eta[count]->Fill(eta, track.numberOfValidHits());
893  int LayersAll = track.hitPattern().stripLayersWithMeasurement();
894  int Layers2D = track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
895  int Layers1D = LayersAll - Layers2D;
896  nSTRIPlayersWithMeas_vs_eta[count]->Fill(eta, LayersAll);
897  nSTRIPlayersWith1dMeas_vs_eta[count]->Fill(eta, Layers1D);
898  nSTRIPlayersWith2dMeas_vs_eta[count]->Fill(eta, Layers2D);
899 
900  nlosthits_vs_eta[count]->Fill(eta, track.numberOfLostHits());
901 }
std::vector< MonitorElement * > h_nchi2_prob
std::vector< MonitorElement * > nPXFhits_vs_eta
std::vector< MonitorElement * > h_nmisslayers_inner
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:556
std::vector< MonitorElement * > nTEChits_vs_eta
std::vector< MonitorElement * > h_hits
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
std::vector< MonitorElement * > nTIDhits_vs_eta
std::vector< MonitorElement * > h_nchi2
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:821
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:508
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:527
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:868
std::vector< MonitorElement * > nlosthits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > nPXBhits_vs_eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:646
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:350
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:843
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:544
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
std::vector< MonitorElement * > nTOBhits_vs_eta
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:550
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:863
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:815
int numberOfValidStripTECHits() const
Definition: HitPattern.h:873
std::vector< MonitorElement * > h_charge
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< MonitorElement * > h_nmisslayers_outer
std::vector< MonitorElement * > nPXLlayersWithMeas_vs_eta
std::vector< MonitorElement * > nTIBhits_vs_eta
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:445
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1035
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:858
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:848
int charge() const
track electric charge
Definition: TrackBase.h:562
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:807
std::vector< MonitorElement * > h_losthits
void MTVHistoProducerAlgoForTracker::fill_simTrackBased_histos ( int  numSimTracks)

Definition at line 698 of file MTVHistoProducerAlgoForTracker.cc.

References MonitorElement::Fill(), and h_tracksSIM.

698  {
699  h_tracksSIM->Fill(numSimTracks);
700 }
void Fill(long long x)
void MTVHistoProducerAlgoForTracker::fill_trackBased_histos ( int  count,
int  assTracks,
int  numRecoTracks,
int  numSimTracks 
)

Definition at line 904 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), h_fakes, h_tracks, and nrec_vs_nsim.

904  {
905 
906  h_tracks[count]->Fill(assTracks);
907  h_fakes[count]->Fill(numRecoTracks-assTracks);
908  nrec_vs_nsim[count]->Fill(numRecoTracks,numSimTracks);
909 
910 }
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_tracks
double MTVHistoProducerAlgoForTracker::getEta ( double  eta)
private
double MTVHistoProducerAlgoForTracker::getPt ( double  pt)
private
void MTVHistoProducerAlgoForTracker::getRecoMomentum ( const reco::Track track,
double &  pt,
double &  ptError,
double &  qoverp,
double &  qoverpError,
double &  lambda,
double &  lambdaError,
double &  phi,
double &  phiError 
) const
private

retrieval of reconstructed momentum components from reco::Track (== mean values for GSF)

Definition at line 1069 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::lambda(), reco::TrackBase::lambdaError(), reco::TrackBase::phi(), reco::TrackBase::phiError(), reco::TrackBase::pt(), reco::TrackBase::ptError(), reco::TrackBase::qoverp(), and reco::TrackBase::qoverpError().

Referenced by fill_ResoAndPull_recoTrack_histos().

1071  {
1072  pt = track.pt();
1073  ptError = track.ptError();
1074  qoverp = track.qoverp();
1075  qoverpError = track.qoverpError();
1076  lambda = track.lambda();
1077  lambdaError = track.lambdaError();
1078  phi = track.phi();
1079  phiError = track.phiError();
1080  // cout <<"test1" << endl;
1081 
1082 
1083 
1084 }
double qoverp() const
q / p
Definition: TrackBase.h:568
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:640
double pt() const
track transverse momentum
Definition: TrackBase.h:616
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:758
double phiError() const
error on phi
Definition: TrackBase.h:785
double lambda() const
Lambda angle.
Definition: TrackBase.h:580
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:752
double lambdaError() const
error on lambda
Definition: TrackBase.h:773
void MTVHistoProducerAlgoForTracker::getRecoMomentum ( const reco::GsfTrack gsfTrack,
double &  pt,
double &  ptError,
double &  qoverp,
double &  qoverpError,
double &  lambda,
double &  lambdaError,
double &  phi,
double &  phiError 
) const
private

retrieval of reconstructed momentum components based on the mode of a reco::GsfTrack

Definition at line 1087 of file MTVHistoProducerAlgoForTracker.cc.

References reco::GsfTrack::lambdaMode(), reco::GsfTrack::lambdaModeError(), reco::GsfTrack::phiMode(), reco::GsfTrack::phiModeError(), reco::GsfTrack::ptMode(), reco::GsfTrack::ptModeError(), reco::GsfTrack::qoverpMode(), and reco::GsfTrack::qoverpModeError().

1089  {
1090 
1091  pt = gsfTrack.ptMode();
1092  ptError = gsfTrack.ptModeError();
1093  qoverp = gsfTrack.qoverpMode();
1094  qoverpError = gsfTrack.qoverpModeError();
1095  lambda = gsfTrack.lambdaMode();
1096  lambdaError = gsfTrack.lambdaModeError();
1097  phi = gsfTrack.phiMode();
1098  phiError = gsfTrack.phiModeError();
1099  // cout <<"test2" << endl;
1100 
1101 }
double phiModeError() const
error on phi from mode
Definition: GsfTrack.h:94
double lambdaMode() const
Lambda angle from mode.
Definition: GsfTrack.h:45
double qoverpMode() const
q/p from mode
Definition: GsfTrack.h:41
double ptModeError() const
error on Pt (set to 1000 TeV if charge==0 for safety) from mode
Definition: GsfTrack.h:81
double qoverpModeError() const
error on signed transverse curvature from mode
Definition: GsfTrack.h:79
double phiMode() const
azimuthal angle of momentum vector from mode
Definition: GsfTrack.h:57
double lambdaModeError() const
error on lambda from mode
Definition: GsfTrack.h:90
double ptMode() const
track transverse momentum from mode
Definition: GsfTrack.h:49

Member Data Documentation

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::chi2_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::chi2_vs_nhits
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::chi2_vs_phi
private
int MTVHistoProducerAlgoForTracker::cotThetaRes_nbin
private
double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::cotThetares_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::cotThetares_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxypull_vs_eta
private
int MTVHistoProducerAlgoForTracker::dxyRes_nbin
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxyres_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxyres_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzpull_vs_eta
private
int MTVHistoProducerAlgoForTracker::dzRes_nbin
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzres_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzres_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::etares_vs_eta
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::generalGpSelector
private

Definition at line 125 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::generalTpSelector
private

Definition at line 118 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsEta
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPhi
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPt
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXR
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXZ
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_algo
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc23Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_itpu_eta
private

Definition at line 181 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_itpu_sig_eta
private

Definition at line 181 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_itpu_sig_vertcount
private

Definition at line 182 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_itpu_vertcount
private

Definition at line 182 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_ootpu_eta
private

Definition at line 183 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_ootpu_vertcount
private

Definition at line 183 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2chi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2dr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2dxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2dxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2dz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2dzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2eta_sig
private

Definition at line 181 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2hit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2layer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2vertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2zpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoceta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocFraction
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assochi2
private

Definition at line 229 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assochi2_prob
private

Definition at line 229 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assochit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoclayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocpixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocSharedHit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocvertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoczpos
private
MonitorElement * MTVHistoProducerAlgoForTracker::h_bunchxSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_charge
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_con_eta
private

Definition at line 185 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_con_vertcount
private

Definition at line 185 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_con_zpos
private

Definition at line 185 of file MTVHistoProducerAlgoForTracker.h.

std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_estim
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_nom
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_sat
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_eta
private
MonitorElement * MTVHistoProducerAlgoForTracker::h_etaSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakes
private

Definition at line 162 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_hits
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looper3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperchi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopereta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperpixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopervertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperzpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_losthits
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misid3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidchi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misideta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidpixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_nchi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_nchi2_prob
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_nmisslayers_inner
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_nmisslayers_outer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileup3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileup_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileup_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileup_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileup_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupchi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupdr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupdxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupdz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupdzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupeta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileuphit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileuplayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileuppixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileuppT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileuppu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupvertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pileupzpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptshifteta
private

Definition at line 222 of file MTVHistoProducerAlgoForTracker.h.

MonitorElement* MTVHistoProducerAlgoForTracker::h_ptSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullDxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullDz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullQoverp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullTheta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_ootpu_eta
private

Definition at line 184 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_ootpu_vertcount
private

Definition at line 184 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recochi2
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recoeta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recohit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recolayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recophi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recopixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recopT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recopu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recovertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recozpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_seedsFitFailed
private

Definition at line 162 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSeedHistos(), and fill_seed_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_seedsFitFailedFraction
private

Definition at line 162 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSeedHistos(), and fill_seed_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul2_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul2_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul2_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul2_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simul_dzpvsigcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simullayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulpixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulvertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulzpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_tracks
private

Definition at line 162 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

MonitorElement * MTVHistoProducerAlgoForTracker::h_tracksSIM
private

Definition at line 159 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSimHistos(), and fill_simTrackBased_histos().

MonitorElement * MTVHistoProducerAlgoForTracker::h_vertposSIM
private
double MTVHistoProducerAlgoForTracker::maxChi2
private
double MTVHistoProducerAlgoForTracker::maxDeDx
private
double MTVHistoProducerAlgoForTracker::maxdr
private
double MTVHistoProducerAlgoForTracker::maxDxy
private
double MTVHistoProducerAlgoForTracker::maxDz
private
double MTVHistoProducerAlgoForTracker::maxDzpvCum
private
double MTVHistoProducerAlgoForTracker::maxDzpvsigCum
private
double MTVHistoProducerAlgoForTracker::maxEta
private
double MTVHistoProducerAlgoForTracker::maxHit
private
double MTVHistoProducerAlgoForTracker::maxLayers
private
double MTVHistoProducerAlgoForTracker::maxPhi
private
double MTVHistoProducerAlgoForTracker::maxPt
private
double MTVHistoProducerAlgoForTracker::maxPu
private
double MTVHistoProducerAlgoForTracker::maxTracks
private
double MTVHistoProducerAlgoForTracker::maxVertcount
private

Definition at line 145 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

double MTVHistoProducerAlgoForTracker::maxVertpos
private
double MTVHistoProducerAlgoForTracker::maxZpos
private
double MTVHistoProducerAlgoForTracker::minChi2
private

Definition at line 143 of file MTVHistoProducerAlgoForTracker.h.

double MTVHistoProducerAlgoForTracker::minDeDx
private
double MTVHistoProducerAlgoForTracker::mindr
private
double MTVHistoProducerAlgoForTracker::minDxy
private
double MTVHistoProducerAlgoForTracker::minDz
private
double MTVHistoProducerAlgoForTracker::minEta
private
double MTVHistoProducerAlgoForTracker::minHit
private
double MTVHistoProducerAlgoForTracker::minLayers
private
double MTVHistoProducerAlgoForTracker::minPhi
private
double MTVHistoProducerAlgoForTracker::minPt
private
double MTVHistoProducerAlgoForTracker::minPu
private
double MTVHistoProducerAlgoForTracker::minTracks
private
double MTVHistoProducerAlgoForTracker::minVertcount
private

Definition at line 145 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

double MTVHistoProducerAlgoForTracker::minVertpos
private
double MTVHistoProducerAlgoForTracker::minZpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nhits_vs_phi
private
int MTVHistoProducerAlgoForTracker::nintChi2
private
int MTVHistoProducerAlgoForTracker::nintDeDx
private
int MTVHistoProducerAlgoForTracker::nintdr
private
int MTVHistoProducerAlgoForTracker::nintDxy
private
int MTVHistoProducerAlgoForTracker::nintDz
private
int MTVHistoProducerAlgoForTracker::nintDzpvCum
private
int MTVHistoProducerAlgoForTracker::nintDzpvsigCum
private
int MTVHistoProducerAlgoForTracker::nintEta
private
int MTVHistoProducerAlgoForTracker::nintHit
private
int MTVHistoProducerAlgoForTracker::nintLayers
private
int MTVHistoProducerAlgoForTracker::nintPhi
private
int MTVHistoProducerAlgoForTracker::nintPt
private
int MTVHistoProducerAlgoForTracker::nintPu
private
int MTVHistoProducerAlgoForTracker::nintTracks
private
int MTVHistoProducerAlgoForTracker::nintVertcount
private

Definition at line 145 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

int MTVHistoProducerAlgoForTracker::nintVertpos
private
int MTVHistoProducerAlgoForTracker::nintZpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nLayersWithMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nlosthits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nPXBhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nPXFhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nPXLlayersWithMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nrec_vs_nsim
private

Definition at line 200 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nrecHit_vs_nsimHit_rec2sim
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nrecHit_vs_nsimHit_sim2rec
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nSTRIPlayersWith1dMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nSTRIPlayersWith2dMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nSTRIPlayersWithMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nTEChits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nTIBhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nTIDhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nTOBhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phimean_vs_eta_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phipull_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phipull_vs_phi
private
int MTVHistoProducerAlgoForTracker::phiRes_nbin
private
double MTVHistoProducerAlgoForTracker::phiRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::phiRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phires_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phires_vs_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::phires_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptmean_vs_eta_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptpull_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptpull_vs_phi
private
int MTVHistoProducerAlgoForTracker::ptRes_nbin
private
double MTVHistoProducerAlgoForTracker::ptRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::ptRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptres_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptres_vs_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::ptres_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::thetapull_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::thetapull_vs_phi
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
private
bool MTVHistoProducerAlgoForTracker::useFabsEta
private

Definition at line 132 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getEta(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useInvPt
private

Definition at line 133 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getPt(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useLogPt
private