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>

Inheritance diagram for MTVHistoProducerAlgoForTracker:
MTVHistoProducerAlgo

Public Member Functions

void bookRecoHistos (DQMStore::IBooker &ibook)
 
void bookRecoHistosForStandaloneRunning (DQMStore::IBooker &ibook)
 
void bookSimHistos (DQMStore::IBooker &ibook)
 
void fill_dedx_recoTrack_histos (int count, edm::RefToBase< reco::Track > &trackref, const std::vector< edm::ValueMap< reco::DeDxData > > &v_dEdx)
 
void fill_generic_recoTrack_histos (int count, const reco::Track &track, const math::XYZPoint &bsPosition, bool isMatched, bool isSigMatched, bool isChargeMatched, int numAssocRecoTracks, int numVertices, int nSimHits, double sharedFraction, double dR)
 
void fill_generic_simTrack_histos (int counter, 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, int nSimHits, const reco::Track *track, int numVertices, double dR)
 
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_simAssociated_recoTrack_histos (int count, const reco::Track &track)
 
void fill_trackBased_histos (int count, int assTracks, int numRecoTracks, int numSimTracks)
 
void fillProfileHistosFromVectors (int counter)
 
void finalHistoFits (int counter)
 
void initialize ()
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
virtual ~MTVHistoProducerAlgoForTracker ()
 
- Public Member Functions inherited from MTVHistoProducerAlgo
 MTVHistoProducerAlgo (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
 MTVHistoProducerAlgo (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
virtual ~MTVHistoProducerAlgo ()
 

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
 
GenParticleCustomSelectorgeneralGpSelector
 
TrackingParticleSelectorgeneralTpSelector
 
GenParticleCustomSelectorGpSelectorForEfficiencyVsEta
 
GenParticleCustomSelectorGpSelectorForEfficiencyVsPhi
 
GenParticleCustomSelectorGpSelectorForEfficiencyVsPt
 
GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXR
 
GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXZ
 
std::vector< MonitorElement * > h_algo
 
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_assoc2dr
 
std::vector< MonitorElement * > h_assoc2dxy
 
std::vector< MonitorElement * > h_assoc2dz
 
std::vector< MonitorElement * > h_assoc2eta
 
std::vector< MonitorElement * > h_assoc2eta_sig
 
std::vector< MonitorElement * > h_assoc2hit
 
std::vector< MonitorElement * > h_assoc2phi
 
std::vector< MonitorElement * > h_assoc2pT
 
std::vector< MonitorElement * > h_assoc2pu
 
std::vector< MonitorElement * > h_assocdr
 
std::vector< MonitorElement * > h_assocdxy
 
std::vector< MonitorElement * > h_assocdz
 
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_assocphi
 
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
 
std::vector< MonitorElement * > h_bunchxSIM
 
std::vector< MonitorElement * > h_charge
 
std::vector< MonitorElement * > h_chi2mean_vs_phi
 
std::vector< MonitorElement * > h_chi2meanh
 
std::vector< MonitorElement * > h_chi2meanhitsh
 
std::vector< MonitorElement * > h_con_eta
 
std::vector< MonitorElement * > h_con_vertcount
 
std::vector< MonitorElement * > h_con_zpos
 
std::vector< MonitorElement * > h_cotThetameanh
 
std::vector< MonitorElement * > h_cotThetameanhPt
 
std::vector< MonitorElement * > h_cotThetarmsh
 
std::vector< MonitorElement * > h_cotThetarmshPt
 
std::vector< MonitorElement * > h_CSChits_eta
 
std::vector< MonitorElement * > h_dedx_estim1
 
std::vector< MonitorElement * > h_dedx_estim2
 
std::vector< MonitorElement * > h_dedx_nom1
 
std::vector< MonitorElement * > h_dedx_nom2
 
std::vector< MonitorElement * > h_dedx_sat1
 
std::vector< MonitorElement * > h_dedx_sat2
 
std::vector< MonitorElement * > h_DThits_eta
 
std::vector< MonitorElement * > h_dxymeanh
 
std::vector< MonitorElement * > h_dxymeanhPt
 
std::vector< MonitorElement * > h_dxypulleta
 
std::vector< MonitorElement * > h_dxypulletamean
 
std::vector< MonitorElement * > h_dxyrmsh
 
std::vector< MonitorElement * > h_dxyrmshPt
 
std::vector< MonitorElement * > h_dzmeanh
 
std::vector< MonitorElement * > h_dzmeanhPt
 
std::vector< MonitorElement * > h_dzpulleta
 
std::vector< MonitorElement * > h_dzpulletamean
 
std::vector< MonitorElement * > h_dzrmsh
 
std::vector< MonitorElement * > h_dzrmshPt
 
std::vector< MonitorElement * > h_effic
 
std::vector< MonitorElement * > h_effic_PU_eta
 
std::vector< MonitorElement * > h_effic_PU_vertcount
 
std::vector< MonitorElement * > h_effic_PU_zpos
 
std::vector< MonitorElement * > h_effic_vs_dr
 
std::vector< MonitorElement * > h_effic_vs_dxy
 
std::vector< MonitorElement * > h_effic_vs_dz
 
std::vector< MonitorElement * > h_effic_vs_hit
 
std::vector< MonitorElement * > h_effic_vs_phi
 
std::vector< MonitorElement * > h_effic_vs_pu
 
std::vector< MonitorElement * > h_effic_vs_vertpos
 
std::vector< MonitorElement * > h_effic_vs_zpos
 
std::vector< MonitorElement * > h_efficPt
 
std::vector< MonitorElement * > h_eta
 
std::vector< MonitorElement * > h_etaSIM
 
std::vector< MonitorElement * > h_fake_vs_dxy
 
std::vector< MonitorElement * > h_fake_vs_dz
 
std::vector< MonitorElement * > h_fake_vs_hit
 
std::vector< MonitorElement * > h_fake_vs_phi
 
std::vector< MonitorElement * > h_fake_vs_pu
 
std::vector< MonitorElement * > h_fakerate
 
std::vector< MonitorElement * > h_fakerate_vs_dr
 
std::vector< MonitorElement * > h_fakeratePt
 
std::vector< MonitorElement * > h_fakes
 
std::vector< MonitorElement * > h_hits
 
std::vector< MonitorElement * > h_hits_eta
 
std::vector< MonitorElement * > h_hits_phi
 
std::vector< MonitorElement * > h_LayersWithMeas_eta
 
std::vector< MonitorElement * > h_looperdxy
 
std::vector< MonitorElement * > h_looperdz
 
std::vector< MonitorElement * > h_loopereta
 
std::vector< MonitorElement * > h_looperhit
 
std::vector< MonitorElement * > h_looperphi
 
std::vector< MonitorElement * > h_looperpT
 
std::vector< MonitorElement * > h_looperpu
 
std::vector< MonitorElement * > h_looprate
 
std::vector< MonitorElement * > h_loopratedxy
 
std::vector< MonitorElement * > h_loopratedz
 
std::vector< MonitorElement * > h_loopratehit
 
std::vector< MonitorElement * > h_loopratephi
 
std::vector< MonitorElement * > h_loopratepT
 
std::vector< MonitorElement * > h_loopratepu
 
std::vector< MonitorElement * > h_losthits
 
std::vector< MonitorElement * > h_losthits_eta
 
std::vector< MonitorElement * > h_misiddxy
 
std::vector< MonitorElement * > h_misiddz
 
std::vector< MonitorElement * > h_misideta
 
std::vector< MonitorElement * > h_misidhit
 
std::vector< MonitorElement * > h_misidphi
 
std::vector< MonitorElement * > h_misidpT
 
std::vector< MonitorElement * > h_misidpu
 
std::vector< MonitorElement * > h_misidrate
 
std::vector< MonitorElement * > h_misidratedxy
 
std::vector< MonitorElement * > h_misidratedz
 
std::vector< MonitorElement * > h_misidratehit
 
std::vector< MonitorElement * > h_misidratephi
 
std::vector< MonitorElement * > h_misidratepT
 
std::vector< MonitorElement * > h_misidratepu
 
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_phimeanh
 
std::vector< MonitorElement * > h_phimeanhPhi
 
std::vector< MonitorElement * > h_phimeanhPt
 
std::vector< MonitorElement * > h_phipulleta
 
std::vector< MonitorElement * > h_phipulletamean
 
std::vector< MonitorElement * > h_phipullphi
 
std::vector< MonitorElement * > h_phipullphimean
 
std::vector< MonitorElement * > h_phirmsh
 
std::vector< MonitorElement * > h_phirmshPhi
 
std::vector< MonitorElement * > h_phirmshPt
 
std::vector< MonitorElement * > h_pt
 
std::vector< MonitorElement * > h_ptmeanh
 
std::vector< MonitorElement * > h_ptmeanhPhi
 
std::vector< MonitorElement * > h_ptmeanhPt
 
std::vector< MonitorElement * > h_ptpulleta
 
std::vector< MonitorElement * > h_ptpulletamean
 
std::vector< MonitorElement * > h_ptpullphi
 
std::vector< MonitorElement * > h_ptpullphimean
 
std::vector< MonitorElement * > h_ptrmsh
 
std::vector< MonitorElement * > h_ptrmshPhi
 
std::vector< MonitorElement * > h_ptrmshPt
 
std::vector< MonitorElement * > h_ptshifteta
 
std::vector< MonitorElement * > h_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_PXBhits_eta
 
std::vector< MonitorElement * > h_PXFhits_eta
 
std::vector< MonitorElement * > h_PXLlayersWithMeas_eta
 
std::vector< MonitorElement * > h_reco_ootpu_eta
 
std::vector< MonitorElement * > h_reco_ootpu_vertcount
 
std::vector< MonitorElement * > h_recodr
 
std::vector< MonitorElement * > h_recodxy
 
std::vector< MonitorElement * > h_recodz
 
std::vector< MonitorElement * > h_recoeta
 
std::vector< MonitorElement * > h_recohit
 
std::vector< MonitorElement * > h_recophi
 
std::vector< MonitorElement * > h_recopT
 
std::vector< MonitorElement * > h_recopu
 
std::vector< MonitorElement * > h_RPChits_eta
 
std::vector< MonitorElement * > h_simuldr
 
std::vector< MonitorElement * > h_simuldxy
 
std::vector< MonitorElement * > h_simuldz
 
std::vector< MonitorElement * > h_simuleta
 
std::vector< MonitorElement * > h_simulhit
 
std::vector< MonitorElement * > h_simulphi
 
std::vector< MonitorElement * > h_simulpT
 
std::vector< MonitorElement * > h_simulpu
 
std::vector< MonitorElement * > h_simulvertpos
 
std::vector< MonitorElement * > h_simulzpos
 
std::vector< MonitorElement * > h_STRIPlayersWith1dMeas_eta
 
std::vector< MonitorElement * > h_STRIPlayersWith2dMeas_eta
 
std::vector< MonitorElement * > h_STRIPlayersWithMeas_eta
 
std::vector< MonitorElement * > h_TEChits_eta
 
std::vector< MonitorElement * > h_thetapulleta
 
std::vector< MonitorElement * > h_thetapulletamean
 
std::vector< MonitorElement * > h_thetapullphi
 
std::vector< MonitorElement * > h_thetapullphimean
 
std::vector< MonitorElement * > h_TIBhits_eta
 
std::vector< MonitorElement * > h_TIDhits_eta
 
std::vector< MonitorElement * > h_TOBhits_eta
 
std::vector< MonitorElement * > h_tracks
 
std::vector< MonitorElement * > h_tracksSIM
 
std::vector< MonitorElement * > h_vertposSIM
 
double maxDeDx
 
double maxdr
 
double maxDxy
 
double maxDz
 
double maxEta
 
double maxHit
 
double maxLayers
 
double maxPhi
 
double maxPt
 
double maxPu
 
double maxVertcount
 
double maxVertpos
 
double maxZpos
 
double minDeDx
 
double mindr
 
double minDxy
 
double minDz
 
double minEta
 
double minHit
 
double minLayers
 
double minPhi
 
double minPt
 
double minPu
 
double minVertcount
 
double minVertpos
 
double minZpos
 
std::vector< MonitorElement * > nhits_vs_eta
 
std::vector< MonitorElement * > nhits_vs_phi
 
int nintDeDx
 
int nintdr
 
int nintDxy
 
int nintDz
 
int nintEta
 
int nintHit
 
int nintLayers
 
int nintPhi
 
int nintPt
 
int nintPu
 
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
 
TrackingParticleSelectorTpSelectorForEfficiencyVsEta
 
TrackingParticleSelectorTpSelectorForEfficiencyVsPhi
 
TrackingParticleSelectorTpSelectorForEfficiencyVsPt
 
TrackingParticleSelectorTpSelectorForEfficiencyVsVTXR
 
TrackingParticleSelectorTpSelectorForEfficiencyVsVTXZ
 
bool useFabsEta
 
bool useInvPt
 
bool useLogPt
 

Additional Inherited Members

- Protected Member Functions inherited from MTVHistoProducerAlgo
void BinLogX (TH1 *h)
 
void doProfileX (TH2 *th2, MonitorElement *me)
 
void doProfileX (MonitorElement *th2m, MonitorElement *me)
 
void fillPlotFromPlots (MonitorElement *h, TH1 *numerator, TH1 *denominator, std::string type)
 
void fillPlotFromVector (MonitorElement *h, std::vector< int > &vec)
 
void fillPlotFromVectors (MonitorElement *h, std::vector< int > &numerator, std::vector< int > &denominator, std::string type)
 
template<typename T >
void fillPlotNoFlow (MonitorElement *h, T val)
 

Detailed Description

Definition at line 25 of file MTVHistoProducerAlgoForTracker.h.

Constructor & Destructor Documentation

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

Definition at line 27 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 16 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, maxDeDx, maxdr, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxVertcount, maxVertpos, maxZpos, minDeDx, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minVertcount, minVertpos, minZpos, edmConvertToStreamModule::modules, nintDeDx, nintdr, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintVertcount, nintVertpos, nintZpos, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, useFabsEta, useInvPt, and useLogPt.

16  : MTVHistoProducerAlgo(pset, iC){
17  //parameters for _vs_eta plots
18  minEta = pset.getParameter<double>("minEta");
19  maxEta = pset.getParameter<double>("maxEta");
20  nintEta = pset.getParameter<int>("nintEta");
21  useFabsEta = pset.getParameter<bool>("useFabsEta");
22 
23  //parameters for _vs_pt plots
24  minPt = pset.getParameter<double>("minPt");
25  maxPt = pset.getParameter<double>("maxPt");
26  nintPt = pset.getParameter<int>("nintPt");
27  useInvPt = pset.getParameter<bool>("useInvPt");
28  useLogPt = pset.getUntrackedParameter<bool>("useLogPt",false);
29 
30  //parameters for _vs_Hit plots
31  minHit = pset.getParameter<double>("minHit");
32  maxHit = pset.getParameter<double>("maxHit");
33  nintHit = pset.getParameter<int>("nintHit");
34 
35  //parameters for _vs_Pu plots
36  minPu = pset.getParameter<double>("minPu");
37  maxPu = pset.getParameter<double>("maxPu");
38  nintPu = pset.getParameter<int>("nintPu");
39 
40  //parameters for _vs_Layer plots
41  minLayers = pset.getParameter<double>("minLayers");
42  maxLayers = pset.getParameter<double>("maxLayers");
43  nintLayers = pset.getParameter<int>("nintLayers");
44 
45  //parameters for _vs_phi plots
46  minPhi = pset.getParameter<double>("minPhi");
47  maxPhi = pset.getParameter<double>("maxPhi");
48  nintPhi = pset.getParameter<int>("nintPhi");
49 
50  //parameters for _vs_Dxy plots
51  minDxy = pset.getParameter<double>("minDxy");
52  maxDxy = pset.getParameter<double>("maxDxy");
53  nintDxy = pset.getParameter<int>("nintDxy");
54 
55  //parameters for _vs_Dz plots
56  minDz = pset.getParameter<double>("minDz");
57  maxDz = pset.getParameter<double>("maxDz");
58  nintDz = pset.getParameter<int>("nintDz");
59 
60  //parameters for _vs_ProductionVertexTransvPosition plots
61  minVertpos = pset.getParameter<double>("minVertpos");
62  maxVertpos = pset.getParameter<double>("maxVertpos");
63  nintVertpos = pset.getParameter<int>("nintVertpos");
64 
65  //parameters for _vs_ProductionVertexZPosition plots
66  minZpos = pset.getParameter<double>("minZpos");
67  maxZpos = pset.getParameter<double>("maxZpos");
68  nintZpos = pset.getParameter<int>("nintZpos");
69 
70  //parameters for _vs_dR plots
71  mindr = pset.getParameter<double>("mindr");
72  maxdr = pset.getParameter<double>("maxdr");
73  nintdr = pset.getParameter<int>("nintdr");
74 
75  //parameters for dE/dx plots
76  minDeDx = pset.getParameter<double>("minDeDx");
77  maxDeDx = pset.getParameter<double>("maxDeDx");
78  nintDeDx = pset.getParameter<int>("nintDeDx");
79 
80  //parameters for Pileup plots
81  minVertcount = pset.getParameter<double>("minVertcount");
82  maxVertcount = pset.getParameter<double>("maxVertcount");
83  nintVertcount = pset.getParameter<int>("nintVertcount");
84 
85  //parameters for resolution plots
86  ptRes_rangeMin = pset.getParameter<double>("ptRes_rangeMin");
87  ptRes_rangeMax = pset.getParameter<double>("ptRes_rangeMax");
88  ptRes_nbin = pset.getParameter<int>("ptRes_nbin");
89 
90  phiRes_rangeMin = pset.getParameter<double>("phiRes_rangeMin");
91  phiRes_rangeMax = pset.getParameter<double>("phiRes_rangeMax");
92  phiRes_nbin = pset.getParameter<int>("phiRes_nbin");
93 
94  cotThetaRes_rangeMin = pset.getParameter<double>("cotThetaRes_rangeMin");
95  cotThetaRes_rangeMax = pset.getParameter<double>("cotThetaRes_rangeMax");
96  cotThetaRes_nbin = pset.getParameter<int>("cotThetaRes_nbin");
97 
98  dxyRes_rangeMin = pset.getParameter<double>("dxyRes_rangeMin");
99  dxyRes_rangeMax = pset.getParameter<double>("dxyRes_rangeMax");
100  dxyRes_nbin = pset.getParameter<int>("dxyRes_nbin");
101 
102  dzRes_rangeMin = pset.getParameter<double>("dzRes_rangeMin");
103  dzRes_rangeMax = pset.getParameter<double>("dzRes_rangeMax");
104  dzRes_nbin = pset.getParameter<int>("dzRes_nbin");
105 
106 
107  //--- tracking particle selectors for efficiency measurements
108  using namespace edm;
109 
110  ParameterSet generalTpSelectorPSet = pset.getParameter<ParameterSet>("generalTpSelector");
111  ParameterSet TpSelectorForEfficiencyVsEtaPSet = pset.getParameter<ParameterSet>("TpSelectorForEfficiencyVsEta");
112  ParameterSet TpSelectorForEfficiencyVsPhiPSet = pset.getParameter<ParameterSet>("TpSelectorForEfficiencyVsPhi");
113  ParameterSet TpSelectorForEfficiencyVsPtPSet = pset.getParameter<ParameterSet>("TpSelectorForEfficiencyVsPt");
114  ParameterSet TpSelectorForEfficiencyVsVTXRPSet = pset.getParameter<ParameterSet>("TpSelectorForEfficiencyVsVTXR");
115  ParameterSet TpSelectorForEfficiencyVsVTXZPSet = pset.getParameter<ParameterSet>("TpSelectorForEfficiencyVsVTXZ");
116 
117  ParameterSet generalGpSelectorPSet = pset.getParameter<ParameterSet>("generalGpSelector");
118  ParameterSet GpSelectorForEfficiencyVsEtaPSet = pset.getParameter<ParameterSet>("GpSelectorForEfficiencyVsEta");
119  ParameterSet GpSelectorForEfficiencyVsPhiPSet = pset.getParameter<ParameterSet>("GpSelectorForEfficiencyVsPhi");
120  ParameterSet GpSelectorForEfficiencyVsPtPSet = pset.getParameter<ParameterSet>("GpSelectorForEfficiencyVsPt");
121  ParameterSet GpSelectorForEfficiencyVsVTXRPSet = pset.getParameter<ParameterSet>("GpSelectorForEfficiencyVsVTXR");
122  ParameterSet GpSelectorForEfficiencyVsVTXZPSet = pset.getParameter<ParameterSet>("GpSelectorForEfficiencyVsVTXZ");
123 
124  using namespace reco::modules;
131 
138 
139  // fix for the LogScale by Ryan
140  if(useLogPt){
141  maxPt=log10(maxPt);
142  if(minPt > 0){
143  minPt=log10(minPt);
144  }
145  else{
146  edm::LogWarning("MultiTrackValidator")
147  << "minPt = "
148  << minPt << " <= 0 out of range while requesting log scale. Using minPt = 0.1.";
149  minPt=log10(0.1);
150  }
151  }
152 
153 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MTVHistoProducerAlgo(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
TrackingParticleSelector * TpSelectorForEfficiencyVsPhi
GenParticleCustomSelector * GpSelectorForEfficiencyVsPhi
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXZ
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXZ
SingleObjectSelector< TrackingParticleCollection,::TrackingParticleSelector > TrackingParticleSelector
TrackingParticleSelector * TpSelectorForEfficiencyVsPt
GenParticleCustomSelector * generalGpSelector
GenParticleCustomSelector * GpSelectorForEfficiencyVsPt
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXR
GenParticleCustomSelector * GpSelectorForEfficiencyVsEta
SingleObjectSelector< GenParticleCollection,::GenParticleCustomSelector > GenParticleCustomSelector
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXR
TrackingParticleSelector * TpSelectorForEfficiencyVsEta
MTVHistoProducerAlgoForTracker::~MTVHistoProducerAlgoForTracker ( )
virtual

Definition at line 155 of file MTVHistoProducerAlgoForTracker.cc.

References generalGpSelector, generalTpSelector, GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, and TpSelectorForEfficiencyVsVTXZ.

155  {
156  delete generalTpSelector;
162 
163  delete generalGpSelector;
169 }
TrackingParticleSelector * TpSelectorForEfficiencyVsPhi
GenParticleCustomSelector * GpSelectorForEfficiencyVsPhi
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXZ
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXZ
TrackingParticleSelector * TpSelectorForEfficiencyVsPt
GenParticleCustomSelector * generalGpSelector
GenParticleCustomSelector * GpSelectorForEfficiencyVsPt
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXR
GenParticleCustomSelector * GpSelectorForEfficiencyVsEta
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXR
TrackingParticleSelector * TpSelectorForEfficiencyVsEta

Member Function Documentation

void MTVHistoProducerAlgoForTracker::bookRecoHistos ( DQMStore::IBooker ibook)
virtual

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

Implements MTVHistoProducerAlgo.

Definition at line 179 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algoNames, reco::TrackBase::algoSize, MTVHistoProducerAlgo::BinLogX(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), 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_assoc2dr, h_assoc2dxy, h_assoc2dz, h_assoc2eta, h_assoc2hit, h_assoc2phi, h_assoc2pT, h_assoc2pu, h_assocdr, h_assocdxy, h_assocdz, h_assoceta, h_assocFraction, h_assochit, h_assocphi, h_assocpT, h_assocpu, h_assocSharedHit, h_assocvertpos, h_assoczpos, h_charge, h_dedx_estim1, h_dedx_estim2, h_dedx_nom1, h_dedx_nom2, h_dedx_sat1, h_dedx_sat2, h_eta, h_fakes, h_hits, h_looperdxy, h_looperdz, h_loopereta, h_looperhit, h_looperphi, h_looperpT, h_looperpu, h_losthits, h_misiddxy, h_misiddz, h_misideta, h_misidhit, h_misidphi, h_misidpT, h_misidpu, h_nchi2, h_nchi2_prob, h_nmisslayers_inner, h_nmisslayers_outer, h_pt, h_pullDxy, h_pullDz, h_pullPhi, h_pullQoverp, h_pullTheta, h_recodr, h_recodxy, h_recodz, h_recoeta, h_recohit, h_recophi, h_recopT, h_recopu, h_simuldr, h_simuldxy, h_simuldz, h_simuleta, h_simulhit, h_simulphi, h_simulpT, h_simulpu, h_simulvertpos, h_simulzpos, h_tracks, maxDeDx, maxdr, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxVertpos, maxZpos, minDeDx, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minVertpos, minZpos, nhits_vs_eta, nhits_vs_phi, nintDeDx, nintdr, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintVertpos, nintZpos, nLayersWithMeas_vs_eta, nlosthits_vs_eta, nPXBhits_vs_eta, nPXFhits_vs_eta, nPXLlayersWithMeas_vs_eta, nrec_vs_nsim, nrecHit_vs_nsimHit_rec2sim, nrecHit_vs_nsimHit_sim2rec, 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.

179  {
180  h_tracks.push_back( ibook.book1D("tracks","number of reconstructed tracks",401,-0.5,400.5) );
181  h_fakes.push_back( ibook.book1D("fakes","number of fake reco tracks",101,-0.5,100.5) );
182  h_charge.push_back( ibook.book1D("charge","charge",3,-1.5,1.5) );
183 
184  h_hits.push_back( ibook.book1D("hits", "number of hits per track", nintHit,minHit,maxHit ) );
185  h_losthits.push_back( ibook.book1D("losthits", "number of lost hits per track", nintHit,minHit,maxHit) );
186  h_nchi2.push_back( ibook.book1D("chi2", "normalized #chi^{2}", 200, 0, 20 ) );
187  h_nchi2_prob.push_back( ibook.book1D("chi2_prob", "normalized #chi^{2} probability",100,0,1));
188 
189  h_nmisslayers_inner.push_back( ibook.book1D("missing_inner_layers", "number of missing inner layers", nintLayers,minLayers,maxLayers ) );
190  h_nmisslayers_outer.push_back( ibook.book1D("missing_outer_layers", "number of missing outer layers", nintLayers,minLayers,maxLayers ) );
191 
192  h_algo.push_back( ibook.book1D("h_algo","Tracks by algo",reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize) ) );
193  for (size_t ibin=0; ibin<reco::TrackBase::algoSize-1; ibin++)
194  h_algo.back()->setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
195  // h_algo.setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
196 
198  h_recoeta.push_back( ibook.book1D("num_reco_eta","N of reco track vs eta",nintEta,minEta,maxEta) );
199  h_assoceta.push_back( ibook.book1D("num_assoc(simToReco)_eta","N of associated tracks (simToReco) vs eta",nintEta,minEta,maxEta) );
200  h_assoc2eta.push_back( ibook.book1D("num_assoc(recoToSim)_eta","N of associated (recoToSim) tracks vs eta",nintEta,minEta,maxEta) );
201  h_simuleta.push_back( ibook.book1D("num_simul_eta","N of simulated tracks vs eta",nintEta,minEta,maxEta) );
202  h_loopereta.push_back( ibook.book1D("num_duplicate_eta","N of associated (recoToSim) duplicate tracks vs eta",nintEta,minEta,maxEta) );
203  h_misideta.push_back( ibook.book1D("num_chargemisid_eta","N of associated (recoToSim) charge misIDed tracks vs eta",nintEta,minEta,maxEta) );
204  //
205  h_recopT.push_back( ibook.book1D("num_reco_pT","N of reco track vs pT",nintPt,minPt,maxPt) );
206  h_assocpT.push_back( ibook.book1D("num_assoc(simToReco)_pT","N of associated tracks (simToReco) vs pT",nintPt,minPt,maxPt) );
207  h_assoc2pT.push_back( ibook.book1D("num_assoc(recoToSim)_pT","N of associated (recoToSim) tracks 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  h_looperpT.push_back( ibook.book1D("num_duplicate_pT","N of associated (recoToSim) duplicate tracks vs pT",nintPt,minPt,maxPt) );
210  h_misidpT.push_back( ibook.book1D("num_chargemisid_pT","N of associated (recoToSim) charge misIDed tracks vs pT",nintPt,minPt,maxPt) );
211  //
212  h_recohit.push_back( ibook.book1D("num_reco_hit","N of reco track vs hit",nintHit,minHit,maxHit) );
213  h_assochit.push_back( ibook.book1D("num_assoc(simToReco)_hit","N of associated tracks (simToReco) vs hit",nintHit,minHit,maxHit) );
214  h_assoc2hit.push_back( ibook.book1D("num_assoc(recoToSim)_hit","N of associated (recoToSim) tracks vs hit",nintHit,minHit,maxHit) );
215  h_simulhit.push_back( ibook.book1D("num_simul_hit","N of simulated tracks vs hit",nintHit,minHit,maxHit) );
216  h_looperhit.push_back( ibook.book1D("num_duplicate_hit","N of associated (recoToSim) duplicate tracks vs hit",nintHit,minHit,maxHit) );
217  h_misidhit.push_back( ibook.book1D("num_chargemisid_hit","N of associated (recoToSim) charge misIDed tracks vs hit",nintHit,minHit,maxHit) );
218  //
219  h_recopu.push_back( ibook.book1D("num_reco_pu","N of reco track vs pu",nintPu,minPu,maxPu) );
220  h_assocpu.push_back( ibook.book1D("num_assoc(simToReco)_pu","N of associated tracks (simToReco) vs pu",nintPu,minPu,maxPu) );
221  h_assoc2pu.push_back( ibook.book1D("num_assoc(recoToSim)_pu","N of associated (recoToSim) tracks vs pu",nintPu,minPu,maxPu) );
222  h_simulpu.push_back( ibook.book1D("num_simul_pu","N of simulated tracks vs pu",nintPu,minPu,maxPu) );
223  h_looperpu.push_back( ibook.book1D("num_duplicate_pu","N of associated (recoToSim) duplicate tracks vs pu",nintPu,minPu,maxPu) );
224  h_misidpu.push_back( ibook.book1D("num_chargemisid_pu","N of associated (recoToSim) charge misIDed tracks vs pu",nintPu,minPu,maxPu) );
225  //
226  h_recophi.push_back( ibook.book1D("num_reco_phi","N of reco track vs phi",nintPhi,minPhi,maxPhi) );
227  h_assocphi.push_back( ibook.book1D("num_assoc(simToReco)_phi","N of associated tracks (simToReco) vs phi",nintPhi,minPhi,maxPhi) );
228  h_assoc2phi.push_back( ibook.book1D("num_assoc(recoToSim)_phi","N of associated (recoToSim) tracks vs phi",nintPhi,minPhi,maxPhi) );
229  h_simulphi.push_back( ibook.book1D("num_simul_phi","N of simulated tracks vs phi",nintPhi,minPhi,maxPhi) );
230  h_looperphi.push_back( ibook.book1D("num_duplicate_phi","N of associated (recoToSim) duplicate tracks vs phi",nintPhi,minPhi,maxPhi) );
231  h_misidphi.push_back( ibook.book1D("num_chargemisid_phi","N of associated (recoToSim) charge misIDed tracks vs phi",nintPhi,minPhi,maxPhi) );
232 
233  h_recodxy.push_back( ibook.book1D("num_reco_dxy","N of reco track vs dxy",nintDxy,minDxy,maxDxy) );
234  h_assocdxy.push_back( ibook.book1D("num_assoc(simToReco)_dxy","N of associated tracks (simToReco) vs dxy",nintDxy,minDxy,maxDxy) );
235  h_assoc2dxy.push_back( ibook.book1D("num_assoc(recoToSim)_dxy","N of associated (recoToSim) tracks vs dxy",nintDxy,minDxy,maxDxy) );
236  h_simuldxy.push_back( ibook.book1D("num_simul_dxy","N of simulated tracks vs dxy",nintDxy,minDxy,maxDxy) );
237  h_looperdxy.push_back( ibook.book1D("num_duplicate_dxy","N of associated (recoToSim) looper tracks vs dxy",nintDxy,minDxy,maxDxy) );
238  h_misiddxy.push_back( ibook.book1D("num_chargemisid_dxy","N of associated (recoToSim) charge misIDed tracks vs dxy",nintDxy,minDxy,maxDxy) );
239 
240  h_recodz.push_back( ibook.book1D("num_reco_dz","N of reco track vs dz",nintDz,minDz,maxDz) );
241  h_assocdz.push_back( ibook.book1D("num_assoc(simToReco)_dz","N of associated tracks (simToReco) vs dz",nintDz,minDz,maxDz) );
242  h_assoc2dz.push_back( ibook.book1D("num_assoc(recoToSim)_dz","N of associated (recoToSim) tracks vs dz",nintDz,minDz,maxDz) );
243  h_simuldz.push_back( ibook.book1D("num_simul_dz","N of simulated tracks vs dz",nintDz,minDz,maxDz) );
244  h_looperdz.push_back( ibook.book1D("num_duplicate_dz","N of associated (recoToSim) looper tracks vs dz",nintDz,minDz,maxDz) );
245  h_misiddz.push_back( ibook.book1D("num_chargemisid_versus_dz","N of associated (recoToSim) charge misIDed tracks vs dz",nintDz,minDz,maxDz) );
246 
247  h_assocvertpos.push_back( ibook.book1D("num_assoc(simToReco)_vertpos",
248  "N of associated tracks (simToReco) vs transverse vert position",
250  h_simulvertpos.push_back( ibook.book1D("num_simul_vertpos","N of simulated tracks vs transverse vert position",
252 
253  h_assoczpos.push_back( ibook.book1D("num_assoc(simToReco)_zpos","N of associated tracks (simToReco) vs z vert position",
255  h_simulzpos.push_back( ibook.book1D("num_simul_zpos","N of simulated tracks vs z vert position",nintZpos,minZpos,maxZpos) );
256 
257  h_recodr.push_back( ibook.book1D("num_reco_dr","N of reconstructed tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
258  h_assocdr.push_back( ibook.book1D("num_assoc(simToReco)_dr","N of associated tracks (simToReco) vs dR",nintdr,log10(mindr),log10(maxdr)) );
259  h_assoc2dr.push_back( ibook.book1D("num_assoc(recoToSim)_dr","N of associated tracks (recoToSim) vs dR",nintdr,log10(mindr),log10(maxdr)) );
260  h_simuldr.push_back( ibook.book1D("num_simul_dr","N of simulated tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
261  BinLogX(h_recodr.back()->getTH1F());
262  BinLogX(h_assocdr.back()->getTH1F());
263  BinLogX(h_assoc2dr.back()->getTH1F());
264  BinLogX(h_simuldr.back()->getTH1F());
265 
267 
268  h_eta.push_back( ibook.book1D("eta", "pseudorapidity residue", 1000, -0.1, 0.1 ) );
269  h_pt.push_back( ibook.book1D("pullPt", "pull of p_{t}", 100, -10, 10 ) );
270  h_pullTheta.push_back( ibook.book1D("pullTheta","pull of #theta parameter",250,-25,25) );
271  h_pullPhi.push_back( ibook.book1D("pullPhi","pull of #phi parameter",250,-25,25) );
272  h_pullDxy.push_back( ibook.book1D("pullDxy","pull of dxy parameter",250,-25,25) );
273  h_pullDz.push_back( ibook.book1D("pullDz","pull of dz parameter",250,-25,25) );
274  h_pullQoverp.push_back( ibook.book1D("pullQoverp","pull of qoverp parameter",250,-25,25) );
275 
276  /* TO BE FIXED -----------
277  if (associators[ww]=="TrackAssociatorByChi2"){
278  h_assochi2.push_back( ibook.book1D("assocChi2","track association #chi^{2}",1000000,0,100000) );
279  h_assochi2_prob.push_back(ibook.book1D("assocChi2_prob","probability of association #chi^{2}",100,0,1));
280  } else if (associators[ww]=="quickTrackAssociatorByHits"){
281  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
282  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",20,0,20));
283  }
284  */
285  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
286  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",41,-0.5,40.5));
287  // ----------------------
288 
289  chi2_vs_nhits.push_back( ibook.book2D("chi2_vs_nhits","#chi^{2} vs nhits",25,0,25,100,0,10) );
290 
291  etares_vs_eta.push_back( ibook.book2D("etares_vs_eta","etaresidue vs eta",nintEta,minEta,maxEta,200,-0.1,0.1) );
292  nrec_vs_nsim.push_back( ibook.book2D("nrec_vs_nsim","nrec vs nsim",401,-0.5,400.5,401,-0.5,400.5) );
293 
294  chi2_vs_eta.push_back( ibook.book2D("chi2_vs_eta","chi2_vs_eta",nintEta,minEta,maxEta, 200, 0, 20 ));
295  chi2_vs_phi.push_back( ibook.book2D("chi2_vs_phi","#chi^{2} vs #phi",nintPhi,minPhi,maxPhi, 200, 0, 20 ) );
296 
297  nhits_vs_eta.push_back( ibook.book2D("nhits_vs_eta","nhits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
298  nPXBhits_vs_eta.push_back( ibook.book2D("nPXBhits_vs_eta","# PXB its vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
299  nPXFhits_vs_eta.push_back( ibook.book2D("nPXFhits_vs_eta","# PXF hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
300  nTIBhits_vs_eta.push_back( ibook.book2D("nTIBhits_vs_eta","# TIB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
301  nTIDhits_vs_eta.push_back( ibook.book2D("nTIDhits_vs_eta","# TID hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
302  nTOBhits_vs_eta.push_back( ibook.book2D("nTOBhits_vs_eta","# TOB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
303  nTEChits_vs_eta.push_back( ibook.book2D("nTEChits_vs_eta","# TEC hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
304 
305  nLayersWithMeas_vs_eta.push_back( ibook.book2D("nLayersWithMeas_vs_eta","# Layers with measurement vs eta",
307  nPXLlayersWithMeas_vs_eta.push_back( ibook.book2D("nPXLlayersWithMeas_vs_eta","# PXL Layers with measurement vs eta",
309  nSTRIPlayersWithMeas_vs_eta.push_back( ibook.book2D("nSTRIPlayersWithMeas_vs_eta","# STRIP Layers with measurement vs eta",
311  nSTRIPlayersWith1dMeas_vs_eta.push_back( ibook.book2D("nSTRIPlayersWith1dMeas_vs_eta","# STRIP Layers with 1D measurement vs eta",
313  nSTRIPlayersWith2dMeas_vs_eta.push_back( ibook.book2D("nSTRIPlayersWith2dMeas_vs_eta","# STRIP Layers with 2D measurement vs eta",
315 
316  nhits_vs_phi.push_back( ibook.book2D("nhits_vs_phi","#hits vs #phi",nintPhi,minPhi,maxPhi,nintHit,minHit,maxHit) );
317 
318  nlosthits_vs_eta.push_back( ibook.book2D("nlosthits_vs_eta","nlosthits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
319 
320  //resolution of track parameters
321  // dPt/Pt cotTheta Phi TIP LIP
322  // log10(pt)<0.5 100,0.1 240,0.08 100,0.015 100,0.1000 150,0.3000
323  // 0.5<log10(pt)<1.5 100,0.1 120,0.01 100,0.003 100,0.0100 150,0.0500
324  // >1.5 100,0.3 100,0.005 100,0.0008 100,0.0060 120,0.0300
325 
326  ptres_vs_eta.push_back(ibook.book2D("ptres_vs_eta","ptres_vs_eta",
328 
329  ptres_vs_phi.push_back( ibook.book2D("ptres_vs_phi","p_{t} res vs #phi",
331 
332  ptres_vs_pt.push_back(ibook.book2D("ptres_vs_pt","ptres_vs_pt",nintPt,minPt,maxPt, ptRes_nbin, ptRes_rangeMin, ptRes_rangeMax));
333 
334  cotThetares_vs_eta.push_back(ibook.book2D("cotThetares_vs_eta","cotThetares_vs_eta",
336 
337 
338  cotThetares_vs_pt.push_back(ibook.book2D("cotThetares_vs_pt","cotThetares_vs_pt",
340 
341 
342  phires_vs_eta.push_back(ibook.book2D("phires_vs_eta","phires_vs_eta",
344 
345  phires_vs_pt.push_back(ibook.book2D("phires_vs_pt","phires_vs_pt",
347 
348  phires_vs_phi.push_back(ibook.book2D("phires_vs_phi","#phi res vs #phi",
350 
351  dxyres_vs_eta.push_back(ibook.book2D("dxyres_vs_eta","dxyres_vs_eta",
353 
354  dxyres_vs_pt.push_back( ibook.book2D("dxyres_vs_pt","dxyres_vs_pt",
356 
357  dzres_vs_eta.push_back(ibook.book2D("dzres_vs_eta","dzres_vs_eta",
359 
360  dzres_vs_pt.push_back(ibook.book2D("dzres_vs_pt","dzres_vs_pt",nintPt,minPt,maxPt,dzRes_nbin, dzRes_rangeMin, dzRes_rangeMax));
361 
362  ptmean_vs_eta_phi.push_back(ibook.bookProfile2D("ptmean_vs_eta_phi","mean p_{t} vs #eta and #phi",
363  nintPhi,minPhi,maxPhi,nintEta,minEta,maxEta,1000,0,1000));
364  phimean_vs_eta_phi.push_back(ibook.bookProfile2D("phimean_vs_eta_phi","mean #phi vs #eta and #phi",
366 
367  //pulls of track params vs eta: to be used with fitslicesytool
368  dxypull_vs_eta.push_back(ibook.book2D("dxypull_vs_eta","dxypull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
369  ptpull_vs_eta.push_back(ibook.book2D("ptpull_vs_eta","ptpull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
370  dzpull_vs_eta.push_back(ibook.book2D("dzpull_vs_eta","dzpull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
371  phipull_vs_eta.push_back(ibook.book2D("phipull_vs_eta","phipull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
372  thetapull_vs_eta.push_back(ibook.book2D("thetapull_vs_eta","thetapull_vs_eta",nintEta,minEta,maxEta,100,-10,10));
373 
374  // h_ptshiftetamean.push_back( ibook.book1D("h_ptshifteta_Mean","<#deltapT/pT>[%] vs #eta",nintEta,minEta,maxEta) );
375 
376 
377  //pulls of track params vs phi
378  ptpull_vs_phi.push_back(ibook.book2D("ptpull_vs_phi","p_{t} pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
379  phipull_vs_phi.push_back(ibook.book2D("phipull_vs_phi","#phi pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
380  thetapull_vs_phi.push_back(ibook.book2D("thetapull_vs_phi","#theta pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10));
381 
382 
383  nrecHit_vs_nsimHit_sim2rec.push_back( ibook.book2D("nrecHit_vs_nsimHit_sim2rec","nrecHit vs nsimHit (Sim2RecAssoc)",
385  nrecHit_vs_nsimHit_rec2sim.push_back( ibook.book2D("nrecHit_vs_nsimHit_rec2sim","nrecHit vs nsimHit (Rec2simAssoc)",
387 
388  // dE/dx stuff
389  // FIXME: it would be nice to have an array
390  h_dedx_estim1.push_back( ibook.book1D("h_dedx_estim1","dE/dx estimator 1",nintDeDx,minDeDx,maxDeDx) );
391  h_dedx_estim2.push_back( ibook.book1D("h_dedx_estim2","dE/dx estimator 2",nintDeDx,minDeDx,maxDeDx) );
392  h_dedx_nom1.push_back( ibook.book1D("h_dedx_nom1","dE/dx number of measurements",nintHit,minHit,maxHit) );
393  h_dedx_nom2.push_back( ibook.book1D("h_dedx_nom2","dE/dx number of measurements",nintHit,minHit,maxHit) );
394  h_dedx_sat1.push_back( ibook.book1D("h_dedx_sat1","dE/dx number of measurements with saturation",nintHit,minHit,maxHit) );
395  h_dedx_sat2.push_back( ibook.book1D("h_dedx_sat2","dE/dx number of measurements with saturation",nintHit,minHit,maxHit) );
396 
397 
398  if(useLogPt){
399  BinLogX(dzres_vs_pt.back()->getTH2F());
400  BinLogX(dxyres_vs_pt.back()->getTH2F());
401  BinLogX(phires_vs_pt.back()->getTH2F());
402  BinLogX(cotThetares_vs_pt.back()->getTH2F());
403  BinLogX(ptres_vs_pt.back()->getTH2F());
404  BinLogX(h_looperpT.back()->getTH1F());
405  BinLogX(h_misidpT.back()->getTH1F());
406  BinLogX(h_recopT.back()->getTH1F());
407  BinLogX(h_assocpT.back()->getTH1F());
408  BinLogX(h_assoc2pT.back()->getTH1F());
409  BinLogX(h_simulpT.back()->getTH1F());
410  }
411 }
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
std::vector< MonitorElement * > h_dedx_estim2
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > h_nchi2_prob
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > ptpull_vs_phi
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > nPXFhits_vs_eta
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_nmisslayers_inner
std::vector< MonitorElement * > h_simulpT
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 * > h_dedx_sat1
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_assocdz
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_looperdxy
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc2dz
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > h_assocphi
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_dedx_estim1
std::vector< MonitorElement * > phires_vs_pt
std::vector< MonitorElement * > h_assocpu
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_simulpu
std::vector< MonitorElement * > h_simuldr
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_recophi
std::vector< MonitorElement * > h_assocpT
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 * > nrecHit_vs_nsimHit_sim2rec
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 * > chi2_vs_nhits
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > dzpull_vs_eta
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_misiddxy
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > h_simulvertpos
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 * > h_dedx_nom2
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_simulphi
static const std::string algoNames[]
Definition: TrackBase.h:130
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_simulhit
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > ptres_vs_pt
std::vector< MonitorElement * > h_dedx_sat2
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
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_dedx_nom1
std::vector< MonitorElement * > h_losthits
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > dzres_vs_pt
void MTVHistoProducerAlgoForTracker::bookRecoHistosForStandaloneRunning ( DQMStore::IBooker ibook)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 413 of file MTVHistoProducerAlgoForTracker.cc.

References MTVHistoProducerAlgo::BinLogX(), DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), h_chi2mean_vs_phi, h_chi2meanh, h_chi2meanhitsh, h_cotThetameanh, h_cotThetameanhPt, h_cotThetarmsh, h_cotThetarmshPt, h_dxymeanh, h_dxymeanhPt, h_dxypulleta, h_dxypulletamean, h_dxyrmsh, h_dxyrmshPt, h_dzmeanh, h_dzmeanhPt, h_dzpulleta, h_dzpulletamean, h_dzrmsh, h_dzrmshPt, h_effic, h_effic_vs_dr, h_effic_vs_dxy, h_effic_vs_dz, h_effic_vs_hit, h_effic_vs_phi, h_effic_vs_pu, h_effic_vs_vertpos, h_effic_vs_zpos, h_efficPt, h_fake_vs_dxy, h_fake_vs_dz, h_fake_vs_hit, h_fake_vs_phi, h_fake_vs_pu, h_fakerate, h_fakerate_vs_dr, h_fakeratePt, h_hits_eta, h_hits_phi, h_LayersWithMeas_eta, h_looprate, h_loopratedxy, h_loopratedz, h_loopratehit, h_loopratephi, h_loopratepT, h_loopratepu, h_losthits_eta, h_misidrate, h_misidratedxy, h_misidratedz, h_misidratehit, h_misidratephi, h_misidratepT, h_misidratepu, h_phimeanh, h_phimeanhPhi, h_phimeanhPt, h_phipulleta, h_phipulletamean, h_phipullphi, h_phipullphimean, h_phirmsh, h_phirmshPhi, h_phirmshPt, h_ptmeanhPhi, h_ptmeanhPt, h_ptpulleta, h_ptpulletamean, h_ptpullphi, h_ptpullphimean, h_ptrmsh, h_ptrmshPhi, h_ptrmshPt, h_ptshifteta, h_PXBhits_eta, h_PXFhits_eta, h_PXLlayersWithMeas_eta, h_STRIPlayersWith1dMeas_eta, h_STRIPlayersWith2dMeas_eta, h_STRIPlayersWithMeas_eta, h_TEChits_eta, h_thetapulleta, h_thetapulletamean, h_thetapullphi, h_thetapullphimean, h_TIBhits_eta, h_TIDhits_eta, h_TOBhits_eta, maxdr, maxDxy, maxDz, maxEta, maxHit, maxPhi, maxPt, maxPu, maxVertpos, maxZpos, mindr, minDxy, minDz, minEta, minHit, minPhi, minPt, minPu, minVertpos, minZpos, nintdr, nintDxy, nintDz, nintEta, nintHit, nintPhi, nintPt, nintPu, nintVertpos, nintZpos, and useLogPt.

413  {
414  h_effic.push_back( ibook.book1D("effic","efficiency vs #eta",nintEta,minEta,maxEta) );
415  h_efficPt.push_back( ibook.book1D("efficPt","efficiency vs pT",nintPt,minPt,maxPt) );
416  h_effic_vs_hit.push_back( ibook.book1D("effic_vs_hit","effic vs hit",nintHit,minHit,maxHit) );
417  h_effic_vs_pu.push_back( ibook.book1D("effic_vs_pu","effic vs pu",nintPu,minPu,maxPu) );
418  h_effic_vs_phi.push_back( ibook.book1D("effic_vs_phi","effic vs phi",nintPhi,minPhi,maxPhi) );
419  h_effic_vs_dxy.push_back( ibook.book1D("effic_vs_dxy","effic vs dxy",nintDxy,minDxy,maxDxy) );
420  h_effic_vs_dz.push_back( ibook.book1D("effic_vs_dz","effic vs dz",nintDz,minDz,maxDz) );
421  h_effic_vs_vertpos.push_back( ibook.book1D("effic_vs_vertpos","effic vs vertpos",nintVertpos,minVertpos,maxVertpos) );
422  h_effic_vs_zpos.push_back( ibook.book1D("effic_vs_zpos","effic vs zpos",nintZpos,minZpos,maxZpos) );
423  h_effic_vs_dr.push_back( ibook.book1D("effic_vs_dr","effic vs dr",nintdr,log10(mindr),log10(maxdr)) );
424  BinLogX(h_effic_vs_dr.back()->getTH1F());
425 
426  h_looprate.push_back( ibook.book1D("duplicatesRate","loop rate vs #eta",nintEta,minEta,maxEta) );
427  h_misidrate.push_back( ibook.book1D("chargeMisIdRate","misid rate vs #eta",nintEta,minEta,maxEta) );
428  h_fakerate.push_back( ibook.book1D("fakerate","fake rate vs #eta",nintEta,minEta,maxEta) );
429  h_loopratepT.push_back( ibook.book1D("duplicatesRate_Pt","loop rate vs pT",nintPt,minPt,maxPt) );
430  h_misidratepT.push_back( ibook.book1D("chargeMisIdRate_Pt","misid rate vs pT",nintPt,minPt,maxPt) );
431  h_fakeratePt.push_back( ibook.book1D("fakeratePt","fake rate vs pT",nintPt,minPt,maxPt) );
432  h_loopratehit.push_back( ibook.book1D("duplicatesRate_hit","loop rate vs hit",nintHit,minHit,maxHit) );
433  h_misidratehit.push_back( ibook.book1D("chargeMisIdRate_hit","misid rate vs hit",nintHit,minHit,maxHit) );
434  h_fake_vs_hit.push_back( ibook.book1D("fakerate_vs_hit","fake rate vs hit",nintHit,minHit,maxHit) );
435  h_loopratepu.push_back( ibook.book1D("duplicatesRate_pu","loop rate vs pu",nintPu,minPu,maxPu) );
436  h_misidratepu.push_back( ibook.book1D("chargeMisIdRate_pu","misid rate vs pu",nintPu,minPu,maxPu) );
437  h_fake_vs_pu.push_back( ibook.book1D("fakerate_vs_pu","fake rate vs pu",nintPu,minPu,maxPu) );
438  h_loopratephi.push_back( ibook.book1D("duplicatesRate_phi","loop rate vs #phi",nintPhi,minPhi,maxPhi) );
439  h_misidratephi.push_back( ibook.book1D("chargeMisIdRate_phi","misid rate vs #phi",nintPhi,minPhi,maxPhi) );
440  h_fake_vs_phi.push_back( ibook.book1D("fakerate_vs_phi","fake vs #phi",nintPhi,minPhi,maxPhi) );
441  h_loopratedxy.push_back( ibook.book1D("duplicatesRate_dxy","loop rate vs dxy",nintDxy,minDxy,maxDxy) );
442  h_misidratedxy.push_back( ibook.book1D("chargeMisIdRate_dxy","misid rate vs dxy",nintDxy,minDxy,maxDxy) );
443  h_fake_vs_dxy.push_back( ibook.book1D("fakerate_vs_dxy","fake rate vs dxy",nintDxy,minDxy,maxDxy) );
444  h_loopratedz.push_back( ibook.book1D("duplicatesRate_dz","loop rate vs dz",nintDz,minDz,maxDz) );
445  h_misidratedz.push_back( ibook.book1D("chargeMisIdRate_dz","misid rate vs dz",nintDz,minDz,maxDz) );
446  h_fake_vs_dz.push_back( ibook.book1D("fakerate_vs_dz","fake vs dz",nintDz,minDz,maxDz) );
447  h_fakerate_vs_dr.push_back( ibook.book1D("fakerate_vs_dr","fakerate vs dr",nintdr,log10(mindr),log10(maxdr)) );
448  BinLogX(h_fakerate_vs_dr.back()->getTH1F());
449 
450  h_chi2meanhitsh.push_back( ibook.bookProfile("chi2mean_vs_nhits","mean #chi^{2} vs nhits",25,0,25,100,0,10) );
451  h_chi2meanh.push_back( ibook.bookProfile("chi2mean","mean #chi^{2} vs #eta",nintEta,minEta,maxEta, 200, 0, 20) );
452  h_chi2mean_vs_phi.push_back( ibook.bookProfile("chi2mean_vs_phi","mean of #chi^{2} vs #phi",nintPhi,minPhi,maxPhi, 200, 0, 20) );
453 
454  h_hits_eta.push_back( ibook.bookProfile("hits_eta","mean #hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
455  h_PXBhits_eta.push_back( ibook.bookProfile("PXBhits_eta","mean # PXB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
456  h_PXFhits_eta.push_back( ibook.bookProfile("PXFhits_eta","mean # PXF hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
457  h_TIBhits_eta.push_back( ibook.bookProfile("TIBhits_eta","mean # TIB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
458  h_TIDhits_eta.push_back( ibook.bookProfile("TIDhits_eta","mean # TID hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
459  h_TOBhits_eta.push_back( ibook.bookProfile("TOBhits_eta","mean # TOB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
460  h_TEChits_eta.push_back( ibook.bookProfile("TEChits_eta","mean # TEC hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
461 
462  h_LayersWithMeas_eta.push_back(ibook.bookProfile("LayersWithMeas_eta","mean # LayersWithMeas vs eta",
464  h_PXLlayersWithMeas_eta.push_back(ibook.bookProfile("PXLlayersWith2dMeas_eta","mean # PXLlayersWithMeas vs eta",
466  h_STRIPlayersWithMeas_eta.push_back(ibook.bookProfile("STRIPlayersWithMeas_eta","mean # STRIPlayersWithMeas vs eta",
468  h_STRIPlayersWith1dMeas_eta.push_back(ibook.bookProfile("STRIPlayersWith1dMeas_eta","mean # STRIPlayersWith1dMeas vs eta",
470  h_STRIPlayersWith2dMeas_eta.push_back(ibook.bookProfile("STRIPlayersWith2dMeas_eta","mean # STRIPlayersWith2dMeas vs eta",
472  h_hits_phi.push_back( ibook.bookProfile("hits_phi","mean #hits vs #phi",nintPhi,minPhi,maxPhi, nintHit,minHit,maxHit) );
473  h_losthits_eta.push_back( ibook.bookProfile("losthits_eta","losthits_eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit) );
474 
475  h_ptrmsh.push_back( ibook.book1D("ptres_vs_eta_Sigma","#sigma(#deltap_{t}/p_{t}) vs #eta",nintEta,minEta,maxEta) );
476  h_ptmeanhPhi.push_back( ibook.book1D("ptres_vs_phi_Mean","mean of p_{t} resolution vs #phi",nintPhi,minPhi,maxPhi));
477  h_ptrmshPhi.push_back( ibook.book1D("ptres_vs_phi_Sigma","#sigma(#deltap_{t}/p_{t}) vs #phi",nintPhi,minPhi,maxPhi) );
478  h_ptmeanhPt.push_back( ibook.book1D("ptres_vs_pt_Mean","mean of p_{t} resolution vs p_{t}",nintPt,minPt,maxPt));
479  h_ptrmshPt.push_back( ibook.book1D("ptres_vs_pt_Sigma","#sigma(#deltap_{t}/p_{t}) vs pT",nintPt,minPt,maxPt) );
480  h_cotThetameanh.push_back( ibook.book1D("cotThetares_vs_eta_Mean","#sigma(cot(#theta)) vs #eta Mean",nintEta,minEta,maxEta) );
481  h_cotThetarmsh.push_back( ibook.book1D("cotThetares_vs_eta_Sigma","#sigma(cot(#theta)) vs #eta Sigma",nintEta,minEta,maxEta) );
482  h_cotThetameanhPt.push_back( ibook.book1D("cotThetares_vs_pt_Mean","#sigma(cot(#theta)) vs pT Mean",nintPt,minPt,maxPt) );
483  h_cotThetarmshPt.push_back( ibook.book1D("cotThetares_vs_pt_Sigma","#sigma(cot(#theta)) vs pT Sigma",nintPt,minPt,maxPt) );
484  h_phimeanh.push_back(ibook.book1D("phires_vs_eta_Mean","mean of #phi res vs #eta",nintEta,minEta,maxEta));
485  h_phirmsh.push_back( ibook.book1D("phires_vs_eta_Sigma","#sigma(#delta#phi) vs #eta",nintEta,minEta,maxEta) );
486  h_phimeanhPt.push_back(ibook.book1D("phires_vs_pt_Mean","mean of #phi res vs pT",nintPt,minPt,maxPt));
487  h_phirmshPt.push_back( ibook.book1D("phires_vs_pt_Sigma","#sigma(#delta#phi) vs pT",nintPt,minPt,maxPt) );
488  h_phimeanhPhi.push_back(ibook.book1D("phires_vs_phi_Mean","mean of #phi res vs #phi",nintPhi,minPhi,maxPhi));
489  h_phirmshPhi.push_back( ibook.book1D("phires_vs_phi_Sigma","#sigma(#delta#phi) vs #phi",nintPhi,minPhi,maxPhi) );
490  h_dxymeanh.push_back( ibook.book1D("dxyres_vs_eta_Mean","mean of dxyres vs #eta",nintEta,minEta,maxEta) );
491  h_dxyrmsh.push_back( ibook.book1D("dxyres_vs_eta_Sigma","#sigma(#deltadxy) vs #eta",nintEta,minEta,maxEta) );
492  h_dxymeanhPt.push_back( ibook.book1D("dxyres_vs_pt_Mean","mean of dxyres vs pT",nintPt,minPt,maxPt) );
493  h_dxyrmshPt.push_back( ibook.book1D("dxyres_vs_pt_Sigma","#sigmadxy vs pT",nintPt,minPt,maxPt) );
494  h_dzmeanh.push_back( ibook.book1D("dzres_vs_eta_Mean","mean of dzres vs #eta",nintEta,minEta,maxEta) );
495  h_dzrmsh.push_back( ibook.book1D("dzres_vs_eta_Sigma","#sigma(#deltadz) vs #eta",nintEta,minEta,maxEta) );
496  h_dzmeanhPt.push_back( ibook.book1D("dzres_vs_pt_Mean","mean of dzres vs pT",nintPt,minPt,maxPt) );
497  h_dzrmshPt.push_back( ibook.book1D("dzres_vs_pt_Sigma","#sigma(#deltadz vs pT",nintPt,minPt,maxPt) );
498  h_dxypulletamean.push_back( ibook.book1D("h_dxypulleta_Mean","mean of dxy pull vs #eta",nintEta,minEta,maxEta) );
499  h_ptpulletamean.push_back( ibook.book1D("h_ptpulleta_Mean","mean of p_{t} pull vs #eta",nintEta,minEta,maxEta) );
500  h_dzpulletamean.push_back( ibook.book1D("h_dzpulleta_Mean","mean of dz pull vs #eta",nintEta,minEta,maxEta) );
501  h_phipulletamean.push_back( ibook.book1D("h_phipulleta_Mean","mean of #phi pull vs #eta",nintEta,minEta,maxEta) );
502  h_thetapulletamean.push_back( ibook.book1D("h_thetapulleta_Mean","mean of #theta pull vs #eta",nintEta,minEta,maxEta) );
503  h_dxypulleta.push_back( ibook.book1D("h_dxypulleta_Sigma","#sigma of dxy pull vs #eta",nintEta,minEta,maxEta) );
504  h_ptpulleta.push_back( ibook.book1D("h_ptpulleta_Sigma","#sigma of p_{t} pull vs #eta",nintEta,minEta,maxEta) );
505  h_dzpulleta.push_back( ibook.book1D("h_dzpulleta_Sigma","#sigma of dz pull vs #eta",nintEta,minEta,maxEta) );
506  h_phipulleta.push_back( ibook.book1D("h_phipulleta_Sigma","#sigma of #phi pull vs #eta",nintEta,minEta,maxEta) );
507  h_thetapulleta.push_back( ibook.book1D("h_thetapulleta_Sigma","#sigma of #theta pull vs #eta",nintEta,minEta,maxEta) );
508  h_ptshifteta.push_back( ibook.book1D("ptres_vs_eta_Mean","<#deltapT/pT>[%] vs #eta",nintEta,minEta,maxEta) );
509  h_ptpullphimean.push_back( ibook.book1D("h_ptpullphi_Mean","mean of p_{t} pull vs #phi",nintPhi,minPhi,maxPhi) );
510  h_phipullphimean.push_back( ibook.book1D("h_phipullphi_Mean","mean of #phi pull vs #phi",nintPhi,minPhi,maxPhi) );
511  h_thetapullphimean.push_back( ibook.book1D("h_thetapullphi_Mean","mean of #theta pull vs #phi",nintPhi,minPhi,maxPhi) );
512  h_ptpullphi.push_back( ibook.book1D("h_ptpullphi_Sigma","#sigma of p_{t} pull vs #phi",nintPhi,minPhi,maxPhi) );
513  h_phipullphi.push_back( ibook.book1D("h_phipullphi_Sigma","#sigma of #phi pull vs #phi",nintPhi,minPhi,maxPhi) );
514  h_thetapullphi.push_back( ibook.book1D("h_thetapullphi_Sigma","#sigma of #theta pull vs #phi",nintPhi,minPhi,maxPhi) );
515 
516  if(useLogPt){
517  BinLogX(h_dzmeanhPt.back()->getTH1F());
518  BinLogX(h_dzrmshPt.back()->getTH1F());
519  BinLogX(h_dxymeanhPt.back()->getTH1F());
520  BinLogX(h_dxyrmshPt.back()->getTH1F());
521  BinLogX(h_phimeanhPt.back()->getTH1F());
522  BinLogX(h_phirmshPt.back()->getTH1F());
523  BinLogX(h_cotThetameanhPt.back()->getTH1F());
524  BinLogX(h_cotThetarmshPt.back()->getTH1F());
525  BinLogX(h_ptmeanhPt.back()->getTH1F());
526  BinLogX(h_ptrmshPt.back()->getTH1F());
527  BinLogX(h_efficPt.back()->getTH1F());
528  BinLogX(h_fakeratePt.back()->getTH1F());
529  BinLogX(h_loopratepT.back()->getTH1F());
530  BinLogX(h_misidratepT.back()->getTH1F());
531  }
532 }
std::vector< MonitorElement * > h_loopratephi
std::vector< MonitorElement * > h_misidratepu
std::vector< MonitorElement * > h_dzpulletamean
std::vector< MonitorElement * > h_efficPt
std::vector< MonitorElement * > h_loopratedxy
std::vector< MonitorElement * > h_PXFhits_eta
std::vector< MonitorElement * > h_fake_vs_hit
std::vector< MonitorElement * > h_dzmeanh
std::vector< MonitorElement * > h_misidratephi
std::vector< MonitorElement * > h_ptshifteta
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
std::vector< MonitorElement * > h_fake_vs_dz
std::vector< MonitorElement * > h_effic_vs_vertpos
std::vector< MonitorElement * > h_fake_vs_dxy
std::vector< MonitorElement * > h_hits_eta
std::vector< MonitorElement * > h_thetapullphi
std::vector< MonitorElement * > h_ptrmshPt
std::vector< MonitorElement * > h_dxypulletamean
std::vector< MonitorElement * > h_phipullphi
std::vector< MonitorElement * > h_fakeratePt
std::vector< MonitorElement * > h_dxyrmsh
std::vector< MonitorElement * > h_dzrmshPt
std::vector< MonitorElement * > h_misidratepT
std::vector< MonitorElement * > h_ptpulleta
std::vector< MonitorElement * > h_TIBhits_eta
std::vector< MonitorElement * > h_thetapullphimean
std::vector< MonitorElement * > h_cotThetameanhPt
std::vector< MonitorElement * > h_fakerate_vs_dr
std::vector< MonitorElement * > h_phimeanhPhi
std::vector< MonitorElement * > h_misidratedz
std::vector< MonitorElement * > h_LayersWithMeas_eta
std::vector< MonitorElement * > h_chi2mean_vs_phi
std::vector< MonitorElement * > h_cotThetarmsh
std::vector< MonitorElement * > h_losthits_eta
std::vector< MonitorElement * > h_ptmeanhPhi
std::vector< MonitorElement * > h_phimeanh
std::vector< MonitorElement * > h_thetapulleta
std::vector< MonitorElement * > h_phipullphimean
std::vector< MonitorElement * > h_hits_phi
std::vector< MonitorElement * > h_STRIPlayersWithMeas_eta
std::vector< MonitorElement * > h_dxyrmshPt
std::vector< MonitorElement * > h_STRIPlayersWith1dMeas_eta
std::vector< MonitorElement * > h_fake_vs_phi
std::vector< MonitorElement * > h_ptpulletamean
std::vector< MonitorElement * > h_misidratehit
std::vector< MonitorElement * > h_ptpullphimean
std::vector< MonitorElement * > h_chi2meanh
std::vector< MonitorElement * > h_TIDhits_eta
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > h_effic
std::vector< MonitorElement * > h_ptmeanhPt
std::vector< MonitorElement * > h_phirmsh
std::vector< MonitorElement * > h_phirmshPt
std::vector< MonitorElement * > h_loopratehit
std::vector< MonitorElement * > h_fakerate
std::vector< MonitorElement * > h_ptpullphi
std::vector< MonitorElement * > h_STRIPlayersWith2dMeas_eta
std::vector< MonitorElement * > h_effic_vs_phi
std::vector< MonitorElement * > h_ptrmsh
std::vector< MonitorElement * > h_chi2meanhitsh
std::vector< MonitorElement * > h_dxymeanhPt
std::vector< MonitorElement * > h_dzpulleta
std::vector< MonitorElement * > h_dxypulleta
std::vector< MonitorElement * > h_effic_vs_dz
std::vector< MonitorElement * > h_phirmshPhi
std::vector< MonitorElement * > h_loopratepu
std::vector< MonitorElement * > h_effic_vs_dr
std::vector< MonitorElement * > h_PXBhits_eta
std::vector< MonitorElement * > h_phimeanhPt
std::vector< MonitorElement * > h_effic_vs_zpos
std::vector< MonitorElement * > h_cotThetameanh
std::vector< MonitorElement * > h_dzrmsh
std::vector< MonitorElement * > h_effic_vs_dxy
std::vector< MonitorElement * > h_TOBhits_eta
std::vector< MonitorElement * > h_misidrate
std::vector< MonitorElement * > h_TEChits_eta
std::vector< MonitorElement * > h_dzmeanhPt
std::vector< MonitorElement * > h_fake_vs_pu
std::vector< MonitorElement * > h_loopratedz
std::vector< MonitorElement * > h_cotThetarmshPt
std::vector< MonitorElement * > h_phipulleta
std::vector< MonitorElement * > h_looprate
std::vector< MonitorElement * > h_dxymeanh
std::vector< MonitorElement * > h_ptrmshPhi
std::vector< MonitorElement * > h_effic_vs_hit
std::vector< MonitorElement * > h_loopratepT
std::vector< MonitorElement * > h_phipulletamean
std::vector< MonitorElement * > h_PXLlayersWithMeas_eta
std::vector< MonitorElement * > h_effic_vs_pu
std::vector< MonitorElement * > h_misidratedxy
std::vector< MonitorElement * > h_thetapulletamean
void MTVHistoProducerAlgoForTracker::bookSimHistos ( DQMStore::IBooker ibook)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 171 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), h_bunchxSIM, h_etaSIM, h_ptSIM, h_tracksSIM, and h_vertposSIM.

171  {
172  h_ptSIM.push_back( ibook.book1D("ptSIM", "generated p_{t}", 5500, 0, 110 ) );
173  h_etaSIM.push_back( ibook.book1D("etaSIM", "generated pseudorapidity", 500, -2.5, 2.5 ) );
174  h_tracksSIM.push_back( ibook.book1D("tracksSIM","number of simulated tracks",200,-0.5,99.5) );
175  h_vertposSIM.push_back( ibook.book1D("vertposSIM","Transverse position of sim vertices",100,0.,120.) );
176  h_bunchxSIM.push_back( ibook.book1D("bunchxSIM", "bunch crossing", 22, -5, 5 ) );
177 }
std::vector< MonitorElement * > h_ptSIM
std::vector< MonitorElement * > h_vertposSIM
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::vector< MonitorElement * > h_tracksSIM
std::vector< MonitorElement * > h_bunchxSIM
std::vector< MonitorElement * > h_etaSIM
void MTVHistoProducerAlgoForTracker::fill_dedx_recoTrack_histos ( int  count,
edm::RefToBase< reco::Track > &  trackref,
const std::vector< edm::ValueMap< reco::DeDxData > > &  v_dEdx 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 604 of file MTVHistoProducerAlgoForTracker.cc.

References prof2calltree::count, h_dedx_estim1, h_dedx_estim2, h_dedx_nom1, h_dedx_nom2, h_dedx_sat1, h_dedx_sat2, and i.

604  {
605 //void MTVHistoProducerAlgoForTracker::fill_dedx_recoTrack_histos(reco::TrackRef trackref, std::vector< edm::ValueMap<reco::DeDxData> > v_dEdx) {
606  double dedx;
607  int nom;
608  int sat;
610  for (unsigned int i=0; i<v_dEdx.size(); i++) {
611  dEdxTrack = v_dEdx.at(i);
612  dedx = dEdxTrack[trackref].dEdx();
613  nom = dEdxTrack[trackref].numberOfMeasurements();
614  sat = dEdxTrack[trackref].numberOfSaturatedMeasurements();
615  if (i==0) {
616  h_dedx_estim1[count]->Fill(dedx);
617  h_dedx_nom1[count]->Fill(nom);
618  h_dedx_sat1[count]->Fill(sat);
619  } else if (i==1) {
620  h_dedx_estim2[count]->Fill(dedx);
621  h_dedx_nom2[count]->Fill(nom);
622  h_dedx_sat2[count]->Fill(sat);
623  }
624  }
625 }
std::vector< MonitorElement * > h_dedx_estim2
int i
Definition: DBlmapReader.cc:9
std::vector< MonitorElement * > h_dedx_sat1
std::vector< MonitorElement * > h_dedx_estim1
std::vector< MonitorElement * > h_dedx_nom2
std::vector< MonitorElement * > h_dedx_sat2
std::vector< MonitorElement * > h_dedx_nom1
void MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos ( int  count,
const reco::Track track,
const math::XYZPoint bsPosition,
bool  isMatched,
bool  isSigMatched,
bool  isChargeMatched,
int  numAssocRecoTracks,
int  numVertices,
int  nSimHits,
double  sharedFraction,
double  dR 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 628 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algo(), prof2calltree::count, reco::TrackBase::dxy(), reco::TrackBase::dz(), MTVHistoProducerAlgo::fillPlotNoFlow(), reco::Track::found(), getEta(), getPt(), h_algo, h_assoc2dr, h_assoc2dxy, h_assoc2dz, h_assoc2eta, h_assoc2hit, h_assoc2phi, h_assoc2pT, h_assoc2pu, h_assocFraction, h_assocSharedHit, h_looperdxy, h_looperdz, h_loopereta, h_looperhit, h_looperphi, h_looperpT, h_looperpu, h_misiddxy, h_misiddz, h_misideta, h_misidhit, h_misidphi, h_misidpT, h_misidpu, h_recodr, h_recodxy, h_recodz, h_recoeta, h_recohit, h_recophi, h_recopT, h_recopu, bookConverter::max, min(), reco::TrackBase::momentum(), nrecHit_vs_nsimHit_rec2sim, reco::TrackBase::numberOfValidHits(), EgAmbiguityTools::sharedHits(), and mathSSE::sqrt().

638  {
639 
640  //Fill track algo histogram
641  // if (track.algo()>=4 && track.algo()<=14) fillPlotNoFlow(h_algo[count],track.algo()-4);
642  fillPlotNoFlow(h_algo[count],track.algo());
643  int sharedHits = sharedFraction * track.numberOfValidHits();
644 
645  //Compute fake rate vs eta
646  fillPlotNoFlow(h_recoeta[count],getEta(track.momentum().eta()));
647  if (isMatched) {
648  fillPlotNoFlow(h_assoc2eta[count],getEta(track.momentum().eta()));
649  if (!isChargeMatched) fillPlotNoFlow(h_misideta[count],getEta(track.momentum().eta()));
650  if (numAssocRecoTracks>1) fillPlotNoFlow(h_loopereta[count],getEta(track.momentum().eta()));
651  nrecHit_vs_nsimHit_rec2sim[count]->Fill( track.numberOfValidHits(),nSimHits);
652  h_assocFraction[count]->Fill( sharedFraction);
653  h_assocSharedHit[count]->Fill( sharedHits);
654  }
655 
656  fillPlotNoFlow(h_recophi[count],track.momentum().phi());
657  if (isMatched) {
658  fillPlotNoFlow(h_assoc2phi[count],track.momentum().phi());
659  if (!isChargeMatched) fillPlotNoFlow(h_misidphi[count],track.momentum().phi());
660  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperphi[count],track.momentum().phi());
661  }
662 
663  fillPlotNoFlow(h_recopT[count],getPt(sqrt(track.momentum().perp2())));
664  if (isMatched) {
665  fillPlotNoFlow(h_assoc2pT[count],getPt(sqrt(track.momentum().perp2())));
666  if (!isChargeMatched) fillPlotNoFlow(h_misidpT[count],getPt(sqrt(track.momentum().perp2())));
667  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperpT[count],getPt(sqrt(track.momentum().perp2())));
668  }
669 
670  fillPlotNoFlow(h_recodxy[count],track.dxy(bsPosition));
671  if (isMatched) {
672  fillPlotNoFlow(h_assoc2dxy[count],track.dxy(bsPosition));
673  if (!isChargeMatched) fillPlotNoFlow(h_misiddxy[count],track.dxy(bsPosition));
674  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperdxy[count],track.dxy(bsPosition));
675  }
676 
677  fillPlotNoFlow(h_recodz[count],track.dz(bsPosition));
678  if (isMatched) {
679  fillPlotNoFlow(h_assoc2dz[count],track.dz(bsPosition));
680  if (!isChargeMatched) fillPlotNoFlow(h_misiddz[count],track.dz(bsPosition));
681  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperdz[count],track.dz(bsPosition));
682  }
683 
684 
685  fillPlotNoFlow(h_recohit[count],track.found());
686  if (isMatched) {
687  fillPlotNoFlow(h_assoc2hit[count],track.found());
688  if (!isChargeMatched) fillPlotNoFlow(h_misidhit[count],track.found());
689  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperhit[count],track.found());
690  }
691 
692  fillPlotNoFlow(h_recopu[count],numVertices);
693  if (isMatched) {
694  fillPlotNoFlow(h_assoc2pu[count],numVertices);
695  if (!isChargeMatched) fillPlotNoFlow(h_misidpu[count],numVertices);
696  if (numAssocRecoTracks>1) fillPlotNoFlow(h_looperpu[count],numVertices);
697  }
698 
699  //fakerate vs dR
700  h_recodr[count]->Fill(min(max(dR,h_recodr[count]->getTH1()->GetXaxis()->GetXmin()),h_recodr[count]->getTH1()->GetXaxis()->GetXmax()));
701  if (isMatched) h_assoc2dr[count]->Fill(min(max(dR,h_recodr[count]->getTH1()->GetXaxis()->GetXmin()),h_recodr[count]->getTH1()->GetXaxis()->GetXmax()));
702 }
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_looperpT
void fillPlotNoFlow(MonitorElement *h, T val)
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_looperdxy
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:723
std::vector< MonitorElement * > h_assoc2dz
int sharedHits(const reco::GsfTrackRef &, const reco::GsfTrackRef &)
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > h_recohit
TrackAlgorithm algo() const
Definition: TrackBase.h:423
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_misidhit
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< MonitorElement * > h_recophi
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:868
T min(T a, T b)
Definition: MathUtil.h:58
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_recodr
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:657
std::vector< MonitorElement * > h_recopu
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_looperphi
std::vector< MonitorElement * > h_assoc2dr
unsigned short found() const
Number of valid hits on track.
Definition: Track.h:194
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_recodz
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:639
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos ( int  counter,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertex,
int  bx 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 534 of file MTVHistoProducerAlgoForTracker.cc.

References prof2calltree::count, h_bunchxSIM, h_etaSIM, h_ptSIM, h_vertposSIM, and mathSSE::sqrt().

537  {
538  h_ptSIM[count]->Fill(sqrt(momentumTP.perp2()));
539  h_etaSIM[count]->Fill(momentumTP.eta());
540  h_vertposSIM[count]->Fill(sqrt(vertexTP.perp2()));
541  h_bunchxSIM[count]->Fill(bx);
542 }
std::vector< MonitorElement * > h_ptSIM
std::vector< MonitorElement * > h_vertposSIM
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< MonitorElement * > h_bunchxSIM
std::vector< MonitorElement * > h_etaSIM
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( int  count,
const TrackingParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
int  nSimHits,
const reco::Track track,
int  numVertices,
double  dR 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 546 of file MTVHistoProducerAlgoForTracker.cc.

References prof2calltree::count, MTVHistoProducerAlgo::fillPlotNoFlow(), getEta(), getPt(), h_assocdr, h_assocdxy, h_assocdz, h_assoceta, h_assochit, h_assocphi, h_assocpT, h_assocpu, h_assocvertpos, h_assoczpos, h_simuldr, 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(), mathSSE::sqrt(), TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, and TpSelectorForEfficiencyVsVTXZ.

553  {
554  bool isMatched = track;
555 
556  if((*TpSelectorForEfficiencyVsEta)(tp)){
557  //effic vs eta
558  fillPlotNoFlow(h_simuleta[count],getEta(momentumTP.eta()));
559  if (isMatched) fillPlotNoFlow(h_assoceta[count],getEta(momentumTP.eta()));
560  //effic vs hits
561  fillPlotNoFlow(h_simulhit[count],(int)nSimHits);
562  if(isMatched) {
563  fillPlotNoFlow(h_assochit[count],(int)nSimHits);
564  nrecHit_vs_nsimHit_sim2rec[count]->Fill( track->numberOfValidHits(),nSimHits);
565  }
566  //effic vs pu
567  fillPlotNoFlow(h_simulpu[count],(int)numVertices);
568  if(isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
569  //efficiency vs dR
570  fillPlotNoFlow(h_simuldr[count],dR);
571  if (isMatched) fillPlotNoFlow(h_assocdr[count],dR);
572  }
573 
574  if((*TpSelectorForEfficiencyVsPhi)(tp)){
575  fillPlotNoFlow(h_simulphi[count],momentumTP.phi());
576  if (isMatched) fillPlotNoFlow(h_assocphi[count],momentumTP.phi());
577  }
578 
579  if((*TpSelectorForEfficiencyVsPt)(tp)){
580  fillPlotNoFlow(h_simulpT[count],getPt(sqrt(momentumTP.perp2())));
581  if (isMatched) fillPlotNoFlow(h_assocpT[count],getPt(sqrt(momentumTP.perp2())));
582  }
583 
585  fillPlotNoFlow(h_simuldxy[count],dxySim);
586  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
587 
588  fillPlotNoFlow(h_simulvertpos[count],sqrt(vertexTP.perp2()));
589  if (isMatched) fillPlotNoFlow(h_assocvertpos[count],sqrt(vertexTP.perp2()));
590  }
591 
592 
594  fillPlotNoFlow(h_simuldz[count],dzSim);
595  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
596 
597  fillPlotNoFlow(h_simulzpos[count],vertexTP.z());
598  if (isMatched) fillPlotNoFlow(h_assoczpos[count],vertexTP.z());
599  }
600 
601 }
std::vector< MonitorElement * > h_assochit
TrackingParticleSelector * TpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_assoczpos
void fillPlotNoFlow(MonitorElement *h, T val)
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_assocdz
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_simuldr
T sqrt(T t)
Definition: SSEVec.h:48
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:868
std::vector< MonitorElement * > h_simuldz
TrackingParticleSelector * TpSelectorForEfficiencyVsPt
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
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
TrackingParticleSelector * TpSelectorForEfficiencyVsEta
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 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 1074 of file MTVHistoProducerAlgoForTracker.cc.

References prof2calltree::count, MTVHistoProducerAlgo::fillPlotNoFlow(), 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().

1080  {
1081 
1082  bool isMatched = track;
1083 
1084  if((*GpSelectorForEfficiencyVsEta)(tp)){
1085  //effic vs eta
1086  fillPlotNoFlow(h_simuleta[count],getEta(momentumTP.eta()));
1087  if (isMatched) fillPlotNoFlow(h_assoceta[count],getEta(momentumTP.eta()));
1088  //effic vs hits
1089  fillPlotNoFlow(h_simulhit[count],(int)nSimHits);
1090  if(isMatched) {
1091  fillPlotNoFlow(h_assochit[count],(int)nSimHits);
1092  nrecHit_vs_nsimHit_sim2rec[count]->Fill( track->numberOfValidHits(),nSimHits);
1093  }
1094  //effic vs pu
1095  fillPlotNoFlow(h_simulpu[count],numVertices);
1096  if (isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
1097  //efficiency vs dR
1098  //not implemented for now
1099  }
1100 
1101  if((*GpSelectorForEfficiencyVsPhi)(tp)){
1102  fillPlotNoFlow(h_simulphi[count],momentumTP.phi());
1103  if (isMatched) fillPlotNoFlow(h_assocphi[count],momentumTP.phi());
1104  }
1105 
1106  if((*GpSelectorForEfficiencyVsPt)(tp)){
1107  fillPlotNoFlow(h_simulpT[count],getPt(sqrt(momentumTP.perp2())));
1108  if (isMatched) fillPlotNoFlow(h_assocpT[count],getPt(sqrt(momentumTP.perp2())));
1109  }
1110 
1111  if((*GpSelectorForEfficiencyVsVTXR)(tp)){
1112  fillPlotNoFlow(h_simuldxy[count],dxySim);
1113  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
1114 
1115  fillPlotNoFlow(h_simulvertpos[count],sqrt(vertexTP.perp2()));
1116  if (isMatched) fillPlotNoFlow(h_assocvertpos[count],sqrt(vertexTP.perp2()));
1117  }
1118 
1119  if((*GpSelectorForEfficiencyVsVTXZ)(tp)){
1120  fillPlotNoFlow(h_simuldz[count],dzSim);
1121  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
1122 
1123  fillPlotNoFlow(h_simulzpos[count],vertexTP.z());
1124  if (isMatched) fillPlotNoFlow(h_assoczpos[count],vertexTP.z());
1125  }
1126 
1127 }
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_assoczpos
void fillPlotNoFlow(MonitorElement *h, T val)
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
GenParticleCustomSelector * GpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assocphi
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
T sqrt(T t)
Definition: SSEVec.h:48
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:868
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simulphi
GenParticleCustomSelector * GpSelectorForEfficiencyVsPt
std::vector< MonitorElement * > h_simulhit
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_assocdxy
GenParticleCustomSelector * GpSelectorForEfficiencyVsEta
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 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 749 of file MTVHistoProducerAlgoForTracker.cc.

References chi2_vs_phi, funct::cos(), cotThetares_vs_eta, cotThetares_vs_pt, prof2calltree::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.

754  {
755 
756  // evaluation of TP parameters
757  double qoverpSim = chargeTP/sqrt(momentumTP.x()*momentumTP.x()+momentumTP.y()*momentumTP.y()+momentumTP.z()*momentumTP.z());
758  double lambdaSim = M_PI/2-momentumTP.theta();
759  double phiSim = momentumTP.phi();
760  double dxySim = (-vertexTP.x()*sin(momentumTP.phi())+vertexTP.y()*cos(momentumTP.phi()));
761  double dzSim = vertexTP.z() - (vertexTP.x()*momentumTP.x()+vertexTP.y()*momentumTP.y())/sqrt(momentumTP.perp2())
762  * momentumTP.z()/sqrt(momentumTP.perp2());
763 
764 
765  // reco::Track::ParameterVector rParameters = track.parameters(); // UNUSED
766 
767  double qoverpRec(0);
768  double qoverpErrorRec(0);
769  double ptRec(0);
770  double ptErrorRec(0);
771  double lambdaRec(0);
772  double lambdaErrorRec(0);
773  double phiRec(0);
774  double phiErrorRec(0);
775 
776  /* TO BE FIXED LATER -----------
777  //loop to decide whether to take gsfTrack (utilisation of mode-function) or common track
778  const GsfTrack* gsfTrack(0);
779  if(useGsf){
780  gsfTrack = dynamic_cast<const GsfTrack*>(&(*track));
781  if (gsfTrack==0) edm::LogInfo("TrackValidator") << "Trying to access mode for a non-GsfTrack";
782  }
783 
784  if (gsfTrack) {
785  // get values from mode
786  getRecoMomentum(*gsfTrack, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
787  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
788  }
789 
790  else {
791  // get values from track (without mode)
792  getRecoMomentum(*track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
793  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
794  }
795  */
796  getRecoMomentum(track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
797  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
798  // -------------
799 
800  double ptError = ptErrorRec;
801  double ptres=ptRec-sqrt(momentumTP.perp2());
802  double etares=track.eta()-momentumTP.Eta();
803 
804 
805  double dxyRec = track.dxy(bsPosition);
806  double dzRec = track.dz(bsPosition);
807 
808  // eta residue; pt, k, theta, phi, dxy, dz pulls
809  double qoverpPull=(qoverpRec-qoverpSim)/qoverpErrorRec;
810  double thetaPull=(lambdaRec-lambdaSim)/lambdaErrorRec;
811  double phiPull=(phiRec-phiSim)/phiErrorRec;
812  double dxyPull=(dxyRec-dxySim)/track.dxyError();
813  double dzPull=(dzRec-dzSim)/track.dzError();
814 
815  double contrib_Qoverp = ((qoverpRec-qoverpSim)/qoverpErrorRec)*
816  ((qoverpRec-qoverpSim)/qoverpErrorRec)/5;
817  double contrib_dxy = ((dxyRec-dxySim)/track.dxyError())*((dxyRec-dxySim)/track.dxyError())/5;
818  double contrib_dz = ((dzRec-dzSim)/track.dzError())*((dzRec-dzSim)/track.dzError())/5;
819  double contrib_theta = ((lambdaRec-lambdaSim)/lambdaErrorRec)*
820  ((lambdaRec-lambdaSim)/lambdaErrorRec)/5;
821  double contrib_phi = ((phiRec-phiSim)/phiErrorRec)*
822  ((phiRec-phiSim)/phiErrorRec)/5;
823 
824  LogTrace("TrackValidatorTEST")
825  //<< "assocChi2=" << tp.begin()->second << "\n"
826  << "" << "\n"
827  << "ptREC=" << ptRec << "\n" << "etaREC=" << track.eta() << "\n" << "qoverpREC=" << qoverpRec << "\n"
828  << "dxyREC=" << dxyRec << "\n" << "dzREC=" << dzRec << "\n"
829  << "thetaREC=" << track.theta() << "\n" << "phiREC=" << phiRec << "\n"
830  << "" << "\n"
831  << "qoverpError()=" << qoverpErrorRec << "\n" << "dxyError()=" << track.dxyError() << "\n"<< "dzError()="
832  << track.dzError() << "\n"
833  << "thetaError()=" << lambdaErrorRec << "\n" << "phiError()=" << phiErrorRec << "\n"
834  << "" << "\n"
835  << "ptSIM=" << sqrt(momentumTP.perp2()) << "\n"<< "etaSIM=" << momentumTP.Eta() << "\n"<< "qoverpSIM=" << qoverpSim << "\n"
836  << "dxySIM=" << dxySim << "\n"<< "dzSIM=" << dzSim << "\n" << "thetaSIM=" << M_PI/2-lambdaSim << "\n"
837  << "phiSIM=" << phiSim << "\n"
838  << "" << "\n"
839  << "contrib_Qoverp=" << contrib_Qoverp << "\n"<< "contrib_dxy=" << contrib_dxy << "\n"<< "contrib_dz=" << contrib_dz << "\n"
840  << "contrib_theta=" << contrib_theta << "\n"<< "contrib_phi=" << contrib_phi << "\n"
841  << "" << "\n"
842  <<"chi2PULL="<<contrib_Qoverp+contrib_dxy+contrib_dz+contrib_theta+contrib_phi<<"\n";
843 
844  h_pullQoverp[count]->Fill(qoverpPull);
845  h_pullTheta[count]->Fill(thetaPull);
846  h_pullPhi[count]->Fill(phiPull);
847  h_pullDxy[count]->Fill(dxyPull);
848  h_pullDz[count]->Fill(dzPull);
849 
850 
851  h_pt[count]->Fill(ptres/ptError);
852  h_eta[count]->Fill(etares);
853  //etares_vs_eta[count]->Fill(getEta(track.eta()),etares);
854  etares_vs_eta[count]->Fill(getEta(momentumTP.eta()),etares);
855 
856  //resolution of track params: fill 2D histos
857  dxyres_vs_eta[count]->Fill(getEta(momentumTP.eta()),dxyRec-dxySim);
858  ptres_vs_eta[count]->Fill(getEta(momentumTP.eta()),(ptRec-sqrt(momentumTP.perp2()))/ptRec);
859  dzres_vs_eta[count]->Fill(getEta(momentumTP.eta()),dzRec-dzSim);
860  phires_vs_eta[count]->Fill(getEta(momentumTP.eta()),phiRec-phiSim);
861  cotThetares_vs_eta[count]->Fill(getEta(momentumTP.eta()),1/tan(M_PI*0.5-lambdaRec)-1/tan(M_PI*0.5-lambdaSim));
862 
863  //same as before but vs pT
864  dxyres_vs_pt[count]->Fill(getPt(sqrt(momentumTP.perp2())),dxyRec-dxySim);
865  ptres_vs_pt[count]->Fill(getPt(sqrt(momentumTP.perp2())),(ptRec-sqrt(momentumTP.perp2()))/ptRec);
866  dzres_vs_pt[count]->Fill(getPt(sqrt(momentumTP.perp2())),dzRec-dzSim);
867  phires_vs_pt[count]->Fill(getPt(sqrt(momentumTP.perp2())),phiRec-phiSim);
868  cotThetares_vs_pt[count]->Fill(getPt(sqrt(momentumTP.perp2())),1/tan(M_PI*0.5-lambdaRec)-1/tan(M_PI*0.5-lambdaSim));
869 
870  //pulls of track params vs eta: fill 2D histos
871  dxypull_vs_eta[count]->Fill(getEta(momentumTP.eta()),dxyPull);
872  ptpull_vs_eta[count]->Fill(getEta(momentumTP.eta()),ptres/ptError);
873  dzpull_vs_eta[count]->Fill(getEta(momentumTP.eta()),dzPull);
874  phipull_vs_eta[count]->Fill(getEta(momentumTP.eta()),phiPull);
875  thetapull_vs_eta[count]->Fill(getEta(momentumTP.eta()),thetaPull);
876 
877  //plots vs phi
878  nhits_vs_phi[count]->Fill(phiRec,track.numberOfValidHits());
879  chi2_vs_phi[count]->Fill(phiRec,track.normalizedChi2());
880  ptmean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),ptRec);
881  phimean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),phiRec);
882 
883  ptres_vs_phi[count]->Fill(momentumTP.phi(),(ptRec-sqrt(momentumTP.perp2()))/ptRec);
884  phires_vs_phi[count]->Fill(momentumTP.phi(),phiRec-phiSim);
885  ptpull_vs_phi[count]->Fill(momentumTP.phi(),ptres/ptError);
886  phipull_vs_phi[count]->Fill(momentumTP.phi(),phiPull);
887  thetapull_vs_phi[count]->Fill(momentumTP.phi(),thetaPull);
888 
889 
890 }
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:609
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:627
double dxyError() const
error on dxy
Definition: TrackBase.h:844
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:699
std::vector< MonitorElement * > h_pullQoverp
T sqrt(T t)
Definition: SSEVec.h:48
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:868
std::vector< MonitorElement * > phimean_vs_eta_phi
#define LogTrace(id)
#define M_PI
std::vector< MonitorElement * > dzpull_vs_eta
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:657
double dzError() const
error on dz
Definition: TrackBase.h:862
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:639
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_simAssociated_recoTrack_histos ( int  count,
const reco::Track track 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 705 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::charge(), reco::TrackBase::chi2(), chi2_vs_eta, chi2_vs_nhits, prof2calltree::count, 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().

706  {
707  //nchi2 and hits global distributions
708  h_nchi2[count]->Fill(track.normalizedChi2());
709  h_nchi2_prob[count]->Fill(TMath::Prob(track.chi2(),(int)track.ndof()));
710  h_hits[count]->Fill(track.numberOfValidHits());
711  h_losthits[count]->Fill(track.numberOfLostHits());
712  chi2_vs_nhits[count]->Fill(track.numberOfValidHits(),track.normalizedChi2());
713  h_charge[count]->Fill( track.charge() );
716 
717  //chi2 and #hit vs eta: fill 2D histos
718  chi2_vs_eta[count]->Fill(getEta(track.eta()),track.normalizedChi2());
719  nhits_vs_eta[count]->Fill(getEta(track.eta()),track.numberOfValidHits());
728  int LayersAll = track.hitPattern().stripLayersWithMeasurement();
729  int Layers2D = track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
730  int Layers1D = LayersAll - Layers2D;
731  nSTRIPlayersWithMeas_vs_eta[count]->Fill(getEta(track.eta()),LayersAll);
732  nSTRIPlayersWith1dMeas_vs_eta[count]->Fill(getEta(track.eta()),Layers1D);
733  nSTRIPlayersWith2dMeas_vs_eta[count]->Fill(getEta(track.eta()),Layers2D);
734 
735  nlosthits_vs_eta[count]->Fill(getEta(track.eta()),track.numberOfLostHits());
736 }
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:609
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:874
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:458
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:477
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:779
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:699
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:300
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:754
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:597
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:603
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:774
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:868
int numberOfValidStripTECHits() const
Definition: HitPattern.h:784
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:384
int stripLayersWithMeasurement() const
Definition: HitPattern.h:919
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:769
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:759
int charge() const
track electric charge
Definition: TrackBase.h:615
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:718
std::vector< MonitorElement * > h_losthits
void MTVHistoProducerAlgoForTracker::fill_trackBased_histos ( int  count,
int  assTracks,
int  numRecoTracks,
int  numSimTracks 
)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 739 of file MTVHistoProducerAlgoForTracker.cc.

References prof2calltree::count, h_fakes, h_tracks, and nrec_vs_nsim.

739  {
740 
741  h_tracks[count]->Fill(assTracks);
742  h_fakes[count]->Fill(numRecoTracks-assTracks);
743  nrec_vs_nsim[count]->Fill(numRecoTracks,numSimTracks);
744 
745 }
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_tracks
void MTVHistoProducerAlgoForTracker::fillProfileHistosFromVectors ( int  counter)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 1043 of file MTVHistoProducerAlgoForTracker.cc.

References chi2_vs_eta, chi2_vs_nhits, chi2_vs_phi, MTVHistoProducerAlgo::doProfileX(), h_chi2mean_vs_phi, h_chi2meanh, h_chi2meanhitsh, h_hits_eta, h_hits_phi, h_LayersWithMeas_eta, h_losthits_eta, h_PXBhits_eta, h_PXFhits_eta, h_PXLlayersWithMeas_eta, h_STRIPlayersWith1dMeas_eta, h_STRIPlayersWith2dMeas_eta, h_STRIPlayersWithMeas_eta, h_TEChits_eta, h_TIBhits_eta, h_TIDhits_eta, h_TOBhits_eta, nhits_vs_eta, nhits_vs_phi, nLayersWithMeas_vs_eta, nlosthits_vs_eta, 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, and nTOBhits_vs_eta.

1043  {
1044  //chi2 and #hit vs eta: get mean from 2D histos
1053 
1059 
1060 
1061 
1063  //vs phi
1065  // doProfileX(ptres_vs_eta[counter],h_ptresmean_vs_eta[counter]);
1066  // doProfileX(phires_vs_eta[counter],h_phiresmean_vs_eta[counter]);
1069  // doProfileX(ptres_vs_phi[counter],h_ptresmean_vs_phi[counter]);
1070  // doProfileX(phires_vs_phi[counter],h_phiresmean_vs_phi[counter]);
1071 }
std::vector< MonitorElement * > h_PXFhits_eta
std::vector< MonitorElement * > nPXFhits_vs_eta
void doProfileX(TH2 *th2, MonitorElement *me)
std::vector< MonitorElement * > nTEChits_vs_eta
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
std::vector< MonitorElement * > h_hits_eta
std::vector< MonitorElement * > nTIDhits_vs_eta
std::vector< MonitorElement * > h_TIBhits_eta
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > h_LayersWithMeas_eta
std::vector< MonitorElement * > h_chi2mean_vs_phi
std::vector< MonitorElement * > h_losthits_eta
std::vector< MonitorElement * > nlosthits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > h_hits_phi
std::vector< MonitorElement * > h_STRIPlayersWithMeas_eta
std::vector< MonitorElement * > nPXBhits_vs_eta
std::vector< MonitorElement * > h_STRIPlayersWith1dMeas_eta
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
std::vector< MonitorElement * > nTOBhits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
std::vector< MonitorElement * > h_chi2meanh
std::vector< MonitorElement * > h_TIDhits_eta
std::vector< MonitorElement * > nhits_vs_phi
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< MonitorElement * > h_STRIPlayersWith2dMeas_eta
std::vector< MonitorElement * > h_chi2meanhitsh
std::vector< MonitorElement * > nPXLlayersWithMeas_vs_eta
std::vector< MonitorElement * > nTIBhits_vs_eta
std::vector< MonitorElement * > h_PXBhits_eta
static std::atomic< unsigned int > counter
std::vector< MonitorElement * > h_TOBhits_eta
std::vector< MonitorElement * > h_TEChits_eta
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
std::vector< MonitorElement * > h_PXLlayersWithMeas_eta
void MTVHistoProducerAlgoForTracker::finalHistoFits ( int  counter)
virtual

Implements MTVHistoProducerAlgo.

Definition at line 942 of file MTVHistoProducerAlgoForTracker.cc.

References cotThetares_vs_eta, cotThetares_vs_pt, dxypull_vs_eta, dxyres_vs_eta, dxyres_vs_pt, dzpull_vs_eta, dzres_vs_eta, dzres_vs_pt, MTVHistoProducerAlgo::fillPlotFromPlots(), FitSlicesYTool::getFittedMeanWithError(), FitSlicesYTool::getFittedSigmaWithError(), h_assoc2dr, h_assoc2dxy, h_assoc2dz, h_assoc2eta, h_assoc2hit, h_assoc2phi, h_assoc2pT, h_assoc2pu, h_assocdr, h_assocdxy, h_assocdz, h_assoceta, h_assochit, h_assocphi, h_assocpT, h_assocpu, h_assocvertpos, h_assoczpos, h_cotThetameanh, h_cotThetameanhPt, h_cotThetarmsh, h_cotThetarmshPt, h_dxymeanh, h_dxymeanhPt, h_dxypulleta, h_dxypulletamean, h_dxyrmsh, h_dxyrmshPt, h_dzmeanh, h_dzmeanhPt, h_dzpulleta, h_dzpulletamean, h_dzrmsh, h_dzrmshPt, h_effic, h_effic_vs_dr, h_effic_vs_dxy, h_effic_vs_dz, h_effic_vs_hit, h_effic_vs_phi, h_effic_vs_pu, h_effic_vs_vertpos, h_effic_vs_zpos, h_efficPt, h_fake_vs_dxy, h_fake_vs_dz, h_fake_vs_hit, h_fake_vs_phi, h_fake_vs_pu, h_fakerate, h_fakerate_vs_dr, h_fakeratePt, h_looperdxy, h_looperdz, h_loopereta, h_looperhit, h_looperphi, h_looperpT, h_looperpu, h_looprate, h_loopratedxy, h_loopratedz, h_loopratehit, h_loopratephi, h_loopratepT, h_loopratepu, h_misiddxy, h_misiddz, h_misideta, h_misidhit, h_misidphi, h_misidpT, h_misidpu, h_misidrate, h_misidratedxy, h_misidratedz, h_misidratehit, h_misidratephi, h_misidratepT, h_misidratepu, h_phimeanh, h_phimeanhPhi, h_phimeanhPt, h_phipulleta, h_phipulletamean, h_phipullphi, h_phipullphimean, h_phirmsh, h_phirmshPhi, h_phirmshPt, h_ptmeanhPhi, h_ptmeanhPt, h_ptpulleta, h_ptpulletamean, h_ptpullphi, h_ptpullphimean, h_ptrmsh, h_ptrmshPhi, h_ptrmshPt, h_ptshifteta, h_recodr, h_recodxy, h_recodz, h_recoeta, h_recohit, h_recophi, h_recopT, h_recopu, h_simuldr, h_simuldxy, h_simuldz, h_simuleta, h_simulhit, h_simulphi, h_simulpT, h_simulpu, h_simulvertpos, h_simulzpos, h_thetapulleta, h_thetapulletamean, h_thetapullphi, h_thetapullphimean, phipull_vs_eta, phipull_vs_phi, phires_vs_eta, phires_vs_phi, phires_vs_pt, ptpull_vs_eta, ptpull_vs_phi, ptres_vs_eta, ptres_vs_phi, ptres_vs_pt, thetapull_vs_eta, and thetapull_vs_phi.

942  {
943  //resolution of track params: get sigma from 2D histos
945  fsyt_dxy.getFittedSigmaWithError(h_dxyrmsh[counter]);
946  fsyt_dxy.getFittedMeanWithError(h_dxymeanh[counter]);
947  FitSlicesYTool fsyt_dxyPt(dxyres_vs_pt[counter]);
948  fsyt_dxyPt.getFittedSigmaWithError(h_dxyrmshPt[counter]);
949  fsyt_dxyPt.getFittedMeanWithError(h_dxymeanhPt[counter]);
950  FitSlicesYTool fsyt_pt(ptres_vs_eta[counter]);
951  fsyt_pt.getFittedSigmaWithError(h_ptrmsh[counter]);
952  fsyt_pt.getFittedMeanWithError(h_ptshifteta[counter]);
953  FitSlicesYTool fsyt_ptPt(ptres_vs_pt[counter]);
954  fsyt_ptPt.getFittedSigmaWithError(h_ptrmshPt[counter]);
955  fsyt_ptPt.getFittedMeanWithError(h_ptmeanhPt[counter]);
956  FitSlicesYTool fsyt_ptPhi(ptres_vs_phi[counter]);
957  fsyt_ptPhi.getFittedSigmaWithError(h_ptrmshPhi[counter]);
958  fsyt_ptPhi.getFittedMeanWithError(h_ptmeanhPhi[counter]);
959  FitSlicesYTool fsyt_dz(dzres_vs_eta[counter]);
960  fsyt_dz.getFittedSigmaWithError(h_dzrmsh[counter]);
961  fsyt_dz.getFittedMeanWithError(h_dzmeanh[counter]);
962  FitSlicesYTool fsyt_dzPt(dzres_vs_pt[counter]);
963  fsyt_dzPt.getFittedSigmaWithError(h_dzrmshPt[counter]);
964  fsyt_dzPt.getFittedMeanWithError(h_dzmeanhPt[counter]);
965  FitSlicesYTool fsyt_phi(phires_vs_eta[counter]);
966  fsyt_phi.getFittedSigmaWithError(h_phirmsh[counter]);
967  fsyt_phi.getFittedMeanWithError(h_phimeanh[counter]);
968  FitSlicesYTool fsyt_phiPt(phires_vs_pt[counter]);
969  fsyt_phiPt.getFittedSigmaWithError(h_phirmshPt[counter]);
970  fsyt_phiPt.getFittedMeanWithError(h_phimeanhPt[counter]);
971  FitSlicesYTool fsyt_phiPhi(phires_vs_phi[counter]);
972  fsyt_phiPhi.getFittedSigmaWithError(h_phirmshPhi[counter]);
973  fsyt_phiPhi.getFittedMeanWithError(h_phimeanhPhi[counter]);
974  FitSlicesYTool fsyt_cotTheta(cotThetares_vs_eta[counter]);
975  fsyt_cotTheta.getFittedSigmaWithError(h_cotThetarmsh[counter]);
976  fsyt_cotTheta.getFittedMeanWithError(h_cotThetameanh[counter]);
977  FitSlicesYTool fsyt_cotThetaPt(cotThetares_vs_pt[counter]);
978  fsyt_cotThetaPt.getFittedSigmaWithError(h_cotThetarmshPt[counter]);
979  fsyt_cotThetaPt.getFittedMeanWithError(h_cotThetameanhPt[counter]);
980 
981  //pulls of track params vs eta: get sigma from 2D histos
982  FitSlicesYTool fsyt_dxyp(dxypull_vs_eta[counter]);
983  fsyt_dxyp.getFittedSigmaWithError(h_dxypulleta[counter]);
984  fsyt_dxyp.getFittedMeanWithError(h_dxypulletamean[counter]);
985  FitSlicesYTool fsyt_ptp(ptpull_vs_eta[counter]);
986  fsyt_ptp.getFittedSigmaWithError(h_ptpulleta[counter]);
987  fsyt_ptp.getFittedMeanWithError(h_ptpulletamean[counter]);
988  FitSlicesYTool fsyt_dzp(dzpull_vs_eta[counter]);
989  fsyt_dzp.getFittedSigmaWithError(h_dzpulleta[counter]);
990  fsyt_dzp.getFittedMeanWithError(h_dzpulletamean[counter]);
991  FitSlicesYTool fsyt_phip(phipull_vs_eta[counter]);
992  fsyt_phip.getFittedSigmaWithError(h_phipulleta[counter]);
993  fsyt_phip.getFittedMeanWithError(h_phipulletamean[counter]);
994  FitSlicesYTool fsyt_thetap(thetapull_vs_eta[counter]);
995  fsyt_thetap.getFittedSigmaWithError(h_thetapulleta[counter]);
996  fsyt_thetap.getFittedMeanWithError(h_thetapulletamean[counter]);
997  //vs phi
998  FitSlicesYTool fsyt_ptpPhi(ptpull_vs_phi[counter]);
999  fsyt_ptpPhi.getFittedSigmaWithError(h_ptpullphi[counter]);
1000  fsyt_ptpPhi.getFittedMeanWithError(h_ptpullphimean[counter]);
1001  FitSlicesYTool fsyt_phipPhi(phipull_vs_phi[counter]);
1002  fsyt_phipPhi.getFittedSigmaWithError(h_phipullphi[counter]);
1003  fsyt_phipPhi.getFittedMeanWithError(h_phipullphimean[counter]);
1004  FitSlicesYTool fsyt_thetapPhi(thetapull_vs_phi[counter]);
1005  fsyt_thetapPhi.getFittedSigmaWithError(h_thetapullphi[counter]);
1006  fsyt_thetapPhi.getFittedMeanWithError(h_thetapullphimean[counter]);
1007 
1008  //effic&fake;
1009  fillPlotFromPlots(h_effic[counter],h_assoceta[counter]->getTH1(),h_simuleta[counter]->getTH1(),"effic");
1010  fillPlotFromPlots(h_fakerate[counter],h_assoc2eta[counter]->getTH1(),h_recoeta[counter]->getTH1(),"fakerate");
1011  fillPlotFromPlots(h_looprate[counter],h_loopereta[counter]->getTH1(),h_recoeta[counter]->getTH1(),"effic");
1012  fillPlotFromPlots(h_misidrate[counter],h_misideta[counter]->getTH1(),h_recoeta[counter]->getTH1(),"effic");
1013  fillPlotFromPlots(h_efficPt[counter],h_assocpT[counter]->getTH1(),h_simulpT[counter]->getTH1(),"effic");
1014  fillPlotFromPlots(h_fakeratePt[counter],h_assoc2pT[counter]->getTH1(),h_recopT[counter]->getTH1(),"fakerate");
1015  fillPlotFromPlots(h_loopratepT[counter],h_looperpT[counter]->getTH1(),h_recopT[counter]->getTH1(),"effic");
1016  fillPlotFromPlots(h_misidratepT[counter],h_misidpT[counter]->getTH1(),h_recopT[counter]->getTH1(),"effic");
1017  fillPlotFromPlots(h_effic_vs_hit[counter],h_assochit[counter]->getTH1(),h_simulhit[counter]->getTH1(),"effic");
1018  fillPlotFromPlots(h_fake_vs_hit[counter],h_assoc2hit[counter]->getTH1(),h_recohit[counter]->getTH1(),"fakerate");
1019  fillPlotFromPlots(h_loopratehit[counter],h_looperhit[counter]->getTH1(),h_recohit[counter]->getTH1(),"effic");
1020  fillPlotFromPlots(h_misidratehit[counter],h_misidhit[counter]->getTH1(),h_recohit[counter]->getTH1(),"effic");
1021  fillPlotFromPlots(h_effic_vs_pu[counter],h_assocpu[counter]->getTH1(),h_simulpu[counter]->getTH1(),"effic");
1022  fillPlotFromPlots(h_fake_vs_pu[counter],h_assoc2pu[counter]->getTH1(),h_recopu[counter]->getTH1(),"fakerate");
1023  fillPlotFromPlots(h_loopratepu[counter],h_looperpu[counter]->getTH1(),h_recopu[counter]->getTH1(),"effic");
1024  fillPlotFromPlots(h_misidratepu[counter],h_misidpu[counter]->getTH1(),h_recopu[counter]->getTH1(),"effic");
1025  fillPlotFromPlots(h_effic_vs_phi[counter],h_assocphi[counter]->getTH1(),h_simulphi[counter]->getTH1(),"effic");
1026  fillPlotFromPlots(h_fake_vs_phi[counter],h_assoc2phi[counter]->getTH1(),h_recophi[counter]->getTH1(),"fakerate");
1027  fillPlotFromPlots(h_loopratephi[counter],h_looperphi[counter]->getTH1(),h_recophi[counter]->getTH1(),"effic");
1028  fillPlotFromPlots(h_misidratephi[counter],h_misidphi[counter]->getTH1(),h_recophi[counter]->getTH1(),"effic");
1029  fillPlotFromPlots(h_effic_vs_dxy[counter],h_assocdxy[counter]->getTH1(),h_simuldxy[counter]->getTH1(),"effic");
1030  fillPlotFromPlots(h_fake_vs_dxy[counter],h_assoc2dxy[counter]->getTH1(),h_recodxy[counter]->getTH1(),"fakerate");
1031  fillPlotFromPlots(h_loopratedxy[counter],h_looperdxy[counter]->getTH1(),h_recodxy[counter]->getTH1(),"effic");
1032  fillPlotFromPlots(h_misidratedxy[counter],h_misiddxy[counter]->getTH1(),h_recodxy[counter]->getTH1(),"effic");
1033  fillPlotFromPlots(h_effic_vs_dz[counter],h_assocdz[counter]->getTH1(),h_simuldz[counter]->getTH1(),"effic");
1034  fillPlotFromPlots(h_fake_vs_dz[counter],h_assoc2dz[counter]->getTH1(),h_recodz[counter]->getTH1(),"fakerate");
1035  fillPlotFromPlots(h_loopratedz[counter],h_looperdz[counter]->getTH1(),h_recodz[counter]->getTH1(),"effic");
1036  fillPlotFromPlots(h_misidratedz[counter],h_misiddz[counter]->getTH1(),h_recodz[counter]->getTH1(),"effic");
1037  fillPlotFromPlots(h_effic_vs_vertpos[counter],h_assocvertpos[counter]->getTH1(),h_simulvertpos[counter]->getTH1(),"effic");
1038  fillPlotFromPlots(h_effic_vs_zpos[counter],h_assoczpos[counter]->getTH1(),h_simulzpos[counter]->getTH1(),"effic");
1039  fillPlotFromPlots(h_effic_vs_dr[counter],h_assocdr[counter]->getTH1(),h_simuldr[counter]->getTH1(),"effic");
1040  fillPlotFromPlots(h_fakerate_vs_dr[counter],h_assoc2dr[counter]->getTH1(),h_recodr[counter]->getTH1(),"fakerate");
1041 }
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_loopratephi
std::vector< MonitorElement * > h_assoc2hit
std::vector< MonitorElement * > h_misidratepu
std::vector< MonitorElement * > h_dzpulletamean
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_efficPt
std::vector< MonitorElement * > h_loopratedxy
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > ptpull_vs_phi
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_fake_vs_hit
std::vector< MonitorElement * > h_dzmeanh
std::vector< MonitorElement * > h_misidratephi
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_ptshifteta
std::vector< MonitorElement * > h_fake_vs_dz
std::vector< MonitorElement * > h_effic_vs_vertpos
std::vector< MonitorElement * > h_fake_vs_dxy
std::vector< MonitorElement * > phipull_vs_phi
std::vector< MonitorElement * > h_thetapullphi
std::vector< MonitorElement * > h_ptrmshPt
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_dxypulletamean
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > phires_vs_eta
std::vector< MonitorElement * > h_phipullphi
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_fakeratePt
std::vector< MonitorElement * > h_dxyrmsh
std::vector< MonitorElement * > h_dzrmshPt
std::vector< MonitorElement * > h_looperdxy
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_misidratepT
std::vector< MonitorElement * > h_ptpulleta
std::vector< MonitorElement * > h_thetapullphimean
std::vector< MonitorElement * > h_cotThetameanhPt
std::vector< MonitorElement * > h_fakerate_vs_dr
std::vector< MonitorElement * > h_phimeanhPhi
std::vector< MonitorElement * > h_misidratedz
std::vector< MonitorElement * > h_assoc2dz
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_cotThetarmsh
std::vector< MonitorElement * > phires_vs_phi
std::vector< MonitorElement * > dzres_vs_eta
std::vector< MonitorElement * > h_ptmeanhPhi
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > h_phimeanh
std::vector< MonitorElement * > h_recohit
std::vector< MonitorElement * > h_thetapulleta
std::vector< MonitorElement * > h_phipullphimean
std::vector< MonitorElement * > phires_vs_pt
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_dxyrmshPt
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_fake_vs_phi
std::vector< MonitorElement * > h_ptpulletamean
std::vector< MonitorElement * > h_simuldr
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > h_recophi
std::vector< MonitorElement * > h_misidratehit
std::vector< MonitorElement * > h_assocpT
std::vector< MonitorElement * > h_ptpullphimean
std::vector< MonitorElement * > h_effic
std::vector< MonitorElement * > h_ptmeanhPt
std::vector< MonitorElement * > h_phirmsh
std::vector< MonitorElement * > h_phirmshPt
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopratehit
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > dzpull_vs_eta
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_misiddxy
std::vector< MonitorElement * > h_fakerate
std::vector< MonitorElement * > h_ptpullphi
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > dxyres_vs_eta
std::vector< MonitorElement * > h_effic_vs_phi
std::vector< MonitorElement * > h_ptrmsh
std::vector< MonitorElement * > h_dxymeanhPt
std::vector< MonitorElement * > h_dzpulleta
std::vector< MonitorElement * > h_recopu
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_dxypulleta
std::vector< MonitorElement * > h_effic_vs_dz
std::vector< MonitorElement * > h_phirmshPhi
std::vector< MonitorElement * > h_loopratepu
std::vector< MonitorElement * > h_effic_vs_dr
std::vector< MonitorElement * > h_phimeanhPt
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_effic_vs_zpos
std::vector< MonitorElement * > h_simulphi
void fillPlotFromPlots(MonitorElement *h, TH1 *numerator, TH1 *denominator, std::string type)
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 * > h_cotThetameanh
std::vector< MonitorElement * > h_dzrmsh
static std::atomic< unsigned int > counter
std::vector< MonitorElement * > h_effic_vs_dxy
std::vector< MonitorElement * > phipull_vs_eta
std::vector< MonitorElement * > h_misidrate
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_dzmeanhPt
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > h_fake_vs_pu
std::vector< MonitorElement * > h_loopratedz
std::vector< MonitorElement * > h_cotThetarmshPt
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > ptres_vs_pt
std::vector< MonitorElement * > h_phipulleta
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_looprate
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > h_dxymeanh
std::vector< MonitorElement * > h_ptrmshPhi
std::vector< MonitorElement * > h_effic_vs_hit
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_loopratepT
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< MonitorElement * > h_phipulletamean
std::vector< MonitorElement * > h_effic_vs_pu
std::vector< MonitorElement * > dxyres_vs_pt
std::vector< MonitorElement * > h_misidratedxy
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_thetapulletamean
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > dzres_vs_pt
double MTVHistoProducerAlgoForTracker::getEta ( double  eta)
privatevirtual
double MTVHistoProducerAlgoForTracker::getPt ( double  pt)
privatevirtual
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 895 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().

897  {
898  pt = track.pt();
899  ptError = track.ptError();
900  qoverp = track.qoverp();
901  qoverpError = track.qoverpError();
902  lambda = track.lambda();
903  lambdaError = track.lambdaError();
904  phi = track.phi();
905  phiError = track.phiError();
906  // cout <<"test1" << endl;
907 
908 
909 
910 }
double qoverp() const
q / p
Definition: TrackBase.h:621
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:693
double pt() const
track transverse momentum
Definition: TrackBase.h:669
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:811
double phiError() const
error on phi
Definition: TrackBase.h:838
double lambda() const
Lambda angle.
Definition: TrackBase.h:633
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:805
double lambdaError() const
error on lambda
Definition: TrackBase.h:826
Definition: DDAxes.h:10
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 913 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().

915  {
916 
917  pt = gsfTrack.ptMode();
918  ptError = gsfTrack.ptModeError();
919  qoverp = gsfTrack.qoverpMode();
920  qoverpError = gsfTrack.qoverpModeError();
921  lambda = gsfTrack.lambdaMode();
922  lambdaError = gsfTrack.lambdaModeError();
923  phi = gsfTrack.phiMode();
924  phiError = gsfTrack.phiModeError();
925  // cout <<"test2" << endl;
926 
927 }
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
Definition: DDAxes.h:10
void MTVHistoProducerAlgoForTracker::initialize ( )
inlinevirtual

Implements MTVHistoProducerAlgo.

Definition at line 32 of file MTVHistoProducerAlgoForTracker.h.

32 {};

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
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::generalGpSelector
private
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::generalTpSelector
private
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsEta
private
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPhi
private
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPt
private
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXR
private
GenParticleCustomSelector* MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXZ
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_algo
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_itpu_eta
private

Definition at line 165 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 165 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 166 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 166 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 167 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 167 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 165 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2hit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdz
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 219 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 219 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assochit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocphi
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
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_bunchxSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_charge
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_chi2mean_vs_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_chi2meanh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_chi2meanhitsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_con_eta
private

Definition at line 170 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 170 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 170 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_cotThetameanh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_cotThetameanhPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_cotThetarmsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_cotThetarmshPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_CSChits_eta
private

Definition at line 199 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 175 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 176 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 177 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 178 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 179 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 180 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_dedx_recoTrack_histos().

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

Definition at line 199 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxymeanh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxymeanhPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxypulleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxypulletamean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxyrmsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dxyrmshPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzmeanh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzmeanhPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzpulleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzpulletamean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzrmsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_dzrmshPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_PU_eta
private

Definition at line 169 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 169 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 169 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_dr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_dxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_dz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_hit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_vertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_effic_vs_zpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_efficPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_etaSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fake_vs_dxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fake_vs_dz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fake_vs_hit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fake_vs_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fake_vs_pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakerate
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakerate_vs_dr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakeratePt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakes
private

Definition at line 153 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_hits
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_hits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_hits_phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_LayersWithMeas_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperdz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopereta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looperpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_looprate
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratedxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratedz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratehit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratephi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratepT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_loopratepu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_losthits
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_losthits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misiddz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misideta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidpT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidpu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidrate
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratedxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratedz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratehit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratephi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratepT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_misidratepu
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_phimeanh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phimeanhPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phimeanhPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phipulleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phipulletamean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phipullphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phipullphimean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phirmsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phirmshPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_phirmshPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptmeanh
private

Definition at line 236 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptmeanhPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptmeanhPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptpulleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptpulletamean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptpullphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptpullphimean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptrmsh
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptrmshPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptrmshPt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_ptshifteta
private
std::vector<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_PXBhits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_PXFhits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_PXLlayersWithMeas_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_ootpu_eta
private

Definition at line 168 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 168 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recodz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recoeta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recohit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recophi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recopT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_recopu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_RPChits_eta
private

Definition at line 199 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuldz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simuleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulhit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_simulphi
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_STRIPlayersWith1dMeas_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_STRIPlayersWith2dMeas_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_STRIPlayersWithMeas_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_TEChits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_thetapulleta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_thetapulletamean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_thetapullphi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_thetapullphimean
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_TIBhits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_TIDhits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_TOBhits_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_tracks
private

Definition at line 153 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

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

Definition at line 150 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSimHistos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_vertposSIM
private
double MTVHistoProducerAlgoForTracker::maxDeDx
private
double MTVHistoProducerAlgoForTracker::maxdr
private
double MTVHistoProducerAlgoForTracker::maxDxy
private
double MTVHistoProducerAlgoForTracker::maxDz
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::maxVertcount
private

Definition at line 139 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

double MTVHistoProducerAlgoForTracker::maxVertpos
private
double MTVHistoProducerAlgoForTracker::maxZpos
private
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::minVertcount
private

Definition at line 139 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::nintDeDx
private
int MTVHistoProducerAlgoForTracker::nintdr
private
int MTVHistoProducerAlgoForTracker::nintDxy
private
int MTVHistoProducerAlgoForTracker::nintDz
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::nintVertcount
private

Definition at line 139 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 183 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
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
private
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
private
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
private
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
private
TrackingParticleSelector* MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
private
bool MTVHistoProducerAlgoForTracker::useFabsEta
private

Definition at line 127 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getEta(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useInvPt
private

Definition at line 128 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getPt(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useLogPt
private