|
ATLAS Offline Software
|
Go to the documentation of this file.
44 ATH_MSG_FATAL(
"Cannot use isolated L1 tau items if running with SelectL1ByETOnly = True: " <<
trigger);
45 return StatusCode::FAILURE;
52 return StatusCode::SUCCESS;
57 std::vector<const xAOD::TauJet*> tau_vec;
60 ATH_MSG_DEBUG(
"Tau container name is: " << tau_container_name);
62 for(
auto& featLinkInfo :
vec) {
70 if(include_0P && nTracks == 0) tau_vec.push_back(feat);
71 else tau_vec.push_back(feat);
87 std::vector<const xAOD::TauJet*> tau_vec;
100 if(std::abs(tau->eta()) > 1.37 && std::abs(tau->eta()) < 1.52)
continue;
107 if(!passThinningAcc.
withDefault(*tau,
true))
continue;
112 if(nTracks == 1 || nTracks == 3) tau_vec.push_back(tau);
127 std::vector<const xAOD::eFexTauRoI*> roi_vec;
130 if(!
rois.isValid()) {
142 if(!thresholdPatterns.isValid()) {
143 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_eTauRoi container");
159 std::vector<const xAOD::jFexTauRoI*> roi_vec;
162 if(!
rois.isValid()) {
174 if(!thresholdPatterns.isValid()) {
175 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_jTauRoi container");
191 std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> roi_vec;
194 if(!
rois.isValid()) {
199 if(!jTau_roi_link.isValid()) {
200 ATH_MSG_WARNING(
"Failed to create jTauLink accessor for the L1_cTauRoi container");
205 for(
size_t i = 0;
i <
rois->size();
i++) {
207 const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(
i).isValid() ? *jTau_roi_link(
i) :
nullptr;
214 if(!thresholdPatterns.isValid()) {
215 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_cTauRoi container");
219 for(
size_t i = 0;
i <
rois->size();
i++) {
221 const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(
i).isValid() ? *jTau_roi_link(
i) :
nullptr;
235 std::vector<const xAOD::EmTauRoI*> roi_vec;
238 if(!
rois.isValid()) {
244 for(
const std::string& thr_item : roi->thrNames()) {
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);
266 if(
info.getHLTTauType() ==
"tracktwoMVA" ||
info.getHLTTauType() ==
"tracktwoMVABDT")
return m_hltTauJetKey;
283 if(
m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
285 return StatusCode::SUCCESS;
295 return StatusCode::SUCCESS;
300 return StatusCode::SUCCESS;
306 std::vector<const xAOD::TauJet*> tau_vec;
310 tau_vec.push_back(tau);
319 std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp;
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);
332 return {tau_vec_0p, tau_vec_1p, tau_vec_mp};
338 std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p;
346 if(nTracks == 1) tau_vec_1p.push_back(tau);
347 else if(nTracks == 3) tau_vec_3p.push_back(tau);
350 return {tau_vec_1p, tau_vec_3p};
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetKey
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
float et() const
TOB ET (decoded from TOB, stored for convenience)
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
std::map< std::string, TrigTauInfo > m_trigInfo
virtual StatusCode initialize() override
initialize
SG::ReadDecorHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIThresholdPatternsKey
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIKey
std::vector< std::pair< const xAOD::eFexTauRoI *, const xAOD::jFexTauRoI * > > getL1cTAUs(const EventContext &ctx, const std::string &l1_item) const
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIDecorKey
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
std::vector< const xAOD::TauJet * > classifyTausAll(const std::vector< const xAOD::TauJet * > &taus, const float threshold=0.0) const
Gaudi::Property< bool > m_L1_select_by_et_only
std::vector< size_t > vec
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1eTauRoIThresholdPatternsKey
std::vector< const xAOD::eFexTauRoI * > getL1eTAUs(const EventContext &ctx, const std::string &l1_item) const
Property holding a SG store/key/clid from which a ReadHandle is made.
@ LAr
The LAr calorimeter.
Gaudi::Property< std::map< std::string, float > > m_L1_Phase1_thresholds
@ Error
The sub-detector issued an error.
Base class for Athena Monitoring Algorithms.
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_phase1l1jTauRoIKey
std::vector< const xAOD::TauJet * > getOnlineTausAll(const std::string &trigger, bool include_0P=true) const
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
Gaudi::Property< std::map< std::string, uint64_t > > m_L1_Phase1_threshold_patterns
Handle class for reading a decoration on an object.
SG::ReadHandleKey< xAOD::EmTauRoIContainer > m_legacyl1TauRoIKey
TrigTauMonitorBaseAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Class describing a LVL1 em/tau region of interest.
Class describing a LVL1 eFEX tau region of interest.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
std::pair< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > getOfflineTaus(const EventContext &ctx, const float threshold=20.0) const
SG::ReadHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIKey
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool detail(TauJetParameters::Detail detail, int &value) const
Set veto flag.
SG::ReadHandleKey< xAOD::TauJetContainer > m_offlineTauJetKey
virtual StatusCode initialize() override
initialize
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
@ Tile
The Tile calorimeter.
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetCaloMVAOnlyKey
virtual StatusCode processEvent(const EventContext &ctx) const =0
std::vector< const xAOD::jFexTauRoI * > getL1jTAUs(const EventContext &ctx, const std::string &l1_item) const
#define ATH_MSG_WARNING(x)
std::vector< const xAOD::EmTauRoI * > getL1LegacyTAUs(const EventContext &ctx, const std::string &l1_item) const
SG::ReadDecorHandleKey< xAOD::eFexTauRoIContainer > m_phase1l1cTauRoIThresholdPatternsKey
EventFlagErrorState errorState(EventFlagSubDet subDet) const
Get the error state for a particular sub-detector.
Gaudi::Property< std::vector< std::string > > m_triggers
bool isEventFlagBitSet(EventFlagSubDet subDet, size_t bit) const
Check one particular bit of one particular sub-detector.
Handle class for reading a decoration on an object.
const SG::ReadHandleKey< xAOD::TauJetContainer > & getOnlineContainerKey(const std::string &trigger) const
const TrigTauInfo & getTrigInfo(const std::string &trigger) const
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
std::tuple< std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * >, std::vector< const xAOD::TauJet * > > getOnlineTaus(const std::string &trigger) const
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLRTKey
@ Core
Core flags describing the event.
std::vector< const xAOD::TauJet * > getOfflineTausAll(const EventContext &ctx, const float threshold=20.0) const
SG::ReadHandleKey< xAOD::TauJetContainer > m_hltTauJetLLPKey
const_reference_type withDefault(const ELT &e, const T &deflt) const
Fetch the variable for one element, as a const reference, with a default.