diff --git a/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/Muons.cxx b/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/Muons.cxx
index e1e829699e615649557c3dab13303a16aecb6f65..9490220255523234ae6c7b8cb2c95684a5c9cbf8 100644
--- a/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/Muons.cxx
+++ b/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/Muons.cxx
@@ -121,8 +121,8 @@ StatusCode SUSYObjDef_xAOD::FillMuon(xAOD::Muon& input, float ptcut, float etacu
   dec_passSignalID(input) = false;
        
   // don't bother calibrating or computing WP
-  if ( input.pt() < 4e3 ) return StatusCode::SUCCESS;
-  
+  if ( input.pt() < 3e3 ) return StatusCode::SUCCESS;
+
   ATH_MSG_VERBOSE( "MUON pt before calibration " << input.pt() );
 
   ATH_MSG_VERBOSE( "MUON eta  = " << input.eta() );
@@ -272,8 +272,8 @@ bool SUSYObjDef_xAOD::IsHighPtMuon(const xAOD::Muon& input) const
 //     https://indico.cern.ch/event/397325/contribution/19/material/slides/0.pdf and 
 //     https://twiki.cern.ch/twiki/bin/view/Atlas/MuonSelectionTool
 {
-  if (input.pt() < 4e3){
-    ATH_MSG_DEBUG("No HighPt check supported for muons below 4GeV! False.");
+  if (input.pt() < 3e3){
+    ATH_MSG_DEBUG("No HighPt check supported for muons below 3GeV! False.");
     dec_passedHighPtCuts(input) = false;
     return false;
   }
@@ -387,6 +387,10 @@ bool SUSYObjDef_xAOD::IsCosmicMuon(const xAOD::Muon& input, float z0cut, float d
 
   if (isoSF) {
     float sf_iso(1.);
+    if ( mu.pt() < 4e3 ) {
+      ATH_MSG_WARNING( "Muon pt: " << mu.pt()/1000. << "! Isolation SF is not available for Muon pt < 4GeV. Falling back to SF = 1." );
+      return 1;
+    } 
     if (m_muonIsolationSFTool.empty()) {
       ATH_MSG_WARNING(" GetSignalMuonSF: Attempt to retrieve isolation SF for unsupported working point " << m_muIso_WP);
     } else {
@@ -406,6 +410,11 @@ bool SUSYObjDef_xAOD::IsCosmicMuon(const xAOD::Muon& input, float z0cut, float d
 double SUSYObjDef_xAOD::GetMuonTriggerEfficiency(const xAOD::Muon& mu, const std::string& trigExpr, const bool isdata) {
 
   double eff(1.);
+
+  if ( mu.pt() < 4e3 ) {
+    ATH_MSG_WARNING( "Muon pt: " << mu.pt()/1000. << "! Trigger Eff is not available for Muon pt < 4GeV. Falling back to Eff = 1." );
+    return 1;
+  } 
   if (m_muonTriggerSFTool->getTriggerEfficiency(mu, eff, trigExpr, isdata) != CP::CorrectionCode::Ok) {
     ATH_MSG_WARNING("Problem retrieving signal muon trigger efficiency for " << trigExpr );
   }
diff --git a/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/SUSYObjDef_xAOD.cxx b/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/SUSYObjDef_xAOD.cxx
index 0e6f0bad4d02cc384cb3bda40f2d244d1f466a69..c82ea6bfc97c88db9249ce75431623108a066708 100644
--- a/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/SUSYObjDef_xAOD.cxx
+++ b/PhysicsAnalysis/SUSYPhys/SUSYTools/Root/SUSYObjDef_xAOD.cxx
@@ -90,8 +90,6 @@ using namespace xAOD;
 
 SUSYObjDef_xAOD::SUSYObjDef_xAOD( const std::string& name )
   : asg::AsgMetadataTool( name ),
-    m_autoconfigPRW(false),
-    m_mcCampaign(""),
     m_dataSource(Undefined),
     m_jetInputType(xAOD::JetInput::Uncategorized),
     m_force_noElId(false),
@@ -122,6 +120,8 @@ SUSYObjDef_xAOD::SUSYObjDef_xAOD( const std::string& name )
     m_softTermParam(met::Random),
     m_treatPUJets(true),
     m_doPhiReso(true),
+    m_autoconfigPRW(false),
+    m_mcCampaign(""),
     m_muUncert(-99.),
     m_prwDataSF(1./1.03), // default for mc16, see: https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/ExtendedPileupReweighting#Tool_Properties
     m_prwDataSF_UP(1.), // old value for mc15 (mc16 uncertainties still missing)
@@ -472,6 +472,7 @@ SUSYObjDef_xAOD::SUSYObjDef_xAOD( const std::string& name )
   declareProperty( "mcCampaign",           m_mcCampaign );
   declareProperty( "PRWConfigFiles",       m_prwConfFiles );
   declareProperty( "PRWLumiCalcFiles",     m_prwLcalcFiles );
+  declareProperty( "PRWActualMuFile",      m_prwActualMuFile );
   declareProperty( "PRWMuUncertainty",     m_muUncert); // = 0.2);
   declareProperty( "PRWDataScaleFactor",   m_prwDataSF);
   declareProperty( "PRWDataScaleFactorUP", m_prwDataSF_UP);
@@ -714,89 +715,78 @@ StatusCode SUSYObjDef_xAOD::initialize() {
 }
 
 StatusCode SUSYObjDef_xAOD::autoconfigurePileupRWTool() {
-  // doing here some black magic to autoconfigure the pileup reweighting tool
-  std::string prwConfigFile = "";
+
+  std::string prwConfigFile("");
   if ( !isData() && m_autoconfigPRW ) {
-    prwConfigFile = PathResolverFindCalibDirectory("dev/SUSYTools/PRW_AUTOCONFIG/files/");
-    // ::
+
+    prwConfigFile = PathResolverFindCalibDirectory("dev/SUSYTools/PRW_AUTOCONFIG_SIM/files/");
     float dsid = -999;
-    std::string amiTag = "";
-    std::string mcCampaignMD = "";
+    std::string amiTag("");
+    std::string mcCampaignMD("");
+    std::string simType("");
     const xAOD::FileMetaData* fmd = 0;
-    if( inputMetaStore()->contains<xAOD::FileMetaData>("FileMetaData") && inputMetaStore()->retrieve(fmd,"FileMetaData").isSuccess() ) {
+
+    // let's use MetaData to extract sample information
+    if ( inputMetaStore()->contains<xAOD::FileMetaData>("FileMetaData") && inputMetaStore()->retrieve(fmd,"FileMetaData").isSuccess() ) {
       fmd->value(xAOD::FileMetaData::mcProcID, dsid);
       fmd->value(xAOD::FileMetaData::amiTag, amiTag);
-      if( amiTag.find("r9364")!=string::npos ) mcCampaignMD = "mc16a";
-      else if( amiTag.find("r9781")!=string::npos ) mcCampaignMD = "mc16c";
-      else if( amiTag.find("r10201")!=string::npos ) mcCampaignMD = "mc16d";
+      simType = ( amiTag.find("a875")!=string::npos ? "AFII" : "FS" );
+      if ( amiTag.find("r9364")!=string::npos ) mcCampaignMD = "mc16a";
+      else if ( amiTag.find("r9781")!=string::npos ) mcCampaignMD = "mc16c";
+      else if ( amiTag.find("r10201")!=string::npos ) mcCampaignMD = "mc16d";
       else {
-	ATH_MSG_ERROR( "autoconfigurePileupRWTool(): unrecognized xAOD::FileMetaData::amiTag, \'" << amiTag << "'. Please check your input sample and make sure it's mc16a, c or d. If it is, contact the Background Forum conveners." );
+	ATH_MSG_ERROR( "autoconfigurePileupRWTool(): unrecognized xAOD::FileMetaData::amiTag, \'" << amiTag << "'. Please check your input sample");
 	return StatusCode::FAILURE;
       }
     } else  {
 #ifndef XAOD_STANDALONE
-      ATH_MSG_ERROR( "autoconfigurePileupRWTool(): access to FileMetaData failed, can't get mc channel number -> please get in touch with the Background Forum conveners reporting what sample you're running over." );
+      ATH_MSG_ERROR( "autoconfigurePileupRWTool(): access to FileMetaData failed, can't get mc channel number.");
       return StatusCode::FAILURE;
 #else
+      // OK, this is a fall-back option without using MetaData but one has to manually set 'mcCampaign' property
       ATH_MSG_WARNING( "autoconfigurePileupRWTool(): access to FileMetaData failed -> getting the mc channel number (DSID) from the event store." );
       const xAOD::EventInfo* evtInfo = 0;
       ATH_CHECK( evtStore()->retrieve( evtInfo, "EventInfo" ) );
       dsid = evtInfo->mcChannelNumber();
+
+      if ( m_mcCampaign == "mc16a" || m_mcCampaign == "mc16c" || m_mcCampaign == "mc16d") { 
+        std::string NoMetadataButPropertyOK("");
+        NoMetadataButPropertyOK += "autoconfigurePileupRWTool(): 'mcCampaign' is used and passed to SUSYTools as '";
+        NoMetadataButPropertyOK += m_mcCampaign;
+        NoMetadataButPropertyOK += "'. Autocongiguring PRW accordingly.";
+        ATH_MSG_WARNING( NoMetadataButPropertyOK );
+        mcCampaignMD = m_mcCampaign;
+      } else {
+        ATH_MSG_ERROR( "autoconfigurePileupRWTool(): `mcCampaign' is not set properly.");
+        return StatusCode::FAILURE;
+      }
+
+      simType = (isAtlfast() ? "AFII" : "FS"); 
 #endif
     }
-    // ::
-    // Sanity checks
-    bool mc16X_GoodFromProperty = false;
-    bool mc16X_GoodFromMetadata = false;
-    if( m_mcCampaign == "mc16a" || m_mcCampaign == "mc16c" || m_mcCampaign == "mc16d") mc16X_GoodFromProperty = true;
-    if( mcCampaignMD == "mc16a" || mcCampaignMD == "mc16c" || mcCampaignMD == "mc16d") mc16X_GoodFromMetadata = true;
-    if( !mc16X_GoodFromMetadata && mc16X_GoodFromProperty ) {
-      // ::
-      std::string NoMetadataButPropertyOK("");
-      NoMetadataButPropertyOK += "autoconfigurePileupRWTool(): access to FileMetaData failed, but the 'mcCampaign' property is passed to SUSYTools as '";
-      NoMetadataButPropertyOK += m_mcCampaign;
-      NoMetadataButPropertyOK += "'. Autocongiguring PRW accordingly.";
-      ATH_MSG_WARNING( NoMetadataButPropertyOK );
-      mcCampaignMD = m_mcCampaign;
-      // ::
-    } else if ( mc16X_GoodFromProperty && mc16X_GoodFromMetadata && m_mcCampaign != mcCampaignMD ) {
-      // ::
-      std::string MetadataAndPropertyConflict("");
-      MetadataAndPropertyConflict += "autoconfigurePileupRWTool(): access to FileMetaData indicates a " + mcCampaignMD;
-      MetadataAndPropertyConflict += " sample, but the 'mcCampaign' property passed to SUSYTools is set to '" +m_mcCampaign;
-      MetadataAndPropertyConflict += "'. Prioritizing the value extracted from MetaData: PLEASE DOUBLE-CHECK the value you set the 'mcCampaign' property to!";
-      m_mcCampaign = mcCampaignMD;
-      ATH_MSG_WARNING( MetadataAndPropertyConflict );
-      // ::
-    } else if( !mc16X_GoodFromMetadata && !mc16X_GoodFromProperty ) {
-      // ::
-      std::string MetadataAndPropertyBAD("");
-      MetadataAndPropertyBAD += "autoconfigurePileupRWTool(): access to FileMetaData failed, but don't panic. You can try to manually set the 'mcCampaign' SUSYTools property to ";
-      MetadataAndPropertyBAD += "'mc16a', 'mc16c' or 'mc16d' and restart your job. If you set it to any other string, you will still incur in this error.";
-      ATH_MSG_ERROR( MetadataAndPropertyBAD );
-      return StatusCode::FAILURE;
-      // ::
-    }
-    // ::
+
     // Retrieve the input file
     int DSID_INT = (int) dsid;
-    prwConfigFile += "pileup_" + mcCampaignMD + "_dsid" + std::to_string(DSID_INT) + ".root";
+    prwConfigFile += "pileup_" + mcCampaignMD + "_dsid" + std::to_string(DSID_INT) + "_" + simType + ".root";
     TFile testF(prwConfigFile.data(),"read");
     if(testF.IsZombie()) {
-      ATH_MSG_WARNING( "autoconfigurePileupRWTool(): file not found -> " << prwConfigFile.data() << " ! Now trying with one of the background forum merged mc16 prw input files (it won't however work for signal samples!)." );
-      // ::
+      ATH_MSG_WARNING( "autoconfigurePileupRWTool(): file not found -> " << prwConfigFile.data() );
+      ATH_MSG_WARNING( "Now trying with one of the background forum merged mc16 prw input files (it won't however work for signal samples!)." );
       prwConfigFile = PathResolverFindCalibDirectory("dev/SUSYTools/");
       if ( mcCampaignMD == "mc16a" ) prwConfigFile += "merged_prw_mc16a_latest.root";
       // SOON TO BE // else if ( mcCampaignMD == "mc16c" ) prwConfigFile += '';
       // SOON TO BE // else if ( mcCampaignMD == "mc16d" ) prwConfigFile += '';
       TFile testF2(prwConfigFile.data(),"read");
       if(testF2.IsZombie()) {
-	ATH_MSG_ERROR( "autoconfigurePileupRWTool(): file not found -> " << prwConfigFile.data() << " ! Impossible to autocongigure PRW. Aborting." );
+	ATH_MSG_ERROR( "autoconfigurePileupRWTool(): file not found -> " << prwConfigFile.data() << " ! Impossible to autoconfigure PRW. Aborting." );
 	return StatusCode::FAILURE;
       }
     }
     m_prwConfFiles.clear();
     m_prwConfFiles.push_back( prwConfigFile );
+    if ( mcCampaignMD == "mc16c" || mcCampaignMD == "mc16d") { 
+      m_prwConfFiles.push_back( PathResolverFindCalibFile(m_prwActualMuFile) );
+    }
     ATH_MSG_INFO( "autoconfigurePileupRWTool(): configuring PRW tool using " << prwConfigFile.data() );
   }
   // Return gracefully
@@ -1181,6 +1171,7 @@ StatusCode SUSYObjDef_xAOD::readConfig()
   configFromFile(m_treatPUJets, "METSig.TreatPUJets", rEnv, true);
   configFromFile(m_doPhiReso, "METSig.DoPhiReso", rEnv, true);
   //
+  configFromFile(m_prwActualMuFile, "PRW.ActualMuFile", rEnv, "GoodRunsLists/data17_13TeV/20180309/physics_25ns_Triggerno17e33prim.actualMu.OflLumi-13TeV-010.root");
   configFromFile(m_muUncert, "PRW.MuUncertainty", rEnv, 0.2);
   //
   configFromFile(m_strictConfigCheck, "StrictConfigCheck", rEnv, false);
diff --git a/PhysicsAnalysis/SUSYPhys/SUSYTools/SUSYTools/SUSYObjDef_xAOD.h b/PhysicsAnalysis/SUSYPhys/SUSYTools/SUSYTools/SUSYObjDef_xAOD.h
index 389d914d61b82f09f10a1c57ae3fb610258d6373..0a84863ef77b628ea8357cf42985a8f5b0b5c3bb 100644
--- a/PhysicsAnalysis/SUSYPhys/SUSYTools/SUSYTools/SUSYObjDef_xAOD.h
+++ b/PhysicsAnalysis/SUSYPhys/SUSYTools/SUSYTools/SUSYObjDef_xAOD.h
@@ -425,9 +425,6 @@ namespace ST {
 
     std::vector<std::string> getElSFkeys(const std::string& mapFile) const;
 
-    bool m_autoconfigPRW;
-    std::string m_mcCampaign;
-
 #ifdef XAOD_STANDALONE // more convenient for property setting
     DataSource m_dataSource;
     xAOD::JetInput::Type m_jetInputType; // permit switching between LC, PFlow, EM jets
@@ -483,8 +480,13 @@ namespace ST {
     bool m_treatPUJets;
     bool m_doPhiReso;
 
+    bool m_autoconfigPRW;
+    std::string m_mcCampaign;
+
     std::vector<std::string> m_prwConfFiles;
     std::vector<std::string> m_prwLcalcFiles;
+    std::string m_prwActualMuFile;
+
     double m_muUncert;
     double m_prwDataSF;
     double m_prwDataSF_UP;
diff --git a/PhysicsAnalysis/SUSYPhys/SUSYTools/util/SUSYToolsTester.cxx b/PhysicsAnalysis/SUSYPhys/SUSYTools/util/SUSYToolsTester.cxx
index fd5e562f950e48e9dc9f4da1d1514bd0acb4fd78..bb4b858968b3b475c48778713e655f3a23d6b89c 100644
--- a/PhysicsAnalysis/SUSYPhys/SUSYTools/util/SUSYToolsTester.cxx
+++ b/PhysicsAnalysis/SUSYPhys/SUSYTools/util/SUSYToolsTester.cxx
@@ -132,7 +132,7 @@ int main( int argc, char* argv[] ) {
 
   /// READ CONFIG ------------
 
-  int autoconfigPRW = -1;
+  int autoconfigPRW = 1;
   int isData = -1;
   int isAtlfast = -1;
   int NoSyst = 1;
@@ -239,7 +239,7 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
     std::vector<std::string> myGRLs;
     myGRLs.push_back(PathResolverFindCalibFile("GoodRunsLists/data15_13TeV/20170619/physics_25ns_21.0.19.xml"));
     myGRLs.push_back(PathResolverFindCalibFile("GoodRunsLists/data16_13TeV/20180129/physics_25ns_21.0.19.xml"));
-    //myGRLs.push_back(PathResolverFindCalibFile("GoodRunsLists/data17_13TeV/20171130/physics_25ns_Triggerno17e33prim.xml"));
+    myGRLs.push_back(PathResolverFindCalibFile("GoodRunsLists/data17_13TeV/20180309/physics_25ns_Triggerno17e33prim.xml"));
 
     ANA_CHECK( m_grl.setProperty("GoodRunsListVec", myGRLs) );
     ANA_CHECK( m_grl.setProperty("PassThrough", false) );
@@ -271,7 +271,6 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
   ANA_CHECK( objTool.setProperty("DataSource", datasource) ) ;
   if(!config_file.empty())
     ANA_CHECK( objTool.setProperty("ConfigFile", config_file) );
-
   ANA_CHECK( objTool.setBoolProperty("METDoTrkSyst", true) );
   ANA_CHECK( objTool.setBoolProperty("METDoCaloSyst", false) );
 
@@ -281,29 +280,34 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
   ////       ****        AND SHOULD NOT BE USED FOR SERIOUS ANALYSIS          ****       ////
   ////                                                                                   ////
   ///////////////////////////////////////////////////////////////////////////////////////////
-  if ( autoconfigPRW != 1 ) {
-    std::vector<std::string> prw_conf;
+  std::vector<std::string> prw_conf;
+  if ( autoconfigPRW == 1 && !isAtlfast && !isData ) {
+    ANA_CHECK( objTool.setBoolProperty("AutoconfigurePRWTool", true) );
+  } else {
     if (prw_file == "DUMMY") {
       prw_conf.push_back("dev/SUSYTools/merged_prw_mc16a_latest.root");
-      //prw_conf.push_back("dev/SUSYTools/merged_prw_mc16c_latest.root");
-    }
-    else {
+    } else {
       prw_conf = getTokens(prw_file,",");
-      //    prw_conf.push_back(prw_file);
     }
     ANA_CHECK( objTool.setProperty("PRWConfigFiles", prw_conf) );
   }
 
+  bool is_201516 = true;
   std::vector<std::string> prw_lumicalc;
   if (ilumicalc_file == "DUMMY") {
-    prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data15_13TeV/20170619/PHYS_StandardGRL_All_Good_25ns_276262-284484_OflLumi-13TeV-008.root"));
-    prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_297730-311481_OflLumi-13TeV-009.root"));
-    //prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data17_13TeV/20171130/physics_25ns_Triggerno17e33prim.lumicalc.OflLumi-13TeV-001.root"));
-  }
-  else {
+    if (is_201516) {
+      ANA_CHECK( objTool.setProperty( "mcCampaign", "mc16a" ) );
+      prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data15_13TeV/20170619/PHYS_StandardGRL_All_Good_25ns_276262-284484_OflLumi-13TeV-008.root"));
+      prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_297730-311481_OflLumi-13TeV-009.root"));
+    } else {
+      ANA_CHECK( objTool.setProperty( "mcCampaign", "mc16d" ) );
+      prw_lumicalc.push_back(PathResolverFindCalibFile("GoodRunsLists/data17_13TeV/20180309/physics_25ns_Triggerno17e33prim.lumicalc.OflLumi-13TeV-010.root"));
+    }
+  } else {
     prw_lumicalc = getTokens(ilumicalc_file,",");
   }
   ANA_CHECK( objTool.setProperty("PRWLumiCalcFiles", prw_lumicalc) );
+
   ///////////////////////////////////////////////////////////////////////////////////////////
 
   //Guess shower type for btagging MC/MC SFs
@@ -321,12 +325,6 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
   if (debug) objTool.msg().setLevel( MSG::VERBOSE );
   ANA_CHECK(objTool.setBoolProperty("DebugMode", (bool)debug) );
 
-  // autoconfiguring PRW tool
-  if ( autoconfigPRW==1 ) {
-    objTool.setBoolProperty("AutoconfigurePRWTool", true);
-    //objTool.setProperty("mcCampaign", "mc16a");
-  }
-
   if ( objTool.initialize() != StatusCode::SUCCESS) {
     Error( APP_NAME, "Cannot initialize SUSYObjDef_xAOD..." );
     Error( APP_NAME, "Exiting... " );
@@ -1000,7 +998,8 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
       bool passTMtest = false;
 
       TString muTrig2015 = "HLT_mu20_iloose_L1MU15_OR_HLT_mu50"; //"HLT_mu18_mu8noL1"; //"HLT_mu20_iloose_L1MU15_OR_HLT_mu50";
-      TString muTrig2016 = "HLT_mu24_imedium"; //"HLT_mu20_mu8noL1";  //HLT_mu20_iloose_L1MU15_OR_HLT_mu50
+      TString muTrig2016 = "HLT_mu26_ivarmedium_OR_HLT_mu50";
+      TString muTrig2017 = "HLT_mu26_ivarmedium_OR_HLT_mu50";
 
       for (const auto& mu : *muons) {
         if ( mu->auxdata<char>("passOR") == 0  ) {
@@ -1031,8 +1030,10 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
           if(!isData){
             if(objTool.treatAsYear()==2015)
               passTMtest |= objTool.IsTrigMatched(mu, muTrig2015.Copy().ReplaceAll("_OR_","").Data());
-            else
+            else if(objTool.treatAsYear()==2016)
               passTMtest |= objTool.IsTrigMatched(mu, muTrig2016.Copy().ReplaceAll("_OR_","").Data());
+            else
+              passTMtest |= objTool.IsTrigMatched(mu, muTrig2017.Copy().ReplaceAll("_OR_","").Data());
           }
           else{
             passTMtest |= objTool.IsTrigMatched(mu, muTrig2016.Copy().ReplaceAll("_OR_","").Data());
@@ -1097,8 +1098,10 @@ est.pool.root",relN,(isData?"Data":"MC"),SUSYx);
           //std::cout << "MUON BEFORE SF = " << muonSF << "   " << objTool.treatAsYear() << "   "  << objTool.GetRandomRunNumber() << "    " <<  objTool.GetPileupWeight() << std::endl;
           if(objTool.treatAsYear()==2015)
             muonSF = objTool.GetTotalMuonSF(*muons, true, true, muTrig2015.Data());
-          else
+          else if(objTool.treatAsYear()==2016)
             muonSF = objTool.GetTotalMuonSF(*muons, true, true, muTrig2016.Data());
+          else
+            muonSF = objTool.GetTotalMuonSF(*muons, true, true, muTrig2017.Data());
 
           //std::cout << "MUON AFTER SF = " << muonSF << "   " << objTool.treatAsYear() << "   "  << objTool.GetRandomRunNumber() << "    " <<  objTool.GetPileupWeight() << std::endl;
         }