diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
index d2df0a36e6a31446f88642c2ce223e258395ae08..96ff5acb675efcaf060342b57fb541b055c7ac00 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /**    @file HLTTauMonTool.cxx
@@ -244,7 +244,6 @@ StatusCode HLTTauMonTool::init() {
     
     if(m_L1StringCondition=="allowResurrectedDecision") m_L1TriggerCondition=TrigDefs::Physics | TrigDefs::allowResurrectedDecision;
     if(m_HLTStringCondition=="allowResurrectedDecision") m_HLTTriggerCondition=TrigDefs::Physics | TrigDefs::allowResurrectedDecision;
-    ATH_CHECK( m_luminosityCondDataKey.initialize() );
 
     return StatusCode::SUCCESS;
 }
@@ -328,19 +327,18 @@ StatusCode HLTTauMonTool::fill() {
     m_mu_offline = avg_mu;
     ATH_MSG_DEBUG("offline mu "<<avg_mu);
   }
-  SG::ReadCondHandle<LuminosityCondData> lumiData (m_luminosityCondDataKey);
-  float avg_mu = lumiData->lbAverageInteractionsPerCrossing();
-  m_mu_online = avg_mu;
-  ATH_MSG_DEBUG("online mu "<<avg_mu);
 
   m_muCut40Passed = (!m_domuCut40 || (m_domuCut40 && (m_mu_offline<40.)));
 
   const xAOD::EventInfo* evtInfo = 0;
   if( !evtStore()->retrieve(evtInfo, "EventInfo" ).isSuccess() ){
-    ATH_MSG_DEBUG("Failed to retrieve EventInfo container, aborting!");
+    ATH_MSG_WARNING("Failed to retrieve EventInfo container, aborting!");
     return StatusCode::SUCCESS;
   }
- m_LB = evtInfo->lumiBlock();
+  m_LB = evtInfo->lumiBlock();
+
+  ATH_MSG_DEBUG("actual mu: "<<evtInfo->actualInteractionsPerCrossing() );
+  m_mu_online = evtInfo->actualInteractionsPerCrossing();
 
   // fill true taus vectors
   m_true_taus.clear(); 
@@ -506,7 +504,7 @@ StatusCode HLTTauMonTool::fill() {
         for(;comb!=combEnd;++comb){
           const std::vector< Trig::Feature<xAOD::TauJetContainer> > vec_HLTtau = comb->get<xAOD::TauJetContainer>("TrigTauRecMerged",m_HLTTriggerCondition);
           std::vector<Trig::Feature<xAOD::TauJetContainer> >::const_iterator topoTau = vec_HLTtau.begin(), topoTau_e = vec_HLTtau.end();
-          if(topoTau==topoTau_e) ATH_MSG_DEBUG("TrigTauMerged TauJet container EMPTY in " << chain);
+          if(topoTau==topoTau_e) ATH_MSG_WARNING("TrigTauMerged TauJet container EMPTY in " << chain);
           ATH_MSG_DEBUG("Item "<< chain << ": " << vec_HLTtau.size() << " " << topoTau->label() << " containers");
           for(; topoTau != topoTau_e; ++topoTau){
             if(topoTau->cptr()){
@@ -524,17 +522,17 @@ StatusCode HLTTauMonTool::fill() {
       } else { // TriggerComposite
 
         const std::vector< TrigCompositeUtils::LinkInfo<xAOD::TauJetContainer> > features = 
-          getTDT()->features<xAOD::TauJetContainer>( chain, m_HLTTriggerCondition, "TrigTauRecMerged" );
+          getTDT()->features<xAOD::TauJetContainer>( chain, m_HLTTriggerCondition, "TrigTauRecMerged_MVA" );
 
         if(features.size()!=2){
           ATH_MSG_DEBUG("Number of features for chain " << chain << " is "<< features.size());
           if (features.size() == 0) {
-            ATH_MSG_DEBUG("TrigTauMerged TauJet container EMPTY in " << chain);
+            ATH_MSG_WARNING("TrigTauMerged TauJet container EMPTY in " << chain);
           }
         }
         for(const auto& tauJetLinkInfo : features){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet from TrigTauRecMerged_MVA");
             continue;
           }
           ElementLink<xAOD::TauJetContainer> tauJetEL = tauJetLinkInfo.link;
@@ -565,12 +563,6 @@ StatusCode HLTTauMonTool::fill() {
     }
   }
 
-
-
-
-
-
-
   // muCut on filling the histograms
   if (m_muCut40Passed)
     {
@@ -644,11 +636,6 @@ void HLTTauMonTool::cloneHistogram2(const std::string name, const std::string fo
 }
 
 
-
-
-
-
-
 StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, const bool & monRNN, const bool & monBDT, const std::string & goodTauRefType){
     
   ATH_MSG_DEBUG ("HLTTauMonTool::fillHistogramsForItem " << trigItem);
@@ -658,10 +645,11 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
   std::string trig_item_EF = "HLT_"+trigItem;
   std::string trig_item_L1(LowerChain( trig_item_EF ) );
   if(trig_item_L1=="") {
-    ATH_MSG_DEBUG("L1 chain for "<< trig_item_EF << " not found");
+    ATH_MSG_WARNING("L1 chain for "<< trig_item_EF << " not found");
   }
     
   // protection against AODSLIM that misses HLT tau tracks and HLT clusters, for RNN monitoring
+  // FixMe use new container names for R22
   bool isAODFULL = evtStore()->contains<xAOD::TauTrackContainer>("HLT_xAOD__TauTrackContainer_TrigTauRecMergedTracks") 
     && evtStore()->contains<xAOD::CaloClusterContainer>("HLT_xAOD__CaloClusterContainer_TrigCaloClusterMaker");
 
@@ -696,16 +684,16 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
       ATH_CHECK(fillL1TauVsOffline(*itEMTau, goodTauRefType));
     }
     const xAOD::TauJetContainer * tauJetCont = 0;
-    if( !evtStore()->retrieve(tauJetCont, "HLT_xAOD__TauJetContainer_TrigTauRecMerged").isSuccess() ){
-      ATH_MSG_WARNING("Failed to retrieve HLT_xAOD__TauJetContainer_TrigTauRecMerged container. Exiting!");
-      return StatusCode::FAILURE;
+    StatusCode sc = evtStore()->retrieve(tauJetCont, "HLT_xAOD__TauJetContainer_TrigTauRecMerged");
+    if( sc.isFailure() || !tauJetCont ){
+      ATH_MSG_DEBUG("Failed to retrieve HLT_xAOD__TauJetContainer_TrigTauRecMerged container. Exiting.");
+      sc = evtStore()->retrieve(tauJetCont, "HLT_TrigTauRecMerged_MVA");
+      if( sc.isFailure() || !tauJetCont ){
+        ATH_MSG_WARNING("Failed to retrieve HLT_TrigTauRecMerged_MVA container. Exiting.");
+        return StatusCode::FAILURE;
+      }
     }
 
-
-
-
-
-
     xAOD::TauJetContainer::const_iterator CI = tauJetCont->begin(),tauJetCont_end = tauJetCont->end();
 
     for(; CI!=tauJetCont_end; ++CI){
@@ -740,19 +728,6 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
          
       ATH_MSG_DEBUG ("HLTTauMonTool::fillHistogramsForItem passed " << trig_item_EF);
      
-
-
-
-
-
-
-
-
-
-
-
-
-
       std::vector< uint32_t > tau_roIWord;
       std::vector< float > tau_roi_eta;
       std::vector< float > tau_roi_phi;
@@ -840,7 +815,7 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
          // L1 Histograms, but looking only at RoIs seeding events passing HLT. Otherwise we are biased to events accepted by other chains
         for(const auto& tauJetLinkInfo : features){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet 1");
             continue;
           }
           const TrigCompositeUtils::Decision* decision = tauJetLinkInfo.source;
@@ -1026,7 +1001,7 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
         }
         for(const auto& tauJetLinkInfo : featuresPreselect){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet Preselection");
             continue;
           }
           const ElementLink<xAOD::TauJetContainer> tauJetEL = tauJetLinkInfo.link;
@@ -1048,7 +1023,7 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
         }
         for(const auto& tauJetLinkInfo : featuresMerged){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet MVA 2");
             continue;
           }
           const ElementLink<xAOD::TauJetContainer> tauJetEL = tauJetLinkInfo.link;
@@ -1082,23 +1057,6 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
       } // TriggerElement or TrigComposite
 
     } // end events passing HLT chain
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
     // L1Topo Tests
     if(trig_item_EF=="HLT_tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM" && getTDT()->isPassed(trig_item_EF)){
 
@@ -1137,7 +1095,7 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
 
         for(const auto& tauJetLinkInfo : features){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet MVA 3");
             continue;
           }          
           const ElementLink<xAOD::TauJetContainer> tauJetEL = tauJetLinkInfo.link;
@@ -1180,11 +1138,6 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
     //      if(sc.isFailure()){ ATH_MSG_WARNING("Failed to fill combo eff curves. Exiting!"); return StatusCode::FAILURE;}
   }  
 
-
-
-
-
-
   if (!sc.isSuccess()) {
     ATH_MSG_WARNING("Could not fill histograms for given item.");
   }
@@ -1193,13 +1146,6 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co
 
 }
 
-
-
-
-
-
-
-
 StatusCode HLTTauMonTool::fillL1Tau(const xAOD::EmTauRoI * aL1Tau){
 
   ATH_MSG_DEBUG("HLTTauMonTool::fillL1Tau");
@@ -2473,7 +2419,7 @@ void HLTTauMonTool::testL1TopoNavigation(const std::string & trigItem){
     } else { // TrigComposite
 
       const std::vector< TrigCompositeUtils::LinkInfo<xAOD::TauJetContainer> > features
-         = getTDT()->features<xAOD::TauJetContainer>( trig_item_EF, m_HLTTriggerCondition, "TrigTauRecMerged" );
+         = getTDT()->features<xAOD::TauJetContainer>( trig_item_EF, m_HLTTriggerCondition, "HLT_TrigTauRecMerged_MVA" );
 
       const xAOD::EmTauRoIContainer* l1Tau_cont = 0;
       if ( !evtStore()->retrieve( l1Tau_cont, "LVL1EmTauRoIs").isSuccess() ){
@@ -2485,7 +2431,7 @@ void HLTTauMonTool::testL1TopoNavigation(const std::string & trigItem){
 
         for(const auto& tauJetLinkInfo : features){
           if (!tauJetLinkInfo.isValid()) {
-            ATH_MSG_WARNING("Invalid tauJet");
+            ATH_MSG_WARNING("Invalid tauJet MVA 4");
             continue;
           }  
           const TrigCompositeUtils::Decision* decision = tauJetLinkInfo.source;
@@ -2645,7 +2591,7 @@ bool HLTTauMonTool::Match_Offline_L1(const xAOD::TauJet *aOfflineTau, const std:
 
       for(const auto& tauJetLinkInfo : features){
         if (!tauJetLinkInfo.isValid()) {
-          ATH_MSG_WARNING("Invalid tauJet");
+          ATH_MSG_WARNING("Invalid tauJet 5");
           continue;
         }  
         const TrigCompositeUtils::Decision* decision = tauJetLinkInfo.source;
@@ -2702,7 +2648,7 @@ bool HLTTauMonTool::Match_Offline_EF(const xAOD::TauJet *aOfflineTau, const std:
 
       for(const auto& tauJetLinkInfo : features){
         if (!tauJetLinkInfo.isValid()) {
-          ATH_MSG_WARNING("Invalid tauJet");
+          ATH_MSG_WARNING("Invalid tauJet 6");
           continue;
         }  
         const TrigCompositeUtils::Decision* decision = tauJetLinkInfo.source;
@@ -2928,10 +2874,15 @@ StatusCode HLTTauMonTool::TauEfficiency(const std::string & trigItem, const std:
                 if( (TauDenom.find("Truth")==std::string::npos || !m_truth) && TauDenom.find("Reco")==std::string::npos) addToDenom = true;
     
     const xAOD::TauJetContainer * hlt_cont = 0;
-    if( !evtStore()->retrieve(hlt_cont, "HLT_xAOD__TauJetContainer_TrigTauRecPreselection").isSuccess() ){
-          ATH_MSG_WARNING("Failed to retrieve  HLT_xAOD__TauJetContainer_TrigTauRecPreselection container. Exiting.");
+    StatusCode sc = evtStore()->retrieve(hlt_cont, "HLT_xAOD__TauJetContainer_TrigTauRecPreselection"); 
+    if( sc.isFailure() || !hlt_cont ){
+      ATH_MSG_DEBUG("Failed to retrieve  HLT_xAOD__TauJetContainer_TrigTauRecPreselection container. Exiting.");
+      sc = evtStore()->retrieve(hlt_cont, "HLT_TrigTauRecMerged_Presel");
+      if( sc.isFailure() || !hlt_cont ){
+          ATH_MSG_WARNING("Failed to retrieve HLT_TrigTauRecMerged_Presel container. Exiting.");
           return StatusCode::FAILURE;
       }
+    }
     xAOD::TauJetContainer::const_iterator hltItr, hlt_cont_end = hlt_cont->end();
     for(hltItr=hlt_cont->begin(); hltItr!=hlt_cont_end; ++hltItr){
       TLorentzVector hltTLV = (*hltItr)->p4();
@@ -2956,26 +2907,26 @@ StatusCode HLTTauMonTool::TauEfficiency(const std::string & trigItem, const std:
       if(trigItem.find("125")!=std::string::npos) if(hltTLV.Pt()<125000.) continue;
       if(trigItem.find("160")!=std::string::npos) if(hltTLV.Pt()<160000.) continue;
       if(addToDenom){
-                                tlv_TauDenom.push_back(hltTLV);
-                                ntrk_TauDenom.push_back(ntrack_TAU);
-                                good_TauDenom.push_back(true);
-                        }
-                        if(!addToDenom){
-                                tlv_tmp.push_back(hltTLV);
-                        }
+         tlv_TauDenom.push_back(hltTLV);
+         ntrk_TauDenom.push_back(ntrack_TAU);
+         good_TauDenom.push_back(true);
+      }
+      if(!addToDenom){
+         tlv_tmp.push_back(hltTLV);
+      }
     }
 
     if(!addToDenom){
-                        for(unsigned int i=0;i<tlv_TauDenom.size();i++){
-                                if(!good_TauDenom.at(i)) continue;
-                                bool matched(false);
-                                for(unsigned int j=0;j<tlv_tmp.size();j++){
-                                        if(tlv_tmp.at(j).DeltaR(tlv_TauDenom.at(i))<0.2) matched = true;
-                                }
-                                if(!matched) good_TauDenom.at(i) = false;
-                        }
-                        tlv_tmp.clear();
-                }
+      for(unsigned int i=0;i<tlv_TauDenom.size();i++){
+         if(!good_TauDenom.at(i)) continue;
+         bool matched(false);
+         for(unsigned int j=0;j<tlv_tmp.size();j++){
+            if(tlv_tmp.at(j).DeltaR(tlv_TauDenom.at(i))<0.2) matched = true;
+         }
+         if(!matched) good_TauDenom.at(i) = false;
+      }
+      tlv_tmp.clear();
+    }
   }
 
   std::string trigItemShort=trigItem;
@@ -3061,6 +3012,7 @@ StatusCode HLTTauMonTool::TauEfficiency(const std::string & trigItem, const std:
     profile("TProfRecoL1HighPtEfficiency")->Fill(pt/GeV,L1matched);
     profile("TProfRecoL1EtaEfficiency")->Fill(eta,L1matched);
     profile("TProfRecoL1PhiEfficiency")->Fill(phi,L1matched);
+    ATH_MSG_DEBUG("This is the tau phi: " << phi << " is it L1 matched? " << L1matched << "trig Item" << trigItem);
     profile("TProfRecoL1NTrackEfficiency")->Fill(ntracks,L1matched);
     profile("TProfRecoL1NVtxEfficiency")->Fill(nvtx,L1matched);
     profile("TProfRecoL1MuEfficiency")->Fill(mu,L1matched);
@@ -3815,6 +3767,8 @@ bool HLTTauMonTool::L1TauMatching(const std::string & trigItem, const TLorentzVe
   }
 
   std::string HLT_item = "HLT_"+trigItem;
+  ATH_MSG_DEBUG("HLT_item: " << HLT_item << " Trig Item: " << trigItem);
+
 
   if(getTDT()->isPassed( HLT_item,(TrigDefs::Physics | TrigDefs::allowResurrectedDecision | TrigDefs::alsoDeactivateTEs)  )) {     
     ATH_MSG_DEBUG("HTLTauMonTool::L1TauMatching event passed " << HLT_item << ", obtaining list of features now");
@@ -3853,11 +3807,14 @@ bool HLTTauMonTool::L1TauMatching(const std::string & trigItem, const TLorentzVe
       const std::vector< TrigCompositeUtils::LinkInfo<xAOD::TauJetContainer> > features
          = getTDT()->features<xAOD::TauJetContainer>( HLT_item, TrigDefs::includeFailedDecisions );
 
+      int counter=0;
       for(const auto& tauJetLinkInfo : features){
         if (!tauJetLinkInfo.isValid()) {
-          ATH_MSG_WARNING("Invalid tauJet");
+          ATH_MSG_WARNING("Invalid tauJet on L1TauMatching");
           continue;
         }  
+        counter++;
+        ATH_MSG_DEBUG("Counter: " << counter);
         const TrigCompositeUtils::Decision* decision = tauJetLinkInfo.source;
 
         const TrigCompositeUtils::LinkInfo<TrigRoiDescriptorCollection> initialRoILinkInfo = 
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
index d4a5c955ee575b2f85fe57a9cd1ece78553f703b..ca839c4344edbcd2ce2969b4f2ad6199c7866a2c 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
@@ -188,12 +188,10 @@ class HLTTauMonTool : public IHLTMonTool {
   ToolHandle<TrigTauEmul::IHltEmulationTool> m_hltemulationTool;
 
   ToolHandle<ILumiBlockMuTool> m_lumiBlockMuTool;
-  SG::ReadCondHandleKey<LuminosityCondData> m_luminosityCondDataKey
-  { this, "LuminosityCondDataKey", "LuminosityCondDataOnline", "" };
-//  ToolHandle<ILuminosityTool>  m_luminosityToolOnline;
+
   float m_mu_offline;
   int m_mu_online;
-        int m_LB;
+  int m_LB;
 
 
   ///Name of the trigger items to be monitored.
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
index 8af3ab872d90fd6f31d4c65dff4e1785bba63d30..71b897f1783399bb472a146cc71f53f3a92ee7bb 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
@@ -121,8 +121,8 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){
     //Basic kinematic variables
     addHistogram(new TH1F("hEFEt","EF Et;E_{T}[GeV];Nevents",50,0.0,100.0));
     addHistogram(new TH1F("hEFEta","EF TrigCaloCluster Eta; #eta ; Nevents",26,-2.6,2.6));
-    addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",50,0,50));
-    addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu",  70,0,70,70,0,70));
+    addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",100,0,100));
+    addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu",  100,0,100,100,0,100));
     addHistogram(new TH1F("hEFPhi","EF TrigCaloCluster Phi; #phi ; Nevents",16,-3.2,3.2));
     addHistogram(new TH1F("hEFnTrack","EF number of tracks;number of tracks;Nevents",10,0,10));
     addHistogram(new TH2F("hEFEtaVsPhi","EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents",26,-2.6,2.6,16,-3.2,3.2));
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_emulation.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_emulation.cxx
index b74ab5e05b3d592cd7dd2fb6ff54044d0b78c948..0cdb716138c949e4e11703232088d094494e34bd 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_emulation.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_emulation.cxx
@@ -9,7 +9,7 @@ using namespace std;
 
 std::string HLTTauMonTool::LowerChain(std::string hlt_item){
 
-  ATH_MSG_DEBUG("HLTTauMonTool::LowerChain()");
+  ATH_MSG_DEBUG("HLTTauMonTool::LowerChain() " << hlt_item);
   
   std::string l1_chain("");
 
@@ -17,10 +17,17 @@ std::string HLTTauMonTool::LowerChain(std::string hlt_item){
   if( (hlt_chain = m_configsvc->chainList()->chain(hlt_item)) ){ 
     ATH_MSG_DEBUG("HLT Chain " << hlt_item << " found in TrigConfSvc!");
     std::string lower_chain( hlt_chain->lower_chain_name() );
-    ATH_MSG_DEBUG("L1 Chain " << lower_chain << " found in TrigConfSvc!");
     l1_chain = lower_chain;
+  }else{
+    auto trig_conf = getTDT()->ExperimentalAndExpertMethods()->getChainConfigurationDetails(hlt_item);
+    if(trig_conf != nullptr){
+      ATH_MSG_DEBUG("TrigConf is available");
+      l1_chain = trig_conf->lower_chain_name(); //L1 trigger seed
+    }    
   }
 
+  ATH_MSG_DEBUG("L1 Chain " << l1_chain << " found in TrigConfSvc!");
+
   return l1_chain;
 }
 
@@ -63,18 +70,28 @@ StatusCode HLTTauMonTool::Emulation(){
 
   // retrieve HLT containers
   const xAOD::TauJetContainer * tauPreselCont = 0;
-  if( evtStore()->retrieve(tauPreselCont, "HLT_xAOD__TauJetContainer_TrigTauRecPreselection").isFailure() ){
-	ATH_MSG_WARNING("Failed to retrieve HLT_xAOD__TauJetContainer_TrigTauRecPreselection container. Exiting!");
-	return StatusCode::FAILURE;
+  StatusCode sc = evtStore()->retrieve(tauPreselCont, "HLT_xAOD__TauJetContainer_TrigTauRecPreselection");
+  if( sc.isFailure() || !tauPreselCont ){
+    ATH_MSG_DEBUG("Failed to retrieve  HLT_xAOD__TauJetContainer_TrigTauRecPreselection container. Exiting.");
+    sc = evtStore()->retrieve(tauPreselCont, "HLT_TrigTauRecMerged_Presel");
+    if( sc.isFailure() || !tauPreselCont ){
+      ATH_MSG_WARNING("Failed to retrieve HLT_TrigTauRecMerged_Presel container. Exiting.");
+      return sc;
+    }
   }
 
+  // retrieve HLT containers                                                                                                                  
   const xAOD::TauJetContainer * tauHLTCont = 0;
-  if( evtStore()->retrieve(tauHLTCont, "HLT_xAOD__TauJetContainer_TrigTauRecMerged").isFailure() ){
-        ATH_MSG_WARNING("Failed to retrieve HLT_xAOD__TauJetContainer_TrigTauRecMerged container. Exiting!");
-        return StatusCode::FAILURE;
+  sc = evtStore()->retrieve(tauHLTCont, "HLT_xAOD__TauJetContainer_TrigTauRecMerged");
+  if( sc.isFailure() || !tauHLTCont ){
+    ATH_MSG_DEBUG("Failed to retrieve  HLT_xAOD__TauJetContainer_TrigTauRecMerged container. Exiting.");
+    sc = evtStore()->retrieve(tauHLTCont, "HLT_TrigTauRecMerged_MVA");
+    if( sc.isFailure() || !tauPreselCont ){
+      ATH_MSG_WARNING("Failed to retrieve HLT_TrigTauRecMerged_MVA container. Exiting.");
+      return sc;
+    }
   }
 
-
  ATH_CHECK(m_l1emulationTool->calculate(l1taus, l1jets, l1muons, l1xe));
 //  //m_l1emulationTool->PrintCounters();
 //