CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
MTVHistoProducerAlgoForTracker Class Reference

#include <MTVHistoProducerAlgoForTracker.h>

Public Member Functions

void bookMVAHistos (DQMStore::IBooker &ibook, size_t nMVAs)
 
void bookRecodEdxHistos (DQMStore::IBooker &ibook)
 
void bookRecoHistos (DQMStore::IBooker &ibook, bool doResolutionPlots)
 
void bookRecoPVAssociationHistos (DQMStore::IBooker &ibook)
 
void bookSeedHistos (DQMStore::IBooker &ibook)
 
void bookSimHistos (DQMStore::IBooker &ibook)
 
void bookSimTrackHistos (DQMStore::IBooker &ibook, bool doResolutionPlots)
 
void bookSimTrackPVAssociationHistos (DQMStore::IBooker &ibook)
 
void fill_dedx_recoTrack_histos (int count, const edm::RefToBase< reco::Track > &trackref, const std::vector< const edm::ValueMap< reco::DeDxData > * > &v_dEdx)
 
void fill_duplicate_histos (int count, const reco::Track &track1, const reco::Track &track2)
 
void fill_generic_recoTrack_histos (int count, const reco::Track &track, const TrackerTopology &ttopo, const math::XYZPoint &bsPosition, const math::XYZPoint *pvPosition, const TrackingVertex::LorentzVector *simPVPosition, bool isMatched, bool isSigMatched, bool isChargeMatched, int numAssocRecoTracks, int numVertices, int nSimHits, double sharedFraction, double dR, const std::vector< float > &mvas, unsigned int selectsLoose, unsigned int selectsHP)
 
void fill_generic_simTrack_histos (const TrackingParticle::Vector &, const TrackingParticle::Point &vertex, int bx)
 
void fill_recoAssociated_simTrack_histos (int count, const TrackingParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, double dxyPV, double dzPV, int nSimHits, int nSimLayers, int nSimPixelLayers, int nSimStripMonoAndStereoLayers, const reco::Track *track, int numVertices, double dR, const math::XYZPoint *pvPosition, const TrackingVertex::LorentzVector *simPVPosition, const math::XYZPoint &bsPosition, const std::vector< float > &mvas, unsigned int selectsLoose, unsigned int selectsHP)
 
void fill_recoAssociated_simTrack_histos (int count, const reco::GenParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, int nSimHits, const reco::Track *track, int numVertices)
 
void fill_ResoAndPull_recoTrack_histos (int count, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, int chargeTP, const reco::Track &track, const math::XYZPoint &bsPosition)
 
void fill_seed_histos (int count, int seedsFitFailed, int seedsTotal)
 
void fill_simAssociated_recoTrack_histos (int count, const reco::Track &track)
 
void fill_simTrackBased_histos (int numSimTracks)
 
void fill_trackBased_histos (int count, int assTracks, int numRecoTracks, int numRecoTracksSelected, int numSimTracksSelected)
 
void init (const edm::Event &event, const edm::EventSetup &setup)
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, const bool doSeedPlots, edm::ConsumesCollector &&iC)
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, const bool doSeedPlots, edm::ConsumesCollector &iC)
 
 ~MTVHistoProducerAlgoForTracker ()
 

Static Public Member Functions

static std::unique_ptr< RecoTrackSelectorBasemakeRecoTrackSelectorFromTPSelectorParameters (const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, edm::ConsumesCollector &iC)
 
static std::unique_ptr< RecoTrackSelectorBasemakeRecoTrackSelectorFromTPSelectorParameters (const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, edm::ConsumesCollector &&iC)
 

Private Types

using SeedingLayerId = std::tuple< SeedingLayerSetsBuilder::SeedingLayerId, bool >
 
using SeedingLayerSetId = std::array< SeedingLayerId, 4 >
 

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...
 
unsigned int getSeedingLayerSetBin (const reco::Track &track, const TrackerTopology &ttopo)
 

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
 
const bool doSeedPlots_
 
double dxyDzZoom
 
std::vector< MonitorElement * > dxypull_vs_eta
 
int dxyRes_nbin
 
double dxyRes_rangeMax
 
double dxyRes_rangeMin
 
std::vector< MonitorElement * > dxyres_vs_eta
 
std::vector< MonitorElement * > dxyres_vs_pt
 
std::vector< MonitorElement * > dzpull_vs_eta
 
int dzRes_nbin
 
double dzRes_rangeMax
 
double dzRes_rangeMin
 
std::vector< MonitorElement * > dzres_vs_eta
 
std::vector< MonitorElement * > dzres_vs_pt
 
std::vector< MonitorElement * > etares_vs_eta
 
std::unique_ptr< GenParticleCustomSelectorgeneralGpSelector
 
std::unique_ptr< TrackingParticleSelectorgeneralTpSelector
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsEta
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsPhi
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsPt
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXR
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXZ
 
std::vector< MonitorElement * > h_algo
 
std::vector< MonitorElement * > h_assoc23Dlayer
 
std::vector< MonitorElement * > h_assoc2_dzpvcut
 
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
 
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
 
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_assoc2_itpu_eta
 
std::vector< MonitorElement * > h_assoc2_itpu_sig_eta
 
std::vector< MonitorElement * > h_assoc2_itpu_sig_vertcount
 
std::vector< MonitorElement * > h_assoc2_itpu_vertcount
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_hp
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta_hp
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt_hp
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut
 
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut_hp
 
std::vector< MonitorElement * > h_assoc2_ootpu_eta
 
std::vector< MonitorElement * > h_assoc2_ootpu_vertcount
 
std::vector< MonitorElement * > h_assoc2_seedingLayerSet
 
std::vector< MonitorElement * > h_assoc2_simpvz
 
std::vector< MonitorElement * > h_assoc2chi2
 
std::vector< MonitorElement * > h_assoc2dr
 
std::vector< MonitorElement * > h_assoc2dxy
 
std::vector< MonitorElement * > h_assoc2dxypv
 
std::vector< MonitorElement * > h_assoc2dxypvzoomed
 
std::vector< MonitorElement * > h_assoc2dz
 
std::vector< MonitorElement * > h_assoc2dzpv
 
std::vector< MonitorElement * > h_assoc2dzpvzoomed
 
std::vector< MonitorElement * > h_assoc2eta
 
std::vector< MonitorElement * > h_assoc2eta_sig
 
std::vector< MonitorElement * > h_assoc2hit
 
std::vector< MonitorElement * > h_assoc2layer
 
std::vector< MonitorElement * > h_assoc2phi
 
std::vector< MonitorElement * > h_assoc2pixellayer
 
std::vector< MonitorElement * > h_assoc2pT
 
std::vector< MonitorElement * > h_assoc2pu
 
std::vector< MonitorElement * > h_assoc2vertpos
 
std::vector< MonitorElement * > h_assoc2zpos
 
std::vector< MonitorElement * > h_assoc3Dlayer
 
std::vector< MonitorElement * > h_assoc_dzpvcut
 
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
 
std::vector< MonitorElement * > h_assoc_dzpvsigcut
 
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
 
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut
 
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut_hp
 
std::vector< MonitorElement * > h_assoc_simpvz
 
std::vector< MonitorElement * > h_assocdr
 
std::vector< MonitorElement * > h_assocdxy
 
std::vector< MonitorElement * > h_assocdxypv
 
std::vector< MonitorElement * > h_assocdxypvzoomed
 
std::vector< MonitorElement * > h_assocdz
 
std::vector< MonitorElement * > h_assocdzpv
 
std::vector< MonitorElement * > h_assocdzpvzoomed
 
std::vector< MonitorElement * > h_assoceta
 
std::vector< MonitorElement * > h_assocFraction
 
std::vector< MonitorElement * > h_assochi2
 
std::vector< MonitorElement * > h_assochi2_prob
 
std::vector< MonitorElement * > h_assochit
 
std::vector< MonitorElement * > h_assoclayer
 
std::vector< MonitorElement * > h_assocphi
 
std::vector< MonitorElement * > h_assocpixellayer
 
std::vector< MonitorElement * > h_assocpT
 
std::vector< MonitorElement * > h_assocpu
 
std::vector< MonitorElement * > h_assocSharedHit
 
std::vector< MonitorElement * > h_assocvertpos
 
std::vector< MonitorElement * > h_assoczpos
 
MonitorElementh_bunchxSIM
 
std::vector< MonitorElement * > h_charge
 
std::vector< MonitorElement * > h_con_eta
 
std::vector< MonitorElement * > h_con_vertcount
 
std::vector< MonitorElement * > h_con_zpos
 
std::vector< std::vector< MonitorElement * > > h_dedx_estim
 
std::vector< std::vector< MonitorElement * > > h_dedx_nom
 
std::vector< std::vector< MonitorElement * > > h_dedx_sat
 
std::vector< MonitorElement * > h_duplicates_oriAlgo_vs_oriAlgo
 
std::vector< MonitorElement * > h_eta
 
MonitorElementh_etaSIM
 
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta
 
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta_hp
 
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt
 
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt_hp
 
std::vector< MonitorElement * > h_fakes
 
std::vector< MonitorElement * > h_hits
 
std::vector< MonitorElement * > h_looper3Dlayer
 
std::vector< MonitorElement * > h_looper_seedingLayerSet
 
std::vector< MonitorElement * > h_looper_simpvz
 
std::vector< MonitorElement * > h_looperchi2
 
std::vector< MonitorElement * > h_looperdr
 
std::vector< MonitorElement * > h_looperdxy
 
std::vector< MonitorElement * > h_looperdxypv
 
std::vector< MonitorElement * > h_looperdxypvzoomed
 
std::vector< MonitorElement * > h_looperdz
 
std::vector< MonitorElement * > h_looperdzpv
 
std::vector< MonitorElement * > h_looperdzpvzoomed
 
std::vector< MonitorElement * > h_loopereta
 
std::vector< MonitorElement * > h_looperhit
 
std::vector< MonitorElement * > h_looperlayer
 
std::vector< MonitorElement * > h_looperphi
 
std::vector< MonitorElement * > h_looperpixellayer
 
std::vector< MonitorElement * > h_looperpT
 
std::vector< MonitorElement * > h_looperpu
 
std::vector< MonitorElement * > h_loopervertpos
 
std::vector< MonitorElement * > h_looperzpos
 
std::vector< MonitorElement * > h_losthits
 
std::vector< MonitorElement * > h_misid3Dlayer
 
std::vector< MonitorElement * > h_misidchi2
 
std::vector< MonitorElement * > h_misiddxy
 
std::vector< MonitorElement * > h_misiddxypv
 
std::vector< MonitorElement * > h_misiddxypvzoomed
 
std::vector< MonitorElement * > h_misiddz
 
std::vector< MonitorElement * > h_misiddzpv
 
std::vector< MonitorElement * > h_misiddzpvzoomed
 
std::vector< MonitorElement * > h_misideta
 
std::vector< MonitorElement * > h_misidhit
 
std::vector< MonitorElement * > h_misidlayer
 
std::vector< MonitorElement * > h_misidphi
 
std::vector< MonitorElement * > h_misidpixellayer
 
std::vector< MonitorElement * > h_misidpT
 
std::vector< MonitorElement * > h_misidpu
 
std::vector< MonitorElement * > h_nchi2
 
std::vector< MonitorElement * > h_nchi2_prob
 
std::vector< MonitorElement * > h_nmisslayers_inner
 
std::vector< MonitorElement * > h_nmisslayers_outer
 
std::vector< MonitorElement * > h_pileup3Dlayer
 
std::vector< MonitorElement * > h_pileup_dzpvcut
 
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
 
std::vector< MonitorElement * > h_pileup_dzpvsigcut
 
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_pileup_seedingLayerSet
 
std::vector< MonitorElement * > h_pileup_simpvz
 
std::vector< MonitorElement * > h_pileupchi2
 
std::vector< MonitorElement * > h_pileupdr
 
std::vector< MonitorElement * > h_pileupdxy
 
std::vector< MonitorElement * > h_pileupdxypv
 
std::vector< MonitorElement * > h_pileupdxypvzoomed
 
std::vector< MonitorElement * > h_pileupdz
 
std::vector< MonitorElement * > h_pileupdzpv
 
std::vector< MonitorElement * > h_pileupdzpvzoomed
 
std::vector< MonitorElement * > h_pileupeta
 
std::vector< MonitorElement * > h_pileuphit
 
std::vector< MonitorElement * > h_pileuplayer
 
std::vector< MonitorElement * > h_pileupphi
 
std::vector< MonitorElement * > h_pileuppixellayer
 
std::vector< MonitorElement * > h_pileuppT
 
std::vector< MonitorElement * > h_pileuppu
 
std::vector< MonitorElement * > h_pileupvertpos
 
std::vector< MonitorElement * > h_pileupzpos
 
std::vector< MonitorElement * > h_pt
 
std::vector< MonitorElement * > h_ptshifteta
 
MonitorElementh_ptSIM
 
std::vector< MonitorElement * > h_pullDxy
 
std::vector< MonitorElement * > h_pullDz
 
std::vector< MonitorElement * > h_pullPhi
 
std::vector< MonitorElement * > h_pullQoverp
 
std::vector< MonitorElement * > h_pullTheta
 
std::vector< MonitorElement * > h_reco2eta
 
std::vector< MonitorElement * > h_reco2pT
 
std::vector< MonitorElement * > h_reco2pu
 
std::vector< MonitorElement * > h_reco3Dlayer
 
std::vector< MonitorElement * > h_reco_dzpvcut
 
std::vector< MonitorElement * > h_reco_dzpvcut_pt
 
std::vector< MonitorElement * > h_reco_dzpvsigcut
 
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
 
std::vector< std::vector< MonitorElement * > > h_reco_mva
 
std::vector< std::vector< MonitorElement * > > h_reco_mva_hp
 
std::vector< std::vector< MonitorElement * > > h_reco_mvacut
 
std::vector< std::vector< MonitorElement * > > h_reco_mvacut_hp
 
std::vector< MonitorElement * > h_reco_ootpu_eta
 
std::vector< MonitorElement * > h_reco_ootpu_vertcount
 
std::vector< MonitorElement * > h_reco_seedingLayerSet
 
std::vector< MonitorElement * > h_reco_simpvz
 
std::vector< MonitorElement * > h_recochi2
 
std::vector< MonitorElement * > h_recodr
 
std::vector< MonitorElement * > h_recodxy
 
std::vector< MonitorElement * > h_recodxypv
 
std::vector< MonitorElement * > h_recodxypvzoomed
 
std::vector< MonitorElement * > h_recodz
 
std::vector< MonitorElement * > h_recodzpv
 
std::vector< MonitorElement * > h_recodzpvzoomed
 
std::vector< MonitorElement * > h_recoeta
 
std::vector< MonitorElement * > h_recohit
 
std::vector< MonitorElement * > h_recolayer
 
std::vector< MonitorElement * > h_recophi
 
std::vector< MonitorElement * > h_recopixellayer
 
std::vector< MonitorElement * > h_recopT
 
std::vector< MonitorElement * > h_recopu
 
std::vector< MonitorElement * > h_recovertpos
 
std::vector< MonitorElement * > h_recozpos
 
std::vector< MonitorElement * > h_seedsFitFailed
 
std::vector< MonitorElement * > h_seedsFitFailedFraction
 
std::vector< MonitorElement * > h_simul2_dzpvcut
 
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
 
std::vector< MonitorElement * > h_simul2_dzpvsigcut
 
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
 
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut
 
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut_hp
 
std::vector< MonitorElement * > h_simul3Dlayer
 
std::vector< MonitorElement * > h_simul_dzpvcut
 
std::vector< MonitorElement * > h_simul_dzpvcut_pt
 
std::vector< MonitorElement * > h_simul_dzpvsigcut
 
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
 
std::vector< MonitorElement * > h_simul_simpvz
 
std::vector< MonitorElement * > h_simuldr
 
std::vector< MonitorElement * > h_simuldxy
 
std::vector< MonitorElement * > h_simuldxypv
 
std::vector< MonitorElement * > h_simuldxypvzoomed
 
std::vector< MonitorElement * > h_simuldz
 
std::vector< MonitorElement * > h_simuldzpv
 
std::vector< MonitorElement * > h_simuldzpvzoomed
 
std::vector< MonitorElement * > h_simuleta
 
std::vector< MonitorElement * > h_simulhit
 
std::vector< MonitorElement * > h_simullayer
 
std::vector< MonitorElement * > h_simulphi
 
std::vector< MonitorElement * > h_simulpixellayer
 
std::vector< MonitorElement * > h_simulpT
 
std::vector< MonitorElement * > h_simulpu
 
std::vector< MonitorElement * > h_simulvertpos
 
std::vector< MonitorElement * > h_simulzpos
 
std::vector< MonitorElement * > h_tracks
 
MonitorElementh_tracksSIM
 
MonitorElementh_vertposSIM
 
double maxChi2
 
double maxDeDx
 
double maxdr
 
double maxDxy
 
double maxDz
 
double maxDzpvCum
 
double maxDzpvsigCum
 
double maxEta
 
double maxHit
 
double maxLayers
 
double maxMVA
 
double maxPhi
 
double maxPt
 
double maxPu
 
double maxPVz
 
double maxTracks
 
double maxVertcount
 
double maxVertpos
 
double maxZpos
 
double minChi2
 
double minDeDx
 
double mindr
 
double minDxy
 
double minDz
 
double minEta
 
double minHit
 
double minLayers
 
double minMVA
 
double minPhi
 
double minPt
 
double minPu
 
double minPVz
 
double minTracks
 
double minVertcount
 
double minVertpos
 
double minZpos
 
std::vector< MonitorElement * > nhits_vs_eta
 
std::vector< MonitorElement * > nhits_vs_phi
 
int nintChi2
 
int nintDeDx
 
int nintdr
 
int nintDxy
 
int nintDz
 
int nintDzpvCum
 
int nintDzpvsigCum
 
int nintEta
 
int nintHit
 
int nintLayers
 
int nintMVA
 
int nintPhi
 
int nintPt
 
int nintPu
 
int nintPVz
 
int nintTracks
 
int nintVertcount
 
int nintVertpos
 
int nintZpos
 
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
 
std::vector< MonitorElement * > nlosthits_vs_eta
 
std::vector< MonitorElement * > nPXBhits_vs_eta
 
std::vector< MonitorElement * > nPXFhits_vs_eta
 
std::vector< MonitorElement * > nPXLhits_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 * > nSTRIPhits_vs_eta
 
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< std::string > seedingLayerSetNames
 
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
 
std::vector< MonitorElement * > thetapull_vs_eta
 
std::vector< MonitorElement * > thetapull_vs_phi
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsEta
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsPhi
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsPt
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsVTXR
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsVTXZ
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsEta
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsPhi
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsPt
 
bool useFabsEta
 
bool useInvPt
 
bool useLogPt
 
bool useLogVertpos
 

Detailed Description

Definition at line 32 of file MTVHistoProducerAlgoForTracker.h.

Member Typedef Documentation

Definition at line 190 of file MTVHistoProducerAlgoForTracker.h.

Definition at line 191 of file MTVHistoProducerAlgoForTracker.h.

Constructor & Destructor Documentation

MTVHistoProducerAlgoForTracker::MTVHistoProducerAlgoForTracker ( const edm::ParameterSet pset,
const edm::InputTag beamSpotTag,
const bool  doSeedPlots,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 34 of file MTVHistoProducerAlgoForTracker.h.

References AlignmentProducer_cff::beamSpotTag, MultiTrackValidator_cfi::doSeedPlots, and muonDTDigis_cfi::pset.

34  :
35  MTVHistoProducerAlgoForTracker(pset, beamSpotTag, doSeedPlots, iC) {}
MTVHistoProducerAlgoForTracker(const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, const bool doSeedPlots, edm::ConsumesCollector &&iC)
MTVHistoProducerAlgoForTracker::MTVHistoProducerAlgoForTracker ( const edm::ParameterSet pset,
const edm::InputTag beamSpotTag,
const bool  doSeedPlots,
edm::ConsumesCollector iC 
)

Definition at line 95 of file MTVHistoProducerAlgoForTracker.cc.

References cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, dxyDzZoom, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, Exception, generalGpSelector, generalTpSelector, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, mps_fire::i, GeomDetEnumerators::isTrackerStrip(), SeedingLayerSetsBuilder::layerNamesInSets(), reco::modules::make(), makeRecoTrackSelectorFromTPSelectorParameters(), maxChi2, maxDeDx, maxdr, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, maxEta, maxHit, maxLayers, maxMVA, maxPhi, maxPt, maxPu, maxPVz, maxTracks, maxVertcount, maxVertpos, maxZpos, minDeDx, mindr, minDxy, minDz, minEta, minHit, minLayers, minMVA, minPhi, minPt, minPu, minPVz, minTracks, minVertcount, minVertpos, minZpos, dataset::name, SeedingLayerSetsBuilder::nameToEnumId(), nintChi2, nintDeDx, nintdr, nintDxy, nintDz, nintDzpvCum, nintDzpvsigCum, nintEta, nintHit, nintLayers, nintMVA, nintPhi, nintPt, nintPu, nintPVz, nintTracks, nintVertcount, nintVertpos, nintZpos, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, seedingLayerSetNames, seedingLayerSetToBin, triggerObjects_cff::sel, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, trackSelectorVsEta, trackSelectorVsPhi, trackSelectorVsPt, useFabsEta, useInvPt, useLogPt, useLogVertpos, and relativeConstraints::value.

95  :
97  h_ptSIM(nullptr), h_etaSIM(nullptr), h_tracksSIM(nullptr), h_vertposSIM(nullptr), h_bunchxSIM(nullptr)
98 {
99  //parameters for _vs_eta plots
100  minEta = pset.getParameter<double>("minEta");
101  maxEta = pset.getParameter<double>("maxEta");
102  nintEta = pset.getParameter<int>("nintEta");
103  useFabsEta = pset.getParameter<bool>("useFabsEta");
104 
105  //parameters for _vs_pt plots
106  minPt = pset.getParameter<double>("minPt");
107  maxPt = pset.getParameter<double>("maxPt");
108  nintPt = pset.getParameter<int>("nintPt");
109  useInvPt = pset.getParameter<bool>("useInvPt");
110  useLogPt = pset.getUntrackedParameter<bool>("useLogPt",false);
111 
112  //parameters for _vs_Hit plots
113  minHit = pset.getParameter<double>("minHit");
114  maxHit = pset.getParameter<double>("maxHit");
115  nintHit = pset.getParameter<int>("nintHit");
116 
117  //parameters for _vs_Pu plots
118  minPu = pset.getParameter<double>("minPu");
119  maxPu = pset.getParameter<double>("maxPu");
120  nintPu = pset.getParameter<int>("nintPu");
121 
122  //parameters for _vs_Layer plots
123  minLayers = pset.getParameter<double>("minLayers");
124  maxLayers = pset.getParameter<double>("maxLayers");
125  nintLayers = pset.getParameter<int>("nintLayers");
126 
127  //parameters for _vs_phi plots
128  minPhi = pset.getParameter<double>("minPhi");
129  maxPhi = pset.getParameter<double>("maxPhi");
130  nintPhi = pset.getParameter<int>("nintPhi");
131 
132  //parameters for _vs_Dxy plots
133  minDxy = pset.getParameter<double>("minDxy");
134  maxDxy = pset.getParameter<double>("maxDxy");
135  nintDxy = pset.getParameter<int>("nintDxy");
136 
137  //parameters for _vs_Dz plots
138  minDz = pset.getParameter<double>("minDz");
139  maxDz = pset.getParameter<double>("maxDz");
140  nintDz = pset.getParameter<int>("nintDz");
141 
142  dxyDzZoom = pset.getParameter<double>("dxyDzZoom");
143 
144  //parameters for _vs_ProductionVertexTransvPosition plots
145  minVertpos = pset.getParameter<double>("minVertpos");
146  maxVertpos = pset.getParameter<double>("maxVertpos");
147  nintVertpos = pset.getParameter<int>("nintVertpos");
148  useLogVertpos = pset.getUntrackedParameter<bool>("useLogVertpos");
149 
150  //parameters for _vs_ProductionVertexZPosition plots
151  minZpos = pset.getParameter<double>("minZpos");
152  maxZpos = pset.getParameter<double>("maxZpos");
153  nintZpos = pset.getParameter<int>("nintZpos");
154 
155  //parameters for _vs_dR plots
156  mindr = pset.getParameter<double>("mindr");
157  maxdr = pset.getParameter<double>("maxdr");
158  nintdr = pset.getParameter<int>("nintdr");
159 
160  // paramers for _vs_chi2 plots
161  minChi2 = pset.getParameter<double>("minChi2");
162  maxChi2 = pset.getParameter<double>("maxChi2");
163  nintChi2 = pset.getParameter<int>("nintChi2");
164 
165  //parameters for dE/dx plots
166  minDeDx = pset.getParameter<double>("minDeDx");
167  maxDeDx = pset.getParameter<double>("maxDeDx");
168  nintDeDx = pset.getParameter<int>("nintDeDx");
169 
170  //parameters for Pileup plots
171  minVertcount = pset.getParameter<double>("minVertcount");
172  maxVertcount = pset.getParameter<double>("maxVertcount");
173  nintVertcount = pset.getParameter<int>("nintVertcount");
174 
175  //parameters for number of tracks plots
176  minTracks = pset.getParameter<double>("minTracks");
177  maxTracks = pset.getParameter<double>("maxTracks");
178  nintTracks = pset.getParameter<int>("nintTracks");
179 
180  //parameters for vs. PV z plots
181  minPVz = pset.getParameter<double>("minPVz");
182  maxPVz = pset.getParameter<double>("maxPVz");
183  nintPVz = pset.getParameter<int>("nintPVz");
184 
185  //parameters for vs. MVA plots
186  minMVA = pset.getParameter<double>("minMVA");
187  maxMVA = pset.getParameter<double>("maxMVA");
188  nintMVA = pset.getParameter<int>("nintMVA");
189 
190  //parameters for resolution plots
191  ptRes_rangeMin = pset.getParameter<double>("ptRes_rangeMin");
192  ptRes_rangeMax = pset.getParameter<double>("ptRes_rangeMax");
193  ptRes_nbin = pset.getParameter<int>("ptRes_nbin");
194 
195  phiRes_rangeMin = pset.getParameter<double>("phiRes_rangeMin");
196  phiRes_rangeMax = pset.getParameter<double>("phiRes_rangeMax");
197  phiRes_nbin = pset.getParameter<int>("phiRes_nbin");
198 
199  cotThetaRes_rangeMin = pset.getParameter<double>("cotThetaRes_rangeMin");
200  cotThetaRes_rangeMax = pset.getParameter<double>("cotThetaRes_rangeMax");
201  cotThetaRes_nbin = pset.getParameter<int>("cotThetaRes_nbin");
202 
203  dxyRes_rangeMin = pset.getParameter<double>("dxyRes_rangeMin");
204  dxyRes_rangeMax = pset.getParameter<double>("dxyRes_rangeMax");
205  dxyRes_nbin = pset.getParameter<int>("dxyRes_nbin");
206 
207  dzRes_rangeMin = pset.getParameter<double>("dzRes_rangeMin");
208  dzRes_rangeMax = pset.getParameter<double>("dzRes_rangeMax");
209  dzRes_nbin = pset.getParameter<int>("dzRes_nbin");
210 
211 
212  maxDzpvCum = pset.getParameter<double>("maxDzpvCumulative");
213  nintDzpvCum = pset.getParameter<int>("nintDzpvCumulative");
214 
215  maxDzpvsigCum = pset.getParameter<double>("maxDzpvsigCumulative");
216  nintDzpvsigCum = pset.getParameter<int>("nintDzpvsigCumulative");
217 
218  //--- tracking particle selectors for efficiency measurements
219  using namespace edm;
220  using namespace reco::modules;
221  auto initTPselector = [&](auto& sel, auto& name) {
222  sel = std::make_unique<TrackingParticleSelector>(ParameterAdapter<TrackingParticleSelector>::make(pset.getParameter<ParameterSet>(name), iC));
223  };
224  auto initTrackSelector = [&](auto& sel, auto& name) {
226  };
227  auto initGPselector = [&](auto& sel, auto& name) {
228  sel = std::make_unique<GenParticleCustomSelector>(ParameterAdapter<GenParticleCustomSelector>::make(pset.getParameter<ParameterSet>(name), iC));
229  };
230 
231  initTPselector(generalTpSelector, "generalTpSelector");
232  initTPselector(TpSelectorForEfficiencyVsEta, "TpSelectorForEfficiencyVsEta");
233  initTPselector(TpSelectorForEfficiencyVsPhi, "TpSelectorForEfficiencyVsPhi");
234  initTPselector(TpSelectorForEfficiencyVsPt, "TpSelectorForEfficiencyVsPt");
235  initTPselector(TpSelectorForEfficiencyVsVTXR, "TpSelectorForEfficiencyVsVTXR");
236  initTPselector(TpSelectorForEfficiencyVsVTXZ, "TpSelectorForEfficiencyVsVTXZ");
237 
238  initTrackSelector(trackSelectorVsEta, "TpSelectorForEfficiencyVsEta");
239  initTrackSelector(trackSelectorVsPhi, "TpSelectorForEfficiencyVsPhi");
240  initTrackSelector(trackSelectorVsPt, "TpSelectorForEfficiencyVsPt");
241 
242  initGPselector(generalGpSelector, "generalGpSelector");
243  initGPselector(GpSelectorForEfficiencyVsEta, "GpSelectorForEfficiencyVsEta");
244  initGPselector(GpSelectorForEfficiencyVsPhi, "GpSelectorForEfficiencyVsPhi");
245  initGPselector(GpSelectorForEfficiencyVsPt, "GpSelectorForEfficiencyVsPt");
246  initGPselector(GpSelectorForEfficiencyVsVTXR, "GpSelectorForEfficiencyVsVTXR");
247  initGPselector(GpSelectorForEfficiencyVsVTXZ, "GpSelectorForEfficiencyVsVTXZ");
248 
249  // SeedingLayerSets
250  // If enabled, use last bin to denote other or unknown cases
251  seedingLayerSetNames = pset.getParameter<std::vector<std::string> >("seedingLayerSets");
252  std::vector<std::pair<SeedingLayerSetId, std::string> > stripPairSets;
253  if(!seedingLayerSetNames.empty()) {
254  std::vector<std::vector<std::string>> layerSets = SeedingLayerSetsBuilder::layerNamesInSets(seedingLayerSetNames);
255  for(size_t i=0; i<layerSets.size(); ++i) {
256  const auto& layerSet = layerSets[i];
257  if(layerSet.size() > std::tuple_size<SeedingLayerSetId>::value) {
258  throw cms::Exception("Configuration") << "Got seedingLayerSet " << seedingLayerSetNames[i] << " with " << layerSet.size() << " elements, but I have a hard-coded maximum of " << std::tuple_size<SeedingLayerSetId>::value << ". Please increase the maximum in MTVHistoProducerAlgoForTracker.h";
259  }
260  SeedingLayerSetId setId;
261  for(size_t j=0; j<layerSet.size(); ++j) {
262  // SeedingLayerSetsBuilder::fillDescriptions() kind-of
263  // suggests that the 'M' prefix stands for strip mono hits
264  // (maybe it should force), so making the assumption here is
265  // (still) a bit ugly. But, this is the easiest way.
266  bool isStripMono = !layerSet[j].empty() && layerSet[j][0] == 'M';
267  setId[j] = std::make_tuple(SeedingLayerSetsBuilder::nameToEnumId(layerSet[j]), isStripMono);
268  }
269  // Account for the fact that strip triplet seeding may give pairs
270  if(layerSet.size() == 3 && isTrackerStrip(std::get<GeomDetEnumerators::SubDetector>(std::get<0>(setId[0])))) {
271  SeedingLayerSetId pairId;
272  pairId[0] = setId[0];
273  pairId[1] = setId[1];
274  stripPairSets.emplace_back(pairId, layerSet[0]+"+"+layerSet[1]);
275  }
276 
277  auto inserted = seedingLayerSetToBin.insert(std::make_pair(setId, i));
278  if(!inserted.second)
279  throw cms::Exception("Configuration") << "SeedingLayerSet " << seedingLayerSetNames[i] << " is specified twice, while the set list should be unique.";
280  }
281 
282  // Add the "strip pairs from strip triplets" if they don't otherwise exist
283  for(const auto& setIdName: stripPairSets) {
284  auto inserted = seedingLayerSetToBin.insert(std::make_pair(setIdName.first, seedingLayerSetNames.size()));
285  if(inserted.second)
286  seedingLayerSetNames.push_back(setIdName.second);
287  }
288 
289  seedingLayerSetNames.emplace_back("Other/Unknown");
290  }
291 
292  // fix for the LogScale by Ryan
293  if(useLogPt){
294  maxPt=log10(maxPt);
295  if(minPt > 0){
296  minPt=log10(minPt);
297  }
298  else{
299  edm::LogWarning("MultiTrackValidator")
300  << "minPt = "
301  << minPt << " <= 0 out of range while requesting log scale. Using minPt = 0.1.";
302  minPt=log10(0.1);
303  }
304  }
305  if(useLogVertpos) {
306  maxVertpos = std::log10(maxVertpos);
307  if(minVertpos > 0) {
308  minVertpos = std::log10(minVertpos);
309  }
310  else {
311  edm::LogWarning("MultiTrackValidator")
312  << "minVertpos = " << minVertpos << " <= 0 out of range while requesting log scale. Using minVertpos = 0.1.";
313  minVertpos = -1;
314  }
315  }
316 
317 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
S make(const edm::ParameterSet &cfg)
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPhi
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
static std::unique_ptr< RecoTrackSelectorBase > makeRecoTrackSelectorFromTPSelectorParameters(const edm::ParameterSet &pset, const edm::InputTag &beamSpotTag, edm::ConsumesCollector &iC)
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
std::unique_ptr< TrackingParticleSelector > generalTpSelector
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPt
bool isTrackerStrip(GeomDetEnumerators::SubDetector m)
static SeedingLayerId nameToEnumId(const std::string &name)
std::array< SeedingLayerId, 4 > SeedingLayerSetId
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
std::vector< std::string > seedingLayerSetNames
HLT enums.
std::unique_ptr< GenParticleCustomSelector > generalGpSelector
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsEta
static std::vector< std::vector< std::string > > layerNamesInSets(const std::vector< std::string > &namesPSet)
MTVHistoProducerAlgoForTracker::~MTVHistoProducerAlgoForTracker ( )

Definition at line 319 of file MTVHistoProducerAlgoForTracker.cc.

319 {}

Member Function Documentation

void MTVHistoProducerAlgoForTracker::bookMVAHistos ( DQMStore::IBooker ibook,
size_t  nMVAs 
)

Definition at line 821 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), h_assoc2_mva, h_assoc2_mva_hp, h_assoc2_mva_vs_eta, h_assoc2_mva_vs_eta_hp, h_assoc2_mva_vs_pt, h_assoc2_mva_vs_pt_hp, h_assoc2_mvacut, h_assoc2_mvacut_hp, h_assoc_mvacut, h_assoc_mvacut_hp, h_fake_mva_vs_eta, h_fake_mva_vs_eta_hp, h_fake_mva_vs_pt, h_fake_mva_vs_pt_hp, h_reco_mva, h_reco_mva_hp, h_reco_mvacut, h_reco_mvacut_hp, h_simul2_mvacut, h_simul2_mvacut_hp, mps_fire::i, maxEta, maxMVA, maxPt, minEta, minMVA, minPt, nintEta, nintMVA, nintPt, AlCaHLTBitMon_QueryRunRegistry::string, and useLogPt.

821  {
822  h_reco_mva.emplace_back();
823  h_assoc2_mva.emplace_back();
824 
825  h_reco_mvacut.emplace_back();
826  h_assoc_mvacut.emplace_back();
827  h_assoc2_mvacut.emplace_back();
828  h_simul2_mvacut.emplace_back();
829 
830  h_reco_mva_hp.emplace_back();
831  h_assoc2_mva_hp.emplace_back();
832 
833  h_reco_mvacut_hp.emplace_back();
834  h_assoc_mvacut_hp.emplace_back();
835  h_assoc2_mvacut_hp.emplace_back();
836  h_simul2_mvacut_hp.emplace_back();
837 
838  h_assoc2_mva_vs_pt.emplace_back();
839  h_fake_mva_vs_pt.emplace_back();
840  h_assoc2_mva_vs_pt_hp.emplace_back();
841  h_fake_mva_vs_pt_hp.emplace_back();
842  h_assoc2_mva_vs_eta.emplace_back();
843  h_fake_mva_vs_eta.emplace_back();
844  h_assoc2_mva_vs_eta_hp.emplace_back();
845  h_fake_mva_vs_eta_hp.emplace_back();
846 
847  for(size_t i=1; i <= nMVAs; ++i) {
848  auto istr = std::to_string(i);
849  std::string pfix;
850 
851  if(i==1) {
852  h_reco_mva_hp.back().push_back(nullptr);
853  h_assoc2_mva_hp.back().push_back(nullptr);
854 
855  h_reco_mvacut_hp.back().push_back(nullptr);
856  h_assoc_mvacut_hp.back().push_back(nullptr);
857  h_assoc2_mvacut_hp.back().push_back(nullptr);
858  h_simul2_mvacut_hp.back().push_back(nullptr);
859 
860  h_assoc2_mva_vs_pt_hp.back().push_back(nullptr);
861  h_fake_mva_vs_pt_hp.back().push_back(nullptr);
862  h_assoc2_mva_vs_eta_hp.back().push_back(nullptr);
863  h_fake_mva_vs_eta_hp.back().push_back(nullptr);
864  }
865  else {
866  pfix = " (not loose-selected)";
867  std::string pfix2 = " (not HP-selected)";
868 
869  h_reco_mva_hp.back().push_back(ibook.book1D("num_reco_mva"+istr+"_hp", "N of reco track after vs MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
870  h_assoc2_mva_hp.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva"+istr+"_hp", "N of associated tracks (recoToSim) vs MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
871 
872  h_reco_mvacut_hp.back().push_back(ibook.book1D("num_reco_mva"+istr+"cut"+"_hp", "N of reco track vs cut on MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
873  h_assoc_mvacut_hp.back().push_back(ibook.book1D("num_assoc(simToReco)_mva"+istr+"cut_hp", "N of associated tracks (simToReco) vs cut on MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
874  h_assoc2_mvacut_hp.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva"+istr+"cut_hp", "N of associated tracks (recoToSim) vs cut on MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
875  h_simul2_mvacut_hp.back().push_back(ibook.book1D("num_simul2_mva"+istr+"cut_hp", "N of simulated tracks (associated to any track) vs cut on MVA"+istr+pfix2, nintMVA, minMVA, maxMVA) );
876 
877  h_assoc2_mva_vs_pt_hp.back().push_back(ibook.bookProfile("mva_assoc(recoToSim)_mva"+istr+"_pT_hp", "MVA"+istr+" of associated tracks (recoToSim) vs. track p_{T}"+pfix2, nintPt, minPt, maxPt, nintMVA, minMVA, maxMVA));
878  h_fake_mva_vs_pt_hp.back().push_back(ibook.bookProfile("mva_fake_mva"+istr+"pT_hp", "MVA"+istr+" of non-associated tracks (recoToSim) vs. track p_{T}"+pfix2, nintPt, minPt, maxPt, nintMVA, minMVA, maxMVA));
879  h_assoc2_mva_vs_eta_hp.back().push_back(ibook.bookProfile("mva_assoc(recoToSim)_mva"+istr+"_eta_hp", "MVA"+istr+" of associated tracks (recoToSim) vs. track #eta"+pfix2, nintEta, minEta, maxEta, nintMVA, minMVA, maxMVA));
880  h_fake_mva_vs_eta_hp.back().push_back(ibook.bookProfile("mva_fake_mva"+istr+"eta_hp", "MVA"+istr+" of non-associated tracks (recoToSim) vs. track #eta"+pfix2, nintEta, minEta, maxEta, nintMVA, minMVA, maxMVA));
881  }
882 
883  h_reco_mva.back().push_back(ibook.book1D("num_reco_mva"+istr, "N of reco track vs MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
884  h_assoc2_mva.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva"+istr, "N of associated tracks (recoToSim) vs MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
885 
886  h_reco_mvacut.back().push_back(ibook.book1D("num_reco_mva"+istr+"cut", "N of reco track vs cut on MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
887  h_assoc_mvacut.back().push_back(ibook.book1D("num_assoc(simToReco)_mva"+istr+"cut", "N of associated tracks (simToReco) vs cut on MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
888  h_assoc2_mvacut.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva"+istr+"cut", "N of associated tracks (recoToSim) vs cut on MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
889  h_simul2_mvacut.back().push_back(ibook.book1D("num_simul2_mva"+istr+"cut", "N of simulated tracks (associated to any track) vs cut on MVA"+istr+pfix, nintMVA, minMVA, maxMVA) );
890 
891  h_assoc2_mva_vs_pt.back().push_back(ibook.bookProfile("mva_assoc(recoToSim)_mva"+istr+"_pT", "MVA"+istr+" of associated tracks (recoToSim) vs. track p_{T}"+pfix, nintPt, minPt, maxPt, nintMVA, minMVA, maxMVA));
892  h_fake_mva_vs_pt.back().push_back(ibook.bookProfile("mva_fake_mva"+istr+"_pT", "MVA"+istr+" of non-associated tracks (recoToSim) vs. track p_{T}"+pfix, nintPt, minPt, maxPt, nintMVA, minMVA, maxMVA));
893  h_assoc2_mva_vs_eta.back().push_back(ibook.bookProfile("mva_assoc(recoToSim)_mva"+istr+"_eta", "MVA"+istr+" of associated tracks (recoToSim) vs. track #eta"+pfix, nintEta, minEta, maxEta, nintMVA, minMVA, maxMVA));
894  h_fake_mva_vs_eta.back().push_back(ibook.bookProfile("mva_fake_mva"+istr+"_eta", "MVA"+istr+" of non-associated tracks (recoToSim) vs. track #eta"+pfix, nintEta, minEta, maxEta, nintMVA, minMVA, maxMVA));
895 
896  if(useLogPt){
897  BinLogX(h_assoc2_mva_vs_pt.back().back()->getTProfile());
898  BinLogX(h_fake_mva_vs_pt.back().back()->getTProfile());
899  if(i > 1) {
900  BinLogX(h_assoc2_mva_vs_pt_hp.back().back()->getTProfile());
901  BinLogX(h_fake_mva_vs_pt_hp.back().back()->getTProfile());
902  }
903  }
904  }
905 }
std::vector< std::vector< MonitorElement * > > h_reco_mvacut
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_hp
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
std::vector< std::vector< MonitorElement * > > h_assoc2_mva
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut_hp
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt
std::vector< std::vector< MonitorElement * > > h_reco_mva
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut_hp
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut_hp
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta_hp
std::vector< std::vector< MonitorElement * > > h_reco_mvacut_hp
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt_hp
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt_hp
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta_hp
std::vector< std::vector< MonitorElement * > > h_reco_mva_hp
void MTVHistoProducerAlgoForTracker::bookRecodEdxHistos ( DQMStore::IBooker ibook)

Definition at line 800 of file MTVHistoProducerAlgoForTracker.cc.

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

800  {
801  // dE/dx stuff
802  h_dedx_estim.emplace_back(std::initializer_list<MonitorElement*>{
803  ibook.book1D("h_dedx_estim1","dE/dx estimator 1",nintDeDx,minDeDx,maxDeDx),
804  ibook.book1D("h_dedx_estim2","dE/dx estimator 2",nintDeDx,minDeDx,maxDeDx)
805  });
806  h_dedx_nom.emplace_back(std::initializer_list<MonitorElement*>{
807  ibook.book1D("h_dedx_nom1","dE/dx number of measurements",nintHit,minHit,maxHit),
808  ibook.book1D("h_dedx_nom2","dE/dx number of measurements",nintHit,minHit,maxHit)
809  });
810  h_dedx_sat.emplace_back(std::initializer_list<MonitorElement*>{
811  ibook.book1D("h_dedx_sat1","dE/dx number of measurements with saturation",nintHit,minHit,maxHit),
812  ibook.book1D("h_dedx_sat2","dE/dx number of measurements with saturation",nintHit,minHit,maxHit)
813  });
814 }
std::vector< std::vector< MonitorElement * > > h_dedx_estim
std::vector< std::vector< MonitorElement * > > h_dedx_sat
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< std::vector< MonitorElement * > > h_dedx_nom
void MTVHistoProducerAlgoForTracker::bookRecoHistos ( DQMStore::IBooker ibook,
bool  doResolutionPlots 
)

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

Definition at line 471 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algoNames, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), DQMStore::IBooker::bookProfile2D(), chi2_vs_eta, chi2_vs_nhits, chi2_vs_phi, cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, cotThetares_vs_eta, cotThetares_vs_pt, doSeedPlots_, dxypull_vs_eta, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dxyres_vs_eta, dxyres_vs_pt, dzpull_vs_eta, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, dzres_vs_eta, dzres_vs_pt, etares_vs_eta, h_algo, h_assoc23Dlayer, h_assoc2_seedingLayerSet, h_assoc2_simpvz, h_assoc2chi2, h_assoc2dr, h_assoc2dxy, h_assoc2dz, h_assoc2eta, h_assoc2hit, h_assoc2layer, h_assoc2phi, h_assoc2pixellayer, h_assoc2pT, h_assoc2pu, h_assoc2vertpos, h_assoc2zpos, h_assocFraction, h_assocSharedHit, h_charge, h_eta, h_fakes, h_hits, h_looper3Dlayer, h_looper_seedingLayerSet, h_looper_simpvz, h_looperchi2, h_looperdr, h_looperdxy, h_looperdz, h_loopereta, h_looperhit, h_looperlayer, h_looperphi, h_looperpixellayer, h_looperpT, h_looperpu, h_loopervertpos, h_looperzpos, h_losthits, h_misid3Dlayer, h_misidchi2, h_misiddxy, h_misiddz, h_misideta, h_misidhit, h_misidlayer, h_misidphi, h_misidpixellayer, h_misidpT, h_misidpu, h_nchi2, h_nchi2_prob, h_nmisslayers_inner, h_nmisslayers_outer, h_pileup3Dlayer, h_pileup_seedingLayerSet, h_pileup_simpvz, h_pileupchi2, h_pileupdr, h_pileupdxy, h_pileupdz, h_pileupeta, h_pileuphit, h_pileuplayer, h_pileupphi, h_pileuppixellayer, h_pileuppT, h_pileuppu, h_pileupvertpos, h_pileupzpos, h_pt, h_pullDxy, h_pullDz, h_pullPhi, h_pullQoverp, h_pullTheta, h_reco2eta, h_reco2pT, h_reco2pu, h_reco3Dlayer, h_reco_seedingLayerSet, h_reco_simpvz, h_recochi2, h_recodr, h_recodxy, h_recodz, h_recoeta, h_recohit, h_recolayer, h_recophi, h_recopixellayer, h_recopT, h_recopu, h_recovertpos, h_recozpos, h_tracks, maxChi2, maxdr, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxPVz, maxTracks, maxVertpos, maxZpos, mindr, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minPVz, minTracks, minVertpos, minZpos, nhits_vs_eta, nhits_vs_phi, nintChi2, nintdr, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintPVz, nintTracks, nintVertpos, nintZpos, nLayersWithMeas_vs_eta, nlosthits_vs_eta, nPXBhits_vs_eta, nPXFhits_vs_eta, nPXLhits_vs_eta, nPXLlayersWithMeas_vs_eta, nrec_vs_nsim, nrecHit_vs_nsimHit_rec2sim, nSTRIPhits_vs_eta, nSTRIPlayersWith1dMeas_vs_eta, nSTRIPlayersWith2dMeas_vs_eta, nSTRIPlayersWithMeas_vs_eta, nTEChits_vs_eta, nTIBhits_vs_eta, nTIDhits_vs_eta, nTOBhits_vs_eta, nullptr, 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, seedingLayerSetNames, HcalObjRepresent::setBinLabels(), findQualityFiles::size, thetapull_vs_eta, thetapull_vs_phi, useLogPt, and useLogVertpos.

471  {
472  h_tracks.push_back( ibook.book1D("tracks","number of reconstructed tracks", nintTracks, minTracks, maxTracks) );
473  h_fakes.push_back( ibook.book1D("fakes","number of fake reco tracks", nintTracks, minTracks, maxTracks) );
474  h_charge.push_back( ibook.book1D("charge","charge",3,-1.5,1.5) );
475 
476  h_hits.push_back( ibook.book1D("hits", "number of hits per track", nintHit,minHit,maxHit ) );
477  h_losthits.push_back( ibook.book1D("losthits", "number of lost hits per track", nintHit,minHit,maxHit) );
478  h_nchi2.push_back( ibook.book1D("chi2", "normalized #chi^{2}", 200, 0, 20 ) );
479  h_nchi2_prob.push_back( ibook.book1D("chi2_prob", "normalized #chi^{2} probability",100,0,1));
480 
481  h_nmisslayers_inner.push_back( ibook.book1D("missing_inner_layers", "number of missing inner layers", nintLayers,minLayers,maxLayers ) );
482  h_nmisslayers_outer.push_back( ibook.book1D("missing_outer_layers", "number of missing outer layers", nintLayers,minLayers,maxLayers ) );
483 
484  h_algo.push_back( ibook.book1D("h_algo","Tracks by algo",reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize) ) );
485  for (size_t ibin=0; ibin<reco::TrackBase::algoSize-1; ibin++)
486  h_algo.back()->setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
487  // h_algo.setBinLabel(ibin+1,reco::TrackBase::algoNames[ibin]);
488 
490  h_recoeta.push_back( ibook.book1D("num_reco_eta","N of reco track vs eta",nintEta,minEta,maxEta) );
491  h_reco2eta.push_back( ibook.book1D("num_reco2_eta","N of selected reco track vs eta",nintEta,minEta,maxEta) );
492  h_assoc2eta.push_back( ibook.book1D("num_assoc(recoToSim)_eta","N of associated (recoToSim) tracks vs eta",nintEta,minEta,maxEta) );
493  h_loopereta.push_back( ibook.book1D("num_duplicate_eta","N of associated (recoToSim) duplicate tracks vs eta",nintEta,minEta,maxEta) );
494  if(!doSeedPlots_) h_misideta.push_back( ibook.book1D("num_chargemisid_eta","N of associated (recoToSim) charge misIDed tracks vs eta",nintEta,minEta,maxEta) );
495  h_pileupeta.push_back( ibook.book1D("num_pileup_eta","N of associated (recoToSim) pileup tracks vs eta",nintEta,minEta,maxEta) );
496  //
497  h_recopT.push_back( ibook.book1D("num_reco_pT","N of reco track vs pT",nintPt,minPt,maxPt) );
498  h_reco2pT.push_back( ibook.book1D("num_reco2_pT","N of selected reco track vs pT",nintPt,minPt,maxPt) );
499  h_assoc2pT.push_back( ibook.book1D("num_assoc(recoToSim)_pT","N of associated (recoToSim) tracks vs pT",nintPt,minPt,maxPt) );
500  h_looperpT.push_back( ibook.book1D("num_duplicate_pT","N of associated (recoToSim) duplicate tracks vs pT",nintPt,minPt,maxPt) );
501  if(!doSeedPlots_) h_misidpT.push_back( ibook.book1D("num_chargemisid_pT","N of associated (recoToSim) charge misIDed tracks vs pT",nintPt,minPt,maxPt) );
502  h_pileuppT.push_back( ibook.book1D("num_pileup_pT","N of associated (recoToSim) pileup tracks vs pT",nintPt,minPt,maxPt) );
503  //
504  h_recohit.push_back( ibook.book1D("num_reco_hit","N of reco track vs hit",nintHit,minHit,maxHit) );
505  h_assoc2hit.push_back( ibook.book1D("num_assoc(recoToSim)_hit","N of associated (recoToSim) tracks vs hit",nintHit,minHit,maxHit) );
506  h_looperhit.push_back( ibook.book1D("num_duplicate_hit","N of associated (recoToSim) duplicate tracks vs hit",nintHit,minHit,maxHit) );
507  if(!doSeedPlots_) h_misidhit.push_back( ibook.book1D("num_chargemisid_hit","N of associated (recoToSim) charge misIDed tracks vs hit",nintHit,minHit,maxHit) );
508  h_pileuphit.push_back( ibook.book1D("num_pileup_hit","N of associated (recoToSim) pileup tracks vs hit",nintHit,minHit,maxHit) );
509  //
510  h_recolayer.push_back( ibook.book1D("num_reco_layer","N of reco track vs layer",nintLayers,minLayers,maxLayers) );
511  h_assoc2layer.push_back( ibook.book1D("num_assoc(recoToSim)_layer","N of associated (recoToSim) tracks vs layer",nintLayers,minLayers,maxLayers) );
512  h_looperlayer.push_back( ibook.book1D("num_duplicate_layer","N of associated (recoToSim) duplicate tracks vs layer",nintLayers,minLayers,maxLayers) );
513  if(!doSeedPlots_) h_misidlayer.push_back( ibook.book1D("num_chargemisid_layer","N of associated (recoToSim) charge misIDed tracks vs layer",nintLayers,minLayers,maxLayers) );
514  h_pileuplayer.push_back( ibook.book1D("num_pileup_layer","N of associated (recoToSim) pileup tracks vs layer",nintLayers,minLayers,maxLayers) );
515  //
516  h_recopixellayer.push_back( ibook.book1D("num_reco_pixellayer","N of reco track vs pixellayer",nintLayers,minLayers,maxLayers) );
517  h_assoc2pixellayer.push_back( ibook.book1D("num_assoc(recoToSim)_pixellayer","N of associated (recoToSim) tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
518  h_looperpixellayer.push_back( ibook.book1D("num_duplicate_pixellayer","N of associated (recoToSim) duplicate tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
519  if(!doSeedPlots_) h_misidpixellayer.push_back( ibook.book1D("num_chargemisid_pixellayer","N of associated (recoToSim) charge misIDed tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
520  h_pileuppixellayer.push_back( ibook.book1D("num_pileup_pixellayer","N of associated (recoToSim) pileup tracks vs pixellayer",nintLayers,minLayers,maxLayers) );
521  //
522  h_reco3Dlayer.push_back( ibook.book1D("num_reco_3Dlayer","N of reco track vs 3D layer",nintLayers,minLayers,maxLayers) );
523  h_assoc23Dlayer.push_back( ibook.book1D("num_assoc(recoToSim)_3Dlayer","N of associated (recoToSim) tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
524  h_looper3Dlayer.push_back( ibook.book1D("num_duplicate_3Dlayer","N of associated (recoToSim) duplicate tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
525  if(!doSeedPlots_) h_misid3Dlayer.push_back( ibook.book1D("num_chargemisid_3Dlayer","N of associated (recoToSim) charge misIDed tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
526  h_pileup3Dlayer.push_back( ibook.book1D("num_pileup_3Dlayer","N of associated (recoToSim) pileup tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
527  //
528  h_recopu.push_back( ibook.book1D("num_reco_pu","N of reco track vs pu",nintPu,minPu,maxPu) );
529  h_reco2pu.push_back( ibook.book1D("num_reco2_pu","N of selected reco track vs pu",nintPu,minPu,maxPu) );
530  h_assoc2pu.push_back( ibook.book1D("num_assoc(recoToSim)_pu","N of associated (recoToSim) tracks vs pu",nintPu,minPu,maxPu) );
531  h_looperpu.push_back( ibook.book1D("num_duplicate_pu","N of associated (recoToSim) duplicate tracks vs pu",nintPu,minPu,maxPu) );
532  if(!doSeedPlots_) h_misidpu.push_back( ibook.book1D("num_chargemisid_pu","N of associated (recoToSim) charge misIDed tracks vs pu",nintPu,minPu,maxPu) );
533  h_pileuppu.push_back( ibook.book1D("num_pileup_pu","N of associated (recoToSim) pileup tracks vs pu",nintPu,minPu,maxPu) );
534  //
535  h_recophi.push_back( ibook.book1D("num_reco_phi","N of reco track vs phi",nintPhi,minPhi,maxPhi) );
536  h_assoc2phi.push_back( ibook.book1D("num_assoc(recoToSim)_phi","N of associated (recoToSim) tracks vs phi",nintPhi,minPhi,maxPhi) );
537  h_looperphi.push_back( ibook.book1D("num_duplicate_phi","N of associated (recoToSim) duplicate tracks vs phi",nintPhi,minPhi,maxPhi) );
538  if(!doSeedPlots_) h_misidphi.push_back( ibook.book1D("num_chargemisid_phi","N of associated (recoToSim) charge misIDed tracks vs phi",nintPhi,minPhi,maxPhi) );
539  h_pileupphi.push_back( ibook.book1D("num_pileup_phi","N of associated (recoToSim) pileup tracks vs phi",nintPhi,minPhi,maxPhi) );
540 
541  h_recodxy.push_back( ibook.book1D("num_reco_dxy","N of reco track vs dxy",nintDxy,minDxy,maxDxy) );
542  h_assoc2dxy.push_back( ibook.book1D("num_assoc(recoToSim)_dxy","N of associated (recoToSim) tracks vs dxy",nintDxy,minDxy,maxDxy) );
543  h_looperdxy.push_back( ibook.book1D("num_duplicate_dxy","N of associated (recoToSim) looper tracks vs dxy",nintDxy,minDxy,maxDxy) );
544  if(!doSeedPlots_) h_misiddxy.push_back( ibook.book1D("num_chargemisid_dxy","N of associated (recoToSim) charge misIDed tracks vs dxy",nintDxy,minDxy,maxDxy) );
545  h_pileupdxy.push_back( ibook.book1D("num_pileup_dxy","N of associated (recoToSim) pileup tracks vs dxy",nintDxy,minDxy,maxDxy) );
546 
547  h_recodz.push_back( ibook.book1D("num_reco_dz","N of reco track vs dz",nintDz,minDz,maxDz) );
548  h_assoc2dz.push_back( ibook.book1D("num_assoc(recoToSim)_dz","N of associated (recoToSim) tracks vs dz",nintDz,minDz,maxDz) );
549  h_looperdz.push_back( ibook.book1D("num_duplicate_dz","N of associated (recoToSim) looper tracks vs dz",nintDz,minDz,maxDz) );
550  if(!doSeedPlots_) h_misiddz.push_back( ibook.book1D("num_chargemisid_versus_dz","N of associated (recoToSim) charge misIDed tracks vs dz",nintDz,minDz,maxDz) );
551  h_pileupdz.push_back( ibook.book1D("num_pileup_dz","N of associated (recoToSim) pileup tracks vs dz",nintDz,minDz,maxDz) );
552 
553  h_recovertpos.push_back( ibook.book1D("num_reco_vertpos","N of reconstructed tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
554  h_assoc2vertpos.push_back( ibook.book1D("num_assoc(recoToSim)_vertpos","N of associated (recoToSim) tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
555  h_loopervertpos.push_back( ibook.book1D("num_duplicate_vertpos","N of associated (recoToSim) looper tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
556  h_pileupvertpos.push_back( ibook.book1D("num_pileup_vertpos","N of associated (recoToSim) pileup tracks vs transverse ref point position",nintVertpos,minVertpos,maxVertpos) );
557 
558  h_recozpos.push_back( ibook.book1D("num_reco_zpos","N of reconstructed tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
559  h_assoc2zpos.push_back( ibook.book1D("num_assoc(recoToSim)_zpos","N of associated (recoToSim) tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
560  h_looperzpos.push_back( ibook.book1D("num_duplicate_zpos","N of associated (recoToSim) looper tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
561  h_pileupzpos.push_back( ibook.book1D("num_pileup_zpos","N of associated (recoToSim) pileup tracks vs transverse ref point position",nintZpos,minZpos,maxZpos) );
562 
563  h_recodr.push_back( ibook.book1D("num_reco_dr","N of reconstructed tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
564  h_assoc2dr.push_back( ibook.book1D("num_assoc(recoToSim)_dr","N of associated tracks (recoToSim) vs dR",nintdr,log10(mindr),log10(maxdr)) );
565  h_looperdr.push_back( ibook.book1D("num_duplicate_dr","N of associated (recoToSim) looper tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
566  h_pileupdr.push_back( ibook.book1D("num_pileup_dr","N of associated (recoToSim) pileup tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
567  BinLogX(h_recodr.back()->getTH1F());
568  BinLogX(h_assoc2dr.back()->getTH1F());
569  BinLogX(h_looperdr.back()->getTH1F());
570  BinLogX(h_pileupdr.back()->getTH1F());
571 
572  h_reco_simpvz.push_back( ibook.book1D("num_reco_simpvz", "N of reco track vs. sim PV z", nintPVz, minPVz, maxPVz) );
573  h_assoc2_simpvz.push_back( ibook.book1D("num_assoc(recoToSim)_simpvz", "N of associated tracks (recoToSim) vs. sim PV z", nintPVz, minPVz, maxPVz) );
574  h_looper_simpvz.push_back( ibook.book1D("num_duplicate_simpvz", "N of associated (recoToSim) looper tracks vs. sim PV z", nintPVz, minPVz, maxPVz) );
575  h_pileup_simpvz.push_back( ibook.book1D("num_pileup_simpvz", "N of associated (recoToSim) pileup tracks vs. sim PV z", nintPVz, minPVz, maxPVz) );
576 
577  h_recochi2.push_back( ibook.book1D("num_reco_chi2","N of reco track vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
578  h_assoc2chi2.push_back( ibook.book1D("num_assoc(recoToSim)_chi2","N of associated (recoToSim) tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
579  h_looperchi2.push_back( ibook.book1D("num_duplicate_chi2","N of associated (recoToSim) looper tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
580  if(!doSeedPlots_) h_misidchi2.push_back( ibook.book1D("num_chargemisid_chi2","N of associated (recoToSim) charge misIDed tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
581  h_pileupchi2.push_back( ibook.book1D("num_pileup_chi2","N of associated (recoToSim) pileup tracks vs normalized #chi^{2}",nintChi2,minChi2,maxChi2) );
582 
583 
584  if(!seedingLayerSetNames.empty()) {
585  const auto size = seedingLayerSetNames.size();
586  h_reco_seedingLayerSet.push_back(ibook.book1D("num_reco_seedingLayerSet", "N of reco track vs. seedingLayerSet", size,0,size));
587  h_assoc2_seedingLayerSet.push_back(ibook.book1D("num_assoc(recoToSim)_seedingLayerSet", "N of associated track (recoToSim) tracks vs. seedingLayerSet", size,0,size));
588  h_looper_seedingLayerSet.push_back(ibook.book1D("num_duplicate_seedingLayerSet", "N of reco associated (recoToSim) looper vs. seedingLayerSet", size,0,size));
589  h_pileup_seedingLayerSet.push_back(ibook.book1D("num_pileup_seedingLayerSet", "N of reco associated (recoToSim) pileup vs. seedingLayerSet", size,0,size));
590 
595  }
596 
598 
599  auto bookResolutionPlots1D = [&](std::vector<MonitorElement*>& vec, auto&&... params) {
600  vec.push_back( doResolutionPlots ? ibook.book1D(std::forward<decltype(params)>(params)...) : nullptr );
601  };
602  auto bookResolutionPlots2D = [&](std::vector<MonitorElement*>& vec, auto&&... params) {
603  vec.push_back( doResolutionPlots ? ibook.book2D(std::forward<decltype(params)>(params)...) : nullptr );
604  };
605  auto bookResolutionPlotsProfile2D = [&](std::vector<MonitorElement*>& vec, auto&&... params) {
606  vec.push_back( doResolutionPlots ? ibook.bookProfile2D(std::forward<decltype(params)>(params)...) : nullptr );
607  };
608 
609  bookResolutionPlots1D(h_eta, "eta", "pseudorapidity residue", 1000, -0.1, 0.1);
610  bookResolutionPlots1D(h_pt, "pullPt", "pull of p_{t}", 100, -10, 10 );
611  bookResolutionPlots1D(h_pullTheta, "pullTheta","pull of #theta parameter",250,-25,25);
612  bookResolutionPlots1D(h_pullPhi, "pullPhi","pull of #phi parameter",250,-25,25);
613  bookResolutionPlots1D(h_pullDxy, "pullDxy","pull of dxy parameter",250,-25,25);
614  bookResolutionPlots1D(h_pullDz, "pullDz","pull of dz parameter",250,-25,25);
615  bookResolutionPlots1D(h_pullQoverp, "pullQoverp","pull of qoverp parameter",250,-25,25);
616 
617  /* TO BE FIXED -----------
618  if (associators[ww]=="TrackAssociatorByChi2"){
619  h_assochi2.push_back( ibook.book1D("assocChi2","track association #chi^{2}",1000000,0,100000) );
620  h_assochi2_prob.push_back(ibook.book1D("assocChi2_prob","probability of association #chi^{2}",100,0,1));
621  } else if (associators[ww]=="quickTrackAssociatorByHits"){
622  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
623  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",20,0,20));
624  }
625  */
626  h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
627  h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",41,-0.5,40.5));
628  // ----------------------
629 
630  // use the standard error of the mean as the errors in the profile
631  chi2_vs_nhits.push_back( ibook.bookProfile("chi2mean_vs_nhits","mean #chi^{2} vs nhits",nintHit,minHit,maxHit, 100,0,10, " ") );
632 
633  bookResolutionPlots2D(etares_vs_eta, "etares_vs_eta","etaresidue vs eta",nintEta,minEta,maxEta,200,-0.1,0.1);
634  bookResolutionPlots2D(nrec_vs_nsim, "nrec_vs_nsim","Number of selected reco tracks vs. number of selected sim tracks;TrackingParticles;Reco tracks", nintTracks,minTracks,maxTracks, nintTracks,minTracks,maxTracks);
635 
636  chi2_vs_eta.push_back( ibook.bookProfile("chi2mean","mean #chi^{2} vs #eta",nintEta,minEta,maxEta, 200, 0, 20, " " ));
637  chi2_vs_phi.push_back( ibook.bookProfile("chi2mean_vs_phi","mean #chi^{2} vs #phi",nintPhi,minPhi,maxPhi, 200, 0, 20, " " ) );
638 
639  nhits_vs_eta.push_back( ibook.bookProfile("hits_eta","mean hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
640  nPXBhits_vs_eta.push_back( ibook.bookProfile("PXBhits_vs_eta","mean # PXB its vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
641  nPXFhits_vs_eta.push_back( ibook.bookProfile("PXFhits_vs_eta","mean # PXF hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
642  nPXLhits_vs_eta.push_back( ibook.bookProfile("PXLhits_vs_eta","mean # PXL hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
643  nTIBhits_vs_eta.push_back( ibook.bookProfile("TIBhits_vs_eta","mean # TIB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
644  nTIDhits_vs_eta.push_back( ibook.bookProfile("TIDhits_vs_eta","mean # TID hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
645  nTOBhits_vs_eta.push_back( ibook.bookProfile("TOBhits_vs_eta","mean # TOB hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
646  nTEChits_vs_eta.push_back( ibook.bookProfile("TEChits_vs_eta","mean # TEC hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
647  nSTRIPhits_vs_eta.push_back( ibook.bookProfile("STRIPhits_vs_eta","mean # STRIP hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
648 
649  nLayersWithMeas_vs_eta.push_back( ibook.bookProfile("LayersWithMeas_eta","mean # Layers with measurement vs eta",
651  nPXLlayersWithMeas_vs_eta.push_back( ibook.bookProfile("PXLlayersWithMeas_vs_eta","mean # PXL Layers with measurement vs eta",
653  nSTRIPlayersWithMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWithMeas_vs_eta","mean # STRIP Layers with measurement vs eta",
655  nSTRIPlayersWith1dMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWith1dMeas_vs_eta","mean # STRIP Layers with 1D measurement vs eta",
657  nSTRIPlayersWith2dMeas_vs_eta.push_back( ibook.bookProfile("STRIPlayersWith2dMeas_vs_eta","mean # STRIP Layers with 2D measurement vs eta",
659 
660  nhits_vs_phi.push_back( ibook.bookProfile("hits_phi","mean # hits vs #phi",nintPhi,minPhi,maxPhi,nintHit,minHit,maxHit, " ") );
661 
662  nlosthits_vs_eta.push_back( ibook.bookProfile("losthits_vs_eta","mean # lost hits vs eta",nintEta,minEta,maxEta,nintHit,minHit,maxHit, " ") );
663 
664  //resolution of track parameters
665  // dPt/Pt cotTheta Phi TIP LIP
666  // log10(pt)<0.5 100,0.1 240,0.08 100,0.015 100,0.1000 150,0.3000
667  // 0.5<log10(pt)<1.5 100,0.1 120,0.01 100,0.003 100,0.0100 150,0.0500
668  // >1.5 100,0.3 100,0.005 100,0.0008 100,0.0060 120,0.0300
669 
670  bookResolutionPlots2D(ptres_vs_eta, "ptres_vs_eta","ptres_vs_eta",
672 
673  bookResolutionPlots2D(ptres_vs_phi, "ptres_vs_phi","p_{t} res vs #phi",
675 
676  bookResolutionPlots2D(ptres_vs_pt, "ptres_vs_pt","ptres_vs_pt",nintPt,minPt,maxPt, ptRes_nbin, ptRes_rangeMin, ptRes_rangeMax);
677 
678  bookResolutionPlots2D(cotThetares_vs_eta, "cotThetares_vs_eta","cotThetares_vs_eta",
680 
681  bookResolutionPlots2D(cotThetares_vs_pt, "cotThetares_vs_pt","cotThetares_vs_pt",
683 
684 
685  bookResolutionPlots2D(phires_vs_eta, "phires_vs_eta","phires_vs_eta",
687 
688  bookResolutionPlots2D(phires_vs_pt, "phires_vs_pt","phires_vs_pt",
690 
691  bookResolutionPlots2D(phires_vs_phi, "phires_vs_phi","#phi res vs #phi",
693 
694  bookResolutionPlots2D(dxyres_vs_eta, "dxyres_vs_eta","dxyres_vs_eta",
696 
697  bookResolutionPlots2D(dxyres_vs_pt, "dxyres_vs_pt","dxyres_vs_pt",
699 
700  bookResolutionPlots2D(dzres_vs_eta, "dzres_vs_eta","dzres_vs_eta",
702 
703  bookResolutionPlots2D(dzres_vs_pt, "dzres_vs_pt","dzres_vs_pt",nintPt,minPt,maxPt,dzRes_nbin, dzRes_rangeMin, dzRes_rangeMax);
704 
705  bookResolutionPlotsProfile2D(ptmean_vs_eta_phi, "ptmean_vs_eta_phi","mean p_{t} vs #eta and #phi",
706  nintPhi,minPhi,maxPhi,nintEta,minEta,maxEta,1000,0,1000);
707  bookResolutionPlotsProfile2D(phimean_vs_eta_phi, "phimean_vs_eta_phi","mean #phi vs #eta and #phi",
709 
710  //pulls of track params vs eta: to be used with fitslicesytool
711  bookResolutionPlots2D(dxypull_vs_eta, "dxypull_vs_eta","dxypull_vs_eta",nintEta,minEta,maxEta,100,-10,10);
712  bookResolutionPlots2D(ptpull_vs_eta, "ptpull_vs_eta","ptpull_vs_eta",nintEta,minEta,maxEta,100,-10,10);
713  bookResolutionPlots2D(dzpull_vs_eta, "dzpull_vs_eta","dzpull_vs_eta",nintEta,minEta,maxEta,100,-10,10);
714  bookResolutionPlots2D(phipull_vs_eta, "phipull_vs_eta","phipull_vs_eta",nintEta,minEta,maxEta,100,-10,10);
715  bookResolutionPlots2D(thetapull_vs_eta, "thetapull_vs_eta","thetapull_vs_eta",nintEta,minEta,maxEta,100,-10,10);
716 
717  // h_ptshiftetamean.push_back( ibook.book1D("h_ptshifteta_Mean","<#deltapT/pT>[%] vs #eta",nintEta,minEta,maxEta) );
718 
719 
720  //pulls of track params vs phi
721  bookResolutionPlots2D(ptpull_vs_phi, "ptpull_vs_phi","p_{t} pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10);
722  bookResolutionPlots2D(phipull_vs_phi, "phipull_vs_phi","#phi pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10);
723  bookResolutionPlots2D(thetapull_vs_phi, "thetapull_vs_phi","#theta pull vs #phi",nintPhi,minPhi,maxPhi,100,-10,10);
724 
725 
726  bookResolutionPlots2D(nrecHit_vs_nsimHit_rec2sim, "nrecHit_vs_nsimHit_rec2sim","nrecHit vs nsimHit (Rec2simAssoc)", nintHit,minHit,maxHit, nintHit,minHit,maxHit);
727 
728  if(useLogPt){
729  if(doResolutionPlots) {
730  BinLogX(dzres_vs_pt.back()->getTH2F());
731  BinLogX(dxyres_vs_pt.back()->getTH2F());
732  BinLogX(phires_vs_pt.back()->getTH2F());
733  BinLogX(cotThetares_vs_pt.back()->getTH2F());
734  BinLogX(ptres_vs_pt.back()->getTH2F());
735  }
736  BinLogX(h_looperpT.back()->getTH1F());
737  if(!doSeedPlots_) BinLogX(h_misidpT.back()->getTH1F());
738  BinLogX(h_recopT.back()->getTH1F());
739  BinLogX(h_reco2pT.back()->getTH1F());
740  BinLogX(h_assoc2pT.back()->getTH1F());
741  BinLogX(h_pileuppT.back()->getTH1F());
742  }
743  if(useLogVertpos) {
744  BinLogX(h_loopervertpos.back()->getTH1F());
745  BinLogX(h_recovertpos.back()->getTH1F());
746  BinLogX(h_assoc2vertpos.back()->getTH1F());
747  BinLogX(h_pileupvertpos.back()->getTH1F());
748  }
749 }
size
Write out results.
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_looperzpos
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > h_nchi2_prob
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > h_misidlayer
std::vector< MonitorElement * > ptpull_vs_phi
std::vector< MonitorElement * > h_looperchi2
std::vector< MonitorElement * > nPXFhits_vs_eta
std::vector< MonitorElement * > h_assoc2zpos
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_nmisslayers_inner
std::vector< MonitorElement * > h_looperpixellayer
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
std::vector< MonitorElement * > h_pileuphit
std::vector< MonitorElement * > h_pileupdr
std::vector< MonitorElement * > nTEChits_vs_eta
std::vector< MonitorElement * > h_hits
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
std::vector< MonitorElement * > h_pullPhi
std::vector< MonitorElement * > phipull_vs_phi
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_pileuppT
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_recovertpos
std::vector< MonitorElement * > nTIDhits_vs_eta
std::vector< MonitorElement * > phires_vs_eta
std::vector< MonitorElement * > h_pullDxy
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_nchi2
std::vector< MonitorElement * > h_assoc2_seedingLayerSet
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_pileup_seedingLayerSet
std::vector< MonitorElement * > h_reco2pu
std::vector< MonitorElement * > h_misidchi2
std::vector< MonitorElement * > h_looperdxy
std::vector< MonitorElement * > h_reco_simpvz
std::vector< MonitorElement * > h_looper3Dlayer
std::vector< MonitorElement * > h_reco3Dlayer
#define nullptr
std::vector< MonitorElement * > h_loopervertpos
std::vector< MonitorElement * > h_looperdr
std::vector< MonitorElement * > h_pileupchi2
std::vector< MonitorElement * > h_assoc2dz
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > h_looper_seedingLayerSet
std::vector< MonitorElement * > phires_vs_phi
std::vector< MonitorElement * > dzres_vs_eta
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > nlosthits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > h_recohit
std::vector< MonitorElement * > h_looperlayer
std::vector< MonitorElement * > phires_vs_pt
std::vector< MonitorElement * > h_assoc2layer
std::vector< MonitorElement * > h_assoc23Dlayer
std::vector< MonitorElement * > nPXBhits_vs_eta
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_pullQoverp
std::vector< MonitorElement * > h_assoc2chi2
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:166
std::vector< MonitorElement * > nTOBhits_vs_eta
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > etares_vs_eta
std::vector< MonitorElement * > h_pileup_simpvz
std::vector< MonitorElement * > h_recozpos
std::vector< MonitorElement * > h_recophi
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
std::vector< MonitorElement * > h_tracks
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< MonitorElement * > nhits_vs_phi
std::vector< MonitorElement * > h_assoc2pixellayer
std::vector< MonitorElement * > h_misid3Dlayer
std::vector< MonitorElement * > phimean_vs_eta_phi
std::vector< MonitorElement * > h_charge
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_assoc2_simpvz
std::vector< MonitorElement * > h_pileupvertpos
std::vector< MonitorElement * > h_pileupphi
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > h_assoc2vertpos
std::vector< MonitorElement * > dzpull_vs_eta
std::vector< MonitorElement * > h_misiddxy
std::vector< MonitorElement * > nPXLhits_vs_eta
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > h_recolayer
std::vector< MonitorElement * > dxyres_vs_eta
std::vector< MonitorElement * > nSTRIPhits_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:136
std::vector< MonitorElement * > nTIBhits_vs_eta
std::vector< MonitorElement * > h_eta
std::vector< MonitorElement * > h_pt
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_pileuppixellayer
static const std::string algoNames[]
Definition: TrackBase.h:148
std::vector< MonitorElement * > h_pullTheta
std::vector< MonitorElement * > ptmean_vs_eta_phi
std::vector< MonitorElement * > h_looperphi
std::vector< std::string > seedingLayerSetNames
std::vector< MonitorElement * > h_assoc2dr
std::vector< MonitorElement * > dxypull_vs_eta
std::vector< MonitorElement * > ptres_vs_eta
std::vector< MonitorElement * > phipull_vs_eta
std::vector< MonitorElement * > h_recopixellayer
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_pileup3Dlayer
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_pileupzpos
std::vector< MonitorElement * > h_misidpixellayer
std::vector< MonitorElement * > h_reco2eta
std::vector< MonitorElement * > h_pileuplayer
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_pileupdxy
std::vector< MonitorElement * > h_recodz
void setBinLabels(std::vector< TH2F > &depth)
std::vector< MonitorElement * > ptres_vs_pt
std::vector< MonitorElement * > h_pileupdz
std::vector< MonitorElement * > h_reco_seedingLayerSet
std::vector< MonitorElement * > h_reco2pT
std::vector< MonitorElement * > h_recochi2
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > h_pileupeta
std::vector< MonitorElement * > h_looper_simpvz
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
std::vector< MonitorElement * > dxyres_vs_pt
std::vector< MonitorElement * > h_losthits
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > dzres_vs_pt
std::vector< MonitorElement * > h_pileuppu
void MTVHistoProducerAlgoForTracker::bookRecoPVAssociationHistos ( DQMStore::IBooker ibook)

Definition at line 751 of file MTVHistoProducerAlgoForTracker.cc.

References DQMStore::IBooker::book1D(), doSeedPlots_, dxyDzZoom, h_assoc2_dzpvcut, h_assoc2_dzpvcut_pt, h_assoc2_dzpvsigcut, h_assoc2_dzpvsigcut_pt, h_assoc2dxypv, h_assoc2dxypvzoomed, h_assoc2dzpv, h_assoc2dzpvzoomed, h_looperdxypv, h_looperdxypvzoomed, h_looperdzpv, h_looperdzpvzoomed, h_misiddxypv, h_misiddxypvzoomed, h_misiddzpv, h_misiddzpvzoomed, h_pileup_dzpvcut, h_pileup_dzpvcut_pt, h_pileup_dzpvsigcut, h_pileup_dzpvsigcut_pt, h_pileupdxypv, h_pileupdxypvzoomed, h_pileupdzpv, h_pileupdzpvzoomed, h_reco_dzpvcut, h_reco_dzpvcut_pt, h_reco_dzpvsigcut, h_reco_dzpvsigcut_pt, h_recodxypv, h_recodxypvzoomed, h_recodzpv, h_recodzpvzoomed, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

751  {
752  h_recodxypv.push_back( ibook.book1D("num_reco_dxypv","N of reco track vs dxy(PV)",nintDxy,minDxy,maxDxy) );
753  h_assoc2dxypv.push_back( ibook.book1D("num_assoc(recoToSim)_dxypv","N of associated (recoToSim) tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
754  h_looperdxypv.push_back( ibook.book1D("num_duplicate_dxypv","N of associated (recoToSim) looper tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
755  if(!doSeedPlots_) h_misiddxypv.push_back( ibook.book1D("num_chargemisid_dxypv","N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
756  h_pileupdxypv.push_back( ibook.book1D("num_pileup_dxypv","N of associated (recoToSim) pileup tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
757 
758  h_recodzpv.push_back( ibook.book1D("num_reco_dzpv","N of reco track vs dz(PV)",nintDz,minDz,maxDz) );
759  h_assoc2dzpv.push_back( ibook.book1D("num_assoc(recoToSim)_dzpv","N of associated (recoToSim) tracks vs dz(PV)",nintDz,minDz,maxDz) );
760  h_looperdzpv.push_back( ibook.book1D("num_duplicate_dzpv","N of associated (recoToSim) looper tracks vs dz(PV)",nintDz,minDz,maxDz) );
761  if(!doSeedPlots_) h_misiddzpv.push_back( ibook.book1D("num_chargemisid_versus_dzpv","N of associated (recoToSim) charge misIDed tracks vs dz(PV)",nintDz,minDz,maxDz) );
762  h_pileupdzpv.push_back( ibook.book1D("num_pileup_dzpv","N of associated (recoToSim) pileup tracks vs dz(PV)",nintDz,minDz,maxDz) );
763 
764  h_recodxypvzoomed.push_back( ibook.book1D("num_reco_dxypv_zoomed","N of reco track vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
765  h_assoc2dxypvzoomed.push_back( ibook.book1D("num_assoc(recoToSim)_dxypv_zoomed","N of associated (recoToSim) tracks vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
766  h_looperdxypvzoomed.push_back( ibook.book1D("num_duplicate_dxypv_zoomed","N of associated (recoToSim) looper tracks vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
767  if(!doSeedPlots_) h_misiddxypvzoomed.push_back( ibook.book1D("num_chargemisid_dxypv_zoomed","N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
768  h_pileupdxypvzoomed.push_back( ibook.book1D("num_pileup_dxypv_zoomed","N of associated (recoToSim) pileup tracks vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
769 
770  h_recodzpvzoomed.push_back( ibook.book1D("num_reco_dzpv_zoomed","N of reco track vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
771  h_assoc2dzpvzoomed.push_back( ibook.book1D("num_assoc(recoToSim)_dzpv_zoomed","N of associated (recoToSim) tracks vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
772  h_looperdzpvzoomed.push_back( ibook.book1D("num_duplicate_dzpv_zoomed","N of associated (recoToSim) looper tracks vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
773  if(!doSeedPlots_) h_misiddzpvzoomed.push_back( ibook.book1D("num_chargemisid_versus_dzpv_zoomed","N of associated (recoToSim) charge misIDed tracks vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
774  h_pileupdzpvzoomed.push_back( ibook.book1D("num_pileup_dzpv_zoomed","N of associated (recoToSim) pileup tracks vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
775 
776  h_reco_dzpvcut.push_back( ibook.book1D("num_reco_dzpvcut","N of reco track vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
777  h_assoc2_dzpvcut.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvcut","N of associated (recoToSim) tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
778  h_pileup_dzpvcut.push_back( ibook.book1D("num_pileup_dzpvcut", "N of associated (recoToSim) pileup tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
779 
780  h_reco_dzpvcut_pt.push_back( ibook.book1D("num_reco_dzpvcut_pt","#sump_{T} of reco track vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
781  h_assoc2_dzpvcut_pt.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvcut_pt","#sump_{T} of associated (recoToSim) tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
782  h_pileup_dzpvcut_pt.push_back( ibook.book1D("num_pileup_dzpvcut_pt", "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
783  h_reco_dzpvcut_pt.back()->getTH1()->Sumw2();
784  h_assoc2_dzpvcut_pt.back()->getTH1()->Sumw2();
785  h_pileup_dzpvcut_pt.back()->getTH1()->Sumw2();
786 
787  h_reco_dzpvsigcut.push_back( ibook.book1D("num_reco_dzpvsigcut","N of reco track vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
788  h_assoc2_dzpvsigcut.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvsigcut","N of associated (recoToSim) tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
789  h_pileup_dzpvsigcut.push_back( ibook.book1D("num_pileup_dzpvsigcut","N of associated (recoToSim) pileup tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
790 
791  h_reco_dzpvsigcut_pt.push_back( ibook.book1D("num_reco_dzpvsigcut_pt","#sump_{T} of reco track vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
792  h_assoc2_dzpvsigcut_pt.push_back( ibook.book1D("num_assoc(recoToSim)_dzpvsigcut_pt","#sump_{T} of associated (recoToSim) tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
793  h_pileup_dzpvsigcut_pt.push_back( ibook.book1D("num_pileup_dzpvsigcut_pt","#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
794  h_reco_dzpvsigcut_pt.back()->getTH1()->Sumw2();
795  h_assoc2_dzpvsigcut_pt.back()->getTH1()->Sumw2();
796  h_pileup_dzpvsigcut_pt.back()->getTH1()->Sumw2();
797 
798 }
std::vector< MonitorElement * > h_pileupdxypv
std::vector< MonitorElement * > h_misiddzpvzoomed
std::vector< MonitorElement * > h_assoc2dzpvzoomed
std::vector< MonitorElement * > h_recodxypvzoomed
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
std::vector< MonitorElement * > h_assoc2_dzpvcut
std::vector< MonitorElement * > h_reco_dzpvcut
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
std::vector< MonitorElement * > h_assoc2dxypv
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
std::vector< MonitorElement * > h_reco_dzpvcut_pt
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< MonitorElement * > h_looperdxypv
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
std::vector< MonitorElement * > h_pileupdxypvzoomed
std::vector< MonitorElement * > h_looperdxypvzoomed
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
std::vector< MonitorElement * > h_pileupdzpvzoomed
std::vector< MonitorElement * > h_misiddzpv
std::vector< MonitorElement * > h_assoc2dxypvzoomed
std::vector< MonitorElement * > h_recodzpv
std::vector< MonitorElement * > h_pileup_dzpvcut
std::vector< MonitorElement * > h_looperdzpv
std::vector< MonitorElement * > h_recodxypv
std::vector< MonitorElement * > h_misiddxypvzoomed
std::vector< MonitorElement * > h_pileup_dzpvsigcut
std::vector< MonitorElement * > h_misiddxypv
std::vector< MonitorElement * > h_reco_dzpvsigcut
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
std::vector< MonitorElement * > h_pileupdzpv
std::vector< MonitorElement * > h_looperdzpvzoomed
std::vector< MonitorElement * > h_assoc2dzpv
std::vector< MonitorElement * > h_recodzpvzoomed
void MTVHistoProducerAlgoForTracker::bookSeedHistos ( DQMStore::IBooker ibook)

Definition at line 816 of file MTVHistoProducerAlgoForTracker.cc.

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

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

Definition at line 350 of file MTVHistoProducerAlgoForTracker.cc.

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

350  {
351  if(h_ptSIM != nullptr)
352  throw cms::Exception("LogicError") << "bookSimHistos() has already been called";
353 
354  h_ptSIM = ibook.book1D("ptSIM", "generated p_{t}", nintPt, minPt, maxPt);
355  h_etaSIM = ibook.book1D("etaSIM", "generated pseudorapidity", nintEta, minEta, maxEta);
356  h_tracksSIM = ibook.book1D("tracksSIM","number of simulated tracks", nintTracks, minTracks, maxTracks*10);
357  h_vertposSIM = ibook.book1D("vertposSIM","Transverse position of sim vertices", nintVertpos, minVertpos, maxVertpos);
358  h_bunchxSIM = ibook.book1D("bunchxSIM", "bunch crossing", 21, -15.5, 5.5 );
359 
360  if(useLogPt) {
361  BinLogX(h_ptSIM->getTH1F());
362  }
363 }
TH1F * getTH1F() const
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
void MTVHistoProducerAlgoForTracker::bookSimTrackHistos ( DQMStore::IBooker ibook,
bool  doResolutionPlots 
)

Definition at line 365 of file MTVHistoProducerAlgoForTracker.cc.

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

365  {
366  h_assoceta.push_back( ibook.book1D("num_assoc(simToReco)_eta","N of associated tracks (simToReco) vs eta",nintEta,minEta,maxEta) );
367  h_simuleta.push_back( ibook.book1D("num_simul_eta","N of simulated tracks vs eta",nintEta,minEta,maxEta) );
368 
369  h_assocpT.push_back( ibook.book1D("num_assoc(simToReco)_pT","N of associated tracks (simToReco) vs pT",nintPt,minPt,maxPt) );
370  h_simulpT.push_back( ibook.book1D("num_simul_pT","N of simulated tracks vs pT",nintPt,minPt,maxPt) );
371 
372  h_assochit.push_back( ibook.book1D("num_assoc(simToReco)_hit","N of associated tracks (simToReco) vs hit",nintHit,minHit,maxHit) );
373  h_simulhit.push_back( ibook.book1D("num_simul_hit","N of simulated tracks vs hit",nintHit,minHit,maxHit) );
374 
375  h_assoclayer.push_back( ibook.book1D("num_assoc(simToReco)_layer","N of associated tracks (simToReco) vs layer",nintLayers,minLayers,maxLayers) );
376  h_simullayer.push_back( ibook.book1D("num_simul_layer","N of simulated tracks vs layer",nintLayers,minLayers,maxLayers) );
377 
378  h_assocpixellayer.push_back( ibook.book1D("num_assoc(simToReco)_pixellayer","N of associated tracks (simToReco) vs pixel layer",nintLayers,minLayers,maxLayers) );
379  h_simulpixellayer.push_back( ibook.book1D("num_simul_pixellayer","N of simulated tracks vs pixel layer",nintLayers,minLayers,maxLayers) );
380 
381  h_assoc3Dlayer.push_back( ibook.book1D("num_assoc(simToReco)_3Dlayer","N of associated tracks (simToReco) vs 3D layer",nintLayers,minLayers,maxLayers) );
382  h_simul3Dlayer.push_back( ibook.book1D("num_simul_3Dlayer","N of simulated tracks vs 3D layer",nintLayers,minLayers,maxLayers) );
383 
384  h_assocpu.push_back( ibook.book1D("num_assoc(simToReco)_pu","N of associated tracks (simToReco) vs pu",nintPu,minPu,maxPu) );
385  h_simulpu.push_back( ibook.book1D("num_simul_pu","N of simulated tracks vs pu",nintPu,minPu,maxPu) );
386 
387  h_assocphi.push_back( ibook.book1D("num_assoc(simToReco)_phi","N of associated tracks (simToReco) vs phi",nintPhi,minPhi,maxPhi) );
388  h_simulphi.push_back( ibook.book1D("num_simul_phi","N of simulated tracks vs phi",nintPhi,minPhi,maxPhi) );
389 
390  h_assocdxy.push_back( ibook.book1D("num_assoc(simToReco)_dxy","N of associated tracks (simToReco) vs dxy",nintDxy,minDxy,maxDxy) );
391  h_simuldxy.push_back( ibook.book1D("num_simul_dxy","N of simulated tracks vs dxy",nintDxy,minDxy,maxDxy) );
392 
393  h_assocdz.push_back( ibook.book1D("num_assoc(simToReco)_dz","N of associated tracks (simToReco) vs dz",nintDz,minDz,maxDz) );
394  h_simuldz.push_back( ibook.book1D("num_simul_dz","N of simulated tracks vs dz",nintDz,minDz,maxDz) );
395 
396  h_assocvertpos.push_back( ibook.book1D("num_assoc(simToReco)_vertpos",
397  "N of associated tracks (simToReco) vs transverse vert position",
399  h_simulvertpos.push_back( ibook.book1D("num_simul_vertpos","N of simulated tracks vs transverse vert position",
401 
402  h_assoczpos.push_back( ibook.book1D("num_assoc(simToReco)_zpos","N of associated tracks (simToReco) vs z vert position",
404  h_simulzpos.push_back( ibook.book1D("num_simul_zpos","N of simulated tracks vs z vert position",nintZpos,minZpos,maxZpos) );
405 
406  h_assocdr.push_back( ibook.book1D("num_assoc(simToReco)_dr","N of associated tracks (simToReco) vs dR",nintdr,log10(mindr),log10(maxdr)) );
407  h_simuldr.push_back( ibook.book1D("num_simul_dr","N of simulated tracks vs dR",nintdr,log10(mindr),log10(maxdr)) );
408  BinLogX(h_assocdr.back()->getTH1F());
409  BinLogX(h_simuldr.back()->getTH1F());
410 
411  h_simul_simpvz.push_back( ibook.book1D("num_simul_simpvz", "N of simulated tracks vs. sim PV z", nintPVz, minPVz, maxPVz) );
412  h_assoc_simpvz.push_back( ibook.book1D("num_assoc(simToReco)_simpvz", "N of associated tracks (simToReco) vs. sim PV z", nintPVz, minPVz, maxPVz) );
413 
414  nrecHit_vs_nsimHit_sim2rec.push_back( doResolutionPlots ? ibook.book2D("nrecHit_vs_nsimHit_sim2rec","nrecHit vs nsimHit (Sim2RecAssoc)",
416  : nullptr);
417 
418  // TODO: use the dynamic track algo priority order also here
419  constexpr auto nalgos = reco::TrackBase::algoSize;
420  h_duplicates_oriAlgo_vs_oriAlgo.push_back( ibook.book2D("duplicates_oriAlgo_vs_oriAlgo", "Duplicate tracks: originalAlgo vs originalAlgo",
421  nalgos,0,nalgos, nalgos,0,nalgos) );
422  setBinLabelsAlgo(h_duplicates_oriAlgo_vs_oriAlgo.back(), 1);
423  setBinLabelsAlgo(h_duplicates_oriAlgo_vs_oriAlgo.back(), 2);
424 
425  if(useLogPt){
426  BinLogX(h_assocpT.back()->getTH1F());
427  BinLogX(h_simulpT.back()->getTH1F());
428  }
429  if(useLogVertpos) {
430  BinLogX(h_assocvertpos.back()->getTH1F());
431  BinLogX(h_simulvertpos.back()->getTH1F());
432  }
433 }
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc_simpvz
std::vector< MonitorElement * > h_assoc3Dlayer
#define constexpr
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_simuldr
std::vector< MonitorElement * > h_assocpT
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< MonitorElement * > h_simul_simpvz
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
std::vector< MonitorElement * > h_duplicates_oriAlgo_vs_oriAlgo
std::vector< MonitorElement * > h_simullayer
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simulpixellayer
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
std::vector< MonitorElement * > h_simulphi
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoclayer
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simul3Dlayer
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_assocpixellayer
void MTVHistoProducerAlgoForTracker::bookSimTrackPVAssociationHistos ( DQMStore::IBooker ibook)

Definition at line 435 of file MTVHistoProducerAlgoForTracker.cc.

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

435  {
436  h_assocdxypv.push_back( ibook.book1D("num_assoc(simToReco)_dxypv","N of associated tracks (simToReco) vs dxy(PV)",nintDxy,minDxy,maxDxy) );
437  h_simuldxypv.push_back( ibook.book1D("num_simul_dxypv","N of simulated tracks vs dxy(PV)",nintDxy,minDxy,maxDxy) );
438 
439  h_assocdzpv.push_back( ibook.book1D("num_assoc(simToReco)_dzpv","N of associated tracks (simToReco) vs dz(PV)",nintDz,minDz,maxDz) );
440  h_simuldzpv.push_back( ibook.book1D("num_simul_dzpv","N of simulated tracks vs dz(PV)",nintDz,minDz,maxDz) );
441 
442  h_assocdxypvzoomed.push_back( ibook.book1D("num_assoc(simToReco)_dxypv_zoomed","N of associated tracks (simToReco) vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
443  h_simuldxypvzoomed.push_back( ibook.book1D("num_simul_dxypv_zoomed","N of simulated tracks vs dxy(PV)",nintDxy,minDxy/dxyDzZoom,maxDxy/dxyDzZoom) );
444 
445  h_assocdzpvzoomed.push_back( ibook.book1D("num_assoc(simToReco)_dzpv_zoomed","N of associated tracks (simToReco) vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
446  h_simuldzpvzoomed.push_back( ibook.book1D("num_simul_dzpv_zoomed","N of simulated tracks vs dz(PV)",nintDz,minDz/dxyDzZoom,maxDz/dxyDzZoom) );
447 
448  h_assoc_dzpvcut.push_back( ibook.book1D("num_assoc(simToReco)_dzpvcut","N of associated tracks (simToReco) vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
449  h_simul_dzpvcut.push_back( ibook.book1D("num_simul_dzpvcut","N of simulated tracks from sim PV",nintDzpvCum,0,maxDzpvCum) );
450  h_simul2_dzpvcut.push_back( ibook.book1D("num_simul2_dzpvcut","N of simulated tracks (associated to any track) from sim PV",nintDzpvCum,0,maxDzpvCum) );
451 
452  h_assoc_dzpvcut_pt.push_back( ibook.book1D("num_assoc(simToReco)_dzpvcut_pt","#sump_{T} of associated tracks (simToReco) vs dz(PV)",nintDzpvCum,0,maxDzpvCum) );
453  h_simul_dzpvcut_pt.push_back( ibook.book1D("num_simul_dzpvcut_pt","#sump_{T} of simulated tracks from sim PV",nintDzpvCum,0,maxDzpvCum) );
454  h_simul2_dzpvcut_pt.push_back( ibook.book1D("num_simul2_dzpvcut_pt","#sump_{T} of simulated tracks (associated to any track) from sim PV",nintDzpvCum,0,maxDzpvCum) );
455  h_assoc_dzpvcut_pt.back()->getTH1()->Sumw2();
456  h_simul_dzpvcut_pt.back()->getTH1()->Sumw2();
457  h_simul2_dzpvcut_pt.back()->getTH1()->Sumw2();
458 
459  h_assoc_dzpvsigcut.push_back( ibook.book1D("num_assoc(simToReco)_dzpvsigcut","N of associated tracks (simToReco) vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
460  h_simul_dzpvsigcut.push_back( ibook.book1D("num_simul_dzpvsigcut","N of simulated tracks from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
461  h_simul2_dzpvsigcut.push_back( ibook.book1D("num_simul2_dzpvsigcut","N of simulated tracks (associated to any track) from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
462 
463  h_assoc_dzpvsigcut_pt.push_back( ibook.book1D("num_assoc(simToReco)_dzpvsigcut_pt","#sump_{T} of associated tracks (simToReco) vs dz(PV)/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
464  h_simul_dzpvsigcut_pt.push_back( ibook.book1D("num_simul_dzpvsigcut_pt","#sump_{T} of simulated tracks from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
465  h_simul2_dzpvsigcut_pt.push_back( ibook.book1D("num_simul2_dzpvsigcut_pt","#sump_{T} of simulated tracks (associated to any track) from sim PV/dzError",nintDzpvsigCum,0,maxDzpvsigCum) );
466  h_assoc_dzpvsigcut_pt.back()->getTH1()->Sumw2();
467  h_simul_dzpvsigcut_pt.back()->getTH1()->Sumw2();
468  h_simul2_dzpvsigcut_pt.back()->getTH1()->Sumw2();
469 }
std::vector< MonitorElement * > h_simul2_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
std::vector< MonitorElement * > h_simuldxypvzoomed
std::vector< MonitorElement * > h_simul_dzpvsigcut
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
std::vector< MonitorElement * > h_simul_dzpvcut_pt
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
std::vector< MonitorElement * > h_assocdzpv
std::vector< MonitorElement * > h_assocdxypvzoomed
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
std::vector< MonitorElement * > h_assocdzpvzoomed
std::vector< MonitorElement * > h_simuldzpv
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< MonitorElement * > h_simuldzpvzoomed
std::vector< MonitorElement * > h_simuldxypv
std::vector< MonitorElement * > h_simul_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
std::vector< MonitorElement * > h_simul2_dzpvsigcut
std::vector< MonitorElement * > h_assoc_dzpvcut
std::vector< MonitorElement * > h_assocdxypv
void MTVHistoProducerAlgoForTracker::fill_dedx_recoTrack_histos ( int  count,
const edm::RefToBase< reco::Track > &  trackref,
const std::vector< const edm::ValueMap< reco::DeDxData > * > &  v_dEdx 
)

Definition at line 1069 of file MTVHistoProducerAlgoForTracker.cc.

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

1069  {
1070  for (unsigned int i=0; i<v_dEdx.size(); i++) {
1071  const edm::ValueMap<reco::DeDxData>& dEdxTrack = *(v_dEdx[i]);
1072  const reco::DeDxData& dedx = dEdxTrack[trackref];
1073  h_dedx_estim[count][i]->Fill(dedx.dEdx());
1074  h_dedx_nom[count][i]->Fill(dedx.numberOfMeasurements());
1076  }
1077 }
std::vector< std::vector< MonitorElement * > > h_dedx_estim
float dEdx() const
Definition: DeDxData.cc:26
unsigned int numberOfMeasurements() const
Definition: DeDxData.cc:37
std::vector< std::vector< MonitorElement * > > h_dedx_sat
std::vector< std::vector< MonitorElement * > > h_dedx_nom
int numberOfSaturatedMeasurements() const
Definition: DeDxData.cc:42
void MTVHistoProducerAlgoForTracker::fill_duplicate_histos ( int  count,
const reco::Track track1,
const reco::Track track2 
)

Definition at line 1058 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), h_duplicates_oriAlgo_vs_oriAlgo, and reco::TrackBase::originalAlgo().

1060  {
1062 }
std::vector< MonitorElement * > h_duplicates_oriAlgo_vs_oriAlgo
TrackAlgorithm originalAlgo() const
Definition: TrackBase.h:501
void MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos ( int  count,
const reco::Track track,
const TrackerTopology ttopo,
const math::XYZPoint bsPosition,
const math::XYZPoint pvPosition,
const TrackingVertex::LorentzVector simPVPosition,
bool  isMatched,
bool  isSigMatched,
bool  isChargeMatched,
int  numAssocRecoTracks,
int  numVertices,
int  nSimHits,
double  sharedFraction,
double  dR,
const std::vector< float > &  mvas,
unsigned int  selectsLoose,
unsigned int  selectsHP 
)

Definition at line 1080 of file MTVHistoProducerAlgoForTracker.cc.

References funct::abs(), reco::TrackBase::algo(), vertices_cff::chi2, KineDebug3::count(), doSeedPlots_, PVValHelper::dxy, reco::TrackBase::dxy(), PVValHelper::dz, reco::TrackBase::dz(), reco::TrackBase::dzError(), PVValHelper::eta, reco::Track::found(), getEta(), getPt(), getSeedingLayerSetBin(), h_algo, h_assoc23Dlayer, h_assoc2_dzpvcut, h_assoc2_dzpvcut_pt, h_assoc2_dzpvsigcut, h_assoc2_dzpvsigcut_pt, h_assoc2_mva, h_assoc2_mva_hp, h_assoc2_mva_vs_eta, h_assoc2_mva_vs_eta_hp, h_assoc2_mva_vs_pt, h_assoc2_mva_vs_pt_hp, h_assoc2_mvacut, h_assoc2_mvacut_hp, h_assoc2_seedingLayerSet, h_assoc2_simpvz, h_assoc2chi2, h_assoc2dr, h_assoc2dxy, h_assoc2dxypv, h_assoc2dxypvzoomed, h_assoc2dz, h_assoc2dzpv, h_assoc2dzpvzoomed, h_assoc2eta, h_assoc2hit, h_assoc2layer, h_assoc2phi, h_assoc2pixellayer, h_assoc2pT, h_assoc2pu, h_assoc2vertpos, h_assoc2zpos, h_assocFraction, h_assocSharedHit, h_fake_mva_vs_eta, h_fake_mva_vs_eta_hp, h_fake_mva_vs_pt, h_fake_mva_vs_pt_hp, h_looper3Dlayer, h_looper_seedingLayerSet, h_looper_simpvz, h_looperchi2, h_looperdr, h_looperdxy, h_looperdxypv, h_looperdxypvzoomed, h_looperdz, h_looperdzpv, h_looperdzpvzoomed, h_loopereta, h_looperhit, h_looperlayer, h_looperphi, h_looperpixellayer, h_looperpT, h_looperpu, h_loopervertpos, h_looperzpos, h_misid3Dlayer, h_misidchi2, h_misiddxy, h_misiddxypv, h_misiddxypvzoomed, h_misiddz, h_misiddzpv, h_misiddzpvzoomed, h_misideta, h_misidhit, h_misidlayer, h_misidphi, h_misidpixellayer, h_misidpT, h_misidpu, h_pileup3Dlayer, h_pileup_dzpvcut, h_pileup_dzpvcut_pt, h_pileup_dzpvsigcut, h_pileup_dzpvsigcut_pt, h_pileup_seedingLayerSet, h_pileup_simpvz, h_pileupchi2, h_pileupdr, h_pileupdxy, h_pileupdxypv, h_pileupdxypvzoomed, h_pileupdz, h_pileupdzpv, h_pileupdzpvzoomed, h_pileupeta, h_pileuphit, h_pileuplayer, h_pileupphi, h_pileuppixellayer, h_pileuppT, h_pileuppu, h_pileupvertpos, h_pileupzpos, h_reco2eta, h_reco2pT, h_reco2pu, h_reco3Dlayer, h_reco_dzpvcut, h_reco_dzpvcut_pt, h_reco_dzpvsigcut, h_reco_dzpvsigcut_pt, h_reco_mva, h_reco_mva_hp, h_reco_mvacut, h_reco_mvacut_hp, h_reco_seedingLayerSet, h_reco_simpvz, h_recochi2, h_recodr, h_recodxy, h_recodxypv, h_recodxypvzoomed, h_recodz, h_recodzpv, h_recodzpvzoomed, h_recoeta, h_recohit, h_recolayer, h_recophi, h_recopixellayer, h_recopT, h_recopu, h_recovertpos, h_recozpos, reco::TrackBase::hitPattern(), SiStripPI::max, min(), reco::TrackBase::momentum(), nhits, nlayers, reco::TrackBase::normalizedChi2(), nrecHit_vs_nsimHit_rec2sim, reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), phi, reco::HitPattern::pixelLayersWithMeasurement(), EnergyCorrector::pt, reco::TrackBase::referencePoint(), seedingLayerSetNames, muonCosmicCompatibility_cfi::sharedHits, mathSSE::sqrt(), reco::HitPattern::trackerLayersWithMeasurement(), trackFromSeedFitFailed(), trackSelectorVsEta, trackSelectorVsPhi, and trackSelectorVsPt.

1095  {
1096 
1097  //Fill track algo histogram
1098  fillPlotNoFlow(h_algo[count],track.algo());
1099  int sharedHits = sharedFraction * track.numberOfValidHits();
1100 
1101  //Compute fake rate vs eta
1102  const auto eta = getEta(track.momentum().eta());
1103  const auto phi = track.momentum().phi();
1104  const auto pt = getPt(sqrt(track.momentum().perp2()));
1105  const auto dxy = track.dxy(bsPosition);
1106  const auto dz = track.dz(bsPosition);
1107  const auto dxypv = pvPosition ? track.dxy(*pvPosition) : 0.0;
1108  const auto dzpv = pvPosition ? track.dz(*pvPosition) : 0.0;
1109  const auto dzpvsig = pvPosition ? dzpv / track.dzError() : 0.0;
1110  const auto nhits = track.found();
1111  const auto nlayers = track.hitPattern().trackerLayersWithMeasurement();
1112  const auto nPixelLayers = track.hitPattern().pixelLayersWithMeasurement();
1113  const auto n3DLayers = nPixelLayers + track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
1114  const auto refPointWrtBS = track.referencePoint() - bsPosition;
1115  const auto vertxy = std::sqrt(refPointWrtBS.perp2());
1116  const auto vertz = refPointWrtBS.z();
1117  const auto deltar = min(max(dR,h_recodr[count]->getTH1()->GetXaxis()->GetXmin()),h_recodr[count]->getTH1()->GetXaxis()->GetXmax());
1118  const auto chi2 = track.normalizedChi2();
1119  const bool fillSeedingLayerSets = !seedingLayerSetNames.empty();
1120  const unsigned int seedingLayerSetBin = fillSeedingLayerSets ? getSeedingLayerSetBin(track, ttopo) : 0;
1121  const auto simpvz = simPVPosition ? simPVPosition->z() : 0.0;
1122 
1123  const bool paramsValid = !trackFromSeedFitFailed(track);
1124 
1125  if(paramsValid) {
1126  fillPlotNoFlow(h_recoeta[count], eta);
1127  fillPlotNoFlow(h_recophi[count], phi);
1128  fillPlotNoFlow(h_recopT[count], pt);
1129  fillPlotNoFlow(h_recodxy[count], dxy);
1130  fillPlotNoFlow(h_recodz[count], dz);
1131  fillPlotNoFlow(h_recochi2[count], chi2);
1132  fillPlotNoFlow(h_recovertpos[count], vertxy);
1133  fillPlotNoFlow(h_recozpos[count], vertz);
1134  h_recodr[count]->Fill(deltar);
1135  if(fillSeedingLayerSets) h_reco_seedingLayerSet[count]->Fill(seedingLayerSetBin);
1136  if(pvPosition) {
1137  fillPlotNoFlow(h_recodxypv[count], dxypv);
1138  fillPlotNoFlow(h_recodzpv[count], dzpv);
1139  fillPlotNoFlow(h_recodxypvzoomed[count], dxypv);
1140  fillPlotNoFlow(h_recodzpvzoomed[count], dzpv);
1141 
1142  h_reco_dzpvcut[count]->Fill(std::abs(dzpv));
1143  h_reco_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
1144  h_reco_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
1145  h_reco_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
1146  }
1147  if(simPVPosition) {
1148  h_reco_simpvz[count]->Fill(simpvz);
1149  }
1150  if((*trackSelectorVsEta)(track)) {
1151  fillPlotNoFlow(h_reco2eta[count], eta);
1152  }
1153  if((*trackSelectorVsPt)(track)) {
1154  fillPlotNoFlow(h_reco2pT[count], pt);
1155  }
1156  }
1157  fillPlotNoFlow(h_recohit[count], nhits);
1158  fillPlotNoFlow(h_recolayer[count], nlayers);
1159  fillPlotNoFlow(h_recopixellayer[count], nPixelLayers);
1160  fillPlotNoFlow(h_reco3Dlayer[count], n3DLayers);
1161  fillPlotNoFlow(h_recopu[count],numVertices);
1162  if((*trackSelectorVsPhi)(track)) {
1163  fillPlotNoFlow(h_reco2pu[count], numVertices);
1164  }
1165 
1166  fillMVAHistos(h_reco_mva[count], h_reco_mvacut[count], h_reco_mva_hp[count], h_reco_mvacut_hp[count], mvas, selectsLoose, selectsHP);
1167 
1168  if (isMatched) {
1169  if(paramsValid) {
1170  fillPlotNoFlow(h_assoc2eta[count], eta);
1171  fillPlotNoFlow(h_assoc2phi[count], phi);
1172  fillPlotNoFlow(h_assoc2pT[count], pt);
1173  fillPlotNoFlow(h_assoc2dxy[count], dxy);
1174  fillPlotNoFlow(h_assoc2dz[count], dz);
1175  fillPlotNoFlow(h_assoc2hit[count], nhits);
1176  fillPlotNoFlow(h_assoc2chi2[count], chi2);
1177  fillPlotNoFlow(h_assoc2vertpos[count], vertxy);
1178  fillPlotNoFlow(h_assoc2zpos[count], vertz);
1179  h_assoc2dr[count]->Fill(deltar);
1180  if(fillSeedingLayerSets) h_assoc2_seedingLayerSet[count]->Fill(seedingLayerSetBin);
1181  if(pvPosition) {
1182  fillPlotNoFlow(h_assoc2dxypv[count], dxypv);
1183  fillPlotNoFlow(h_assoc2dzpv[count], dzpv);
1184  fillPlotNoFlow(h_assoc2dxypvzoomed[count], dxypv);
1185  fillPlotNoFlow(h_assoc2dzpvzoomed[count], dzpv);
1186 
1187  h_assoc2_dzpvcut[count]->Fill(std::abs(dzpv));
1188  h_assoc2_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
1189  h_assoc2_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
1190  h_assoc2_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
1191  }
1192  if(simPVPosition) {
1193  h_assoc2_simpvz[count]->Fill(simpvz);
1194  }
1195  }
1196  fillPlotNoFlow(h_assoc2layer[count], nlayers);
1197  fillPlotNoFlow(h_assoc2pixellayer[count], nPixelLayers);
1198  fillPlotNoFlow(h_assoc23Dlayer[count], n3DLayers);
1199  fillPlotNoFlow(h_assoc2pu[count],numVertices);
1200 
1201  fillMVAHistos(h_assoc2_mva[count], h_assoc2_mvacut[count], h_assoc2_mva_hp[count], h_assoc2_mvacut_hp[count], mvas, selectsLoose, selectsHP);
1202  fillMVAHistos(pt, h_assoc2_mva_vs_pt[count], h_assoc2_mva_vs_pt_hp[count], mvas, selectsLoose, selectsHP);
1203  fillMVAHistos(eta, h_assoc2_mva_vs_eta[count], h_assoc2_mva_vs_eta_hp[count], mvas, selectsLoose, selectsHP);
1204 
1206  h_assocFraction[count]->Fill( sharedFraction);
1207  h_assocSharedHit[count]->Fill( sharedHits);
1208 
1209  if (!doSeedPlots_ && !isChargeMatched) {
1210  fillPlotNoFlow(h_misideta[count], eta);
1211  fillPlotNoFlow(h_misidphi[count], phi);
1212  fillPlotNoFlow(h_misidpT[count], pt);
1213  fillPlotNoFlow(h_misiddxy[count], dxy);
1214  fillPlotNoFlow(h_misiddz[count], dz);
1215  fillPlotNoFlow(h_misidhit[count], nhits);
1216  fillPlotNoFlow(h_misidlayer[count], nlayers);
1217  fillPlotNoFlow(h_misidpixellayer[count], nPixelLayers);
1218  fillPlotNoFlow(h_misid3Dlayer[count], n3DLayers);
1219  fillPlotNoFlow(h_misidpu[count], numVertices);
1220  fillPlotNoFlow(h_misidchi2[count], chi2);
1221  if(pvPosition) {
1222  fillPlotNoFlow(h_misiddxypv[count], dxypv);
1223  fillPlotNoFlow(h_misiddzpv[count], dzpv);
1224  fillPlotNoFlow(h_misiddxypvzoomed[count], dxypv);
1225  fillPlotNoFlow(h_misiddzpvzoomed[count], dzpv);
1226  }
1227  }
1228 
1229  if (numAssocRecoTracks>1) {
1230  if(paramsValid) {
1231  fillPlotNoFlow(h_loopereta[count], eta);
1232  fillPlotNoFlow(h_looperphi[count], phi);
1233  fillPlotNoFlow(h_looperpT[count], pt);
1234  fillPlotNoFlow(h_looperdxy[count], dxy);
1235  fillPlotNoFlow(h_looperdz[count], dz);
1236  fillPlotNoFlow(h_looperchi2[count], chi2);
1237  fillPlotNoFlow(h_loopervertpos[count], vertxy);
1238  fillPlotNoFlow(h_looperzpos[count], vertz);
1239  h_looperdr[count]->Fill(deltar);
1240  if(fillSeedingLayerSets) h_looper_seedingLayerSet[count]->Fill(seedingLayerSetBin);
1241  if(pvPosition) {
1242  fillPlotNoFlow(h_looperdxypv[count], dxypv);
1243  fillPlotNoFlow(h_looperdzpv[count], dzpv);
1244  fillPlotNoFlow(h_looperdxypvzoomed[count], dxypv);
1245  fillPlotNoFlow(h_looperdzpvzoomed[count], dzpv);
1246  }
1247  if(simPVPosition) {
1248  h_looper_simpvz[count]->Fill(simpvz);
1249  }
1250  }
1251  fillPlotNoFlow(h_looperhit[count], nhits);
1252  fillPlotNoFlow(h_looperlayer[count], nlayers);
1253  fillPlotNoFlow(h_looperpixellayer[count], nPixelLayers);
1254  fillPlotNoFlow(h_looper3Dlayer[count], n3DLayers);
1255  fillPlotNoFlow(h_looperpu[count], numVertices);
1256  }
1257  if(!isSigMatched) {
1258  if(paramsValid) {
1259  fillPlotNoFlow(h_pileupeta[count], eta);
1260  fillPlotNoFlow(h_pileupphi[count], phi);
1261  fillPlotNoFlow(h_pileuppT[count], pt);
1262  fillPlotNoFlow(h_pileupdxy[count], dxy);
1263  fillPlotNoFlow(h_pileupdz[count], dz);
1264  fillPlotNoFlow(h_pileupchi2[count], chi2);
1265  fillPlotNoFlow(h_pileupvertpos[count], vertxy);
1266  fillPlotNoFlow(h_pileupzpos[count], vertz);
1267  h_pileupdr[count]->Fill(deltar);
1268  if(fillSeedingLayerSets) h_pileup_seedingLayerSet[count]->Fill(seedingLayerSetBin);
1269  if(pvPosition) {
1270  fillPlotNoFlow(h_pileupdxypv[count], dxypv);
1271  fillPlotNoFlow(h_pileupdzpv[count], dzpv);
1272  fillPlotNoFlow(h_pileupdxypvzoomed[count], dxypv);
1273  fillPlotNoFlow(h_pileupdzpvzoomed[count], dzpv);
1274 
1275  h_pileup_dzpvcut[count]->Fill(std::abs(dzpv));
1276  h_pileup_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
1277  h_pileup_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
1278  h_pileup_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
1279  }
1280  if(simPVPosition) {
1281  h_pileup_simpvz[count]->Fill(simpvz);
1282  }
1283  }
1284  fillPlotNoFlow(h_pileuphit[count], nhits);
1285  fillPlotNoFlow(h_pileuplayer[count], nlayers);
1286  fillPlotNoFlow(h_pileuppixellayer[count], nPixelLayers);
1287  fillPlotNoFlow(h_pileup3Dlayer[count], n3DLayers);
1288  fillPlotNoFlow(h_pileuppu[count], numVertices);
1289  }
1290  }
1291  else { // !isMatched
1292  fillMVAHistos(pt, h_fake_mva_vs_pt[count], h_fake_mva_vs_pt_hp[count], mvas, selectsLoose, selectsHP);
1293  fillMVAHistos(eta, h_fake_mva_vs_eta[count], h_fake_mva_vs_eta_hp[count], mvas, selectsLoose, selectsHP);
1294  }
1295 }
std::vector< std::vector< MonitorElement * > > h_reco_mvacut
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_hp
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_assoc2hit
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:681
std::vector< MonitorElement * > h_pileupdxypv
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_looperzpos
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_misidlayer
std::vector< MonitorElement * > h_looperchi2
bool trackFromSeedFitFailed(const reco::Track &track)
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt
std::vector< MonitorElement * > h_assoc2zpos
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_looperpixellayer
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:561
std::vector< MonitorElement * > h_pileuphit
std::vector< MonitorElement * > h_pileupdr
std::vector< MonitorElement * > h_misiddzpvzoomed
std::vector< MonitorElement * > h_assoc2dzpvzoomed
std::vector< MonitorElement * > h_recodxypvzoomed
std::vector< MonitorElement * > h_pileup_dzpvsigcut_pt
std::vector< MonitorElement * > h_pileuppT
std::vector< MonitorElement * > h_algo
std::vector< MonitorElement * > h_recovertpos
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_assoc2_seedingLayerSet
std::vector< MonitorElement * > h_assoc2pu
std::vector< MonitorElement * > h_pileup_seedingLayerSet
std::vector< MonitorElement * > h_reco2pu
std::vector< MonitorElement * > h_misidchi2
std::vector< MonitorElement * > h_assoc2_dzpvcut
std::vector< MonitorElement * > h_looperdxy
std::vector< std::vector< MonitorElement * > > h_assoc2_mva
std::vector< MonitorElement * > h_reco_simpvz
std::vector< MonitorElement * > h_looper3Dlayer
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPhi
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:499
std::vector< MonitorElement * > h_reco_dzpvcut
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:675
std::vector< MonitorElement * > h_reco3Dlayer
std::vector< MonitorElement * > h_loopervertpos
std::vector< MonitorElement * > h_looperdr
std::vector< MonitorElement * > h_pileupchi2
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta
std::vector< MonitorElement * > h_assoc2dz
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:518
std::vector< MonitorElement * > h_looper_seedingLayerSet
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > h_recohit
TrackAlgorithm algo() const
Definition: TrackBase.h:497
std::vector< MonitorElement * > h_looperlayer
std::vector< MonitorElement * > h_assoc2_dzpvsigcut
std::vector< MonitorElement * > h_assoc2layer
std::vector< MonitorElement * > h_assoc23Dlayer
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:341
std::vector< MonitorElement * > h_looperpu
std::vector< MonitorElement * > h_assoc2dxypv
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_assoc2chi2
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > h_pileup_dzpvcut_pt
std::vector< MonitorElement * > h_reco_dzpvcut_pt
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > h_pileup_simpvz
std::vector< MonitorElement * > h_recozpos
std::vector< MonitorElement * > h_recophi
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPt
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< MonitorElement * > h_assoc2pixellayer
std::vector< std::vector< MonitorElement * > > h_reco_mva
std::vector< MonitorElement * > h_misid3Dlayer
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
T min(T a, T b)
Definition: MathUtil.h:58
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta
std::vector< MonitorElement * > h_looperdxypv
std::vector< MonitorElement * > h_misidpu
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_misiddz
std::vector< MonitorElement * > h_assoc2_simpvz
std::vector< MonitorElement * > h_pileupvertpos
std::vector< MonitorElement * > h_pileupphi
std::vector< MonitorElement * > h_recodr
std::vector< MonitorElement * > h_assoc2vertpos
std::vector< MonitorElement * > h_misiddxy
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:609
double dzError() const
error on dz
Definition: TrackBase.h:814
std::vector< MonitorElement * > h_recolayer
std::vector< MonitorElement * > h_assoc2_dzpvsigcut_pt
std::vector< MonitorElement * > h_pileupdxypvzoomed
std::vector< MonitorElement * > h_looperdxypvzoomed
std::vector< MonitorElement * > h_reco_dzpvsigcut_pt
std::vector< MonitorElement * > h_recopu
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_pileupdzpvzoomed
std::vector< MonitorElement * > h_misiddzpv
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
std::vector< std::vector< MonitorElement * > > h_assoc2_mvacut_hp
Definition: deltar.py:1
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_eta_hp
std::vector< MonitorElement * > h_assoc2dxypvzoomed
std::vector< std::vector< MonitorElement * > > h_reco_mvacut_hp
std::vector< MonitorElement * > h_recodzpv
std::vector< MonitorElement * > h_pileuppixellayer
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_pt_hp
std::vector< MonitorElement * > h_pileup_dzpvcut
std::vector< MonitorElement * > h_looperdzpv
std::vector< MonitorElement * > h_looperphi
std::vector< std::string > seedingLayerSetNames
std::vector< MonitorElement * > h_recodxypv
std::vector< MonitorElement * > h_assoc2dr
unsigned short found() const
Number of valid hits on track.
Definition: Track.h:194
std::vector< MonitorElement * > h_misiddxypvzoomed
std::vector< MonitorElement * > h_recopixellayer
std::vector< MonitorElement * > h_pileup_dzpvsigcut
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_pileup3Dlayer
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_pileupzpos
std::vector< MonitorElement * > h_misiddxypv
std::vector< MonitorElement * > h_misidpixellayer
std::vector< std::vector< MonitorElement * > > h_fake_mva_vs_pt_hp
std::vector< MonitorElement * > h_reco2eta
std::vector< MonitorElement * > h_pileuplayer
std::vector< MonitorElement * > h_assocFraction
std::vector< MonitorElement * > h_reco_dzpvsigcut
std::vector< MonitorElement * > h_assoc2_dzpvcut_pt
std::vector< MonitorElement * > h_pileupdxy
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > h_pileupdzpv
std::vector< std::vector< MonitorElement * > > h_assoc2_mva_vs_eta_hp
std::vector< MonitorElement * > h_pileupdz
std::vector< MonitorElement * > h_reco_seedingLayerSet
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsEta
std::vector< MonitorElement * > h_reco2pT
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:591
std::vector< MonitorElement * > h_recochi2
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > h_looperdzpvzoomed
std::vector< MonitorElement * > h_assoc2dzpv
std::vector< MonitorElement * > h_pileupeta
std::vector< std::vector< MonitorElement * > > h_reco_mva_hp
std::vector< MonitorElement * > h_looper_simpvz
std::vector< MonitorElement * > h_recodzpvzoomed
std::vector< MonitorElement * > h_recoeta
unsigned int getSeedingLayerSetBin(const reco::Track &track, const TrackerTopology &ttopo)
std::vector< MonitorElement * > h_assoc2eta
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > h_pileuppu
void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos ( const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertex,
int  bx 
)

Definition at line 907 of file MTVHistoProducerAlgoForTracker.cc.

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

909  {
910  if(bx == 0) {
911  h_ptSIM->Fill(sqrt(momentumTP.perp2()));
912  h_etaSIM->Fill(momentumTP.eta());
913  h_vertposSIM->Fill(sqrt(vertexTP.perp2()));
914  }
915  h_bunchxSIM->Fill(bx);
916 }
void Fill(long long x)
T sqrt(T t)
Definition: SSEVec.h:18
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( int  count,
const TrackingParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
double  dxyPV,
double  dzPV,
int  nSimHits,
int  nSimLayers,
int  nSimPixelLayers,
int  nSimStripMonoAndStereoLayers,
const reco::Track track,
int  numVertices,
double  dR,
const math::XYZPoint pvPosition,
const TrackingVertex::LorentzVector simPVPosition,
const math::XYZPoint bsPosition,
const std::vector< float > &  mvas,
unsigned int  selectsLoose,
unsigned int  selectsHP 
)

Definition at line 920 of file MTVHistoProducerAlgoForTracker.cc.

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

935  {
936  bool isMatched = track;
937  const auto eta = getEta(momentumTP.eta());
938  const auto phi = momentumTP.phi();
939  const auto pt = getPt(sqrt(momentumTP.perp2()));
940  const auto nSim3DLayers = nSimPixelLayers + nSimStripMonoAndStereoLayers;
941 
942  const auto vertexTPwrtBS = vertexTP - bsPosition;
943  const auto vertxy = std::sqrt(vertexTPwrtBS.perp2());
944  const auto vertz = vertexTPwrtBS.z();
945 
946  //efficiency vs. cut on MVA
947  //
948  // Note that this includes also pileup TPs, as "signalOnly"
949  // selection is applied only in the TpSelector*. Have to think if
950  // this is really what we want.
951  if(isMatched) {
952  for(size_t i=0; i<mvas.size(); ++i) {
953  if(i<=selectsLoose) {
954  h_simul2_mvacut[count][i]->Fill(maxMVA);
955  h_assoc_mvacut[count][i]->Fill(mvas[i]);
956  }
957  if(i>=1 && i<=selectsHP) {
958  h_simul2_mvacut_hp[count][i]->Fill(maxMVA);
959  h_assoc_mvacut_hp[count][i]->Fill(mvas[i]);
960  }
961  }
962  }
963 
964  if((*TpSelectorForEfficiencyVsEta)(tp)){
965  //effic vs eta
966  fillPlotNoFlow(h_simuleta[count], eta);
967  if (isMatched) fillPlotNoFlow(h_assoceta[count], eta);
968  }
969 
970  if((*TpSelectorForEfficiencyVsPhi)(tp)){
971  fillPlotNoFlow(h_simulphi[count], phi);
972  if (isMatched) fillPlotNoFlow(h_assocphi[count], phi);
973  //effic vs hits
974  fillPlotNoFlow(h_simulhit[count], nSimHits);
975  fillPlotNoFlow(h_simullayer[count], nSimLayers);
976  fillPlotNoFlow(h_simulpixellayer[count], nSimPixelLayers);
977  fillPlotNoFlow(h_simul3Dlayer[count], nSim3DLayers);
978  if(isMatched) {
979  fillPlotNoFlow(h_assochit[count], nSimHits);
980  fillPlotNoFlow(h_assoclayer[count], nSimLayers);
981  fillPlotNoFlow(h_assocpixellayer[count], nSimPixelLayers);
982  fillPlotNoFlow(h_assoc3Dlayer[count], nSim3DLayers);
984  }
985  //effic vs pu
986  fillPlotNoFlow(h_simulpu[count], numVertices);
987  if(isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
988  //efficiency vs dR
989  fillPlotNoFlow(h_simuldr[count],dR);
990  if (isMatched) fillPlotNoFlow(h_assocdr[count],dR);
991  }
992 
993  if((*TpSelectorForEfficiencyVsPt)(tp)){
994  fillPlotNoFlow(h_simulpT[count], pt);
995  if (isMatched) fillPlotNoFlow(h_assocpT[count], pt);
996  }
997 
999  fillPlotNoFlow(h_simuldxy[count],dxySim);
1000  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
1001  if(pvPosition) {
1002  fillPlotNoFlow(h_simuldxypv[count], dxyPVSim);
1003  fillPlotNoFlow(h_simuldxypvzoomed[count], dxyPVSim);
1004  if (isMatched) {
1005  fillPlotNoFlow(h_assocdxypv[count], dxyPVSim);
1006  fillPlotNoFlow(h_assocdxypvzoomed[count], dxyPVSim);
1007  }
1008  }
1009 
1010  fillPlotNoFlow(h_simulvertpos[count], vertxy);
1011  if (isMatched) fillPlotNoFlow(h_assocvertpos[count], vertxy);
1012  }
1013 
1014 
1015  if((*TpSelectorForEfficiencyVsVTXZ)(tp)){
1016  fillPlotNoFlow(h_simuldz[count],dzSim);
1017  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
1018 
1019  fillPlotNoFlow(h_simulzpos[count], vertz);
1020  if (isMatched) fillPlotNoFlow(h_assoczpos[count], vertz);
1021 
1022  if(pvPosition) {
1023  fillPlotNoFlow(h_simuldzpv[count], dzPVSim);
1024  fillPlotNoFlow(h_simuldzpvzoomed[count], dzPVSim);
1025 
1026  h_simul_dzpvcut[count]->Fill(0);
1027  h_simul_dzpvsigcut[count]->Fill(0);
1028  h_simul_dzpvcut_pt[count]->Fill(0, pt);
1029  h_simul_dzpvsigcut_pt[count]->Fill(0, pt);
1030 
1031  if(isMatched) {
1032  fillPlotNoFlow(h_assocdzpv[count], dzPVSim);
1033  fillPlotNoFlow(h_assocdzpvzoomed[count], dzPVSim);
1034 
1035  h_simul2_dzpvcut[count]->Fill(0);
1036  h_simul2_dzpvsigcut[count]->Fill(0);
1037  h_simul2_dzpvcut_pt[count]->Fill(0, pt);
1038  h_simul2_dzpvsigcut_pt[count]->Fill(0, pt);
1039  const double dzpvcut = std::abs(track->dz(*pvPosition));
1040  const double dzpvsigcut = dzpvcut / track->dzError();
1041  h_assoc_dzpvcut[count]->Fill(dzpvcut);
1042  h_assoc_dzpvsigcut[count]->Fill(dzpvsigcut);
1043  h_assoc_dzpvcut_pt[count]->Fill(dzpvcut, pt);
1044  h_assoc_dzpvsigcut_pt[count]->Fill(dzpvsigcut, pt);
1045  }
1046  }
1047  if(simPVPosition) {
1048  const auto simpvz = simPVPosition->z();
1049  h_simul_simpvz[count]->Fill(simpvz);
1050  if(isMatched) {
1051  h_assoc_simpvz[count]->Fill(simpvz);
1052  }
1053  }
1054  }
1055 
1056 }
std::vector< MonitorElement * > h_simul2_dzpvcut
std::vector< MonitorElement * > h_assochit
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
std::vector< MonitorElement * > h_assoc_dzpvsigcut_pt
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_simuldxypvzoomed
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_simul_dzpvsigcut
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_assoc_dzpvcut_pt
std::vector< MonitorElement * > h_simul_dzpvcut_pt
std::vector< MonitorElement * > h_assocdz
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc_simpvz
std::vector< MonitorElement * > h_assoc3Dlayer
std::vector< MonitorElement * > h_simul2_dzpvsigcut_pt
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut
std::vector< MonitorElement * > h_assocdzpv
std::vector< MonitorElement * > h_assocdxypvzoomed
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_simul2_dzpvcut_pt
std::vector< MonitorElement * > h_assocdzpvzoomed
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
std::vector< MonitorElement * > h_simuldzpv
std::vector< MonitorElement * > h_simuldr
std::vector< std::vector< MonitorElement * > > h_assoc_mvacut_hp
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > h_assocpT
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< MonitorElement * > h_simul_simpvz
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
std::vector< MonitorElement * > h_simuldzpvzoomed
std::vector< MonitorElement * > h_simullayer
std::vector< MonitorElement * > h_simuldz
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:609
double dzError() const
error on dz
Definition: TrackBase.h:814
std::vector< MonitorElement * > h_simulvertpos
std::vector< std::vector< MonitorElement * > > h_simul2_mvacut_hp
std::vector< MonitorElement * > h_simuldxypv
std::vector< MonitorElement * > h_simulpixellayer
std::vector< MonitorElement * > h_simul_dzpvcut
std::vector< MonitorElement * > h_assoc_dzpvsigcut
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_simul_dzpvsigcut_pt
std::vector< MonitorElement * > h_simulphi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_simul2_dzpvsigcut
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoclayer
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simul3Dlayer
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocdr
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_assocpixellayer
std::vector< MonitorElement * > h_assoc_dzpvcut
std::vector< MonitorElement * > h_assocdxypv
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( int  count,
const reco::GenParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
int  nSimHits,
const reco::Track track,
int  numVertices 
)

Definition at line 1603 of file MTVHistoProducerAlgoForTracker.cc.

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

1609  {
1610 
1611  bool isMatched = track;
1612 
1613  if((*GpSelectorForEfficiencyVsEta)(tp)){
1614  //effic vs eta
1615  fillPlotNoFlow(h_simuleta[count],getEta(momentumTP.eta()));
1616  if (isMatched) fillPlotNoFlow(h_assoceta[count],getEta(momentumTP.eta()));
1617  }
1618 
1619  if((*GpSelectorForEfficiencyVsPhi)(tp)){
1620  fillPlotNoFlow(h_simulphi[count],momentumTP.phi());
1621  if (isMatched) fillPlotNoFlow(h_assocphi[count],momentumTP.phi());
1622  //effic vs hits
1623  fillPlotNoFlow(h_simulhit[count],(int)nSimHits);
1624  if(isMatched) {
1625  fillPlotNoFlow(h_assochit[count],(int)nSimHits);
1627  }
1628  //effic vs pu
1629  fillPlotNoFlow(h_simulpu[count],numVertices);
1630  if (isMatched) fillPlotNoFlow(h_assocpu[count],numVertices);
1631  //efficiency vs dR
1632  //not implemented for now
1633  }
1634 
1635  if((*GpSelectorForEfficiencyVsPt)(tp)){
1636  fillPlotNoFlow(h_simulpT[count],getPt(sqrt(momentumTP.perp2())));
1637  if (isMatched) fillPlotNoFlow(h_assocpT[count],getPt(sqrt(momentumTP.perp2())));
1638  }
1639 
1640  if((*GpSelectorForEfficiencyVsVTXR)(tp)){
1641  fillPlotNoFlow(h_simuldxy[count],dxySim);
1642  if (isMatched) fillPlotNoFlow(h_assocdxy[count],dxySim);
1643 
1644  fillPlotNoFlow(h_simulvertpos[count],sqrt(vertexTP.perp2()));
1645  if (isMatched) fillPlotNoFlow(h_assocvertpos[count],sqrt(vertexTP.perp2()));
1646  }
1647 
1648  if((*GpSelectorForEfficiencyVsVTXZ)(tp)){
1649  fillPlotNoFlow(h_simuldz[count],dzSim);
1650  if (isMatched) fillPlotNoFlow(h_assocdz[count],dzSim);
1651 
1652  fillPlotNoFlow(h_simulzpos[count],vertexTP.z());
1653  if (isMatched) fillPlotNoFlow(h_assoczpos[count],vertexTP.z());
1654  }
1655 
1656 }
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_assoczpos
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_assocdz
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_simuleta
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
std::vector< MonitorElement * > h_assocphi
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > h_assocpu
std::vector< MonitorElement * > h_simulpu
T sqrt(T t)
Definition: SSEVec.h:18
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
std::vector< MonitorElement * > h_assocpT
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_simulphi
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_simuldxy
std::vector< MonitorElement * > h_assocvertpos
void MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos ( int  count,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
int  chargeTP,
const reco::Track track,
const math::XYZPoint bsPosition 
)

Definition at line 1354 of file MTVHistoProducerAlgoForTracker.cc.

References chi2_vs_phi, cotThetares_vs_eta, cotThetares_vs_pt, KineDebug3::count(), TrackingParticleIP::dxy(), reco::TrackBase::dxy(), reco::TrackBase::dxyError(), dxypull_vs_eta, dxyres_vs_eta, dxyres_vs_pt, TrackingParticleIP::dz(), 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, mathSSE::sqrt(), funct::tan(), reco::TrackBase::theta(), thetapull_vs_eta, thetapull_vs_phi, and trackFromSeedFitFailed().

1359  {
1360  if(trackFromSeedFitFailed(track))
1361  return;
1362 
1363  // evaluation of TP parameters
1364  double qoverpSim = chargeTP/sqrt(momentumTP.x()*momentumTP.x()+momentumTP.y()*momentumTP.y()+momentumTP.z()*momentumTP.z());
1365  double lambdaSim = M_PI/2-momentumTP.theta();
1366  double phiSim = momentumTP.phi();
1367  double dxySim = TrackingParticleIP::dxy(vertexTP, momentumTP, bsPosition);
1368  double dzSim = TrackingParticleIP::dz(vertexTP, momentumTP, bsPosition);
1369 
1370 
1371  // reco::Track::ParameterVector rParameters = track.parameters(); // UNUSED
1372 
1373  double qoverpRec(0);
1374  double qoverpErrorRec(0);
1375  double ptRec(0);
1376  double ptErrorRec(0);
1377  double lambdaRec(0);
1378  double lambdaErrorRec(0);
1379  double phiRec(0);
1380  double phiErrorRec(0);
1381 
1382  /* TO BE FIXED LATER -----------
1383  //loop to decide whether to take gsfTrack (utilisation of mode-function) or common track
1384  const GsfTrack* gsfTrack(0);
1385  if(useGsf){
1386  gsfTrack = dynamic_cast<const GsfTrack*>(&(*track));
1387  if (gsfTrack==0) edm::LogInfo("TrackValidator") << "Trying to access mode for a non-GsfTrack";
1388  }
1389 
1390  if (gsfTrack) {
1391  // get values from mode
1392  getRecoMomentum(*gsfTrack, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
1393  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
1394  }
1395 
1396  else {
1397  // get values from track (without mode)
1398  getRecoMomentum(*track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
1399  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
1400  }
1401  */
1402  getRecoMomentum(track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
1403  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
1404  // -------------
1405 
1406  double ptError = ptErrorRec;
1407  double ptres=ptRec-sqrt(momentumTP.perp2());
1408  double etares=track.eta()-momentumTP.Eta();
1409 
1410 
1411  double dxyRec = track.dxy(bsPosition);
1412  double dzRec = track.dz(bsPosition);
1413 
1414  const auto phiRes = phiRec-phiSim;
1415  const auto dxyRes = dxyRec-dxySim;
1416  const auto dzRes = dzRec-dzSim;
1417  const auto cotThetaRes = 1/tan(M_PI*0.5-lambdaRec)-1/tan(M_PI*0.5-lambdaSim);
1418 
1419  // eta residue; pt, k, theta, phi, dxy, dz pulls
1420  double qoverpPull=(qoverpRec-qoverpSim)/qoverpErrorRec;
1421  double thetaPull=(lambdaRec-lambdaSim)/lambdaErrorRec;
1422  double phiPull=phiRes/phiErrorRec;
1423  double dxyPull=dxyRes/track.dxyError();
1424  double dzPull=dzRes/track.dzError();
1425 
1426 #ifdef EDM_ML_DEBUG
1427  double contrib_Qoverp = ((qoverpRec-qoverpSim)/qoverpErrorRec)*
1428  ((qoverpRec-qoverpSim)/qoverpErrorRec)/5;
1429  double contrib_dxy = ((dxyRec-dxySim)/track.dxyError())*((dxyRec-dxySim)/track.dxyError())/5;
1430  double contrib_dz = ((dzRec-dzSim)/track.dzError())*((dzRec-dzSim)/track.dzError())/5;
1431  double contrib_theta = ((lambdaRec-lambdaSim)/lambdaErrorRec)*
1432  ((lambdaRec-lambdaSim)/lambdaErrorRec)/5;
1433  double contrib_phi = ((phiRec-phiSim)/phiErrorRec)*
1434  ((phiRec-phiSim)/phiErrorRec)/5;
1435 
1436  LogTrace("TrackValidatorTEST")
1437  //<< "assocChi2=" << tp.begin()->second << "\n"
1438  << "" << "\n"
1439  << "ptREC=" << ptRec << "\n" << "etaREC=" << track.eta() << "\n" << "qoverpREC=" << qoverpRec << "\n"
1440  << "dxyREC=" << dxyRec << "\n" << "dzREC=" << dzRec << "\n"
1441  << "thetaREC=" << track.theta() << "\n" << "phiREC=" << phiRec << "\n"
1442  << "" << "\n"
1443  << "qoverpError()=" << qoverpErrorRec << "\n" << "dxyError()=" << track.dxyError() << "\n"<< "dzError()="
1444  << track.dzError() << "\n"
1445  << "thetaError()=" << lambdaErrorRec << "\n" << "phiError()=" << phiErrorRec << "\n"
1446  << "" << "\n"
1447  << "ptSIM=" << sqrt(momentumTP.perp2()) << "\n"<< "etaSIM=" << momentumTP.Eta() << "\n"<< "qoverpSIM=" << qoverpSim << "\n"
1448  << "dxySIM=" << dxySim << "\n"<< "dzSIM=" << dzSim << "\n" << "thetaSIM=" << M_PI/2-lambdaSim << "\n"
1449  << "phiSIM=" << phiSim << "\n"
1450  << "" << "\n"
1451  << "contrib_Qoverp=" << contrib_Qoverp << "\n"<< "contrib_dxy=" << contrib_dxy << "\n"<< "contrib_dz=" << contrib_dz << "\n"
1452  << "contrib_theta=" << contrib_theta << "\n"<< "contrib_phi=" << contrib_phi << "\n"
1453  << "" << "\n"
1454  <<"chi2PULL="<<contrib_Qoverp+contrib_dxy+contrib_dz+contrib_theta+contrib_phi<<"\n";
1455 #endif
1456 
1457  h_pullQoverp[count]->Fill(qoverpPull);
1458  h_pullTheta[count]->Fill(thetaPull);
1459  h_pullPhi[count]->Fill(phiPull);
1460  h_pullDxy[count]->Fill(dxyPull);
1461  h_pullDz[count]->Fill(dzPull);
1462 
1463  const auto etaSim = getEta(momentumTP.eta());
1464  const auto ptSim = getPt(sqrt(momentumTP.perp2()));
1465 
1466  h_pt[count]->Fill(ptres/ptError);
1467  h_eta[count]->Fill(etares);
1468  //etares_vs_eta[count]->Fill(getEta(track.eta()),etares);
1469  etares_vs_eta[count]->Fill(etaSim, etares);
1470 
1471  //resolution of track params: fill 2D histos
1472  dxyres_vs_eta[count]->Fill(etaSim, dxyRes);
1473  ptres_vs_eta[count]->Fill(etaSim, ptres/ptRec);
1474  dzres_vs_eta[count]->Fill(etaSim, dzRes);
1475  phires_vs_eta[count]->Fill(etaSim, phiRes);
1476  cotThetares_vs_eta[count]->Fill(etaSim, cotThetaRes);
1477 
1478  //same as before but vs pT
1479  dxyres_vs_pt[count]->Fill(ptSim, dxyRes);
1480  ptres_vs_pt[count]->Fill(ptSim, ptres/ptRec);
1481  dzres_vs_pt[count]->Fill(ptSim, dzRes);
1482  phires_vs_pt[count]->Fill(ptSim, phiRes);
1483  cotThetares_vs_pt[count]->Fill(ptSim, cotThetaRes);
1484 
1485  //pulls of track params vs eta: fill 2D histos
1486  dxypull_vs_eta[count]->Fill(etaSim, dxyPull);
1487  ptpull_vs_eta[count]->Fill(etaSim, ptres/ptError);
1488  dzpull_vs_eta[count]->Fill(etaSim, dzPull);
1489  phipull_vs_eta[count]->Fill(etaSim, phiPull);
1490  thetapull_vs_eta[count]->Fill(etaSim, thetaPull);
1491 
1492  //plots vs phi
1493  nhits_vs_phi[count]->Fill(phiRec,track.numberOfValidHits());
1494  chi2_vs_phi[count]->Fill(phiRec,track.normalizedChi2());
1495  ptmean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),ptRec);
1496  phimean_vs_eta_phi[count]->Fill(phiRec,getEta(track.eta()),phiRec);
1497 
1498  ptres_vs_phi[count]->Fill(phiSim, ptres/ptRec);
1499  phires_vs_phi[count]->Fill(phiSim, phiRes);
1500  ptpull_vs_phi[count]->Fill(phiSim, ptres/ptError);
1501  phipull_vs_phi[count]->Fill(phiSim, phiPull);
1502  thetapull_vs_phi[count]->Fill(phiSim, thetaPull);
1503 
1504 
1505 }
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > ptpull_vs_phi
bool trackFromSeedFitFailed(const reco::Track &track)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:561
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:579
double dxyError() const
error on dxy
Definition: TrackBase.h:796
std::vector< MonitorElement * > h_pullPhi
std::vector< MonitorElement * > phipull_vs_phi
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:651
std::vector< MonitorElement * > h_pullQoverp
auto dz(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > etares_vs_eta
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:820
std::vector< MonitorElement * > phimean_vs_eta_phi
#define LogTrace(id)
std::vector< MonitorElement * > dzpull_vs_eta
#define M_PI
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:609
double dzError() const
error on dz
Definition: TrackBase.h:814
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
auto dxy(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
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:591
std::vector< MonitorElement * > ptres_vs_phi
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< MonitorElement * > dxyres_vs_pt
std::vector< MonitorElement * > dzres_vs_pt
void MTVHistoProducerAlgoForTracker::fill_seed_histos ( int  count,
int  seedsFitFailed,
int  seedsTotal 
)

Definition at line 1658 of file MTVHistoProducerAlgoForTracker.cc.

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

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

Definition at line 1298 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::charge(), reco::TrackBase::chi2(), chi2_vs_eta, chi2_vs_nhits, KineDebug3::count(), PVValHelper::eta, reco::TrackBase::eta(), getEta(), h_charge, h_hits, h_losthits, h_nchi2, h_nchi2_prob, h_nmisslayers_inner, h_nmisslayers_outer, reco::TrackBase::hitPattern(), createfilelist::int, 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, nPXLhits_vs_eta, nPXLlayersWithMeas_vs_eta, nSTRIPhits_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::numberOfLostHits(), 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(), reco::HitPattern::trackerLayersWithMeasurement(), and trackFromSeedFitFailed().

1299  {
1300  //nchi2 and hits global distributions
1301  h_hits[count]->Fill(track.numberOfValidHits());
1302  h_losthits[count]->Fill(track.numberOfLostHits());
1305  if(trackFromSeedFitFailed(track))
1306  return;
1307 
1308  h_nchi2[count]->Fill(track.normalizedChi2());
1309  h_nchi2_prob[count]->Fill(TMath::Prob(track.chi2(),(int)track.ndof()));
1310  chi2_vs_nhits[count]->Fill(track.numberOfValidHits(),track.normalizedChi2());
1311  h_charge[count]->Fill( track.charge() );
1312 
1313  //chi2 and #hit vs eta: fill 2D histos
1314  const auto eta = getEta(track.eta());
1315  chi2_vs_eta[count]->Fill(eta, track.normalizedChi2());
1316  nhits_vs_eta[count]->Fill(eta, track.numberOfValidHits());
1317  const auto pxbHits = track.hitPattern().numberOfValidPixelBarrelHits();
1318  const auto pxfHits = track.hitPattern().numberOfValidPixelEndcapHits();
1319  const auto tibHits = track.hitPattern().numberOfValidStripTIBHits();
1320  const auto tidHits = track.hitPattern().numberOfValidStripTIDHits();
1321  const auto tobHits = track.hitPattern().numberOfValidStripTOBHits();
1322  const auto tecHits = track.hitPattern().numberOfValidStripTECHits();
1323  nPXBhits_vs_eta[count]->Fill(eta, pxbHits);
1324  nPXFhits_vs_eta[count]->Fill(eta, pxfHits);
1325  nPXLhits_vs_eta[count]->Fill(eta, pxbHits+pxfHits);
1326  nTIBhits_vs_eta[count]->Fill(eta, tibHits);
1327  nTIDhits_vs_eta[count]->Fill(eta, tidHits);
1328  nTOBhits_vs_eta[count]->Fill(eta, tobHits);
1329  nTEChits_vs_eta[count]->Fill(eta, tecHits);
1330  nSTRIPhits_vs_eta[count]->Fill(eta, tibHits+tidHits+tobHits+tecHits);
1333  int LayersAll = track.hitPattern().stripLayersWithMeasurement();
1334  int Layers2D = track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
1335  int Layers1D = LayersAll - Layers2D;
1336  nSTRIPlayersWithMeas_vs_eta[count]->Fill(eta, LayersAll);
1337  nSTRIPlayersWith1dMeas_vs_eta[count]->Fill(eta, Layers1D);
1338  nSTRIPlayersWith2dMeas_vs_eta[count]->Fill(eta, Layers2D);
1339 
1340  nlosthits_vs_eta[count]->Fill(eta, track.numberOfLostHits());
1341 }
std::vector< MonitorElement * > h_nchi2_prob
std::vector< MonitorElement * > nPXFhits_vs_eta
bool trackFromSeedFitFailed(const reco::Track &track)
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:561
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:826
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:499
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:518
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:868
std::vector< MonitorElement * > nlosthits_vs_eta
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > nPXBhits_vs_eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:341
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:843
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:549
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:555
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:863
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
int numberOfValidStripTECHits() const
Definition: HitPattern.h:873
std::vector< MonitorElement * > h_charge
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< MonitorElement * > nPXLhits_vs_eta
std::vector< MonitorElement * > nSTRIPhits_vs_eta
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:446
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1035
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:858
int numberOfLostHits(HitCategory category) const
Definition: HitPattern.h:902
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:848
int charge() const
track electric charge
Definition: TrackBase.h:567
std::vector< MonitorElement * > nhits_vs_eta
std::vector< MonitorElement * > chi2_vs_eta
std::vector< MonitorElement * > h_losthits
void MTVHistoProducerAlgoForTracker::fill_simTrackBased_histos ( int  numSimTracks)

Definition at line 1064 of file MTVHistoProducerAlgoForTracker.cc.

References MonitorElement::Fill(), and h_tracksSIM.

1064  {
1065  h_tracksSIM->Fill(numSimTracks);
1066 }
void Fill(long long x)
void MTVHistoProducerAlgoForTracker::fill_trackBased_histos ( int  count,
int  assTracks,
int  numRecoTracks,
int  numRecoTracksSelected,
int  numSimTracksSelected 
)

Definition at line 1344 of file MTVHistoProducerAlgoForTracker.cc.

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

1344  {
1345 
1346  h_tracks[count]->Fill(assTracks);
1347  h_fakes[count]->Fill(numRecoTracks-assTracks);
1348  if(nrec_vs_nsim[count]) nrec_vs_nsim[count]->Fill(numSimTracksSelected, numRecoTracksSelected);
1349 
1350 }
std::vector< MonitorElement * > h_fakes
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_tracks
double MTVHistoProducerAlgoForTracker::getEta ( double  eta)
private
double MTVHistoProducerAlgoForTracker::getPt ( double  pt)
private
void MTVHistoProducerAlgoForTracker::getRecoMomentum ( const reco::Track track,
double &  pt,
double &  ptError,
double &  qoverp,
double &  qoverpError,
double &  lambda,
double &  lambdaError,
double &  phi,
double &  phiError 
) const
private

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

Definition at line 1510 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().

1512  {
1513  pt = track.pt();
1514  ptError = track.ptError();
1515  qoverp = track.qoverp();
1516  qoverpError = track.qoverpError();
1517  lambda = track.lambda();
1518  lambdaError = track.lambdaError();
1519  phi = track.phi();
1520  phiError = track.phiError();
1521  // cout <<"test1" << endl;
1522 
1523 
1524 
1525 }
double qoverp() const
q / p
Definition: TrackBase.h:573
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:645
double pt() const
track transverse momentum
Definition: TrackBase.h:621
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:763
double phiError() const
error on phi
Definition: TrackBase.h:790
double lambda() const
Lambda angle.
Definition: TrackBase.h:585
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:757
double lambdaError() const
error on lambda
Definition: TrackBase.h:778
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 1528 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().

1530  {
1531 
1532  pt = gsfTrack.ptMode();
1533  ptError = gsfTrack.ptModeError();
1534  qoverp = gsfTrack.qoverpMode();
1535  qoverpError = gsfTrack.qoverpModeError();
1536  lambda = gsfTrack.lambdaMode();
1537  lambdaError = gsfTrack.lambdaModeError();
1538  phi = gsfTrack.phiMode();
1539  phiError = gsfTrack.phiModeError();
1540  // cout <<"test2" << endl;
1541 
1542 }
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
unsigned int MTVHistoProducerAlgoForTracker::getSeedingLayerSetBin ( const reco::Track track,
const TrackerTopology ttopo 
)
private

Definition at line 1556 of file MTVHistoProducerAlgoForTracker.cc.

References DetId::det(), SoftLeptonByDistance_cfi::distance, Exception, runEdmFileComparison::found, mps_fire::i, edm::RefToBase< T >::isAvailable(), edm::RefToBase< T >::isNull(), trackerHitRTTI::isSingle(), TrackerTopology::layer(), LogDebug, nhits, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, DetId::rawId(), TrajectorySeed::recHits(), SurveyInfoScenario_cff::seed, seedingLayerSetNames, seedingLayerSetToBin, reco::Track::seedRef(), TrackerTopology::side(), DetId::subdetId(), GeomDetEnumerators::TEC, StripSubdetector::TEC, GeomDetEnumerators::TIB, StripSubdetector::TIB, GeomDetEnumerators::TID, StripSubdetector::TID, GeomDetEnumerators::TOB, StripSubdetector::TOB, DetId::Tracker, and relativeConstraints::value.

Referenced by fill_generic_recoTrack_histos().

1556  {
1557  if(track.seedRef().isNull() || !track.seedRef().isAvailable())
1558  return seedingLayerSetNames.size()-1;
1559 
1560  const TrajectorySeed& seed = *(track.seedRef());
1561  const auto hitRange = seed.recHits();
1562  SeedingLayerSetId searchId;
1563  const int nhits = std::distance(hitRange.first, hitRange.second);
1564  if(nhits > static_cast<int>(std::tuple_size<SeedingLayerSetId>::value)) {
1565  LogDebug("TrackValidator") << "Got seed with " << nhits << " hits, but I have a hard-coded maximum of " << std::tuple_size<SeedingLayerSetId>::value << ", classifying the seed as 'unknown'. Please increase the maximum in MTVHistoProducerAlgoForTracker.h if needed.";
1566  return seedingLayerSetNames.size()-1;
1567  }
1568  int i=0;
1569  for(auto iHit = hitRange.first; iHit != hitRange.second; ++iHit, ++i) {
1570  DetId detId = iHit->geographicalId();
1571 
1572  if(detId.det() != DetId::Tracker) {
1573  throw cms::Exception("LogicError") << "Encountered seed hit detId " << detId.rawId() << " not from Tracker, but " << detId.det();
1574  }
1575 
1577  bool subdetStrip = false;
1578  switch(detId.subdetId()) {
1581  case StripSubdetector::TIB: subdet = GeomDetEnumerators::TIB; subdetStrip = true; break;
1582  case StripSubdetector::TID: subdet = GeomDetEnumerators::TID; subdetStrip = true; break;
1583  case StripSubdetector::TOB: subdet = GeomDetEnumerators::TOB; subdetStrip = true; break;
1584  case StripSubdetector::TEC: subdet = GeomDetEnumerators::TEC; subdetStrip = true; break;
1585  default: throw cms::Exception("LogicError") << "Unknown subdetId " << detId.subdetId();
1586  };
1587 
1588  TrackerDetSide side = static_cast<TrackerDetSide>(ttopo.side(detId));
1589 
1590  // Even with the recent addition of
1591  // SeedingLayerSetsBuilder::fillDescription() this assumption is a
1592  // bit ugly.
1593  const bool isStripMono = subdetStrip && trackerHitRTTI::isSingle(*iHit);
1594  searchId[i] = SeedingLayerId(SeedingLayerSetsBuilder::SeedingLayerId(subdet, side, ttopo.layer(detId)), isStripMono);
1595  }
1596  auto found = seedingLayerSetToBin.find(searchId);
1597  if(found == seedingLayerSetToBin.end()) {
1598  return seedingLayerSetNames.size()-1;
1599  }
1600  return found->second;
1601 }
#define LogDebug(id)
const edm::RefToBase< TrajectorySeed > & seedRef() const
Definition: Track.h:213
bool isAvailable() const
Definition: RefToBase.h:114
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
TrackerDetSide
Definition: TrackerDetSide.h:4
unsigned int side(const DetId &id) const
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
std::tuple< GeomDetEnumerators::SubDetector, TrackerDetSide, int > SeedingLayerId
std::tuple< SeedingLayerSetsBuilder::SeedingLayerId, bool > SeedingLayerId
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
std::array< SeedingLayerId, 4 > SeedingLayerSetId
Definition: DetId.h:18
bool isSingle(TrackingRecHit const &hit)
bool isNull() const
Checks for null.
Definition: RefToBase.h:328
range recHits() const
unsigned int layer(const DetId &id) const
std::vector< std::string > seedingLayerSetNames
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
void MTVHistoProducerAlgoForTracker::init ( const edm::Event event,
const edm::EventSetup setup 
)

Definition at line 344 of file MTVHistoProducerAlgoForTracker.cc.

References trackSelectorVsEta, trackSelectorVsPhi, and trackSelectorVsPt.

344  {
345  trackSelectorVsEta->init(event, setup);
346  trackSelectorVsPhi->init(event, setup);
347  trackSelectorVsPt->init(event, setup);
348 }
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPhi
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPt
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsEta
std::unique_ptr< RecoTrackSelectorBase > MTVHistoProducerAlgoForTracker::makeRecoTrackSelectorFromTPSelectorParameters ( const edm::ParameterSet pset,
const edm::InputTag beamSpotTag,
edm::ConsumesCollector iC 
)
static

Definition at line 321 of file MTVHistoProducerAlgoForTracker.cc.

References edm::ParameterSet::addParameter(), edm::ParameterSet::copyForModify(), and edm::ParameterSet::eraseSimpleParameter().

Referenced by MTVHistoProducerAlgoForTracker(), and MultiTrackValidator::MultiTrackValidator().

321  {
322  edm::ParameterSet psetTrack;
323  psetTrack.copyForModify(pset);
324  psetTrack.eraseSimpleParameter("minHit");
325  psetTrack.eraseSimpleParameter("signalOnly");
326  psetTrack.eraseSimpleParameter("intimeOnly");
327  psetTrack.eraseSimpleParameter("chargedOnly");
328  psetTrack.eraseSimpleParameter("stableOnly");
329  psetTrack.addParameter("maxChi2", 1e10);
330  psetTrack.addParameter("minHit", 0);
331  psetTrack.addParameter("minPixelHit", 0);
332  psetTrack.addParameter("minLayer", 0);
333  psetTrack.addParameter("min3DLayer", 0);
334  psetTrack.addParameter("usePV", false);
335  psetTrack.addParameter("beamSpot", beamSpotTag);
336  psetTrack.addParameter("quality", std::vector<std::string>{});
337  psetTrack.addParameter("algorithm", std::vector<std::string>{});
338  psetTrack.addParameter("originalAlgorithm", std::vector<std::string>{});
339  psetTrack.addParameter("algorithmMaskContains", std::vector<std::string>{});
340 
341  return std::make_unique<RecoTrackSelectorBase>(psetTrack, iC);
342 }
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:144
void eraseSimpleParameter(std::string const &name)
void copyForModify(ParameterSet const &other)
static std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::makeRecoTrackSelectorFromTPSelectorParameters ( const edm::ParameterSet pset,
const edm::InputTag beamSpotTag,
edm::ConsumesCollector &&  iC 
)
inlinestatic

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
const bool MTVHistoProducerAlgoForTracker::doSeedPlots_
private
double MTVHistoProducerAlgoForTracker::dxyDzZoom
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxypull_vs_eta
private
int MTVHistoProducerAlgoForTracker::dxyRes_nbin
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxyres_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dxyres_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzpull_vs_eta
private
int MTVHistoProducerAlgoForTracker::dzRes_nbin
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzres_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::dzres_vs_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::etares_vs_eta
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::generalGpSelector
private

Definition at line 151 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

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

Definition at line 140 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

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

Definition at line 219 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 219 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 220 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 220 of file MTVHistoProducerAlgoForTracker.h.

std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva_hp
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva_vs_eta
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva_vs_eta_hp
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva_vs_pt
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mva_vs_pt_hp
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mvacut
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc2_mvacut_hp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2_ootpu_eta
private

Definition at line 221 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 221 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 219 of file MTVHistoProducerAlgoForTracker.h.

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2hit
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2layer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2phi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pixellayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2vertpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc2zpos
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_dzpvsigcut_pt
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc_mvacut
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_assoc_mvacut_hp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assoc_simpvz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdr
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxypv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdxypvzoomed
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdzpv
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_assocdzpvzoomed
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 279 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 279 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 223 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 223 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 223 of file MTVHistoProducerAlgoForTracker.h.

std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_estim
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_nom
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_dedx_sat
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_duplicates_oriAlgo_vs_oriAlgo
private

Definition at line 252 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSimTrackHistos(), and fill_duplicate_histos().

std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_eta
private
MonitorElement * MTVHistoProducerAlgoForTracker::h_etaSIM
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_fake_mva_vs_eta
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_fake_mva_vs_eta_hp
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_fake_mva_vs_pt
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_fake_mva_vs_pt_hp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_fakes
private

Definition at line 198 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

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

Definition at line 272 of file MTVHistoProducerAlgoForTracker.h.

MonitorElement* MTVHistoProducerAlgoForTracker::h_ptSIM
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullDxy
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullDz
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullPhi
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullQoverp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_pullTheta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco2eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco2pT
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco2pu
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco3Dlayer
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvcut_pt
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvsigcut
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_dzpvsigcut_pt
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_reco_mva
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_reco_mva_hp
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_reco_mvacut
private
std::vector<std::vector<MonitorElement*> > MTVHistoProducerAlgoForTracker::h_reco_mvacut_hp
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::h_reco_ootpu_eta
private

Definition at line 222 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 222 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 198 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSeedHistos(), and fill_seed_histos().

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

Definition at line 198 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSeedHistos(), and fill_seed_histos().

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

Definition at line 198 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookRecoHistos(), and fill_trackBased_histos().

MonitorElement * MTVHistoProducerAlgoForTracker::h_tracksSIM
private

Definition at line 195 of file MTVHistoProducerAlgoForTracker.h.

Referenced by bookSimHistos(), and fill_simTrackBased_histos().

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

Definition at line 172 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

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

Definition at line 170 of file MTVHistoProducerAlgoForTracker.h.

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

Definition at line 172 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

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

Definition at line 172 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::nPXLhits_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nPXLlayersWithMeas_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::nrec_vs_nsim
private

Definition at line 249 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::nSTRIPhits_vs_eta
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<std::string> MTVHistoProducerAlgoForTracker::seedingLayerSetNames
private
std::map<SeedingLayerSetId, unsigned int> MTVHistoProducerAlgoForTracker::seedingLayerSetToBin
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::thetapull_vs_eta
private
std::vector<MonitorElement*> MTVHistoProducerAlgoForTracker::thetapull_vs_phi
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsEta
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPhi
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPt
private
bool MTVHistoProducerAlgoForTracker::useFabsEta
private

Definition at line 158 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getEta(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useInvPt
private

Definition at line 159 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getPt(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useLogPt
private
bool MTVHistoProducerAlgoForTracker::useLogVertpos
private