From 35a1509b2de8798200e28e22818380975904dff6 Mon Sep 17 00:00:00 2001
From: Maximilian Goblirsch-Kolb <goblirsc@cern.ch>
Date: Tue, 15 Dec 2020 11:38:56 +0100
Subject: [PATCH] Modify IDPVM efficiency histo ranges, add extra

---
 .../share/InDetPVMPlotDefCommon.xml            | 18 +++++++++++++++---
 .../src/InDetPerfPlot_Efficiency.cxx           | 11 ++++++++++-
 .../src/InDetPerfPlot_Efficiency.h             |  3 +++
 3 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
index 8a3e04e69276..91db4d14cd2d 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
@@ -630,6 +630,10 @@
   <x title="p_{T} [GeV]" n="25" lo="0" hi="50"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
+<h id="efficiency_vs_pt_high" type="TEfficiency" title="Fraction of reco-matched truth track">
+  <x title="p_{T} [GeV]" n="29" lo="50" hi="1500"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
 <h id="efficiency_vs_pt_low" type="TEfficiency" title="Fraction of reco-matched truth track">
   <x title="p_{T} [GeV]" n="52" lo="0.4" hi="3"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
@@ -639,7 +643,7 @@
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="efficiency_vs_d0" type="TEfficiency" title="Fraction of reco-matched truth track">
-  <x title="d_{0} [mm]" n="100" lo="-25" hi="25"/>
+  <x title="d_{0} [mm]" n="80" lo="-10" hi="10"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="efficiency_vs_z0" type="TEfficiency" title="Fraction of reco-matched truth track">
@@ -663,11 +667,19 @@
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="efficiency_vs_prodR" type="TEfficiency" title="Track Efficiency vs Production Vertex Radius">
-  <x title="prod_R [mm]" n="100" lo="0" hi="1500"/>
+  <x title="prod_R [mm]" n="65" lo="0" hi="650"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="efficiency_vs_prodR_extended" type="TEfficiency" title="Track Efficiency vs Production Vertex Radius">
+  <x title="prod_R [mm]" n="40" lo="0" hi="1200"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="efficiency_vs_prodZ" type="TEfficiency" title="Track Efficiency vs Production Vertex Z">
-  <x title="prod_Z [mm]" n="100" lo="0" hi="2000"/>
+  <x title="prod_Z [mm]" n="50" lo="0" hi="300"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="efficiency_vs_prodZ_extended" type="TEfficiency" title="Track Efficiency vs Production Vertex Z">
+  <x title="prod_Z [mm]" n="40" lo="0" hi="1000"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <!-- Fake rate plots -->
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.cxx
index e62298d7631a..66bed68a4bcf 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.cxx
@@ -15,6 +15,7 @@ InDetPerfPlot_Efficiency::InDetPerfPlot_Efficiency(InDetPlotBase* pParent, const
   m_efficiency_vs_eta{},
   m_efficiency_vs_pt{},
   m_efficiency_vs_pt_low{},
+  m_efficiency_vs_pt_high{},
   m_efficiency_vs_phi{},
   m_efficiency_vs_d0{},
   m_efficiency_vs_z0{},
@@ -23,7 +24,9 @@ InDetPerfPlot_Efficiency::InDetPerfPlot_Efficiency(InDetPlotBase* pParent, const
   m_extended_efficiency_vs_d0{},
   m_extended_efficiency_vs_z0{},
   m_efficiency_vs_prodR{},
-  m_efficiency_vs_prodZ{} {
+  m_efficiency_vs_prodR_extended{},
+  m_efficiency_vs_prodZ{},
+  m_efficiency_vs_prodZ_extended{} {
   // nop
 }
 
@@ -33,6 +36,7 @@ InDetPerfPlot_Efficiency::initializePlots() {
   book(m_efficiency_vs_eta, "efficiency_vs_eta");
   book(m_efficiency_vs_pt, "efficiency_vs_pt");
   book(m_efficiency_vs_pt_low, "efficiency_vs_pt_low");
+  book(m_efficiency_vs_pt_high, "efficiency_vs_pt_high");
   book(m_efficiency_vs_phi, "efficiency_vs_phi");
   book(m_efficiency_vs_d0, "efficiency_vs_d0");
   book(m_efficiency_vs_z0, "efficiency_vs_z0");
@@ -42,7 +46,9 @@ InDetPerfPlot_Efficiency::initializePlots() {
   book(m_extended_efficiency_vs_d0, "extended_efficiency_vs_d0");
   book(m_extended_efficiency_vs_z0, "extended_efficiency_vs_z0");
   book(m_efficiency_vs_prodR, "efficiency_vs_prodR");
+  book(m_efficiency_vs_prodR_extended, "efficiency_vs_prodR_extended");
   book(m_efficiency_vs_prodZ, "efficiency_vs_prodZ");
+  book(m_efficiency_vs_prodZ_extended, "efficiency_vs_prodZ_extended");
 
 }
 
@@ -55,6 +61,7 @@ InDetPerfPlot_Efficiency::fill(const xAOD::TruthParticle& truth, const bool isGo
   fillHisto(m_efficiency_vs_eta, eta, isGood);
   fillHisto(m_efficiency_vs_pt, pt, isGood);
   fillHisto(m_efficiency_vs_pt_low, pt, isGood);
+  fillHisto(m_efficiency_vs_pt_high, pt, isGood);
   fillHisto(m_efficiency_vs_phi, phi, isGood);
 
   double d0 = truth.auxdata<float>("d0");
@@ -73,7 +80,9 @@ InDetPerfPlot_Efficiency::fill(const xAOD::TruthParticle& truth, const bool isGo
     double prod_rad = vtx->perp();
     double prod_z = vtx->z();
     fillHisto(m_efficiency_vs_prodR, prod_rad, isGood);
+    fillHisto(m_efficiency_vs_prodR_extended, prod_rad, isGood);
     fillHisto(m_efficiency_vs_prodZ, prod_z, isGood);
+    fillHisto(m_efficiency_vs_prodZ_extended, prod_z, isGood);
   }
 }
 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.h
index e075aedf929f..b03ded92b8d4 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Efficiency.h
@@ -34,6 +34,7 @@ private:
   TEfficiency* m_efficiency_vs_eta;
   TEfficiency* m_efficiency_vs_pt;
   TEfficiency* m_efficiency_vs_pt_low;
+  TEfficiency* m_efficiency_vs_pt_high;
   TEfficiency* m_efficiency_vs_phi;
   TEfficiency* m_efficiency_vs_d0;
   TEfficiency* m_efficiency_vs_z0;
@@ -43,7 +44,9 @@ private:
   TEfficiency* m_extended_efficiency_vs_d0;
   TEfficiency* m_extended_efficiency_vs_z0;
   TEfficiency* m_efficiency_vs_prodR;
+  TEfficiency* m_efficiency_vs_prodR_extended;
   TEfficiency* m_efficiency_vs_prodZ;
+  TEfficiency* m_efficiency_vs_prodZ_extended;
 
   // plot base has nop default implementation of this; we use it to book the histos
   void initializePlots();
-- 
GitLab