From 5fdd2eadac96da36a82c349041c954171f54fe4f Mon Sep 17 00:00:00 2001 From: Helen Maguire <helen.maguire@cern.ch> Date: Tue, 6 Jul 2021 16:59:33 +0200 Subject: [PATCH] 060721 committing changes before tryin to pull from upstream to get latest working --- .../share/InDetPVMPlotDefCommon.xml | 144 ++++++++++++++++++ .../src/InDetPerfPlot_VertexTruthMatching.cxx | 142 ++++++++++++++++- .../src/InDetPerfPlot_VertexTruthMatching.h | 40 +++++ 3 files changed, 321 insertions(+), 5 deletions(-) diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml index d94cfff04250..09f3b2d13927 100644 --- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml +++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml @@ -1859,6 +1859,150 @@ <x title="#sigma(d_{0}) (mm) PU vertices" n="100" lo="0" hi="1"/> <y title="Entries" /> </h> +<h id="vx_track_z0_ALL_matched_vs_track_pt" type="TH2" title="Track z0 - vertex z0 matched vertices "> + <x title="Track z0 - vertex z0 ALL" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_ALL_merged_vs_track_pt" type="TH2" title="Track z0 - vertex z0 merged vertices "> + <x title="Track z0 - vertex z0 ALL" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_ALL_split_vs_track_pt" type="TH2" title="Track z0 - vertex z0 split vertices "> + <x title="Track z0 - vertex z0 ALL" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_HS_matched_vs_track_pt" type="TH2" title="Track z0 - vertex z0 HS matched vertices "> + <x title="Track z0 - vertex z0 HS" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_HS_merged_vs_track_pt" type="TH2" title="Track z0 - vertex z0 HS merged vertices "> + <x title="Track z0 - vertex z0 HS" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_HS_split_vs_track_pt" type="TH2" title="Track z0 - vertex z0 HS split vertices "> + <x title="Track z0 - vertex z0 HS" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="100" /> +</h> +<h id="vx_track_z0_matched_vs_track_pt" type="TH2" title="Track z0 - vertex z0 PU matched vertices "> + <x title="Track z0 - vertex z0 PU" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="25" /> +</h> +<h id="vx_track_z0_merged_vs_track_pt" type="TH2" title="Track z0 - vertex z0 PU merged vertices "> + <x title="Track z0 - vertex z0 PU" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="25" /> +</h> +<h id="vx_track_z0_split_vs_track_pt" type="TH2" title="Track z0 - vertex z0 PU split vertices "> + <x title="Track z0 - vertex z0 PU" n="100" lo="-3.5" hi="3.5"/> + <y title= "Track Pt (GeV)" n= "100" lo ="0" hi="25" /> +</h> +<h id="vx_track_d0_ALL_matched_vs_track_pt" type="TH2" title="Track d0 for matched vertices above sumPt > 20Gev"> + <x title="Track d0 ALL (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_ALL_merged_vs_track_pt" type="TH2" title="Track d0 for merged vertices above sumPt > 20Gev"> + <x title="Track d0 ALL (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_ALL_split_vs_track_pt" type="TH2" title="Track d0 for split vertices above sumPt > 20Gev"> + <x title="Track d0 ALL (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_HS_matched_vs_track_pt" type="TH2" title="Track d0 for HS matched vertices "> + <x title="Track d0 HS (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_HS_merged_vs_track_pt" type="TH2" title="Track d0 for HS merged vertices "> + <x title="Track d0 HS (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_HS_split_vs_track_pt" type="TH2" title="Track d0 for HS split vertices "> + <x title="Track d0 HS (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_matched_vs_track_pt" type="TH2" title="Track d0 for PU matched vertices "> + <x title="Track d0 PU (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_d0_merged_vs_track_pt" type="TH2" title="Track d0 for PU merged vertices "> + <x title="Track d0 PU (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_d0_split_vs_track_pt" type="TH2" title="Track d0 for PU split vertices "> + <x title="Track d0 PU (mm)" n="100" lo="-2.0" hi="2.0"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_z0_err_ALL_matched_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err matched vertices above sumPt > 20Gev"> + <x title="#sigma(z_{0}) (mm) ALL vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_ALL_merged_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err merged vertices above sumPt > 20Gev"> + <x title="#sigma(z_{0}) (mm) ALL vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_ALL_split_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err split vertices above sumPt > 20Gev"> + <x title="#sigma(z_{0}) (mm) ALL vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_HS_matched_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err HS matched vertices "> + <x title="#sigma(z_{0}) (mm) HS vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_HS_merged_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err HS merged vertices "> + <x title="#sigma(z_{0}) (mm) HS vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_HS_split_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err HS split vertices "> + <x title="#sigma(z_{0}) (mm) HS vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_z0_err_matched_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err PU matched vertices "> + <x title="#sigma(z_{0}) (mm) PU vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_z0_err_merged_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err PU merged vertices "> + <x title="#sigma(z_{0}) (mm) PU vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_z0_err_split_vs_track_pt" type="TH2" title="(Track z0 - vertex z0) over z_err PU split vertices "> + <x title="#sigma(z_{0}) (mm) PU vertices" n="100" lo="0" hi="5"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_d0_err_ALL_matched_vs_track_pt" type="TH2" title="Track d0 over d0_err for matched vertices above sumPt > 20Gev "> + <x title="#sigma(d_{0}) (mm) ALL vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_ALL_merged_vs_track_pt" type="TH2" title="Track d0 over d0_err for merged vertices above sumPt > 20Gev"> + <x title="#sigma(d_{0}) (mm) ALL vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_ALL_split_vs_track_pt" type="TH2" title="Track d0 over d0_err for split vertices above sumPt > 20Gev"> + <x title="#sigma(d_{0}) (mm) ALL vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_HS_matched_vs_track_pt" type="TH2" title="Track d0 over d0_err for HS matched vertices "> + <x title="#sigma(d_{0}) (mm) HS vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_HS_merged_vs_track_pt" type="TH2" title="Track d0 over d0_err for HS merged vertices "> + <x title="#sigma(d_{0}) (mm) HS vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_HS_split_vs_track_pt" type="TH2" title="Track d0 over d0_err for HS split vertices "> + <x title="#sigma(d_{0}) (mm) HS vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="150" /> +</h> +<h id="vx_track_d0_err_matched_vs_track_pt" type="TH2" title="Track d0 over d0_err for PU matched vertices "> + <x title="#sigma(d_{0}) (mm) PU vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_d0_err_merged_vs_track_pt" type="TH2" title="Track d0 over d0_err for PU merged vertices "> + <x title="#sigma(d_{0}) (mm) PU vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> +<h id="vx_track_d0_err_split_vs_track_pt" type="TH2" title="Track d0 over d0_err for PU split vertices "> + <x title="#sigma(d_{0}) (mm) PU vertices" n="100" lo="0" hi="1"/> + <y title= "Track Pt (GeV)" n= "50" lo ="0" hi="50" /> +</h> <!-- --> <!-- Bad Match Rate (BMR) plots --> <h id="BadMatchRate" type="TProfile" title="Fraction of Tracks with < 80% Truth Matching Probability"> diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.cxx index 8a60eeea552c..76d7701d8642 100644 --- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.cxx +++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.cxx @@ -317,7 +317,47 @@ InDetPerfPlot_VertexTruthMatching::InDetPerfPlot_VertexTruthMatching(InDetPlotBa m_vx_track_d0_err_HS_split(nullptr), m_vx_track_d0_err_matched(nullptr), m_vx_track_d0_err_merged(nullptr), - m_vx_track_d0_err_split(nullptr) + m_vx_track_d0_err_split(nullptr), + + m_vx_track_z0_ALL_matched_vs_track_pt(nullptr), + m_vx_track_z0_ALL_merged_vs_track_pt(nullptr), + m_vx_track_z0_ALL_split_vs_track_pt(nullptr), + m_vx_track_z0_HS_matched_vs_track_pt(nullptr), + m_vx_track_z0_HS_merged_vs_track_pt(nullptr), + m_vx_track_z0_HS_split_vs_track_pt(nullptr), + m_vx_track_z0_matched_vs_track_pt(nullptr), + m_vx_track_z0_merged_vs_track_pt(nullptr), + m_vx_track_z0_split_vs_track_pt(nullptr), + + m_vx_track_d0_ALL_matched_vs_track_pt(nullptr), + m_vx_track_d0_ALL_merged_vs_track_pt(nullptr), + m_vx_track_d0_ALL_split_vs_track_pt(nullptr), + m_vx_track_d0_HS_matched_vs_track_pt(nullptr), + m_vx_track_d0_HS_merged_vs_track_pt(nullptr), + m_vx_track_d0_HS_split_vs_track_pt(nullptr), + m_vx_track_d0_matched_vs_track_pt(nullptr), + m_vx_track_d0_merged_vs_track_pt(nullptr), + m_vx_track_d0_split_vs_track_pt(nullptr), + + m_vx_track_z0_err_ALL_matched_vs_track_pt(nullptr), + m_vx_track_z0_err_ALL_merged_vs_track_pt(nullptr), + m_vx_track_z0_err_ALL_split_vs_track_pt(nullptr), + m_vx_track_z0_err_HS_matched_vs_track_pt(nullptr), + m_vx_track_z0_err_HS_merged_vs_track_pt(nullptr), + m_vx_track_z0_err_HS_split_vs_track_pt(nullptr), + m_vx_track_z0_err_matched_vs_track_pt(nullptr), + m_vx_track_z0_err_merged_vs_track_pt(nullptr), + m_vx_track_z0_err_split_vs_track_pt(nullptr), + + m_vx_track_d0_err_ALL_matched_vs_track_pt(nullptr), + m_vx_track_d0_err_ALL_merged_vs_track_pt(nullptr), + m_vx_track_d0_err_ALL_split_vs_track_pt(nullptr), + m_vx_track_d0_err_HS_matched_vs_track_pt(nullptr), + m_vx_track_d0_err_HS_merged_vs_track_pt(nullptr), + m_vx_track_d0_err_HS_split_vs_track_pt(nullptr), + m_vx_track_d0_err_matched_vs_track_pt(nullptr), + m_vx_track_d0_err_merged_vs_track_pt(nullptr), + m_vx_track_d0_err_split_vs_track_pt(nullptr) @@ -592,6 +632,16 @@ void InDetPerfPlot_VertexTruthMatching::initializePlots() { book(m_vx_pt_kurtosis_ALL_split,"vx_pt_kurtosis_ALL_split"); book(m_vx_pt_kurtosis_ALL_fake,"vx_pt_kurtosis_ALL_fake"); + book(m_vx_nVertices_ALL_matched,"vx_nVertices_ALL_matched"); + book(m_vx_nVertices_ALL_merged,"vx_nVertices_ALL_merged"); + book(m_vx_nVertices_ALL_split,"vx_nVertices_ALL_split"); + book(m_vx_nVertices_HS_matched,"vx_nVertices_HS_matched"); + book(m_vx_nVertices_HS_merged,"vx_nVertices_HS_merged"); + book(m_vx_nVertices_HS_split,"vx_nVertices_HS_split"); + book(m_vx_nVertices_matched,"vx_nVertices_matched"); + book(m_vx_nVertices_merged,"vx_nVertices_merged"); + book(m_vx_nVertices_split, "vx_nVertices_split"); + book(m_vx_track_z0_ALL_matched,"vx_track_z0_ALL_matched"); book(m_vx_track_z0_ALL_merged,"vx_track_z0_ALL_merged"); book(m_vx_track_z0_ALL_split,"vx_track_z0_ALL_split"); @@ -632,6 +682,46 @@ void InDetPerfPlot_VertexTruthMatching::initializePlots() { book(m_vx_track_d0_err_merged,"vx_track_d0_err_merged"); book(m_vx_track_d0_err_split, "vx_track_d0_err_split"); + book(m_vx_track_z0_ALL_matched_vs_track_pt,"vx_track_z0_ALL_matched_vs_track_pt"); + book(m_vx_track_z0_ALL_merged_vs_track_pt,"vx_track_z0_ALL_merged_vs_track_pt"); + book(m_vx_track_z0_ALL_split_vs_track_pt,"vx_track_z0_ALL_split_vs_track_pt"); + book(m_vx_track_z0_HS_matched_vs_track_pt,"vx_track_z0_HS_matched_vs_track_pt"); + book(m_vx_track_z0_HS_merged_vs_track_pt,"vx_track_z0_HS_merged_vs_track_pt"); + book(m_vx_track_z0_HS_split_vs_track_pt,"vx_track_z0_HS_split_vs_track_pt"); + book(m_vx_track_z0_matched_vs_track_pt,"vx_track_z0_matched_vs_track_pt"); + book(m_vx_track_z0_merged_vs_track_pt,"vx_track_z0_merged_vs_track_pt"); + book(m_vx_track_z0_split_vs_track_pt, "vx_track_z0_split_vs_track_pt"); + + book(m_vx_track_d0_ALL_matched_vs_track_pt,"vx_track_d0_ALL_matched_vs_track_pt"); + book(m_vx_track_d0_ALL_merged_vs_track_pt,"vx_track_d0_ALL_merged_vs_track_pt"); + book(m_vx_track_d0_ALL_split_vs_track_pt,"vx_track_d0_ALL_split_vs_track_pt"); + book(m_vx_track_d0_HS_matched_vs_track_pt,"vx_track_d0_HS_matched_vs_track_pt"); + book(m_vx_track_d0_HS_merged_vs_track_pt,"vx_track_d0_HS_merged_vs_track_pt"); + book(m_vx_track_d0_HS_split_vs_track_pt,"vx_track_d0_HS_split_vs_track_pt"); + book(m_vx_track_d0_matched_vs_track_pt,"vx_track_d0_matched_vs_track_pt"); + book(m_vx_track_d0_merged_vs_track_pt,"vx_track_d0_merged_vs_track_pt"); + book(m_vx_track_d0_split_vs_track_pt, "vx_track_d0_split_vs_track_pt"); + + book(m_vx_track_z0_err_ALL_matched_vs_track_pt,"vx_track_z0_err_ALL_matched_vs_track_pt"); + book(m_vx_track_z0_err_ALL_merged_vs_track_pt,"vx_track_z0_err_ALL_merged_vs_track_pt"); + book(m_vx_track_z0_err_ALL_split_vs_track_pt,"vx_track_z0_err_ALL_split_vs_track_pt"); + book(m_vx_track_z0_err_HS_matched_vs_track_pt,"vx_track_z0_err_HS_matched_vs_track_pt"); + book(m_vx_track_z0_err_HS_merged_vs_track_pt,"vx_track_z0_err_HS_merged_vs_track_pt"); + book(m_vx_track_z0_err_HS_split_vs_track_pt,"vx_track_z0_err_HS_split_vs_track_pt"); + book(m_vx_track_z0_err_matched_vs_track_pt,"vx_track_z0_err_matched_vs_track_pt"); + book(m_vx_track_z0_err_merged_vs_track_pt,"vx_track_z0_err_merged_vs_track_pt"); + book(m_vx_track_z0_err_split_vs_track_pt, "vx_track_z0_err_split_vs_track_pt"); + + book(m_vx_track_d0_err_ALL_matched_vs_track_pt,"vx_track_d0_err_ALL_matched_vs_track_pt"); + book(m_vx_track_d0_err_ALL_merged_vs_track_pt,"vx_track_d0_err_ALL_merged_vs_track_pt"); + book(m_vx_track_d0_err_ALL_split_vs_track_pt,"vx_track_d0_err_ALL_split_vs_track_pt"); + book(m_vx_track_d0_err_HS_matched_vs_track_pt,"vx_track_d0_err_HS_matched_vs_track_pt"); + book(m_vx_track_d0_err_HS_merged_vs_track_pt,"vx_track_d0_err_HS_merged_vs_track_pt"); + book(m_vx_track_d0_err_HS_split_vs_track_pt,"vx_track_d0_err_HS_split_vs_track_pt"); + book(m_vx_track_d0_err_matched_vs_track_pt,"vx_track_d0_err_matched_vs_track_pt"); + book(m_vx_track_d0_err_merged_vs_track_pt,"vx_track_d0_err_merged_vs_track_pt"); + book(m_vx_track_d0_err_split_vs_track_pt, "vx_track_d0_err_split_vs_track_pt"); + } } @@ -845,6 +935,14 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex // Best reco HS vertex identified via truth HS weights const xAOD::Vertex* bestRecoHSVtx_truth = InDetVertexTruthMatchUtils::bestHardScatterMatch(vertexContainer); + // add code to add protection against non-identified reconstructed HS vertex to avoid crashes in samples with low track multiplicity HS vertex + if (!bestRecoHSVtx_truth){ + ATH_MSG_INFO("No bestRecoHS vertex - not filling vertex truth matching."); + return; + } + + + // Did we correctly select the best reco HS vertex using sumpt2? truthVtx = getTruthVertex(bestRecoHSVtx_sumpt2); if (!truthVtx){ @@ -961,6 +1059,7 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex const xAOD::TrackParticle* trackTmp = nullptr; float sumPt =0; + float trackPt = 0; float sum_dD =0; // get the charge associated with each track @@ -985,6 +1084,7 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex // std::cout << "loop over tracks helenmaguire"; for (size_t i = 0; i < vertex->nTrackParticles(); i++) { trackTmp = vertex->trackParticle(i); + trackPt = trackTmp->pt() / Gaudi::Units::GeV; deltaZ = trackTmp->z0() - vertex->z(); deltaD = trackTmp->d0(); const xAOD::ParametersCovMatrix_t covTrk = trackTmp->definingParametersCovMatrix(); @@ -998,6 +1098,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_HS_matched, deltaD); fillHisto(m_vx_track_z0_err_HS_matched,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_HS_matched, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_HS_matched_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_HS_matched_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_HS_matched_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_HS_matched_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::MERGED: { @@ -1005,6 +1109,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_HS_merged, deltaD); fillHisto(m_vx_track_z0_err_HS_merged,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_HS_merged, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_HS_merged_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_HS_merged_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_HS_merged_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_HS_merged_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::SPLIT: { @@ -1012,6 +1120,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_HS_split, deltaD); fillHisto(m_vx_track_z0_err_HS_split,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_HS_split, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_HS_split_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_HS_split_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_HS_split_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_HS_split_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } default: { @@ -1027,6 +1139,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_matched, deltaD); fillHisto(m_vx_track_z0_err_matched,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_matched, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_matched_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_matched_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_matched_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_matched_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::MERGED: { @@ -1034,6 +1150,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_merged, deltaD); fillHisto(m_vx_track_z0_err_merged,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_merged, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_merged_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_merged_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_merged_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_merged_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::SPLIT: { @@ -1041,6 +1161,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_split, deltaD); fillHisto(m_vx_track_z0_err_split,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_split, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_split_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_split_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_split_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_split_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } default: { @@ -1059,6 +1183,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_ALL_matched, deltaD); fillHisto(m_vx_track_z0_err_ALL_matched,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_ALL_matched, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_ALL_matched_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_ALL_matched_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_ALL_matched_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_ALL_matched_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::MERGED: { @@ -1066,6 +1194,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_ALL_merged, deltaD); fillHisto(m_vx_track_z0_err_ALL_merged,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_ALL_merged, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_ALL_merged_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_ALL_merged_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_ALL_merged_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_ALL_merged_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } case InDetVertexTruthMatchUtils::VertexMatchType::SPLIT: { @@ -1073,6 +1205,10 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex fillHisto(m_vx_track_d0_ALL_split, deltaD); fillHisto(m_vx_track_z0_err_ALL_split,Amg::error(covTrk, 1)); fillHisto(m_vx_track_d0_err_ALL_split, Amg::error(covTrk, 0)); + fillHisto(m_vx_track_z0_ALL_split_vs_track_pt, deltaZ, trackPt); + fillHisto(m_vx_track_d0_ALL_split_vs_track_pt, deltaD, trackPt); + fillHisto(m_vx_track_z0_err_ALL_split_vs_track_pt,Amg::error(covTrk, 1), trackPt); + fillHisto(m_vx_track_d0_err_ALL_split_vs_track_pt, Amg::error(covTrk, 0), trackPt); break; } default: { @@ -1084,10 +1220,6 @@ void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertex - // in here add some more histos that count the deltaz on their own and not just sum deltaZ - //fillHisto(m_vx_track_z0_matched, deltaZ) - //etc - if (trackTmp) { sumPt = sumPt + trackTmp->pt(); diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.h index d154fccb1444..d862b86b1458 100644 --- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.h +++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_VertexTruthMatching.h @@ -367,6 +367,46 @@ private: TH1* m_vx_track_d0_err_merged; TH1* m_vx_track_d0_err_split; + TH2* m_vx_track_z0_ALL_matched_vs_track_pt; + TH2* m_vx_track_z0_ALL_merged_vs_track_pt; + TH2* m_vx_track_z0_ALL_split_vs_track_pt; + TH2* m_vx_track_z0_HS_matched_vs_track_pt; + TH2* m_vx_track_z0_HS_merged_vs_track_pt; + TH2* m_vx_track_z0_HS_split_vs_track_pt; + TH2* m_vx_track_z0_matched_vs_track_pt; + TH2* m_vx_track_z0_merged_vs_track_pt; + TH2* m_vx_track_z0_split_vs_track_pt; + + TH2* m_vx_track_d0_ALL_matched_vs_track_pt; + TH2* m_vx_track_d0_ALL_merged_vs_track_pt; + TH2* m_vx_track_d0_ALL_split_vs_track_pt; + TH2* m_vx_track_d0_HS_matched_vs_track_pt; + TH2* m_vx_track_d0_HS_merged_vs_track_pt; + TH2* m_vx_track_d0_HS_split_vs_track_pt; + TH2* m_vx_track_d0_matched_vs_track_pt; + TH2* m_vx_track_d0_merged_vs_track_pt; + TH2* m_vx_track_d0_split_vs_track_pt; + + TH2* m_vx_track_z0_err_ALL_matched_vs_track_pt; + TH2* m_vx_track_z0_err_ALL_merged_vs_track_pt; + TH2* m_vx_track_z0_err_ALL_split_vs_track_pt; + TH2* m_vx_track_z0_err_HS_matched_vs_track_pt; + TH2* m_vx_track_z0_err_HS_merged_vs_track_pt; + TH2* m_vx_track_z0_err_HS_split_vs_track_pt; + TH2* m_vx_track_z0_err_matched_vs_track_pt; + TH2* m_vx_track_z0_err_merged_vs_track_pt; + TH2* m_vx_track_z0_err_split_vs_track_pt; + + TH2* m_vx_track_d0_err_ALL_matched_vs_track_pt; + TH2* m_vx_track_d0_err_ALL_merged_vs_track_pt; + TH2* m_vx_track_d0_err_ALL_split_vs_track_pt; + TH2* m_vx_track_d0_err_HS_matched_vs_track_pt; + TH2* m_vx_track_d0_err_HS_merged_vs_track_pt; + TH2* m_vx_track_d0_err_HS_split_vs_track_pt; + TH2* m_vx_track_d0_err_matched_vs_track_pt; + TH2* m_vx_track_d0_err_merged_vs_track_pt; + TH2* m_vx_track_d0_err_split_vs_track_pt; + ///@} private: // plot base has no default implementation of this; we use it to book the histos -- GitLab