ATLAS Offline Software
TrigTauMonitorBaseAlgorithm.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
10 
11 TrigTauMonitorBaseAlgorithm::TrigTauMonitorBaseAlgorithm(const std::string& name, ISvcLocator* pSvcLocator)
12  : AthMonitorAlgorithm(name, pSvcLocator)
13 {}
14 
15 
18  ATH_CHECK( m_trigDecTool.retrieve() );
19  ATH_CHECK( m_eventInfoDecorKey.initialize() );
20 
21  ATH_CHECK( m_offlineTauJetKey.initialize() );
22 
23  if(m_L1_select_by_et_only) ATH_MSG_INFO("L1 RoI selection by Et cut only! No isolated L1 tau items are allowed!");
24  ATH_CHECK( m_legacyl1TauRoIKey.initialize() );
25  ATH_CHECK( m_phase1l1eTauRoIKey.initialize() );
27  ATH_CHECK( m_phase1l1jTauRoIKey.initialize() );
29  ATH_CHECK( m_phase1l1cTauRoIKey.initialize() );
31  ATH_CHECK( m_phase1l1cTauRoIDecorKey.initialize() );
32 
33  ATH_CHECK( m_hltTauJetKey.initialize() );
34  ATH_CHECK( m_hltTauJetLLPKey.initialize() );
35  ATH_CHECK( m_hltTauJetLRTKey.initialize() );
36  ATH_CHECK( m_hltTauJetCaloMVAOnlyKey.initialize() );
37 
38  // Parse TauTrigInfo objects
39  for(const std::string& trigger : m_triggers) {
42 
43  if(m_trigInfo[trigger].areAnyL1TauIsolated()) {
44  ATH_MSG_FATAL("Cannot use isolated L1 tau items if running with SelectL1ByETOnly = True: " << trigger);
45  return StatusCode::FAILURE;
46  }
47  } else {
49  }
50  }
51 
52  return StatusCode::SUCCESS;
53 }
54 
55 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOnlineTausAll(const std::string& trigger, bool include_0P) const
56 {
57  std::vector<const xAOD::TauJet*> tau_vec;
58 
59  const std::string tau_container_name = getOnlineContainerKey(trigger).key();
60  ATH_MSG_DEBUG("Tau container name is: " << tau_container_name);
61  auto vec = m_trigDecTool->features<xAOD::TauJetContainer>(trigger, TrigDefs::Physics, tau_container_name);
62  for(auto& featLinkInfo : vec) {
63  const xAOD::TauJet* feat = *(featLinkInfo.link);
64  if(!feat) continue;
65 
66  int nTracks = -1;
68  ATH_MSG_DEBUG("NTracks Online: " << nTracks);
69 
70  if(include_0P && nTracks == 0) tau_vec.push_back(feat);
71  else tau_vec.push_back(feat);
72  }
73 
74  return tau_vec;
75 }
76 
77 std::tuple<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::getOnlineTaus(const std::string& trigger) const
78 {
79  return classifyOnlineTaus(getOnlineTausAll(trigger, true), 0.0);
80 }
81 
82 
83 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOfflineTausAll(const EventContext& ctx, const float threshold) const
84 {
85  ATH_MSG_DEBUG("Retrieving offline Taus");
86 
87  std::vector<const xAOD::TauJet*> tau_vec;
88 
90  if(!taus.isValid()) {
91  ATH_MSG_WARNING("Failed to retrieve offline Taus");
92  return tau_vec;
93  }
94 
95  for(const xAOD::TauJet* const tau : *taus) {
96  // Consider only offline taus with a certain minimum pT
97  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
98 
99  // Consider only offline taus outside of the crack region
100  if(std::abs(tau->eta()) > 1.37 && std::abs(tau->eta()) < 1.52) continue;
101 
102  // Consider only offline taus which pass RNN medium WP
103  if(!tau->isTau(xAOD::TauJetParameters::JetRNNSigMedium)) continue;
104 
105  // Consider only offline taus which pass thinning
106  static const SG::ConstAccessor<char> passThinningAcc("passThinning");
107  if(!passThinningAcc.withDefault(*tau, true)) continue;
108 
109  int nTracks = -1;
110  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
111  ATH_MSG_DEBUG("NTracks Offline: " << nTracks);
112  if(nTracks == 1 || nTracks == 3) tau_vec.push_back(tau);
113  }
114 
115  return tau_vec;
116 }
117 
118 
119 std::pair<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::getOfflineTaus(const EventContext& ctx, const float threshold) const
120 {
122 }
123 
124 
125 std::vector<const xAOD::eFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1eTAUs(const EventContext& ctx, const std::string& l1_item) const
126 {
127  std::vector<const xAOD::eFexTauRoI*> roi_vec;
128 
130  if(!rois.isValid()) {
131  ATH_MSG_WARNING("Failed to retrieve the L1_eTauRoi container");
132  return roi_vec;
133  }
134 
136  for(const xAOD::eFexTauRoI* roi : *rois) {
137  // Select by RoI ET value only
138  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
139  }
140  } else {
142  if(!thresholdPatterns.isValid()) {
143  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_eTauRoi container");
144  return roi_vec;
145  }
146 
147  for(const xAOD::eFexTauRoI* roi : *rois) {
148  // Check that the RoI passed the threshold selection
149  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
150  }
151  }
152 
153  return roi_vec;
154 }
155 
156 
157 std::vector<const xAOD::jFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1jTAUs(const EventContext& ctx, const std::string& l1_item) const
158 {
159  std::vector<const xAOD::jFexTauRoI*> roi_vec;
160 
162  if(!rois.isValid()) {
163  ATH_MSG_WARNING("Failed to retrieve the L1_jTauRoi container");
164  return roi_vec;
165  }
166 
168  for(const xAOD::jFexTauRoI* roi : *rois) {
169  // Select by RoI ET value only
170  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
171  }
172  } else {
174  if(!thresholdPatterns.isValid()) {
175  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_jTauRoi container");
176  return roi_vec;
177  }
178 
179  for(const xAOD::jFexTauRoI* roi : *rois) {
180  // Check that the RoI passed the threshold selection
181  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
182  }
183  }
184 
185  return roi_vec;
186 }
187 
188 
189 std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> TrigTauMonitorBaseAlgorithm::getL1cTAUs(const EventContext& ctx, const std::string& l1_item) const
190 {
191  std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> roi_vec;
192 
194  if(!rois.isValid()) {
195  ATH_MSG_WARNING("Failed to retrieve the L1_cTauRoi container");
196  return roi_vec;
197  }
199  if(!jTau_roi_link.isValid()) {
200  ATH_MSG_WARNING("Failed to create jTauLink accessor for the L1_cTauRoi container");
201  return roi_vec;
202  }
203 
205  for(size_t i = 0; i < rois->size(); i++) {
206  const xAOD::eFexTauRoI* roi = (*rois)[i];
207  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
208 
209  // Select by RoI ET value only
210  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
211  }
212  } else {
214  if(!thresholdPatterns.isValid()) {
215  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_cTauRoi container");
216  return roi_vec;
217  }
218 
219  for(size_t i = 0; i < rois->size(); i++) {
220  const xAOD::eFexTauRoI* roi = (*rois)[i];
221  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
222 
223  // Check that the RoI passed the threshold selection
224  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
225  }
226  }
227 
228 
229  return roi_vec;
230 }
231 
232 
233 std::vector<const xAOD::EmTauRoI*> TrigTauMonitorBaseAlgorithm::getL1LegacyTAUs(const EventContext& ctx, const std::string& l1_item) const
234 {
235  std::vector<const xAOD::EmTauRoI*> roi_vec;
236 
238  if(!rois.isValid()) {
239  ATH_MSG_WARNING("Failed to retrieve EmTauRoI ");
240  return roi_vec;
241  }
242 
243  for(const xAOD::EmTauRoI* roi : *rois) {
244  for(const std::string& thr_item : roi->thrNames()) {
245  // check which threshold has passed based on the current L1 item under monitoring
246  // reference : https://gitlab.cern.ch/atlas/athena/-/blob/master/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
247  if((l1_item.find("TAU8") != std::string::npos && thr_item.find("HA8") != std::string::npos)
248  || (l1_item.find("TAU12IM") != std::string::npos && thr_item.find("HA12IM") != std::string::npos)
249  || (l1_item.find("TAU20IM") != std::string::npos && thr_item.find("HA20IM") != std::string::npos)
250  || (l1_item.find("TAU40") != std::string::npos && thr_item.find("HA40") != std::string::npos)
251  || (l1_item.find("TAU60") != std::string::npos && thr_item.find("HA60") != std::string::npos)
252  || (l1_item.find("TAU100") != std::string::npos && thr_item.find("HA100") != std::string::npos)) {
253  roi_vec.push_back(roi);
254  break;
255  }
256  }
257  }
258 
259  return roi_vec;
260 }
261 
262 
264 {
266  if(info.getHLTTauType() == "tracktwoMVA" || info.getHLTTauType() == "tracktwoMVABDT") return m_hltTauJetKey;
267  else if(info.getHLTTauType() == "tracktwoLLP") return m_hltTauJetLLPKey;
268  else if(info.getHLTTauType() == "trackLRT") return m_hltTauJetLRTKey;
269  else if(info.getHLTTauType() == "ptonly") return m_hltTauJetCaloMVAOnlyKey;
270  else {
271  ATH_MSG_ERROR("Unknown HLT TauJet container for chain: \"" << trigger << "\", of type \"" << info.getHLTTauType() << "\". Returning the default \"" << m_hltTauJetKey.key() << "\"");
272  return m_hltTauJetKey;
273  }
274 }
275 
276 
278 {
279  ATH_MSG_DEBUG("Executing Monitoring algorithm");
280 
281  // Protect against truncated events
282  // Since this happens very rarely, it won't bias the L1 distributions and efficiencies
283  if(m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
284  ATH_MSG_WARNING("HLTResult truncated, skip trigger analysis");
285  return StatusCode::SUCCESS;
286  }
287 
288  // Protect against LAr noise bursts and other detector errors
290  ATH_CHECK(eventInfo.isValid());
294  || eventInfo->isEventFlagBitSet(xAOD::EventInfo::Core, 18)) {
295  return StatusCode::SUCCESS;
296  }
297 
298  ATH_CHECK(processEvent(ctx));
299 
300  return StatusCode::SUCCESS;
301 }
302 
303 
304 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::classifyTausAll(const std::vector<const xAOD::TauJet*>& taus, const float threshold) const
305 {
306  std::vector<const xAOD::TauJet*> tau_vec;
307 
308  for(const xAOD::TauJet* tau : taus) {
309  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
310  tau_vec.push_back(tau);
311  }
312 
313  return tau_vec;
314 }
315 
316 
317 std::tuple<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::classifyOnlineTaus(const std::vector<const xAOD::TauJet*>& taus, const float threshold) const
318 {
319  std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp;
320 
321  for(const xAOD::TauJet* tau : taus) {
322  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
323 
324  int nTracks = -1;
325  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
326 
327  if(nTracks == 0) tau_vec_0p.push_back(tau);
328  else if(nTracks == 1) tau_vec_1p.push_back(tau);
329  else tau_vec_mp.push_back(tau);
330  }
331 
332  return {tau_vec_0p, tau_vec_1p, tau_vec_mp};
333 }
334 
335 
336 std::pair<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::classifyOfflineTaus(const std::vector<const xAOD::TauJet*>& taus, const float threshold) const
337 {
338  std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p;
339 
340  for(const xAOD::TauJet* const tau : taus) {
341  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
342 
343  int nTracks = -1;
344  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
345 
346  if(nTracks == 1) tau_vec_1p.push_back(tau);
347  else if(nTracks == 3) tau_vec_3p.push_back(tau);
348  }
349 
350  return {tau_vec_1p, tau_vec_3p};
351 }
grepfile.info
info
Definition: grepfile.py:38
TrigTauMonitorBaseAlgorithm::m_hltTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:117
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:22
xAOD::eFexTauRoI_v1::et
float et() const
TOB ET (decoded from TOB, stored for convenience)
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AthMonitorAlgorithm::m_trigDecTool
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
Definition: AthMonitorAlgorithm.h:340
TrigTauMonitorBaseAlgorithm::m_trigInfo
std::map< std::string, TrigTauInfo > m_trigInfo
Definition: TrigTauMonitorBaseAlgorithm.h:100
TrigTauMonitorBaseAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigTauMonitorBaseAlgorithm.cxx:16
TrigTauMonitorBaseAlgorithm::m_phase1l1jTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:112
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
TrigTauMonitorBaseAlgorithm::m_phase1l1eTauRoIKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:109
TrigTauMonitorBaseAlgorithm::getL1cTAUs
std::vector< std::pair< const xAOD::eFexTauRoI *, const xAOD::jFexTauRoI * > > getL1cTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:189
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIDecorKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:114
TrigTauMonitorBaseAlgorithm::classifyOnlineTaus
std::tuple< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > classifyOnlineTaus(const std::vector< const xAOD::TauJet * > &taus, const float threshold=0.0) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:317
TrigTauMonitorBaseAlgorithm::classifyTausAll
std::vector< const xAOD::TauJet * > classifyTausAll(const std::vector< const xAOD::TauJet * > &taus, const float threshold=0.0) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:304
TrigTauMonitorBaseAlgorithm::m_L1_select_by_et_only
Gaudi::Property< bool > m_L1_select_by_et_only
Definition: TrigTauMonitorBaseAlgorithm.h:37
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
SG::ConstAccessor< char >
TrigTauMonitorBaseAlgorithm::m_phase1l1eTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:110
TrigTauMonitorBaseAlgorithm::getL1eTAUs
std::vector< const xAOD::eFexTauRoI * > getL1eTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:125
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
xAOD::EventInfo_v1::LAr
@ LAr
The LAr calorimeter.
Definition: EventInfo_v1.h:335
TrigTauMonitorBaseAlgorithm::m_L1_Phase1_thresholds
Gaudi::Property< std::map< std::string, float > > m_L1_Phase1_thresholds
Definition: TrigTauMonitorBaseAlgorithm.h:35
LArEventBitInfo.h
xAOD::EventInfo_v1::Error
@ Error
The sub-detector issued an error.
Definition: EventInfo_v1.h:349
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TrigTauMonitorBaseAlgorithm::m_phase1l1jTauRoIKey
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:111
TrigTauMonitorBaseAlgorithm::getOnlineTausAll
std::vector< const xAOD::TauJet * > getOnlineTausAll(const std::string &trigger, bool include_0P=true) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:55
TrigTauMonitorBaseAlgorithm::classifyOfflineTaus
std::pair< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > classifyOfflineTaus(const std::vector< const xAOD::TauJet * > &taus, const float threshold=0.0) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:336
TrigTauMonitorBaseAlgorithm::m_L1_Phase1_threshold_patterns
Gaudi::Property< std::map< std::string, uint64_t > > m_L1_Phase1_threshold_patterns
Definition: TrigTauMonitorBaseAlgorithm.h:36
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
TrigTauMonitorBaseAlgorithm::m_legacyl1TauRoIKey
SG::ReadHandleKey< xAOD::EmTauRoIContainer > m_legacyl1TauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:108
TrigTauMonitorBaseAlgorithm::TrigTauMonitorBaseAlgorithm
TrigTauMonitorBaseAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigTauMonitorBaseAlgorithm.cxx:11
lumiFormat.i
int i
Definition: lumiFormat.py:92
xAOD::EmTauRoI_v2
Class describing a LVL1 em/tau region of interest.
Definition: EmTauRoI_v2.h:35
xAOD::eFexTauRoI_v1
Class describing a LVL1 eFEX tau region of interest.
Definition: eFexTauRoI_v1.h:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
xAOD::TauJetParameters::nChargedTracks
@ nChargedTracks
Definition: TauDefs.h:322
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TrigTauMonitorBaseAlgorithm::getOfflineTaus
std::pair< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > getOfflineTaus(const EventContext &ctx, const float threshold=20.0) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:119
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:113
TrigTauMonitorBaseAlgorithm.h
AthMonitorAlgorithm::GetEventInfo
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
Definition: AthMonitorAlgorithm.cxx:107
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
xAOD::TauJet_v3::detail
bool detail(TauJetParameters::Detail detail, int &value) const
Set veto flag.
Definition: TauJet_v3.cxx:292
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
threshold
Definition: chainparser.cxx:74
TrigTauMonitorBaseAlgorithm::m_offlineTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_offlineTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:106
AthMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: AthMonitorAlgorithm.cxx:18
TrigTauMonitorBaseAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TrigTauMonitorBaseAlgorithm.cxx:277
TrigTauInfo
Definition: TrigTauInfo.h:15
xAOD::TauJetParameters::JetRNNSigMedium
@ JetRNNSigMedium
Definition: TauDefs.h:147
xAOD::EventInfo_v1::Tile
@ Tile
The Tile calorimeter.
Definition: EventInfo_v1.h:336
TrigTauMonitorBaseAlgorithm::m_hltTauJetCaloMVAOnlyKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetCaloMVAOnlyKey
Definition: TrigTauMonitorBaseAlgorithm.h:120
TrigTauMonitorBaseAlgorithm::processEvent
virtual StatusCode processEvent(const EventContext &ctx) const =0
TrigTauMonitorBaseAlgorithm::getL1jTAUs
std::vector< const xAOD::jFexTauRoI * > getL1jTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:157
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TriggerTest.rois
rois
Definition: TriggerTest.py:23
TrigTauMonitorBaseAlgorithm::getL1LegacyTAUs
std::vector< const xAOD::EmTauRoI * > getL1LegacyTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:233
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:115
xAOD::EventInfo_v1::errorState
EventFlagErrorState errorState(EventFlagSubDet subDet) const
Get the error state for a particular sub-detector.
Definition: EventInfo_v1.cxx:817
TrigTauMonitorBaseAlgorithm::m_triggers
Gaudi::Property< std::vector< std::string > > m_triggers
Definition: TrigTauMonitorBaseAlgorithm.h:32
xAOD::EventInfo_v1::isEventFlagBitSet
bool isEventFlagBitSet(EventFlagSubDet subDet, size_t bit) const
Check one particular bit of one particular sub-detector.
Definition: EventInfo_v1.cxx:703
ReadDecorHandle.h
Handle class for reading a decoration on an object.
TrigTauMonitorBaseAlgorithm::getOnlineContainerKey
const SG::ReadHandleKey< xAOD::TauJetContainer > & getOnlineContainerKey(const std::string &trigger) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:263
python.TrigTauInfo.TrigTauInfo
TrigTauInfo
Definition: TrigTauInfo.py:7
TrigTauMonitorBaseAlgorithm::getTrigInfo
const TrigTauInfo & getTrigInfo(const std::string &trigger) const
Definition: TrigTauMonitorBaseAlgorithm.h:45
TrigTauMonitorBaseAlgorithm::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:104
TrigTauMonitorBaseAlgorithm::getOnlineTaus
std::tuple< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > getOnlineTaus(const std::string &trigger) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:77
TrigTauMonitorBaseAlgorithm::m_hltTauJetLRTKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLRTKey
Definition: TrigTauMonitorBaseAlgorithm.h:119
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
xAOD::EventInfo_v1::Core
@ Core
Core flags describing the event.
Definition: EventInfo_v1.h:339
TrigTauMonitorBaseAlgorithm::getOfflineTausAll
std::vector< const xAOD::TauJet * > getOfflineTausAll(const EventContext &ctx, const float threshold=20.0) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:83
TrigTauMonitorBaseAlgorithm::m_hltTauJetLLPKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLLPKey
Definition: TrigTauMonitorBaseAlgorithm.h:118
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
xAOD::EventInfo_v1::SCT
@ SCT
The SCT.
Definition: EventInfo_v1.h:333
SG::ConstAccessor::withDefault
const_reference_type withDefault(const ELT &e, const T &deflt) const
Fetch the variable for one element, as a const reference, with a default.