diff --git a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py index eed1ffa27ef79b9786f1705f73e54d2e3197f11e..3ff0bd06dbe7556350998b09847b925d7b43a6fd 100644 --- a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py +++ b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py @@ -377,6 +377,15 @@ if DQMonFlags.doMonitoring(): Steering.doTauMon=DQMonFlags.doTauMon() Steering.doJetTagMon=DQMonFlags.doJetTagMon() + # schedule legacy HLT monitoring if Run 2 EDM + if DQMonFlags.doHLTMon() and ConfigFlags.Trigger.EDMVersion == 2: + try: + include("TrigHLTMonitoring/HLTMonitoring_topOptions.py") + HLTMonMan = topSequence.HLTMonManager + HLTMonMan.FileKey = DQMonFlags.monManFileKey() + except Exception: + treatException("DataQualitySteering_jobOptions.py: exception when setting up HLT monitoring") + ConfigFlags.dump() ComponentAccumulator.CAtoGlobalWrapper(AthenaMonitoringCfg, ConfigFlags) diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx index a0fed546a8c4d174fd7ec69491a0a7c8e76417c3..67bd92731059fbe8d45a3e33a97020d04e1eafe1 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx @@ -166,7 +166,6 @@ HLTTauMonTool::HLTTauMonTool(const std::string & type, const std::string & n, co m_HLTTriggerCondition = 0; m_mu_offline = 0.; m_mu_online = 0; - m_tauCont = 0; m_counterOfdR0_Topomutau = 0; m_counterOfdR0_Topoeltau = 0; @@ -197,8 +196,6 @@ StatusCode HLTTauMonTool::init() { m_mu_offline = 0.; m_mu_online = 0; - m_tauCont = 0; - m_LB = -1; // put all trigger names into one arry @@ -244,6 +241,14 @@ 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_eventInfoKey.initialize()); + ATH_CHECK(m_truthParticleKey.initialize(m_truth)); + ATH_CHECK(m_offlineTauJetKey.initialize()); + ATH_CHECK(m_emRoIKey.initialize()); + ATH_CHECK(m_jetRoIKey.initialize()); + ATH_CHECK(m_pvKey.initialize()); + ATH_CHECK(m_jetKey.initialize()); + return StatusCode::SUCCESS; } /////////////////////////////////////////////////////////////////// @@ -328,8 +333,8 @@ StatusCode HLTTauMonTool::fill() { m_muCut40Passed = (!m_domuCut40 || (m_domuCut40 && (m_mu_offline<40.))); - const xAOD::EventInfo* evtInfo = 0; - if( !evtStore()->retrieve(evtInfo, "EventInfo" ).isSuccess() ){ + const xAOD::EventInfo* evtInfo = SG::get(m_eventInfoKey); + if( !evtInfo ){ ATH_MSG_WARNING("Failed to retrieve EventInfo container, aborting!"); return StatusCode::SUCCESS; } @@ -342,9 +347,8 @@ StatusCode HLTTauMonTool::fill() { m_true_taus.clear(); m_true_taus_nprong.clear(); if(m_truth){ - const xAOD::TruthParticleContainer* truth_cont = 0; - sc = evtStore()->retrieve(truth_cont, "TruthParticles" ); - if( !sc.isSuccess() ){ + const xAOD::TruthParticleContainer* truth_cont = SG::get(m_truthParticleKey); + if( !truth_cont ){ ATH_MSG_WARNING("Failed to retrieve TruthParticle container. Exiting."); //return StatusCode::FAILURE; } @@ -389,16 +393,15 @@ StatusCode HLTTauMonTool::fill() { // good reco taus //m_taus.clear(); m_taus_RNN.clear(); - m_tauCont = 0; - sc = evtStore()->retrieve(m_tauCont, "TauJets"); - if( !sc.isSuccess() ){ + const auto tauCont = SG::get(m_offlineTauJetKey); + if( !tauCont ){ ATH_MSG_WARNING("Failed to retrieve TauJets container. Exiting!"); //return StatusCode::FAILURE; //return sc; } else{ - xAOD::TauJetContainer::const_iterator offlinetau,offlinetau_end = m_tauCont->end(); - for(offlinetau=m_tauCont->begin();offlinetau!=offlinetau_end; ++offlinetau){ + xAOD::TauJetContainer::const_iterator offlinetau,offlinetau_end = tauCont->end(); + for(offlinetau=tauCont->begin();offlinetau!=offlinetau_end; ++offlinetau){ if((*offlinetau)){ TLorentzVector TauTLV = (*offlinetau)->p4(); double eta_Tau = TauTLV.Eta(); @@ -657,9 +660,9 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co if(trigItem=="Dump"){ - const xAOD::EmTauRoIContainer* l1Tau_cont = 0; + const xAOD::EmTauRoIContainer* l1Tau_cont = SG::get(m_emRoIKey); - if ( !evtStore()->retrieve( l1Tau_cont, "LVL1EmTauRoIs").isSuccess() ){ // retrieve arguments: container type, container key + if ( !l1Tau_cont ){ // retrieve arguments: container type, container key ATH_MSG_WARNING("Failed to retrieve LVL1EmTauRoI container. Exiting! "); return StatusCode::FAILURE; } else{ @@ -736,8 +739,8 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co std::vector< float > jet_roi_eta; std::vector< float > jet_roi_phi; - const xAOD::EmTauRoIContainer* l1Tau_cont = 0; - if ( !evtStore()->retrieve( l1Tau_cont, "LVL1EmTauRoIs").isSuccess() ){ // retrieve arguments: container type, container key + const xAOD::EmTauRoIContainer* l1Tau_cont = SG::get(m_emRoIKey); + if ( !l1Tau_cont ){ // retrieve arguments: container type, container key ATH_MSG_WARNING("Failed to retrieve LVL1EmTauRoI container. Exiting!"); } else { ATH_MSG_DEBUG("found LVL1EmTauRoI in SG"); @@ -867,10 +870,10 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem, co // look at triggers seeded by L1_TAU20IM_2TAU12IM to get the jet turn-on if(trig_item_EF=="HLT_tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM" && getTDT()->isPassed(trig_item_EF,m_HLTTriggerCondition)){ - const xAOD::JetContainer * jet_cont = 0; - if(!evtStore()->retrieve(jet_cont, "AntiKt4LCTopoJets").isSuccess()) { + const xAOD::JetContainer * jet_cont = SG::get(m_jetKey); + if(!jet_cont) { - ATH_MSG_WARNING("Failed to retrieve AntiKt4EMTopoJets container"); + ATH_MSG_WARNING("Failed to retrieve " << m_jetKey << " container"); //return StatusCode::FAILURE; } else { float maxPt=0; @@ -1182,8 +1185,8 @@ StatusCode HLTTauMonTool::fillL1Tau(const xAOD::EmTauRoI * aL1Tau){ hist2("hL1EtVsPhi")->Fill(aL1Tau->tauClus()/CLHEP::GeV,aL1Tau->phi()); hist2("hL1EtVsEta")->Fill(aL1Tau->tauClus()/CLHEP::GeV,aL1Tau->eta()); - const xAOD::JetRoIContainer *l1jets = 0; - if ( !evtStore()->retrieve( l1jets, "LVL1JetRoIs").isSuccess() ){ + const xAOD::JetRoIContainer *l1jets = SG::get(m_jetRoIKey); + if ( !l1jets ){ ATH_MSG_WARNING("Failed to retrieve LVL1JetRoIs container. Exiting."); return StatusCode::FAILURE; } else{ @@ -2368,8 +2371,8 @@ void HLTTauMonTool::testL1TopoNavigation(const std::string & trigItem){ combEnd = comb; std::advance(combEnd,100); } - const xAOD::EmTauRoIContainer* l1Tau_cont = 0; - if ( !evtStore()->retrieve( l1Tau_cont, "LVL1EmTauRoIs").isSuccess() ){ + const xAOD::EmTauRoIContainer* l1Tau_cont = SG::get(m_emRoIKey); + if ( !l1Tau_cont ){ ATH_MSG_WARNING("Failed to retrieve LVL1EmTauRoI container"); } else { ATH_MSG_DEBUG("found LVL1EmTauRoI in SG"); @@ -2401,8 +2404,8 @@ void HLTTauMonTool::testL1TopoNavigation(const std::string & trigItem){ const std::vector< TrigCompositeUtils::LinkInfo<xAOD::TauJetContainer> > features = 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() ){ + const xAOD::EmTauRoIContainer* l1Tau_cont = SG::get(m_emRoIKey); + if ( !l1Tau_cont ){ ATH_MSG_WARNING("Failed to retrieve LVL1EmTauRoI container"); } else { ATH_MSG_DEBUG("found LVL1EmTauRoI in SG"); @@ -2463,8 +2466,8 @@ void HLTTauMonTool::testClusterNavigation(const xAOD::TauJet *aEFTau){ /////////////////////////////////////////////////////////// const xAOD::EmTauRoI * HLTTauMonTool::findLVL1_ROI(const TrigRoiDescriptor * roiDesc){ - const xAOD::EmTauRoIContainer* l1Tau_cont = 0; - if ( !evtStore()->retrieve( l1Tau_cont, "LVL1EmTauRoIs").isSuccess() ){ // retrieve arguments: container type, container key + const xAOD::EmTauRoIContainer* l1Tau_cont = SG::get(m_emRoIKey); + if ( !l1Tau_cont ){ // retrieve arguments: container type, container key ATH_MSG_WARNING("Failed to retrieve LVL1EmTauRoI container. Exiting."); return 0; } else{ @@ -3822,8 +3825,8 @@ bool HLTTauMonTool::L1TauMatching(const std::string & trigItem, const TLorentzVe int HLTTauMonTool::PrimaryVertices(){ int nGoodVtx(0); - const xAOD::VertexContainer* primary = 0; - if( !evtStore()->retrieve(primary, "PrimaryVertices" ).isSuccess() ){ + const xAOD::VertexContainer* primary = SG::get(m_pvKey); + if( !primary ){ ATH_MSG_DEBUG("Failed to retrieve PrimaryVertices container, returning -1!"); return -1; } diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h index 9ed86d39147108146ac3fd5a23c971c87eeead1f..f67b063e15a3cb11e00a88a12a90c908fa08d69c 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h @@ -176,7 +176,13 @@ class HLTTauMonTool : public IHLTMonTool { std::vector<int> m_true_taus_nprong; std::vector<const xAOD::TauJet *> m_taus_BDT; std::vector<const xAOD::TauJet *> m_taus_RNN; - const xAOD::TauJetContainer* m_tauCont; + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey { this, "eventInfoKey", "EventInfo", "EventInfo key" }; + SG::ReadHandleKey<xAOD::TruthParticleContainer> m_truthParticleKey { this, "truthParticleKey", "TruthParticles", "TruthParticleContainer key" }; + SG::ReadHandleKey<xAOD::TauJetContainer> m_offlineTauJetKey { this, "offlineTauJetKey", "TauJets", "Offline taujet container key" }; + SG::ReadHandleKey<xAOD::EmTauRoIContainer> m_emRoIKey { this, "emRoIKey", "LVL1EmTauRoIs", "EM Tau RoI container key" }; + SG::ReadHandleKey<xAOD::JetRoIContainer> m_jetRoIKey { this, "jetRoIKey", "LVL1JetRoIs", "Jet RoI container key" }; + SG::ReadHandleKey<xAOD::VertexContainer> m_pvKey { this, "pvKey", "PrimaryVertices", "Primary vertex container key" }; + SG::ReadHandleKey<xAOD::JetContainer> m_jetKey { this, "jetKey", "AntiKt4LCTopoJets", "Offline jet container key" }; unsigned int m_L1TriggerCondition; unsigned int m_HLTTriggerCondition;