1 #ifndef PrimaryVertexValidation_h 2 #define PrimaryVertexValidation_h 95 void add(std::map<std::string, TH1*>& h, TH1* hist);
98 void fill(std::map<std::string, TH1*>& h,
const std::string& s,
double x,
double y);
623 std::map<std::string, TH1*>
hDA;
std::vector< TH1F * > h_norm_dxy_modZ_
TH1F * n_dxyPhiMedianTrend
TH1F * n_dzEtaMedianTrend
TH1F * n_dxyEtaMADBiasTrend
TH1F * a_dxyPhiMedianBiasTrend
TH1F * n_dxyPhiMADBiasTrend
TH1F * a_dxyladderWidthTrend
std::vector< TH1F * > n_IP3DPhiResiduals
std::vector< TH1F * > a_dxyEtaResiduals
TH1F * n_dzResidualsMap[nMaxBins_][nMaxBins_]
std::vector< TH1F * > a_d3DEtaResiduals
TH1F * a_dzPhiMedianBiasTrend
TH1F * a_dxyladderMeanTrend
TH1F * a_dxyEtaWidthBiasTrend
std::vector< TH1F * > n_reszPhiResiduals
TFileDirectory MADTrendsDir
std::vector< unsigned int > runControlNumbers_
TH1F * n_dxyEtaMedianTrend
TH1F * n_dxyEtaMeanBiasTrend
TH1F * a_dzEtaWidthBiasTrend
TH1F * a_dzPhiMADBiasTrend
TH1F * h_probeRefitVSigXY_
static const int nMaxtracks_
TH1F * h_probeRefitVSigZ_
static bool vtxSort(const reco::Vertex &a, const reco::Vertex &b)
TH1F * n_dxyEtaMedianBiasTrend
TFileDirectory WidthTrendsDir
TH1F * a_dxyEtaMADBiasTrend
TH1F * h_probesignIP2DRefitV_
TH1F * a_dzpTCentralWidthTrend
void fillTrendPlot(TH1F *trendPlot, TH1F *residualsPlot[100], PVValHelper::estimator fitPar_, const std::string &var_)
int nhits1D_[nMaxtracks_]
std::vector< TH1F * > h_dxy_pT_
TrackFilterForPVFindingBase * theTrackFilter_
TH1F * a_dxyResidualsMap[nMaxBins_][nMaxBins_]
std::map< std::string, TH1 * > hDA
std::vector< TH1F * > a_IP3DEtaResiduals
std::vector< TH1F * > n_dzPhiResiduals
std::vector< TH1F * > a_d3DPhiResiduals
std::vector< TH1F * > n_d3DPhiResiduals
PrimaryVertexValidation(const edm::ParameterSet &)
std::vector< TH1F * > n_dxyPhiBiasResiduals
TH1F * a_dzEtaMADBiasTrend
TH1F * n_dxyBiasResidualsMap[nMaxBins_][nMaxBins_]
TFileDirectory MeanTrendsDir
std::vector< TH1F * > n_d3DEtaResiduals
std::vector< TH1F * > h_norm_dz_Central_pT_
TH1F * h_xErrOfflineVertex
TH1F * n_dzladderMeanTrend
float DOFUnbiasedVertex_[nMaxtracks_]
TH1F * n_dzPhiWidthBiasTrend
double d3DFromMyVertex_[nMaxtracks_]
void fillTrendPlotByIndex(TH1F *trendPlot, std::vector< TH1F * > &h, PVValHelper::estimator fitPar_, PVValHelper::plotVariable plotVar=PVValHelper::END_OF_PLOTS)
std::vector< TH1F * > a_reszPhiResiduals
double dxyBs_[nMaxtracks_]
double zPCA_[nMaxtracks_]
std::vector< TH1F * > a_IP2DPhiResiduals
TH1F * a_dxyPhiWidthBiasTrend
float chi2ProbUnbiasedVertex_[nMaxtracks_]
std::vector< TH1F * > n_reszEtaResiduals
double dxyFromMyVertex_[nMaxtracks_]
TH1F * a_dzPhiWidthBiasTrend
TH1F * a_dzladderWidthTrend
TH1F * h_probeRefitVSig3D_
std::map< std::string, TH1 * > bookVertexHistograms(const TFileDirectory &dir)
std::vector< TH1F * > h_dz_modZ_
std::vector< TH1F * > h_dxy_modZ_
std::vector< TH1F * > a_dxEtaResiduals
bool isBFieldConsistentWithMode(const edm::EventSetup &iSetup) const
std::pair< bool, bool > pixelHitsCheck(const reco::TransientTrack &track)
TH1F * h_probereszRefitV_
double dzErrorFromMyVertex_[nMaxtracks_]
std::vector< TH1F * > n_dxyEtaBiasResiduals
void fillTrackHistos(std::map< std::string, TH1 * > &h, const std::string &ttype, const reco::TransientTrack *tt, const reco::Vertex &v, const reco::BeamSpot &beamSpot, double fBfield)
int isHighPurity_[nMaxtracks_]
int nhitsTIB_[nMaxtracks_]
std::vector< TH1F * > n_dxyEtaResiduals
TH1F * h_probeRefitVSigResZ_
double qoverp_[nMaxtracks_]
double IPTsigFromMyVertex_[nMaxtracks_]
TH1F * a_dzEtaMedianTrend
void fill(std::map< std::string, TH1 * > &h, const std::string &s, double x)
std::vector< TH1F * > a_dzPhiBiasResiduals
double theta_[nMaxtracks_]
TH1F * a_dxyPhiMedianTrend
TH1F * a_dxypTCentralWidthTrend
Measurement1D getMedian(TH1F *histo)
std::vector< TH1F * > h_norm_dxy_pT_
std::vector< TH1F * > a_dzEtaResiduals
TH1F * a_dzPhiMeanBiasTrend
edm::ParameterSet theConfig
int tracksUsedForVertexing_[nMaxtracks_]
TH1F * n_dxymodZWidthTrend
TH1F * h_fitVtxTrackAverageWeight_
TFileDirectory Width2DMapsDir
int isGoodTrack_[nMaxtracks_]
std::vector< TH1F * > a_dxyEtaBiasResiduals
TH1F * a_dxyPhiMADBiasTrend
unsigned int LuminosityBlockNumber_
TH1F * a_dxyPhiWidthTrend
double zErrOfflineVertex_
TH1F * h_yErrOfflineVertex
std::vector< TH1F * > h_norm_dxy_ladder_
int nhitsFPIX_[nMaxtracks_]
bool useTracksFromRecoVtx_
std::vector< TH1F * > a_dzPhiResiduals
TH1F * n_dzPhiMADBiasTrend
double yUnbiasedVertex_[nMaxtracks_]
TH1F * h_probeRecoVSigXY_
bool forceBeamSpotContraint_
TH1F * h_probeRefitVLogSig3D_
TH1F * h_fitVtxTrackWeights_
TH1F * a_dxymodZWidthTrend
std::vector< TH1F * > n_dxyPhiResiduals
static const int nPtBins_
unsigned int EventNumber_
void fillByIndex(std::vector< TH1F * > &h, unsigned int index, double x, std::string tag="")
int nhitsTID_[nMaxtracks_]
double zUnbiasedVertex_[nMaxtracks_]
TH1F * a_dzPhiMedianTrend
std::vector< TH1F * > h_dxy_ladder_
float chi2normUnbiasedVertex_[nMaxtracks_]
TH1F * n_d3DResidualsMap[nMaxBins_][nMaxBins_]
std::vector< TH1F * > a_dxyPhiResiduals
TH1I * h_probeHasBPixL1Overlap_
std::vector< TH1F * > a_dxyPhiBiasResiduals
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken
void analyze(const edm::Event &, const edm::EventSetup &) override
TH1F * n_dzEtaWidthBiasTrend
TH1F * a_d3DResidualsMap[nMaxBins_][nMaxBins_]
TH1F * n_dzEtaMADBiasTrend
std::vector< TH1F * > h_dxy_ladderNoOverlap_
void shrinkHistVectorToFit(std::vector< TH1F * > &h, unsigned int desired_size)
double IPLsigFromMyVertex_[nMaxtracks_]
double dzBs_[nMaxtracks_]
double yPCA_[nMaxtracks_]
bool hasFirstLayerPixelHits(const reco::TransientTrack &track)
std::vector< TH1F * > n_dzEtaResiduals
TH1F * a_dxyEtaWidthTrend
TH1F * n_dzPhiMeanBiasTrend
std::vector< TH1F * > n_IP3DEtaResiduals
TH1F * h_nOfflineVertices
int nhits2D_[nMaxtracks_]
TH1F * a_dxyEtaMedianBiasTrend
static const int nMaxBins_
std::vector< TH1F * > h_norm_dz_pT_
TH1F * n_dzPhiMedianBiasTrend
void fillMap(TH2F *trendMap, TH1F *residualsMapPlot[100][100], PVValHelper::estimator fitPar_)
std::tuple< std::string, std::string, std::string > getVarString(PVValHelper::plotVariable var)
std::vector< TH1F * > h_dz_pT_
TH1F * a_dzladderMeanTrend
std::vector< TH1F * > n_dzEtaBiasResiduals
std::vector< TH1F * > h_dz_Central_pT_
edm::Service< TFileService > fs
TH1F * n_dzEtaMeanBiasTrend
bool isHit2D(const TrackingRecHit &hit) const
int nhitsTOB_[nMaxtracks_]
double chi2ndof_[nMaxtracks_]
TH1F * a_dxymodZMeanTrend
std::vector< TH1F * > h_dz_ladder_
std::vector< TH1F * > a_IP2DEtaResiduals
std::tuple< std::string, std::string, std::string > getTypeString(PVValHelper::residualType type)
TFileDirectory Mean2DMapsDir
int nhitsTEC_[nMaxtracks_]
TrackClusterizerInZ * theTrackClusterizer_
double yErrOfflineVertex_
std::vector< TH1F * > n_IP2DPhiResiduals
double xPCA_[nMaxtracks_]
double xUnbiasedVertex_[nMaxtracks_]
std::vector< TH1F * > h_dxy_Central_pT_
TH1F * n_dxypTCentralWidthTrend
TH1F * n_dxyPhiWidthTrend
TH1F * a_dzpTCentralMeanTrend
TH1F * a_dxypTCentralMeanTrend
TFileDirectory MedianTrendsDir
Measurement1D getMAD(TH1F *histo)
TH1F * a_dxyEtaMeanBiasTrend
edm::EDGetTokenT< reco::BeamSpot > theBeamspotToken
TH1F * n_dxypTCentralMeanTrend
edm::EDGetTokenT< reco::TrackCollection > theTrackCollectionToken
~PrimaryVertexValidation() override
TH1F * a_dzEtaMedianBiasTrend
double dzFromMyVertex_[nMaxtracks_]
std::array< float, nPtBins_+1 > mypT_bins_
TH1F * n_dxyEtaWidthTrend
TH1F * a_dxyPhiMeanBiasTrend
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
TH1F * h_recoVtxChi2Prob_
TH1F * h_probeHitsInBPIX_
TH1F * h_probeHitsInFPIX_
TH1F * n_dxyEtaWidthBiasTrend
std::vector< TH1F * > a_reszEtaResiduals
std::vector< TH1F * > bookResidualsHistogram(const TFileDirectory &dir, unsigned int theNOfBins, PVValHelper::residualType resType, PVValHelper::plotVariable varType, bool isNormalized=false)
TH1F * a_dzmodZWidthTrend
TH1F * n_dxyladderMeanTrend
TH1F * a_dxyBiasResidualsMap[nMaxBins_][nMaxBins_]
TH1F * h_zErrOfflineVertex
std::vector< TH1F * > a_dxPhiResiduals
std::vector< TH1F * > h_norm_dz_modZ_
TH1F * n_dxyResidualsMap[nMaxBins_][nMaxBins_]
bool passesTrackCuts(const reco::Track &track, const reco::Vertex &vertex, const std::string &qualityString_, double dxyErrMax_, double dzErrMax_, double ptErrMax_)
TH1F * n_dzpTCentralMeanTrend
TH1F * n_dzPhiMedianTrend
double dxyErrorFromMyVertex_[nMaxtracks_]
std::vector< TH1F * > a_dyEtaResiduals
TH1F * n_dxyPhiWidthBiasTrend
std::vector< TH1F * > n_IP2DEtaResiduals
std::vector< TH1F * > h_norm_dz_ladder_
TH1F * n_dzladderWidthTrend
float sumOfWeightsUnbiasedVertex_[nMaxtracks_]
TH1F * n_dzBiasResidualsMap[nMaxBins_][nMaxBins_]
double d3DErrorFromMyVertex_[nMaxtracks_]
std::vector< TH1F * > a_dyPhiResiduals
TH1F * n_dxymodZMeanTrend
std::vector< TH1F * > h_dxy_ladderOverlap_
TH1F * n_dzEtaMedianBiasTrend
TH1F * a_dzBiasResidualsMap[nMaxBins_][nMaxBins_]
PVValHelper::histodetails theDetails_
TH1F * a_dxyEtaMedianTrend
std::pair< Measurement1D, Measurement1D > fitResiduals(TH1 *hist)
int hasRecVertex_[nMaxtracks_]
TH1F * a_dzResidualsMap[nMaxBins_][nMaxBins_]
double xErrOfflineVertex_
TH1F * a_dzEtaMeanBiasTrend
float chi2UnbiasedVertex_[nMaxtracks_]
TH1F * n_dzpTCentralWidthTrend
std::vector< TH1F * > h_norm_dxy_Central_pT_
TH1F * n_dzmodZWidthTrend
TH1F * n_dxyPhiMedianBiasTrend
TH1F * n_dxyPhiMeanBiasTrend
double chi2_[nMaxtracks_]
std::vector< TH1F * > a_dzEtaBiasResiduals
std::vector< TH1F * > a_IP3DPhiResiduals
TH1F * n_dxyladderWidthTrend
int nhitsBPIX_[nMaxtracks_]
std::vector< TH1F * > n_dzPhiBiasResiduals
double IP3DsigFromMyVertex_[nMaxtracks_]