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; }