From 72a725f138da50093e55f91f4837a03846a9b89f Mon Sep 17 00:00:00 2001
From: David Shope <david.richard.shope@cern.ch>
Date: Tue, 28 Aug 2018 22:32:06 +0200
Subject: [PATCH] Add track smearing configuration for MC subcampaigns matching
 2017 data

Former-commit-id: fec4f349351b8e365fd2fa5533f98df59fa86bc2
---
 .../InDetTrackSmearingTool.h                  |  1 +
 .../Root/InDetTrackSmearingTool.cxx           | 21 +++++++++++++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h
index faf05180e5d..e9b231a4f35 100644
--- a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h
+++ b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h
@@ -101,6 +101,7 @@ namespace InDet {
     
     std::string m_calibFileIP_lowpt;
     std::string m_calibFileIP_highpt;
+    std::string m_MCSubcampaign;
      
   }; /// class InDetTrackSmearingTool
 
diff --git a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/InDetTrackSmearingTool.cxx b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/InDetTrackSmearingTool.cxx
index f4455edba8e..efe8ab4f88d 100644
--- a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/InDetTrackSmearingTool.cxx
+++ b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/InDetTrackSmearingTool.cxx
@@ -58,11 +58,12 @@ namespace InDet {
 
     declareProperty("Seed", m_seed);
 
-    declareProperty("calibFileD0Dead", m_calibFileD0Dead = "InDetTrackSystematicsTools/CalibData_21.2_2018-v17/res_diff_d0_vs_pt.hist.root");
-    declareProperty("calibFileZ0Dead", m_calibFileZ0Dead = "InDetTrackSystematicsTools/CalibData_21.2_2018-v17/res_diff_z0_vs_pt.hist.root");
+    declareProperty("calibFileD0Dead", m_calibFileD0Dead = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/res_diff_d0_vs_pt.hist.root");
+    declareProperty("calibFileZ0Dead", m_calibFileZ0Dead = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/res_diff_z0_vs_pt.hist.root");
 
-    declareProperty("calibFileIP_lowpt", m_calibFileIP_lowpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v17/trackIPAlign_dec2017.root");
-    declareProperty("calibFileIP_highpt", m_calibFileIP_highpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v17/trackIPAlignTight.root");
+    declareProperty("calibFileIP_lowpt", m_calibFileIP_lowpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/trackIPAlign_dec2017.root");
+    declareProperty("calibFileIP_highpt", m_calibFileIP_highpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/trackIPAlignTight.root");
+    declareProperty("MCSubcampaign", m_MCSubcampaign = "MC16a");
   }
     
 
@@ -71,6 +72,18 @@ namespace InDet {
     // Greet the user:
     ATH_MSG_INFO( "Initializing..." );
     
+    // use a different highpt smearing map depending on the MC sub-campaign
+    if (m_MCSubcampaign == "MC16a") {
+      ATH_MSG_INFO( "Using MC16a smearing map configuration" );
+      m_calibFileIP_highpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/trackIPAlignTight.root";
+    } else if (m_MCSubcampaign == "MC16c" || m_MCSubcampaign == "MC16d") {
+      ATH_MSG_INFO( "Using MC16c/d smearing map configuration" );
+      m_calibFileIP_highpt = "InDetTrackSystematicsTools/CalibData_21.2_2018-v19/trackIPAlignTight2017.root";
+    } else {
+      ATH_MSG_ERROR( "Unrecognized MCSubcampaign" );
+      return StatusCode::FAILURE;
+    }
+
     ATH_CHECK( initObject<TH1>(m_smearD0Dead, m_calibFileD0Dead, "res_pt_d0_0") );
     ATH_CHECK( initObject<TH1>(m_smearZ0Dead, m_calibFileZ0Dead, "res_pt_z0_0") );
 
-- 
GitLab