5#ifndef INDETPHYSVALMONITORING_INDETPERFPLOT_VERTEXTRUTHMATCHING
6#define INDETPHYSVALMONITORING_INDETPERFPLOT_VERTEXTRUTHMATCHING
45 void fill(
const xAOD::Vertex* recoHardScatter,
const xAOD::VertexContainer& vertexContainer,
const std::vector<const xAOD::TruthVertex*>& truthHSVertices,
const std::vector<const xAOD::TruthVertex*>& truthPUVertices,
float actualMu,
float weight=1.0);
265 template<
typename U,
typename V>
267 float getLocalPUDensity(
const xAOD::TruthVertex* vtxOfInterest,
const std::vector<const xAOD::TruthVertex*>& truthHSVertices,
const std::vector<const xAOD::TruthVertex*>& truthPUVertices,
const float radialWindow = 2.0)
const;
271 static void fillResoHist(TH1* resoHist,
const TH2* resoHist2D);
TH1 * m_vx_z0_skewness_HS_matched
TH1 * m_vx_normalised_track_weight_HS_merged
TH2 * m_vx_all_truth_x_res_vs_PU
TProfile * m_vx_hs_reco_long_reso
TH1 * m_vx_z_asym_weighted_matched
TProfile * m_vx_nReco_vs_nTruth_split
TH1 * m_vx_normalised_track_weight_HS_matched
static const xAOD::Vertex * getHSRecoVertexSumPt2(const xAOD::VertexContainer &recoVertices)
TH2 * m_vx_all_truth_z_pull_vs_nTrk
void fill(const xAOD::Vertex &vertex, const xAOD::TruthVertex *tvrt=0, float weight=1.0)
TH2 * m_vx_all_truth_x_pull_vs_PU
TH2 * m_vx_all_truth_y_res_vs_PU
TH1 * m_vx_nVertices_HS_merged
TH1 * m_vx_nVertices_ALL_fake
TH1 * m_vx_z_asym_HS_split
TProfile * m_vx_nReco_vs_nTruth_hssplit
TH1 * m_vx_z0_kurtosis_HS_split
TH1 * m_vx_hs_classification
hardscatter classification
TH1 * m_vx_z0_skewness_matched
TH2 * m_vx_hs_truth_y_pull_vs_PU
TH2 * m_resHelper_PUdensity_hsVxTruthTransv
TH1 * m_vx_track_weight_ALL_split
TH1 * m_vx_z_asym_weighted_ALL_merged
TH2 * m_vx_hs_truth_x_res_vs_PU
TH1 * m_vx_nVertices_split
static float getRecoLongitudinalReso(const xAOD::Vertex *recoVtx)
TEfficiency * m_vx_hs_sel_eff_vs_nReco
TH1 * m_vx_chi2Over_ndf_split
TH1 * m_vx_nVertices_fake
TH1 * m_vx_z0_kurtosis_matched
TH1 * m_vx_track_weight_HS_split
TH1 * m_vx_track_weight_merged
TH1 * m_vx_z0_kurtosis_split
TH1 * m_vx_sumpT_HS_merged
TH2 * m_vx_all_truth_y_res_vs_nTrk
TH1 * m_vx_nVertices_ALL_split
TH1 * m_vx_z_asym_weighted_merged
TH1 * m_vx_track_weight_matched
float getLocalPUDensity(const xAOD::TruthVertex *vtxOfInterest, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, const float radialWindow=2.0) const
TH2 * m_vx_hs_truth_z_res_vs_nTrk
TEfficiency * m_vx_hs_reco_eff_vs_ntruth
TProfile * m_vx_nReco_vs_nTruth_inclusive
vertex reco efficiency
TH2 * m_vx_all_truth_z_res_vs_nTrk
TH1 * m_vx_chi2Over_ndf_HS_split
TH1 * m_vx_ntracks_ALL_matched
TH1 * m_vx_chi2Over_ndf_ALL_split
TH1 * m_vx_nVertices_matched
TH1 * m_vx_z_asym_weighted_HS_split
TH1 * m_vx_nVertices_merged
TEfficiency * m_vx_hs_sel_eff_vs_ntruth
TProfile * m_vx_nReco_vs_nTruth_highpu
TH1 * m_vx_z0_kurtosis_ALL_matched
TH1 * m_vx_z0_skewness_ALL_matched
TH1 * m_vx_chi2Over_ndf_ALL_matched
TH2 * m_vx_hs_truth_x_res_vs_nTrk
TH2 * m_vx_all_truth_z_pull_vs_PU
TH2 * m_vx_hs_truth_y_res_vs_PU
TH1 * m_vx_z0_skewness_ALL_merged
TH1 * m_vx_nVertices_ALL_merged
TH1 * m_vx_z0_skewness_HS_split
TH1 * m_vx_sumpT_ALL_merged
TH1 * m_vx_z0_kurtosis_ALL_split
TEfficiency * m_vx_hs_reco_sel_eff
TH2 * m_vx_all_truth_x_res_vs_nTrk
float m_cutMinTruthRecoRadialDiff
TProfile * m_vx_nReco_vs_nTruth_fake
TProfile * m_vx_nReco_vs_nTruth_merged
TH2 * m_vx_all_truth_y_pull_vs_PU
TH1 * m_resmean_vs_PUdensity_hsVxTruthLong
static float getRecoTransverseReso(const xAOD::Vertex *recoVtx)
TH1 * m_vx_ntracks_HS_matched
TProfile * m_vx_nReco_vs_nTruth_lowpu
TH1 * m_vx_normalised_track_weight_split
TH1 * m_vx_z0_skewness_split
TH1 * m_vx_nVertices_ALL_matched
TH1 * m_vx_sumpT_HS_matched
TH1 * m_vx_normalised_track_weight_ALL_split
TProfile * m_vx_nReco_vs_nTruth_none
TH1 * m_vx_time_diff
vertex time
TH1 * m_vx_z_asym_weighted_HS_matched
TH1 * m_vx_chi2Over_ndf_HS_merged
TH1 * m_vx_z_asym_HS_matched
TH1 * m_vx_chi2Over_ndf_ALL_merged
TProfile * m_vx_nReco_vs_nTruth_dummy
TH2 * m_vx_hs_truth_y_pull_vs_nTrk
TH1 * m_resolution_vs_PUdensity_hsVxTruthLong
TH1 * m_vx_ntracks_merged
TH1 * m_vx_normalised_track_weight_matched
TEfficiency * m_vx_hs_reco_eff
TH1 * m_vx_ntracks_ALL_merged
TProfile * m_vx_hs_reco_trans_reso
TH1 * m_vx_normalised_track_weight_HS_split
TH1 * m_vx_track_weight_HS_merged
TH1 * m_vx_sumpT_ALL_matched
TH1 * m_vx_track_weight_ALL_merged
TH1 * m_vx_z0_skewness_HS_merged
TH1 * m_vx_ntracks_HS_split
TH1 * m_vx_z_asym_weighted_ALL_matched
TH1 * m_vx_ntracks_HS_merged
TH1 * m_vx_normalised_track_weight_ALL_matched
TH1 * m_vx_type_truth
truth type
TH2 * m_vx_all_truth_z_res_vs_PU
TH2 * m_vx_hs_truth_z_res_vs_PU
TH1 * m_vx_chi2Over_ndf_matched
static void fillResoHist(TH1 *resoHist, const TH2 *resoHist2D)
TH2 * m_vx_hs_truth_x_pull_vs_PU
TH1 * m_vx_nVertices_HS_split
TH1 * m_vx_z_asym_weighted_HS_merged
TH1 * m_vx_z0_skewness_merged
TEfficiency * m_vx_hs_sel_eff_dist
TH2 * m_vx_hs_truth_z_pull_vs_nTrk
TH1 * m_vx_track_weight_HS_matched
TH1 * m_vx_z_asym_matched
TH2 * m_vx_hs_truth_z_pull_vs_PU
TH1 * m_vx_ntracks_ALL_split
TH1 * m_vx_chi2Over_ndf_merged
TH2 * m_vx_hs_truth_x_pull_vs_nTrk
TH1 * m_vx_normalised_track_weight_merged
TEfficiency * m_vx_hs_sel_eff_mu
TH1 * m_vx_z_asym_ALL_merged
TH1 * m_vx_z_asym_weighted_split
TH1 * m_vx_normalised_track_weight_ALL_merged
TH1 * m_vx_z0_kurtosis_merged
TEfficiency * m_vx_hs_sel_eff_dist_vs_nReco
TH2 * m_vx_all_truth_x_pull_vs_nTrk
TH1 * m_vx_track_weight_ALL_matched
float getRadialDiff2(const U *vtx1, const V *vtx2) const
TH2 * m_vx_all_truth_y_pull_vs_nTrk
TProfile * m_vx_nReco_vs_nTruth_matched
TH1 * m_resmean_vs_PUdensity_hsVxTruthTransv
TProfile * m_vx_nReco_vs_nTruth_clean
TH1 * m_resolution_vs_PUdensity_hsVxTruthTransv
TEfficiency * m_vx_hs_reco_sel_eff_vs_ntruth
TH1 * m_vx_sumpT_ALL_split
TH1 * m_vx_time_diff_pull
TH1 * m_vx_z_asym_ALL_matched
TH2 * m_vx_hs_truth_y_res_vs_nTrk
TH1 * m_vx_z_asym_ALL_split
TH2 * m_resHelper_PUdensity_hsVxTruthLong
const xAOD::TruthVertex * getTruthVertex(const xAOD::Vertex *recoVtx) const
InDetPerfPlot_VertexTruthMatching(InDetPlotBase *pParent, const std::string &dirName, const int detailLevel=10, bool isITk=false)
TH1 * m_vx_z_asym_HS_merged
TH1 * m_vx_sumpT_HS_split
TH1 * m_vx_z0_kurtosis_HS_matched
TH1 * m_vx_z0_kurtosis_HS_merged
TH1 * m_vx_track_weight_split
TH1 * m_vx_z0_skewness_ALL_split
TH2 * m_vx_nTruth_vs_PUdensity
TH1 * m_vx_z0_kurtosis_ALL_merged
TH1 * m_vx_chi2Over_ndf_HS_matched
TH1 * m_vx_nVertices_HS_matched
TH1 * m_vx_nVertices_HS_fake
TEfficiency * m_vx_hs_sel_eff
TH1 * m_vx_ntracks_matched
TH1 * m_vx_z_asym_weighted_ALL_split
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
TruthVertex_v1 TruthVertex
Typedef to implementation.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.