ATLAS Offline Software
TrigTauMonitorBaseAlgorithm.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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() );
23  ATH_CHECK( m_offlineGNTauDecorKey.initialize() );
24 
25  if(m_L1_select_by_et_only) ATH_MSG_INFO("L1 RoI selection by Et cut only! No isolated L1 tau items are allowed!");
26  ATH_CHECK( m_phase1l1eTauRoIKey.initialize() );
28  ATH_CHECK( m_phase1l1jTauRoIKey.initialize() );
30  ATH_CHECK( m_phase1l1cTauRoIKey.initialize() );
32  ATH_CHECK( m_phase1l1cTauRoIDecorKey.initialize() );
33 
34  ATH_CHECK( m_hltTauJetKey.initialize() );
35  ATH_CHECK( m_hltTauJetLLPKey.initialize() );
36  ATH_CHECK( m_hltTauJetLRTKey.initialize() );
37  ATH_CHECK( m_hltTauJetCaloMVAOnlyKey.initialize() );
38 
39  // Parse TauTrigInfo objects
40  for(const std::string& trigger : m_triggers) {
42  m_trigInfo[trigger] = TrigTauInfo(trigger, m_L1_Phase1_thresholds);
43 
44  if(m_trigInfo[trigger].areAnyL1TauIsolated()) {
45  ATH_MSG_FATAL("Cannot use isolated L1 tau items if running with SelectL1ByETOnly = True: " << trigger);
46  return StatusCode::FAILURE;
47  }
48  } else {
50  }
51  }
52 
53  return StatusCode::SUCCESS;
54 }
55 
56 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOnlineTausAll(const std::string& trigger, bool include_0P) const
57 {
58  std::vector<const xAOD::TauJet*> tau_vec;
59 
60 
61  const TrigTauInfo& info = getTrigInfo(trigger);
62  const std::string tau_container_name = getOnlineContainerKey(info.getHLTTauType()).key();
63  ATH_MSG_DEBUG("Tau container name is: " << tau_container_name);
64  auto vec = m_trigDecTool->features<xAOD::TauJetContainer>(trigger, TrigDefs::Physics, tau_container_name);
65  for(auto& featLinkInfo : vec) {
66  const xAOD::TauJet* feat = *(featLinkInfo.link);
67  if(!feat) continue;
68 
69  int nTracks = -1;
71  ATH_MSG_DEBUG("NTracks Online: " << nTracks);
72 
73  if(include_0P && nTracks == 0) tau_vec.push_back(feat);
74  else tau_vec.push_back(feat);
75  }
76 
77  return tau_vec;
78 }
79 
80 std::tuple<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::getOnlineTaus(const std::string& trigger) const
81 {
82  return classifyOnlineTaus(getOnlineTausAll(trigger, true), 0.0);
83 }
84 
85 
86 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOfflineTausAll(const EventContext& ctx, const float threshold) const
87 {
88  ATH_MSG_DEBUG("Retrieving offline Taus");
89 
90  std::vector<const xAOD::TauJet*> tau_vec;
91 
93  if(!taus.isValid()) {
94  ATH_MSG_WARNING("Failed to retrieve offline Taus");
95  return tau_vec;
96  }
97 
98  for(const xAOD::TauJet* const tau : *taus) {
99  // Consider only offline taus with a certain minimum pT
100  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
101 
102  // Consider only offline taus outside of the crack region
103  if(std::abs(tau->eta()) > 1.37 && std::abs(tau->eta()) < 1.52) continue;
104 
105  // Consider only offline taus which pass RNN medium WP
106  if(!tau->isTau(xAOD::TauJetParameters::JetRNNSigMedium)) continue;
107 
108  // Consider only offline taus which pass thinning
109  static const SG::ConstAccessor<char> passThinningAcc("passThinning");
110  if(!passThinningAcc.withDefault(*tau, true)) continue;
111 
112  int nTracks = -1;
113  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
114  ATH_MSG_DEBUG("NTracks Offline: " << nTracks);
115  if(nTracks == 1 || nTracks == 3) tau_vec.push_back(tau);
116  }
117 
118  return tau_vec;
119 }
120 
121 
122 std::pair<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::getOfflineTaus(const EventContext& ctx, const float threshold, const TauID tau_id) const
123 {
125 }
126 
127 
128 std::vector<const xAOD::eFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1eTAUs(const EventContext& ctx, const std::string& l1_item) const
129 {
130  std::vector<const xAOD::eFexTauRoI*> roi_vec;
131 
133  if(!rois.isValid()) {
134  ATH_MSG_WARNING("Failed to retrieve the L1_eTauRoi container");
135  return roi_vec;
136  }
137 
139  for(const xAOD::eFexTauRoI* roi : *rois) {
140  // Select by RoI ET value only
141  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
142  }
143  } else {
145  if(!thresholdPatterns.isValid()) {
146  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_eTauRoi container");
147  return roi_vec;
148  }
149 
150  for(const xAOD::eFexTauRoI* roi : *rois) {
151  // Check that the RoI passed the threshold selection
152  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
153  }
154  }
155 
156  return roi_vec;
157 }
158 
159 
160 std::vector<const xAOD::jFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1jTAUs(const EventContext& ctx, const std::string& l1_item) const
161 {
162  std::vector<const xAOD::jFexTauRoI*> roi_vec;
163 
165  if(!rois.isValid()) {
166  ATH_MSG_WARNING("Failed to retrieve the L1_jTauRoi container");
167  return roi_vec;
168  }
169 
171  for(const xAOD::jFexTauRoI* roi : *rois) {
172  // Select by RoI ET value only
173  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
174  }
175  } else {
177  if(!thresholdPatterns.isValid()) {
178  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_jTauRoi container");
179  return roi_vec;
180  }
181 
182  for(const xAOD::jFexTauRoI* roi : *rois) {
183  // Check that the RoI passed the threshold selection
184  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
185  }
186  }
187 
188  return roi_vec;
189 }
190 
191 
192 std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> TrigTauMonitorBaseAlgorithm::getL1cTAUs(const EventContext& ctx, const std::string& l1_item) const
193 {
194  std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> roi_vec;
195 
197  if(!rois.isValid()) {
198  ATH_MSG_WARNING("Failed to retrieve the L1_cTauRoi container");
199  return roi_vec;
200  }
202  if(!jTau_roi_link.isValid()) {
203  ATH_MSG_WARNING("Failed to create jTauLink accessor for the L1_cTauRoi container");
204  return roi_vec;
205  }
206 
208  for(size_t i = 0; i < rois->size(); i++) {
209  const xAOD::eFexTauRoI* roi = (*rois)[i];
210  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
211 
212  // Select by RoI ET value only
213  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
214  }
215  } else {
217  if(!thresholdPatterns.isValid()) {
218  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_cTauRoi container");
219  return roi_vec;
220  }
221 
222  for(size_t i = 0; i < rois->size(); i++) {
223  const xAOD::eFexTauRoI* roi = (*rois)[i];
224  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
225 
226  // Check that the RoI passed the threshold selection
227  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
228  }
229  }
230 
231 
232  return roi_vec;
233 }
234 
235 
237 {
238  if(sequence == "tracktwoMVA" || sequence == "tracktwoMVABDT") return m_hltTauJetKey;
239  else if(sequence == "tracktwoLLP") return m_hltTauJetLLPKey;
240  else if(sequence == "trackLRT") return m_hltTauJetLRTKey;
241  else if(sequence == "ptonly") return m_hltTauJetCaloMVAOnlyKey;
242  else {
243  ATH_MSG_ERROR("Unknown HLT TauJet container for sequence \"" << sequence << "\". Returning the default \"" << m_hltTauJetKey.key() << "\"");
244  return m_hltTauJetKey;
245  }
246 }
247 
248 
250 {
251  ATH_MSG_DEBUG("Executing Monitoring algorithm");
252 
253  // Protect against truncated events
254  // Since this happens very rarely, it won't bias the L1 distributions and efficiencies
255  if(m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
256  ATH_MSG_WARNING("HLTResult truncated, skip trigger analysis");
257  return StatusCode::SUCCESS;
258  }
259 
260  // Protect against LAr noise bursts and other detector errors
262  ATH_CHECK(eventInfo.isValid());
266  || eventInfo->isEventFlagBitSet(xAOD::EventInfo::Core, 18)) {
267  return StatusCode::SUCCESS;
268  }
269 
270  ATH_CHECK(processEvent(ctx));
271 
272  return StatusCode::SUCCESS;
273 }
274 
275 
276 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::classifyTausAll(const std::vector<const xAOD::TauJet*>& taus, const float threshold, const TauID tau_id) const
277 {
278  std::vector<const xAOD::TauJet*> tau_vec;
279 
280  SG::ReadDecorHandle<xAOD::TauJetContainer, char> tauid_medium{m_offlineGNTauDecorKey, Gaudi::Hive::currentContext()};
281  if(!tauid_medium.isValid()) {
282  ATH_MSG_WARNING("Cannot retrieve " << tauid_medium.key());
283  return tau_vec;
284  }
285 
286  for(const xAOD::TauJet* tau : taus) {
287  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
288 
289  // Consider only offline taus which pass medium ID WP
290  if(tau_id == TauID::RNN) {
291  if(!tau->isTau(xAOD::TauJetParameters::JetRNNSigMedium)) continue;
292  }
293  else if(tau_id == TauID::GNTau) {
294  if(!tauid_medium(*tau)) continue;
295  }
296 
297  tau_vec.push_back(tau);
298  }
299 
300  return tau_vec;
301 }
302 
303 
304 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
305 {
306  std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp;
307 
308  for(const xAOD::TauJet* tau : classifyTausAll(taus, threshold, TauID::None)) {
309  int nTracks = -1;
310  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
311 
312  if(nTracks == 0) tau_vec_0p.push_back(tau);
313  else if(nTracks == 1) tau_vec_1p.push_back(tau);
314  else tau_vec_mp.push_back(tau);
315  }
316 
317  return {tau_vec_0p, tau_vec_1p, tau_vec_mp};
318 }
319 
320 
321 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 TauID tau_id) const
322 {
323  std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p;
324 
325  for(const xAOD::TauJet* const tau : classifyTausAll(taus, threshold, tau_id)) {
326  int nTracks = -1;
327  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
328 
329  if(nTracks == 1) tau_vec_1p.push_back(tau);
330  else if(nTracks == 3) tau_vec_3p.push_back(tau);
331  }
332 
333  return {tau_vec_1p, tau_vec_3p};
334 }
TrigTauMonitorBaseAlgorithm::m_hltTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:123
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:23
xAOD::eFexTauRoI_v1::et
float et() const
TOB ET (decoded from TOB, stored for convenience)
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:18
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TrigTauMonitorBaseAlgorithm::TauID
TauID
Definition: TrigTauMonitorBaseAlgorithm.h:30
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:131
TrigTauMonitorBaseAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigTauMonitorBaseAlgorithm.cxx:16
TrigTauMonitorBaseAlgorithm::m_phase1l1jTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:142
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
TrigTauMonitorBaseAlgorithm::m_phase1l1eTauRoIKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:139
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:192
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIDecorKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:144
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:304
TrigTauMonitorBaseAlgorithm::m_L1_select_by_et_only
Gaudi::Property< bool > m_L1_select_by_et_only
Definition: TrigTauMonitorBaseAlgorithm.h:43
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
SG::ConstAccessor< char >
TrigTauMonitorBaseAlgorithm::m_phase1l1eTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:140
TrigTauMonitorBaseAlgorithm::getL1eTAUs
std::vector< const xAOD::eFexTauRoI * > getL1eTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:128
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:41
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:141
TrigTauMonitorBaseAlgorithm::getOnlineTausAll
std::vector< const xAOD::TauJet * > getOnlineTausAll(const std::string &trigger, bool include_0P=true) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:56
CaloCellPos2Ntuple.None
None
Definition: CaloCellPos2Ntuple.py:23
TrigTauMonitorBaseAlgorithm::m_L1_Phase1_threshold_patterns
Gaudi::Property< std::map< std::string, uint64_t > > m_L1_Phase1_threshold_patterns
Definition: TrigTauMonitorBaseAlgorithm.h:42
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::TrigTauMonitorBaseAlgorithm
TrigTauMonitorBaseAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigTauMonitorBaseAlgorithm.cxx:11
lumiFormat.i
int i
Definition: lumiFormat.py:85
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
TrigTauMonitorBaseAlgorithm::getOnlineContainerKey
const SG::ReadHandleKey< xAOD::TauJetContainer > & getOnlineContainerKey(const std::string &sequence) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:236
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::m_phase1l1cTauRoIKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:143
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:794
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
Get and set values of common details variables via enum.
Definition: TauJet_v3.cxx:264
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
threshold
Definition: chainparser.cxx:74
TrigTauMonitorBaseAlgorithm::getOfflineTaus
std::pair< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > getOfflineTaus(const EventContext &ctx, const float threshold=20.0, const TauID tau_id=TauID::None) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:122
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 TauID tau_id=TauID::None) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:321
TrigTauMonitorBaseAlgorithm::m_offlineTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_offlineTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:121
TrigTauMonitorBaseAlgorithm::m_offlineGNTauDecorKey
SG::ReadDecorHandleKey< xAOD::TauJetContainer > m_offlineGNTauDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:137
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:249
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:126
TrigTauMonitorBaseAlgorithm::classifyTausAll
std::vector< const xAOD::TauJet * > classifyTausAll(const std::vector< const xAOD::TauJet * > &taus, const float threshold=0.0, const TauID tau_id=TauID::None) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:276
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:160
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TriggerTest.rois
rois
Definition: TriggerTest.py:23
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:145
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:38
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.
python.TrigTauInfo.TrigTauInfo
TrigTauInfo
Definition: TrigTauInfo.py:7
TrigTauMonitorBaseAlgorithm::getTrigInfo
const TrigTauInfo & getTrigInfo(const std::string &trigger) const
Definition: TrigTauMonitorBaseAlgorithm.h:51
TrigTauMonitorBaseAlgorithm::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:135
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:80
TrigTauMonitorBaseAlgorithm::m_hltTauJetLRTKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLRTKey
Definition: TrigTauMonitorBaseAlgorithm.h:125
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
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:86
TrigTauMonitorBaseAlgorithm::m_hltTauJetLLPKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLLPKey
Definition: TrigTauMonitorBaseAlgorithm.h:124
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.