diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h b/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
index 04b72698f080952d4bb4da5382b33ca44a115df1..4c9b7846183d90a24f0446d7dd6b8d050eb72134 100755
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
@@ -63,8 +63,8 @@ private:
   // methods to make filling easier
   void fillL1BasicHistograms(float l1_mex,float l1_mex_log,float l1_mey,float l1_mey_log,float l1_met,float l1_met_log,float l1_sumet,float l1_sumet_log,float l1_phi,float saturated);
   void fillL1JetHistograms(float l1_jet_pt,float l1_jet_eta);
-  void fillL1ProfileHistograms(float off_met,float pT_mumu,bool METMuonFilled,std::map<std::string, int> met_signatures_tolook);
-  void fillHLTBasicHistograms(float hlt_ex,float hlt_ex_log,float hlt_ey,float hlt_ey_log,float hlt_ez,float hlt_ez_log,float hlt_met,float hlt_met_log,float hlt_sumet,float hlt_sumet_log,float hlt_sume,float hlt_sume_log,float hlt_phi,float hlt_eta,float hlt_significance);
+  void fillL1ProfileHistograms(float off_met,std::map<std::string, int> met_signatures_tolook);
+  void fillHLTBasicHistograms(float hlt_ex,float hlt_ex_log,float hlt_ey,float hlt_ey_log,float hlt_ez,float hlt_ez_log,float hlt_met,float hlt_met_log,float hlt_sumet,float hlt_sumet_log,float hlt_sume,float hlt_sume_log,float hlt_phi,float hlt_eta);
   void fillHLTProfileHistograms(float off_met,std::map<std::string, int> met_signatures_tolook);
   void fillHLTProfileShifterHistograms(float off_met);
   void fillHLTProfileExpertHistograms(float off_met);
@@ -146,8 +146,10 @@ private:
   std::string m_hlt_Fex_met_key; 
   std::string m_off_met_key;
   std::string m_muon_key;
+  std::string m_muon_run3_key;
   std::string m_muon_base_trigger;
   std::string m_electron_key;
+  std::string m_electron_run3_key;
   std::string m_electron_base_trigger;
 
   double m_muon_pt_thresh;
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitCategory.py b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitCategory.py
index 4de1b0296bdef5e1eedf6563a04cacc9281ab827..e58ef2be8b62ea604229a20c87b5b8cb548db19f 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitCategory.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # l1 trigger to monitor: 
 met_triggers_l1_shifter = [
@@ -9,7 +9,7 @@ met_triggers_l1_shifter = [
 met_triggers_l1_expert = [
     "L1_XE55",
     "L1_XE60",
-    ]
+]
 
 # hlt triggers to monitor
 met_triggers_hlt_shifter = [
@@ -18,57 +18,20 @@ met_triggers_hlt_shifter = [
     "HLT_xe30_tcpufit_L1XE10",
     "HLT_xe65_cell_L1XE50",
     "HLT_xe110_pufit_xe65_L1XE50",
-    "HLT_xe110_pufit_xe70_L1XE50",
-    "HLT_xe110_pufit_xe65_L1gXERHO50",
-    "HLT_xe110_pufit_xe65_L1gXEPUFIT50",
-    "HLT_xe0noL1_l2fsperf_L1gXERHO50",
-    "HLT_xe0noL1_l2fsperf_L1gXEPUFIT50",
-    "HLT_xe0noL1_l2fsperf_pufit_L1gXERHO50",
-    "HLT_xe0noL1_l2fsperf_pufit_L1gXEPUFIT50",
 ] 
 
 met_triggers_hlt_expert = [
-    "HLT_xe110_pufit_xe65_L1XE55",
-    "HLT_xe110_pufit_xe65_L1XE60",
-    "HLT_xe110_pufit_xe75_L1XE50",
-    "HLT_xe110_pufit_xe70_L1XE55",
     "HLT_xe110_pufit_xe70_L1XE60",
-    "HLT_xe100_trkmht_FTK_L1XE50",
-    "HLT_xe110_trkmht_FTK_L1XE55",
-    "HLT_xe110_trkmht_FTK_L1XE60",
+    "HLT_xe110_pufit_L1XE50",
+    "HLT_xe110_pufit_L1XE55",
+    "HLT_xe100_pufit_L1XE55",
+    "HLT_xe90_pufit_L1XE50",
+    "HLT_xe110_mht_L1XE50",
+    "HLT_xe90_mht_L1XE50",    
+    "HLT_xe70_mht_L1XE50",    
 ]
 
 
-# Trigger chins in early 2018
-    #"HLT_xe100_pufit_xe75_L1XE60",
-    #"HLT_xe120_pufit_L1XE50",
-    #"HLT_xe120_pufit_L1XE55",
-    #"HLT_xe120_pufit_L1XE60",
-
-
-# Trigger chins in 2015-2017
-    #"HLT_xe110_pufit_L1XE50",
-    #"HLT_xe110_pufit_L1XE55",
-    #"HLT_xe110_pufit_L1XE60",
-    #"HLT_xe120_mht_xe80_L1XE60",
-        #"HLT_mu30",
-        #"HLT_xs30",    
-        #"HLT_xe70_tc_lcw",    
-        #"HLT_xe80_tc_lcw_L1XE50",    
-        #"HLT_xe100_tc_lcw",    
-        #"HLT_xe80_tc_lcw",
-        #"HLT_xe80_tc_em",
-        #"HLT_xe80_pueta",
-        #"HLT_xe80_pufit",
-        #"HLT_xe80_mht",
-        #"HLT_xe35_xeNOcut",
-        #"HLT_xe35_xeNOcut_tc_lcw",
-        #"HLT_xe35_xeNOcut_tc_em",
-        #"HLT_xe35_xeNOcut_pueta",
-        #"HLT_xe35_xeNOcut_pufit",
-        #"HLT_xe35_xeNOcut_mht",
-
-
 monitoring_met_shifter = met_triggers_l1_shifter + met_triggers_hlt_shifter
 monitoring_met_expert = met_triggers_l1_expert + met_triggers_hlt_expert
 
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitoringConfig.py b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitoringConfig.py
index 54dceb07e5949ad8b8d72b70f187c85ba045764c..44ce95d5332e0ba5bbe7721322a52b522940bc4f 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitoringConfig.py
@@ -68,10 +68,7 @@ met_alt_algorithms_shifter = [
 
 met_alt_algorithms_expert = [
         "mht_em",
-        "trkmht_FS",
-        "trkmht_FTK",
-        "trktc_FS",
-        "trktc_FTK"
+        "trkmht_FS"
 ]
 
 # algorithms in Run1
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx b/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
index 7490ceb103b4ead6dc042a8a240a154677ec11a1..6ef043b9ac65c0da7def3fe05aa4234c405d9239 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
@@ -55,8 +55,8 @@ HLTMETMonTool::HLTMETMonTool(const std::string & type, const std::string & name,
   declareProperty("l1_pufit_key", m_lvl1_pufit_key="gXEPUFIT_MET");
   declareProperty("l1_jwoj_key", m_lvl1_jwoj_key="gXEJWOJ_MET");
   declareProperty("l1_noisecut_key", m_lvl1_noisecut_key="gXENOISECUT_MET");
-  declareProperty("l1_jnoisecut_key", m_lvl1_jnoisecut_key="jXENOISECUT_MET");
-  declareProperty("hlt_run3_key", m_hlt_cell_run3_met_key="HLT_MET");
+  declareProperty("l1_jnoisecut_key", m_lvl1_jnoisecut_key="jNOISECUT_MET");
+  declareProperty("hlt_run3_key", m_hlt_run3_met_key="HLT_MET");
   declareProperty("hlt_cell_run3_key", m_hlt_cell_run3_met_key="HLT_MET_cell");
   declareProperty("hlt_mht_run3_key", m_hlt_mht_run3_met_key="HLT_MET_mht");
   declareProperty("hlt_topocl_run3_key", m_hlt_topocl_run3_met_key="HLT_MET_tc");
@@ -76,11 +76,13 @@ HLTMETMonTool::HLTMETMonTool(const std::string & type, const std::string & name,
   declareProperty("off_key", m_off_met_key="MET_Reference_AntiKt4LCTopo");  
 
   // Muons keys
+  declareProperty("muon_run3_key", m_muon_run3_key="HLT_MuonsCB_RoI");
   declareProperty("muon_key", m_muon_key="HLT_xAOD__MuonContainer_MuonEFInfo");
   declareProperty("muon_base", m_muon_base_trigger="HLT_mu6");
   declareProperty("muon_pt_thresh", m_muon_pt_thresh=18.0);
 
   // Electron keys
+  declareProperty("electron_run3_key", m_electron_run3_key="HLT_egamma_Electrons");
   declareProperty("electron_key", m_electron_key="HLT_xAOD__ElectronContainer_egamma_Electrons");
   declareProperty("electron_base", m_electron_base_trigger="HLT_e5_lhloose");
   declareProperty("electron_pt_thresh", m_electron_pt_thresh=20.0);
@@ -675,7 +677,10 @@ StatusCode HLTMETMonTool::fillMETHist() {
   const xAOD::MuonContainer *hlt_muonEFcontainer = 0;
   sc = evtStore()->retrieve(hlt_muonEFcontainer, m_muon_key);
   if (sc.isFailure() || !hlt_muonEFcontainer) {
-    ATH_MSG_WARNING("Could not retrieve muon container with key " << m_muon_key << " from TDS"); 
+    sc = evtStore()->retrieve(hlt_muonEFcontainer, m_muon_run3_key);
+    if (sc.isFailure() || !hlt_muonEFcontainer) {
+      ATH_MSG_WARNING("Could not retrieve muon container with key " << m_muon_key << " from TDS"); 
+    }
   }
   else
     ATH_MSG_DEBUG("Accessing EF muons container with " << hlt_muonEFcontainer->size() << " elements");
@@ -684,7 +689,10 @@ StatusCode HLTMETMonTool::fillMETHist() {
   const xAOD::ElectronContainer *hlt_electronEFcontainer = 0;
   sc = evtStore()->retrieve(hlt_electronEFcontainer, m_electron_key);
   if (sc.isFailure() || !hlt_electronEFcontainer) {
-    ATH_MSG_WARNING("Could not retrieve electron container with key " << m_electron_key << " from TDS");
+    sc = evtStore()->retrieve(hlt_electronEFcontainer, m_electron_run3_key);
+    if (sc.isFailure() || !hlt_electronEFcontainer) {
+      ATH_MSG_WARNING("Could not retrieve electron container with key " << m_electron_key << " from TDS");
+    }
   }
   else
     ATH_MSG_DEBUG("Accessing EF electrons container with " << hlt_electronEFcontainer->size() << " elements");
@@ -721,6 +729,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   } else {
     ATH_MSG_DEBUG("HLT EF Muon container DNE or is empty");
   }
+  ATH_MSG_DEBUG("pT mumu = " << pT_mumu);
 
   // Check if signal-like electron exists
   ATH_MSG_DEBUG("Going to iterate through electron container");
@@ -1121,7 +1130,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   }
 
   // L1 jXENOISECUT
-  monFolderName = monGroupName + "/jXENOISECUT";
+  monFolderName = monGroupName + "/jNOISECUT";
   setCurrentMonGroup(monFolderName.c_str());
 
   if (l1_jnoisecut_met > epsilon_l1met) {
@@ -1133,7 +1142,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   setCurrentMonGroup(monFolderName.c_str());
 
   met_signatures_tolook = m_l1_met_signatures_tolook_shifter;
-  fillL1ProfileHistograms(off_et,pT_mumu,METMuonFilled,met_signatures_tolook);
+  fillL1ProfileHistograms(off_et,met_signatures_tolook);
  
 
   /////////////
@@ -1146,7 +1155,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   monFolderName = monGroupName + "/Primary";
   setCurrentMonGroup(monFolderName);
   if (hlt_et > 0) { // remove MET=0 events
-    fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta,hlt_significance);
+    fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta);
  }
 
   // HLT efficiency  
@@ -1162,7 +1171,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   setCurrentMonGroup(monFolderName);
   if (hlt_et > 0) { // remove MET=0 events
     if (lbInteractionsPerCrossing()>47. && lbInteractionsPerCrossing()<53.) {
-      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta,hlt_significance);
+      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta);
     }
   }
 
@@ -1173,7 +1182,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   
   if(METElectronFilled == true) {
     if (hlt_et > 0) { // remove MET=0 events
-      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta,hlt_significance);
+      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta);
     }
     met_signatures_tolook = m_hlt_met_signatures_tolook_shifter;
     fillHLTProfileHistograms(off_et,met_signatures_tolook);
@@ -1186,7 +1195,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
 
   if(METMuonFilled == true) {
     if (hlt_et > 0) { // remove MET=0 events
-      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta,hlt_significance);
+      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta);
     }
     met_signatures_tolook = m_hlt_met_signatures_tolook_shifter;
     fillHLTProfileHistograms(off_et,met_signatures_tolook);
@@ -1318,7 +1327,6 @@ StatusCode HLTMETMonTool::fillMETHist() {
       float tmp_hlt_met_log = -9e9;
       float tmp_hlt_sume_log = -9e9;
       float tmp_hlt_sumet_log = -9e9;
-      float tmp_hlt_significance = -9e9;
       
       float epsilon = 1e-6;  // 1 keV
       
@@ -1330,11 +1338,8 @@ StatusCode HLTMETMonTool::fillMETHist() {
       tmp_hlt_sume_log = signed_log(tmp_hlt_sume, epsilon);
       tmp_hlt_sumet_log = signed_log(tmp_hlt_sumet, epsilon);
 
-      float tmp_resolution = 0.0;
-      if (tmp_hlt_sumet>0.0) tmp_resolution = m_sigOffset + m_sigSlope*sqrt(tmp_hlt_sumet) + m_sigQuadr*tmp_hlt_sumet;
-      if (tmp_resolution>0.0) tmp_hlt_significance = tmp_hlt_met/tmp_resolution;
       
-      fillHLTBasicHistograms(tmp_hlt_ex,tmp_hlt_ex_log,tmp_hlt_ey,tmp_hlt_ey_log,tmp_hlt_ez,tmp_hlt_ez_log,tmp_hlt_met,tmp_hlt_met_log,tmp_hlt_sumet,tmp_hlt_sumet_log,tmp_hlt_sume,tmp_hlt_sume_log,tmp_hlt_phi,tmp_hlt_eta,tmp_hlt_significance);
+      fillHLTBasicHistograms(tmp_hlt_ex,tmp_hlt_ex_log,tmp_hlt_ey,tmp_hlt_ey_log,tmp_hlt_ez,tmp_hlt_ez_log,tmp_hlt_met,tmp_hlt_met_log,tmp_hlt_sumet,tmp_hlt_sumet_log,tmp_hlt_sume,tmp_hlt_sume_log,tmp_hlt_phi,tmp_hlt_eta);
 
     }
 
@@ -1373,7 +1378,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   setCurrentMonGroup(monFolderName);
 
   met_signatures_tolook = m_l1_met_signatures_tolook_expert;
-  fillL1ProfileHistograms(off_et,pT_mumu,METMuonFilled,met_signatures_tolook);
+  fillL1ProfileHistograms(off_et,met_signatures_tolook);
 
   // L1 Triggers
   for (it = m_l1_met_signatures_tolook_shifter.begin(); it != m_l1_met_signatures_tolook_shifter.end(); it++) {
@@ -1413,8 +1418,83 @@ StatusCode HLTMETMonTool::fillMETHist() {
 
     std::string name = it->first;
     ATH_MSG_DEBUG("Trig : " << name);
-    if (getTDT()->isPassed(name, TrigDefs::eventAccepted)) {
-      fillHLTBasicHistograms(hlt_ex,hlt_ex_log,hlt_ey,hlt_ey_log,hlt_ez,hlt_ez_log,hlt_et,hlt_met_log,hlt_sumet,hlt_sumet_log,hlt_sume,hlt_sume_log,hlt_phi,hlt_eta,hlt_significance);
+    std::string algo = get_trigger_algo(name);
+    if (algo == "cell" && hlt_cell_met_cont && hlt_cell_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : Cell");
+      hlt_met = hlt_cell_met_cont->at(0);
+    } else if (algo == "mht" && hlt_mht_met_cont && hlt_mht_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : MHT");
+      hlt_met = hlt_mht_met_cont->at(0);
+    } else if (algo == "mhtem" && hlt_mhtem_met_cont && hlt_mhtem_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : mht_em");
+     hlt_met = hlt_mhtem_met_cont->at(0);
+    } else if (algo == "trkmht" && hlt_trkmht_met_cont && hlt_trkmht_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : trkmht");
+      hlt_met = hlt_trkmht_met_cont->at(0);
+    } else if (algo == "trkmhtFTK" && hlt_trkmhtFTK_met_cont && hlt_trkmhtFTK_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : trkmhtFTK");
+      hlt_met = hlt_trkmhtFTK_met_cont->at(0);
+    } else if (algo == "trktc" && hlt_trktc_met_cont && hlt_trktc_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : trktc");
+      hlt_met = hlt_trktc_met_cont->at(0);
+    } else if (algo == "trktcFTK" && hlt_trktcFTK_met_cont && hlt_trktcFTK_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : trktcFTK");
+      hlt_met = hlt_trktcFTK_met_cont->at(0);
+    } else if (algo == "topocl" && hlt_topocl_met_cont && hlt_topocl_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : TopoCL");
+      hlt_met = hlt_topocl_met_cont->at(0);
+    } else if (algo == "topocl_PS" && hlt_topocl_PS_met_cont && hlt_topocl_PS_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : TopoCL_PS");
+      hlt_met = hlt_topocl_PS_met_cont->at(0);
+    } else if (algo == "topocl_PUC" && hlt_topocl_PUC_met_cont && hlt_topocl_PUC_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : TopoCL_PUC");
+      hlt_met = hlt_topocl_PUC_met_cont->at(0);
+    } else if (algo == "FEB" && hlt_FEB_met_cont && hlt_FEB_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : FEB");
+      hlt_met = hlt_FEB_met_cont->at(0);
+    } else if (algo == "Fex" && hlt_Fex_met_cont && hlt_Fex_met_cont->size()>0) {
+      ATH_MSG_DEBUG("Alternative Alg : FEX");
+      hlt_met = hlt_Fex_met_cont->at(0);
+    } else {
+      ATH_MSG_DEBUG("Alternative Alg : NONE");
+      hlt_met = 0;
+    }
+
+    if (hlt_met) {
+      float tmp_hlt_ex = hlt_met->ex()/CLHEP::GeV;
+      float tmp_hlt_ey = hlt_met->ey()/CLHEP::GeV;
+      float tmp_hlt_ez = hlt_met->ez()/CLHEP::GeV;
+      float tmp_hlt_met = sqrt(tmp_hlt_ex*tmp_hlt_ex+tmp_hlt_ey*tmp_hlt_ey);
+      float tmp_hlt_sumet = hlt_met->sumEt()/CLHEP::GeV;
+      float tmp_hlt_sume  = hlt_met->sumE()/CLHEP::GeV;
+      ATH_MSG_DEBUG("Alternative Ex = " << tmp_hlt_ex);
+      ATH_MSG_DEBUG("Alternative Ey = " << tmp_hlt_ey);
+      ATH_MSG_DEBUG("Alternative MET = " << tmp_hlt_met);
+
+      CLHEP::Hep3Vector v(tmp_hlt_ex, tmp_hlt_ey, tmp_hlt_ez);
+      float tmp_hlt_eta = v.eta();
+      float tmp_hlt_phi = v.phi();
+
+      float tmp_hlt_ex_log = -9e9;
+      float tmp_hlt_ey_log = -9e9;
+      float tmp_hlt_ez_log = -9e9;
+      float tmp_hlt_met_log = -9e9;
+      float tmp_hlt_sume_log = -9e9;
+      float tmp_hlt_sumet_log = -9e9;
+
+      float epsilon = 1e-6;  // 1 keV
+
+      epsilon = 1.189;
+      tmp_hlt_ex_log = signed_log(tmp_hlt_ex, epsilon);
+      tmp_hlt_ey_log = signed_log(tmp_hlt_ey, epsilon);
+      tmp_hlt_ez_log = signed_log(tmp_hlt_ez, epsilon);
+      tmp_hlt_met_log = signed_log(tmp_hlt_met, epsilon);
+      tmp_hlt_sume_log = signed_log(tmp_hlt_sume, epsilon);
+      tmp_hlt_sumet_log = signed_log(tmp_hlt_sumet, epsilon);
+
+      if (getTDT()->isPassed(name, TrigDefs::eventAccepted)) {
+        fillHLTBasicHistograms(tmp_hlt_ex,tmp_hlt_ex_log,tmp_hlt_ey,tmp_hlt_ey_log,tmp_hlt_ez,tmp_hlt_ez_log,tmp_hlt_met,tmp_hlt_met_log,tmp_hlt_sumet,tmp_hlt_sumet_log,tmp_hlt_sume,tmp_hlt_sume_log,tmp_hlt_phi,tmp_hlt_eta);
+      }
     }
   }
 
@@ -1587,7 +1667,6 @@ StatusCode HLTMETMonTool::fillMETHist() {
       float tmp_hlt_met_log = -9e9;
       float tmp_hlt_sume_log = -9e9;
       float tmp_hlt_sumet_log = -9e9;
-      float tmp_hlt_significance = -9e9;
       
       float epsilon = 1e-6;  // 1 keV
       
@@ -1599,11 +1678,8 @@ StatusCode HLTMETMonTool::fillMETHist() {
       tmp_hlt_sume_log = signed_log(tmp_hlt_sume, epsilon);
       tmp_hlt_sumet_log = signed_log(tmp_hlt_sumet, epsilon);
 
-      float tmp_resolution = 0.0;
-      if (tmp_hlt_sumet>0.0) tmp_resolution = m_sigOffset + m_sigSlope*sqrt(tmp_hlt_sumet) + m_sigQuadr*tmp_hlt_sumet;
-      if (tmp_resolution>0.0) tmp_hlt_significance = tmp_hlt_met/tmp_resolution;
       
-      fillHLTBasicHistograms(tmp_hlt_ex,tmp_hlt_ex_log,tmp_hlt_ey,tmp_hlt_ey_log,tmp_hlt_ez,tmp_hlt_ez_log,tmp_hlt_met,tmp_hlt_met_log,tmp_hlt_sumet,tmp_hlt_sumet_log,tmp_hlt_sume,tmp_hlt_sume_log,tmp_hlt_phi,tmp_hlt_eta,tmp_hlt_significance);
+      fillHLTBasicHistograms(tmp_hlt_ex,tmp_hlt_ex_log,tmp_hlt_ey,tmp_hlt_ey_log,tmp_hlt_ez,tmp_hlt_ez_log,tmp_hlt_met,tmp_hlt_met_log,tmp_hlt_sumet,tmp_hlt_sumet_log,tmp_hlt_sume,tmp_hlt_sume_log,tmp_hlt_phi,tmp_hlt_eta);
 
     }
 
@@ -1741,23 +1817,15 @@ void HLTMETMonTool::addL1ProfileHistograms(std::map<std::string, int> met_signat
     std::string prof_title = prof_name + " Efficiency Missing E_{T};ME_{T} (GeV)";
     addProfile(new TProfile(prof_name.c_str(), prof_title.c_str(), m_eff_bins, m_eff_min, m_eff_max));
     
-    prof_name = "Eff_mu_" + it->first;
-    prof_title = prof_name + " Efficiency Missing E_{T};ME_{T} (GeV)";
-    addProfile(new TProfile(prof_name.c_str(), prof_title.c_str(), m_eff_bins, m_eff_min, m_eff_max));
-
-    prof_name = "Eff_mumu_" + it->first;
-    prof_title = prof_name + " Efficiency Missing E_{T};ME_{T} (GeV)";
-    addProfile(new TProfile(prof_name.c_str(), prof_title.c_str(), m_eff_bins, m_eff_min, m_eff_max));
   }
 
 }
 
 //___________________________________________________________________________________________________________
-void HLTMETMonTool::fillL1ProfileHistograms(float off_met,float pT_mumu,bool METMuonFilled,std::map<std::string, int> met_signatures_tolook) {
+void HLTMETMonTool::fillL1ProfileHistograms(float off_met,std::map<std::string, int> met_signatures_tolook) {
 
   std::map<std::string,int>::const_iterator it;
   TProfile *p(0);
-  TProfile *pmu(0);
   for (it = met_signatures_tolook.begin(); it != met_signatures_tolook.end(); it++) {
     std::string name = it->first;
     std::string profname = "Eff_"+ name;
@@ -1766,25 +1834,6 @@ void HLTMETMonTool::fillL1ProfileHistograms(float off_met,float pT_mumu,bool MET
     } else {
       if ((p = profile(profname))) p->Fill(off_met,0.0,1.0);
     }
-
-    if(METMuonFilled == true) {
-      std::string name = it->first;
-      std::string mu_profname = "Eff_mu_"+name;
-      if (getTDT()->isPassed(name, TrigDefs::eventAccepted)) {
-	if ((pmu = profile(mu_profname))) pmu->Fill(off_met, 1.0, 1.0);
-      } else {
-	if ((pmu = profile(mu_profname))) pmu->Fill(off_met, 0.0, 1.0);
-      }
-      if(pT_mumu>0){
-	std::string mumu_name = it->first;
-	std::string mumu_profname = "Eff_mumu_"+name;
-	if (getTDT()->isPassed(mumu_name, TrigDefs::eventAccepted)) {
-	  if ((pmu = profile(mumu_profname))) pmu->Fill(pT_mumu, 1.0, 1.0);
-	} else {
-	  if ((pmu = profile(mumu_profname))) pmu->Fill(pT_mumu, 0.0, 1.0);
-	}
-      }//pT_mumu > 0
-    }//loop over signatures  
   }
 
 }
@@ -1811,12 +1860,11 @@ void HLTMETMonTool::addHLTBasicHistograms() {
   addHistogram(new TH1F("HLT_MET_eta_etweight",  "HLT MET #eta (|Missing E_{T}|);MET #eta", m_eta_bins, m_eta_min, m_eta_max));
   addHistogram(new TH2F("HLT_MET_etaphi", "HLT MET #eta/#phi;#eta;#phi (rad)", m_eta_bins, m_eta_min, m_eta_max, m_phi_bins, m_phi_min, m_phi_max));
   addHistogram(new TH2F("HLT_MET_etaphi_etweight", "HLT MET #eta/#phi(|Missing E_{T}|);#eta;#phi (rad)", m_eta_bins, m_eta_min, m_eta_max, m_phi_bins, m_phi_min, m_phi_max));
-  addHistogram(new TH1F("HLT_XS", "HLT MET Significance;Significance (XS/GeV^{1/2})", m_xs_bins, m_xs_min,  m_xs_max));
 
 }
 
 //___________________________________________________________________________________________________________
-void HLTMETMonTool::fillHLTBasicHistograms(float hlt_ex,float hlt_ex_log,float hlt_ey,float hlt_ey_log,float hlt_ez,float hlt_ez_log,float hlt_met,float hlt_met_log,float hlt_sumet,float hlt_sumet_log,float hlt_sume,float hlt_sume_log,float hlt_phi,float hlt_eta,float hlt_significance) {
+void HLTMETMonTool::fillHLTBasicHistograms(float hlt_ex,float hlt_ex_log,float hlt_ey,float hlt_ey_log,float hlt_ez,float hlt_ez_log,float hlt_met,float hlt_met_log,float hlt_sumet,float hlt_sumet_log,float hlt_sume,float hlt_sume_log,float hlt_phi,float hlt_eta) {
 
   TH1 *h(0);
   TH2 *h2(0);
@@ -1839,7 +1887,6 @@ void HLTMETMonTool::fillHLTBasicHistograms(float hlt_ex,float hlt_ex_log,float h
   if ((h = hist("HLT_MET_eta_etweight")) && hlt_met>0)  h->Fill(hlt_eta, hlt_met);
   if ((h2 = hist2("HLT_MET_etaphi")) && hlt_met>0) h2->Fill(hlt_eta, hlt_phi);
   if ((h2 = hist2("HLT_MET_etaphi_etweight")) && hlt_met>0) h2->Fill(hlt_eta, hlt_phi, hlt_met);
-  if ((h = hist("HLT_XS"))) h->Fill(hlt_significance);
 
 }
 
@@ -2133,12 +2180,16 @@ std::string HLTMETMonTool::get_trigger_algo(std::string item)
     algo = "topocl_PS";
   else if (item.find("pufit") != std::string::npos)
     algo = "topocl_PUC";
+  else if (item.find("tcpufit") != std::string::npos)
+    algo = "topocl_PUC";
   else if (item.find("feb") != std::string::npos)
     algo = "FEB";
   else if (item.find("fex") != std::string::npos)
     algo = "Fex";
   else if (item.find("cell") != std::string::npos)
     algo = "cell";
+  else
+    algo = "cell";
   
   return algo;
 }