Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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() );
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_phase1l1eTauRoIKey.initialize() );
26  ATH_CHECK( m_phase1l1jTauRoIKey.initialize() );
28  ATH_CHECK( m_phase1l1cTauRoIKey.initialize() );
30  ATH_CHECK( m_phase1l1cTauRoIDecorKey.initialize() );
31 
32  ATH_CHECK( m_hltTauJetKey.initialize() );
33  ATH_CHECK( m_hltTauJetLLPKey.initialize() );
34  ATH_CHECK( m_hltTauJetLRTKey.initialize() );
35  ATH_CHECK( m_hltTauJetCaloMVAOnlyKey.initialize() );
36 
37  // Parse TauTrigInfo objects
38  for(const std::string& trigger : m_triggers) {
40  m_trigInfo[trigger] = TrigTauInfo(trigger, m_L1_Phase1_thresholds);
41 
42  if(m_trigInfo[trigger].areAnyL1TauIsolated()) {
43  ATH_MSG_FATAL("Cannot use isolated L1 tau items if running with SelectL1ByETOnly = True: " << trigger);
44  return StatusCode::FAILURE;
45  }
46  } else {
48  }
49  }
50 
51  return StatusCode::SUCCESS;
52 }
53 
54 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOnlineTausAll(const std::string& trigger, bool include_0P) const
55 {
56  std::vector<const xAOD::TauJet*> tau_vec;
57 
58  const std::string tau_container_name = getOnlineContainerKey(trigger).key();
59  ATH_MSG_DEBUG("Tau container name is: " << tau_container_name);
60  auto vec = m_trigDecTool->features<xAOD::TauJetContainer>(trigger, TrigDefs::Physics, tau_container_name);
61  for(auto& featLinkInfo : vec) {
62  const xAOD::TauJet* feat = *(featLinkInfo.link);
63  if(!feat) continue;
64 
65  int nTracks = -1;
67  ATH_MSG_DEBUG("NTracks Online: " << nTracks);
68 
69  if(include_0P && nTracks == 0) tau_vec.push_back(feat);
70  else tau_vec.push_back(feat);
71  }
72 
73  return tau_vec;
74 }
75 
76 std::tuple<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> TrigTauMonitorBaseAlgorithm::getOnlineTaus(const std::string& trigger) const
77 {
78  return classifyOnlineTaus(getOnlineTausAll(trigger, true), 0.0);
79 }
80 
81 
82 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::getOfflineTausAll(const EventContext& ctx, const float threshold) const
83 {
84  ATH_MSG_DEBUG("Retrieving offline Taus");
85 
86  std::vector<const xAOD::TauJet*> tau_vec;
87 
89  if(!taus.isValid()) {
90  ATH_MSG_WARNING("Failed to retrieve offline Taus");
91  return tau_vec;
92  }
93 
94  for(const xAOD::TauJet* const tau : *taus) {
95  // Consider only offline taus with a certain minimum pT
96  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
97 
98  // Consider only offline taus outside of the crack region
99  if(std::abs(tau->eta()) > 1.37 && std::abs(tau->eta()) < 1.52) continue;
100 
101  // Consider only offline taus which pass RNN medium WP
102  if(!tau->isTau(xAOD::TauJetParameters::JetRNNSigMedium)) continue;
103 
104  // Consider only offline taus which pass thinning
105  static const SG::ConstAccessor<char> passThinningAcc("passThinning");
106  if(!passThinningAcc.withDefault(*tau, true)) continue;
107 
108  int nTracks = -1;
109  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
110  ATH_MSG_DEBUG("NTracks Offline: " << nTracks);
111  if(nTracks == 1 || nTracks == 3) tau_vec.push_back(tau);
112  }
113 
114  return tau_vec;
115 }
116 
117 
118 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
119 {
121 }
122 
123 
124 std::vector<const xAOD::eFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1eTAUs(const EventContext& ctx, const std::string& l1_item) const
125 {
126  std::vector<const xAOD::eFexTauRoI*> roi_vec;
127 
129  if(!rois.isValid()) {
130  ATH_MSG_WARNING("Failed to retrieve the L1_eTauRoi container");
131  return roi_vec;
132  }
133 
135  for(const xAOD::eFexTauRoI* roi : *rois) {
136  // Select by RoI ET value only
137  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
138  }
139  } else {
141  if(!thresholdPatterns.isValid()) {
142  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_eTauRoi container");
143  return roi_vec;
144  }
145 
146  for(const xAOD::eFexTauRoI* roi : *rois) {
147  // Check that the RoI passed the threshold selection
148  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
149  }
150  }
151 
152  return roi_vec;
153 }
154 
155 
156 std::vector<const xAOD::jFexTauRoI*> TrigTauMonitorBaseAlgorithm::getL1jTAUs(const EventContext& ctx, const std::string& l1_item) const
157 {
158  std::vector<const xAOD::jFexTauRoI*> roi_vec;
159 
161  if(!rois.isValid()) {
162  ATH_MSG_WARNING("Failed to retrieve the L1_jTauRoi container");
163  return roi_vec;
164  }
165 
167  for(const xAOD::jFexTauRoI* roi : *rois) {
168  // Select by RoI ET value only
169  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(roi);
170  }
171  } else {
173  if(!thresholdPatterns.isValid()) {
174  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_jTauRoi container");
175  return roi_vec;
176  }
177 
178  for(const xAOD::jFexTauRoI* roi : *rois) {
179  // Check that the RoI passed the threshold selection
180  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(roi);
181  }
182  }
183 
184  return roi_vec;
185 }
186 
187 
188 std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> TrigTauMonitorBaseAlgorithm::getL1cTAUs(const EventContext& ctx, const std::string& l1_item) const
189 {
190  std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> roi_vec;
191 
193  if(!rois.isValid()) {
194  ATH_MSG_WARNING("Failed to retrieve the L1_cTauRoi container");
195  return roi_vec;
196  }
198  if(!jTau_roi_link.isValid()) {
199  ATH_MSG_WARNING("Failed to create jTauLink accessor for the L1_cTauRoi container");
200  return roi_vec;
201  }
202 
204  for(size_t i = 0; i < rois->size(); i++) {
205  const xAOD::eFexTauRoI* roi = (*rois)[i];
206  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
207 
208  // Select by RoI ET value only
209  if(roi->et() > m_L1_Phase1_thresholds.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
210  }
211  } else {
213  if(!thresholdPatterns.isValid()) {
214  ATH_MSG_WARNING("Failed to create thresholdPatterns property accessor for the L1_cTauRoi container");
215  return roi_vec;
216  }
217 
218  for(size_t i = 0; i < rois->size(); i++) {
219  const xAOD::eFexTauRoI* roi = (*rois)[i];
220  const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(i).isValid() ? *jTau_roi_link(i) : nullptr;
221 
222  // Check that the RoI passed the threshold selection
223  if(thresholdPatterns(*roi) & m_L1_Phase1_threshold_patterns.value().at(l1_item)) roi_vec.push_back(std::make_pair(roi, jTau_roi));
224  }
225  }
226 
227 
228  return roi_vec;
229 }
230 
232 {
233  const TrigTauInfo& info = getTrigInfo(trigger);
234  if(info.getHLTTauType() == "tracktwoMVA" || info.getHLTTauType() == "tracktwoMVABDT") return m_hltTauJetKey;
235  else if(info.getHLTTauType() == "tracktwoLLP") return m_hltTauJetLLPKey;
236  else if(info.getHLTTauType() == "trackLRT") return m_hltTauJetLRTKey;
237  else if(info.getHLTTauType() == "ptonly") return m_hltTauJetCaloMVAOnlyKey;
238  else {
239  ATH_MSG_ERROR("Unknown HLT TauJet container for chain: \"" << trigger << "\", of type \"" << info.getHLTTauType() << "\". Returning the default \"" << m_hltTauJetKey.key() << "\"");
240  return m_hltTauJetKey;
241  }
242 }
243 
244 
246 {
247  ATH_MSG_DEBUG("Executing Monitoring algorithm");
248 
249  // Protect against truncated events
250  // Since this happens very rarely, it won't bias the L1 distributions and efficiencies
251  if(m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
252  ATH_MSG_WARNING("HLTResult truncated, skip trigger analysis");
253  return StatusCode::SUCCESS;
254  }
255 
256  // Protect against LAr noise bursts and other detector errors
258  ATH_CHECK(eventInfo.isValid());
259  if (eventInfo->errorState(xAOD::EventInfo::LAr) == xAOD::EventInfo::Error
260  || eventInfo->errorState(xAOD::EventInfo::Tile) == xAOD::EventInfo::Error
261  || eventInfo->errorState(xAOD::EventInfo::SCT) == xAOD::EventInfo::Error
262  || eventInfo->isEventFlagBitSet(xAOD::EventInfo::Core, 18)) {
263  return StatusCode::SUCCESS;
264  }
265 
266  ATH_CHECK(processEvent(ctx));
267 
268  return StatusCode::SUCCESS;
269 }
270 
271 
272 std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::classifyTausAll(const std::vector<const xAOD::TauJet*>& taus, const float threshold, const TauID tau_id) const
273 {
274  std::vector<const xAOD::TauJet*> tau_vec;
275 
276  for(const xAOD::TauJet* tau : taus) {
277  if(tau->pt() < threshold*Gaudi::Units::GeV) continue;
278 
279  // Consider only offline taus which pass RNN medium WP
280  if(tau_id == TauID::RNN && !tau->isTau(xAOD::TauJetParameters::JetRNNSigMedium)) continue;
281  else if(tau_id == TauID::GNTau) {
282  static const SG::ConstAccessor<char> tauid_medium("GNTauM_v0prune");
283  if(!tauid_medium(*tau)) continue;
284  }
285 
286  tau_vec.push_back(tau);
287  }
288 
289  return tau_vec;
290 }
291 
292 
293 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
294 {
295  std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp;
296 
297  for(const xAOD::TauJet* tau : classifyTausAll(taus, threshold, TauID::None)) {
298  int nTracks = -1;
299  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
300 
301  if(nTracks == 0) tau_vec_0p.push_back(tau);
302  else if(nTracks == 1) tau_vec_1p.push_back(tau);
303  else tau_vec_mp.push_back(tau);
304  }
305 
306  return {tau_vec_0p, tau_vec_1p, tau_vec_mp};
307 }
308 
309 
310 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
311 {
312  std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p;
313 
314  for(const xAOD::TauJet* const tau : classifyTausAll(taus, threshold, tau_id)) {
315  int nTracks = -1;
316  tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
317 
318  if(nTracks == 1) tau_vec_1p.push_back(tau);
319  else if(nTracks == 3) tau_vec_3p.push_back(tau);
320  }
321 
322  return {tau_vec_1p, tau_vec_3p};
323 }
grepfile.info
info
Definition: grepfile.py:38
TrigTauMonitorBaseAlgorithm::m_hltTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:137
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:17
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:121
TrigTauMonitorBaseAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigTauMonitorBaseAlgorithm.cxx:16
TrigTauMonitorBaseAlgorithm::m_phase1l1jTauRoIThresholdPatternsKey
SG::ReadDecorHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIThresholdPatternsKey
Definition: TrigTauMonitorBaseAlgorithm.h:132
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
TrigTauMonitorBaseAlgorithm::m_phase1l1eTauRoIKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIKey
Definition: TrigTauMonitorBaseAlgorithm.h:129
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:188
TrigTauMonitorBaseAlgorithm::m_phase1l1cTauRoIDecorKey
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIDecorKey
Definition: TrigTauMonitorBaseAlgorithm.h:134
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:293
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:130
TrigTauMonitorBaseAlgorithm::getL1eTAUs
std::vector< const xAOD::eFexTauRoI * > getL1eTAUs(const EventContext &ctx, const std::string &l1_item) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:124
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:131
TrigTauMonitorBaseAlgorithm::getOnlineTausAll
std::vector< const xAOD::TauJet * > getOnlineTausAll(const std::string &trigger, bool include_0P=true) const
Definition: TrigTauMonitorBaseAlgorithm.cxx:54
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
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:133
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
Set veto flag.
Definition: TauJet_v3.cxx:292
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:118
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:310
TrigTauMonitorBaseAlgorithm::m_offlineTauJetKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_offlineTauJetKey
Definition: TrigTauMonitorBaseAlgorithm.h:127
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:245
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:140
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:272
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:156
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:135
TrigTauMonitorBaseAlgorithm::m_triggers
Gaudi::Property< std::vector< std::string > > m_triggers
Definition: TrigTauMonitorBaseAlgorithm.h:38
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:231
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:125
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:76
TrigTauMonitorBaseAlgorithm::m_hltTauJetLRTKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLRTKey
Definition: TrigTauMonitorBaseAlgorithm.h:139
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:82
TrigTauMonitorBaseAlgorithm::m_hltTauJetLLPKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLLPKey
Definition: TrigTauMonitorBaseAlgorithm.h:138
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.