diff --git a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/InDetTrackSystematicsTools/InDetTrackSmearingTool.h
index faf05180e5df24284f672d71b9d649a0ecc0bca0..e9b231a4f35446e549e55b039c4dafb4053a86d9 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 f4455edba8e212d2f2bb703456316c69553cbb3e..efe8ab4f88dbf45971aa9da4c13975b0d1765432 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") );