ATLAS Offline Software
Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes | List of all members
TAURoIsUnpackingTool Class Reference

#include <TAURoIsUnpackingTool.h>

Inheritance diagram for TAURoIsUnpackingTool:
Collaboration diagram for TAURoIsUnpackingTool:

Public Member Functions

 TAURoIsUnpackingTool (const std::string &type, const std::string &name, const IInterface *parent)
 
StatusCode unpack (const EventContext &ctx, const ROIB::RoIBResult &roib, const HLT::IDSet &activeChains) const override
 
virtual StatusCode initialize () override
 
virtual StatusCode start () override
 
virtual StatusCode unpack (const EventContext &, const ROIB::RoIBResult &, const HLT::IDSet &) const override
 
virtual StatusCode unpack (const EventContext &, const xAOD::TrigComposite &, const HLT::IDSet &) const override
 
virtual StatusCode unpack (const EventContext &, const xAOD::TrigComposite &, const HLT::IDSet &) const override
 

Protected Types

using ThrVec = std::vector< std::shared_ptr< TrigConf::L1Threshold > >
 
using ThrVecRef = std::reference_wrapper< const ThrVec >
 

Protected Member Functions

StatusCode getL1Thresholds (const TrigConf::L1Menu &l1Menu, const std::string &thrType, std::optional< ThrVecRef > &thrVec) const
 Retrieve a vector of thresholds with type thrType from L1Menu. More...
 
StatusCode decodeMapping (std::function< bool(const std::string &)> &&filter)
 Fills mapping from L1 threshold -> to HLT chain. More...
 
void addChainsToDecision (HLT::Identifier thresholdId, TrigCompositeUtils::Decision *d, const HLT::IDSet &activeChains) const
 

Static Protected Member Functions

static std::string getProbeThresholdName (const std::string &thresholdName)
 Concatenate the probe identifier string with the threshold name string. More...
 

Protected Attributes

ToolHandle< GenericMonitoringToolm_monTool { this, "MonTool", "", "Monitoring tool" }
 
ToolHandle< IRoiUpdaterToolm_roiupdater { this, "RoiUpdater", "", "Roi Updater" }
 
std::map< HLT::Identifier, HLT::IDVecm_thresholdToChainMapping
 
std::map< HLT::Identifier, HLT::Identifierm_legToChainMapping
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
Data dependencies
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKey
 
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainerm_decisionsKeyProbe
 
SG::WriteHandleKey< TrigRoiDescriptorCollectionm_trigRoIsKey
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey
 
SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 

Private Attributes

SG::WriteHandleKey< DataVector< LVL1::RecEmTauRoI > > m_recRoIsKey
 
Gaudi::Property< float > m_roIWidthEta
 
Gaudi::Property< float > m_roIWidthPhi
 
LVL1::CPRoIDecoder m_cpDecoder
 

Detailed Description

Definition at line 11 of file TAURoIsUnpackingTool.h.

Member Typedef Documentation

◆ ThrVec

using RoIsUnpackingToolBase::ThrVec = std::vector<std::shared_ptr<TrigConf::L1Threshold> >
protectedinherited

Definition at line 73 of file RoIsUnpackingToolBase.h.

◆ ThrVecRef

using RoIsUnpackingToolBase::ThrVecRef = std::reference_wrapper<const ThrVec>
protectedinherited

Definition at line 74 of file RoIsUnpackingToolBase.h.

Constructor & Destructor Documentation

◆ TAURoIsUnpackingTool()

TAURoIsUnpackingTool::TAURoIsUnpackingTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 10 of file TAURoIsUnpackingTool.cxx.

Member Function Documentation

◆ addChainsToDecision()

void RoIsUnpackingToolBase::addChainsToDecision ( HLT::Identifier  thresholdId,
TrigCompositeUtils::Decision d,
const HLT::IDSet activeChains 
) const
protectedinherited

Definition at line 88 of file RoIsUnpackingToolBase.cxx.

90  {
91  auto chains = m_thresholdToChainMapping.find( thresholdId );
92  if ( chains == m_thresholdToChainMapping.end() ) {
93  ATH_MSG_DEBUG("Threshold not known " << thresholdId);
94  return;
95  }
96 
98  for ( auto chainId: chains->second ) {
99  if ( activeChains.find(chainId) != activeChains.end() ) {
100  ids.insert( chainId.numeric() );
101  ATH_MSG_DEBUG( "Added " << chainId << " to the RoI/threshold decision " << thresholdId );
102  } else { // maybe it is a leg?
103  auto legIterator = m_legToChainMapping.find( chainId );
104  if ( legIterator != m_legToChainMapping.end() ) {
105  // this is a leg we care about, need to check if respective chain was active, and activate
106  if ( activeChains.find( legIterator->second ) != activeChains.end() ) {
107  ids.insert( chainId.numeric() );
108  ATH_MSG_DEBUG( "Added " << chainId << " to the RoI/threshold decision " << thresholdId );
109  }
110  }
111  }
112  }
114  ATH_MSG_DEBUG( "Number of decisions in this RoI after adding chains using threshold " << thresholdId
115  << " " << TrigCompositeUtils::decisionIDs( d ).size() );
116 }

◆ decodeMapping()

StatusCode RoIsUnpackingToolBase::decodeMapping ( std::function< bool(const std::string &)> &&  filter)
protectedinherited

Fills mapping from L1 threshold -> to HLT chain.

  • filter Function that, using the threshold name, defines if this decoder instance should take care of this threshold

Definition at line 52 of file RoIsUnpackingToolBase.cxx.

52  {
54  ATH_CHECK( hltMenuHandle.isValid() );
55  // Cleanup in case there was a stop/start transition
57 
58  for ( const TrigConf::Chain& chain: *hltMenuHandle ) {
59  const HLT::Identifier chainIdentifier(chain.name());
60  const std::vector<std::string> thresholds{ chain.l1thresholds() };
61  const std::vector<size_t> legMultiplicities{ chain.legMultiplicities() };
62  if (thresholds.size() != legMultiplicities.size()) {
63  ATH_MSG_ERROR("Encountered a chain " << chain.name() << " with " << legMultiplicities.size()
64  << " legs but only " << thresholds.size() << " thresholds. These should be the same.");
65  return StatusCode::FAILURE;
66  }
67  size_t counter = 0;
68  for ( const std::string& th: thresholds ) {
69  if ( filter(th) ) {
70  const HLT::Identifier thresholdIdentifier(th);
71  m_thresholdToChainMapping[ thresholdIdentifier ].push_back( chainIdentifier );
72  ATH_MSG_DEBUG( "Associating " << chainIdentifier << " with threshold " << th );
73  if ( thresholds.size() > 1 ) {
74  HLT::Identifier legIdentifier = TrigCompositeUtils::createLegName(chainIdentifier, counter);
75  m_thresholdToChainMapping[ thresholdIdentifier ].push_back( legIdentifier );
76  m_legToChainMapping.insert( std::make_pair( legIdentifier, chainIdentifier ) );
77  ATH_MSG_DEBUG( "Associating additional chain leg " << legIdentifier
78  << " with threshold " << thresholdIdentifier );
79  }
80  }
81  ++counter;
82  }
83  }
84  return StatusCode::SUCCESS;
85 }

◆ getL1Thresholds()

StatusCode RoIsUnpackingToolBase::getL1Thresholds ( const TrigConf::L1Menu l1Menu,
const std::string &  thrType,
std::optional< ThrVecRef > &  thrVec 
) const
protectedinherited

Retrieve a vector of thresholds with type thrType from L1Menu.

Parameters
[in]l1MenuThe L1Menu object
[in]thrTypeThe threshold type, e.g. EM, MU, eTAU
[out]thrVecThe output will be passed into this parameter
Returns
FAILURE on exception reading the menu (e.g. thrType not in menu), SUCCESS otherwise

Definition at line 33 of file RoIsUnpackingToolBase.cxx.

35  {
36  try {
37  thrVec = ThrVecRef(l1Menu.thresholds(thrType));
38  }
39  catch (const std::exception& ex) {
40  ATH_MSG_ERROR("Failed to retrieve " << thrType << " thresholds from L1 menu. Exception:" << ex.what());
41  return StatusCode::FAILURE;
42  }
43  return StatusCode::SUCCESS;
44 }

◆ getProbeThresholdName()

std::string RoIsUnpackingToolBase::getProbeThresholdName ( const std::string &  thresholdName)
staticprotectedinherited

Concatenate the probe identifier string with the threshold name string.

Creates an alternate threshold name, used by lower pT probe legs of tag+probe chains.

Definition at line 47 of file RoIsUnpackingToolBase.cxx.

47  {
48  return "PROBE" + thresholdName;
49 }

◆ initialize()

StatusCode TAURoIsUnpackingTool::initialize ( )
overridevirtual

Reimplemented from RoIsUnpackingToolBase.

Definition at line 16 of file TAURoIsUnpackingTool.cxx.

16  {
19  return StatusCode::SUCCESS;
20 }

◆ start()

StatusCode TAURoIsUnpackingTool::start ( )
overridevirtual

Definition at line 23 of file TAURoIsUnpackingTool.cxx.

23  {
24  ATH_CHECK(decodeMapping([](const std::string& name ){
25  return name.find("TAU") == 0 or name.find(getProbeThresholdName("TAU")) == 0;
26  }));
27  // For Taus, since there is threshold name change from HA to TAU we need to fill the mapping with same threshold
28  // but prefixed by HA
29  // TODO: Remove once L1 configuration switches to TAU
30  for ( const auto& [threshold, chains] : m_thresholdToChainMapping ) {
31  if ( threshold.name().find("TAU") != std::string::npos ) {
32  std::string newThresholdName = threshold.name();
33  newThresholdName.replace(threshold.name().find("TAU"), 3, "HA");
34  ATH_MSG_INFO("Temporary fix due to renaming the HA to TAU thresholds, adding decoding of " << newThresholdName );
36  }
37  }
38 
39  return StatusCode::SUCCESS;
40 }

◆ unpack() [1/4]

virtual StatusCode RoIsUnpackingToolBase::unpack
inlineoverride

Definition at line 40 of file RoIsUnpackingToolBase.h.

42  { return StatusCode::SUCCESS; }

◆ unpack() [2/4]

virtual StatusCode RoIsUnpackingToolBase::unpack
inlineoverride

Definition at line 44 of file RoIsUnpackingToolBase.h.

46  { return StatusCode::SUCCESS; }

◆ unpack() [3/4]

virtual StatusCode RoIsUnpackingToolBase::unpack ( const EventContext &  ,
const xAOD::TrigComposite ,
const HLT::IDSet  
) const
inlineoverridevirtualinherited

Definition at line 44 of file RoIsUnpackingToolBase.h.

46  { return StatusCode::SUCCESS; }

◆ unpack() [4/4]

StatusCode TAURoIsUnpackingTool::unpack ( const EventContext &  ctx,
const ROIB::RoIBResult roib,
const HLT::IDSet activeChains 
) const
overridevirtual

Reimplemented from RoIsUnpackingToolBase.

Definition at line 43 of file TAURoIsUnpackingTool.cxx.

45  {
46  using namespace TrigCompositeUtils;
47 
48  // create and record the collections needed
53 
54  // Retrieve the L1 menu configuration
56  ATH_CHECK(l1Menu.isValid());
57  std::optional<ThrVecRef> tauThresholds;
58  ATH_CHECK(getL1Thresholds(*l1Menu, "TAU", tauThresholds));
59 
60  // Flag if there was an overflow in the TOB transmission to CMX (there were more TOBs than can be transferred)
61  bool overflow{false};
62  constexpr static unsigned int s_maxTauTOBs{5}; // Hardcoded in L1Calo firmware, see ATR-23697 and ATR-12285
63  std::unordered_map<unsigned int, std::unordered_map<unsigned int, unsigned int>> tobCounts; // {crate, {module, count}}
64 
65  // RoIBResult contains vector of TAU fragments
66  for ( const auto & emTauFragment : roib.eMTauResult() ) {
67  for ( const auto & roi : emTauFragment.roIVec() ) {
68  uint32_t roIWord = roi.roIWord();
69  if ( not ( LVL1::TrigT1CaloDefs::TauRoIWordType == roi.roIType() ) ) {
70  ATH_MSG_DEBUG( "Skipping RoI as it is not TAU threshold " << roIWord );
71  continue;
72  }
73 
74  if (!overflow) {
75  unsigned int crate = m_cpDecoder.crate(roIWord);
76  unsigned int module = m_cpDecoder.module(roIWord);
77  overflow = (++tobCounts[crate][module] > s_maxTauTOBs);
78  }
79 
80  recRoIs->push_back( std::make_unique<LVL1::RecEmTauRoI>(roIWord, l1Menu.cptr()) );
81  const LVL1::RecEmTauRoI* recRoI = recRoIs->back();
82 
83  trigRoIs->push_back( std::make_unique<TrigRoiDescriptor>(
84  roIWord, 0u ,0u,
85  recRoI->eta(), recRoI->eta()-m_roIWidthEta, recRoI->eta()+m_roIWidthEta,
86  recRoI->phi(), recRoI->phi()-m_roIWidthPhi, recRoI->phi()+m_roIWidthPhi) );
87 
88  ATH_MSG_DEBUG( "RoI word: 0x" << MSG::hex << std::setw( 8 ) << roIWord << MSG::dec );
89 
90  // The hltSeedingNodeName() denotes an initial node with no parents
91  Decision* decisionMain = TrigCompositeUtils::newDecisionIn( decisionOutput.ptr(), hltSeedingNodeName() );
92  Decision* decisionProbe = TrigCompositeUtils::newDecisionIn( decisionOutputProbe.ptr(), hltSeedingNodeName() );
93 
94  std::vector<TrigCompositeUtils::DecisionID> passedThresholdIDs;
95 
96  for (const auto& th : tauThresholds.value().get()) {
97  ATH_MSG_VERBOSE( "Checking if the threshold " << th->name() << " passed" );
98  if ( recRoI->passedThreshold( th->mapping() ) ) {
99  passedThresholdIDs.push_back(HLT::Identifier(th->name()));
100  const std::string thresholdProbeName = getProbeThresholdName(th->name());
101  ATH_MSG_DEBUG( "Passed Threshold names " << th->name() << " and " << thresholdProbeName);
102  addChainsToDecision( HLT::Identifier( th->name() ), decisionMain, activeChains );
103  addChainsToDecision( HLT::Identifier( thresholdProbeName ), decisionProbe, activeChains );
104  }
105  }
106 
107  decisionMain->setDetail("thresholds", passedThresholdIDs);
108  decisionMain->setObjectLink( initialRoIString(),
110  decisionMain->setObjectLink( initialRecRoIString(),
112 
113  decisionProbe->setDetail("thresholds", passedThresholdIDs);
114  decisionProbe->setObjectLink( initialRoIString(),
116  decisionProbe->setObjectLink( initialRecRoIString(),
118  }
119  }
120 
121  // Decorate the decisions with overflow information
122  if (overflow) {
123  ATH_MSG_WARNING("L1Calo overflow for TAU TOBs to CMX detected");
124  }
125  for (Decision* decision : *decisionOutput) {
126  decision->setDetail("overflow", static_cast<char>(overflow));
127  }
128 
129  for ( auto roi: *trigRoIs ) {
130  ATH_MSG_DEBUG( "RoI Eta: " << roi->eta() << " Phi: " << roi->phi() << " RoIWord: " << roi->roiWord() );
131  }
132 
133  // monitoring
134  {
135  auto RoIsCount = Monitored::Scalar( "count", trigRoIs->size() );
136  auto RoIsPhi = Monitored::Collection( "phi", *trigRoIs, &TrigRoiDescriptor::phi );
137  auto RoIsEta = Monitored::Collection( "eta", *trigRoIs, &TrigRoiDescriptor::eta );
138  Monitored::Group( m_monTool, RoIsCount, RoIsEta, RoIsPhi );
139  }
140 
141  ATH_MSG_DEBUG( "Unpacked " << trigRoIs->size() << " RoIs" );
142 
143  return StatusCode::SUCCESS;
144 }

Member Data Documentation

◆ m_cpDecoder

LVL1::CPRoIDecoder TAURoIsUnpackingTool::m_cpDecoder
private

Definition at line 35 of file TAURoIsUnpackingTool.h.

◆ m_decisionsKey

SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> RoIsUnpackingToolBase::m_decisionsKey
protectedinherited
Initial value:
{
this, "Decisions", "RoIDecisions", "Decisions for each RoI"}

Definition at line 51 of file RoIsUnpackingToolBase.h.

◆ m_decisionsKeyProbe

SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> RoIsUnpackingToolBase::m_decisionsKeyProbe
protectedinherited
Initial value:
{
this, "DecisionsProbe", "", "Optional secondary set of Decisions for each RoI for probe a.k.a. delayed a.k.a. rerun chains"}

Definition at line 54 of file RoIsUnpackingToolBase.h.

◆ m_HLTMenuKey

SG::ReadHandleKey<TrigConf::HLTMenu> RoIsUnpackingToolBase::m_HLTMenuKey
protectedinherited
Initial value:
{
this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "Name of the HLTMenu object to read configuration from"}

Definition at line 63 of file RoIsUnpackingToolBase.h.

◆ m_l1MenuKey

SG::ReadHandleKey<TrigConf::L1Menu> RoIsUnpackingToolBase::m_l1MenuKey
protectedinherited
Initial value:
{
this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "Name of the L1Menu object to read configuration from"}

Definition at line 60 of file RoIsUnpackingToolBase.h.

◆ m_legToChainMapping

std::map<HLT::Identifier, HLT::Identifier> RoIsUnpackingToolBase::m_legToChainMapping
protectedinherited

Definition at line 71 of file RoIsUnpackingToolBase.h.

◆ m_monTool

ToolHandle<GenericMonitoringTool> RoIsUnpackingToolBase::m_monTool { this, "MonTool", "", "Monitoring tool" }
protectedinherited

Definition at line 67 of file RoIsUnpackingToolBase.h.

◆ m_recRoIsKey

SG::WriteHandleKey<DataVector<LVL1::RecEmTauRoI> > TAURoIsUnpackingTool::m_recRoIsKey
private
Initial value:
{
this, "OutputRecRoIs", "HLT_RecTAURoIs", "Name of the RoIs object produced by the unpacker"}

Definition at line 26 of file TAURoIsUnpackingTool.h.

◆ m_roiupdater

ToolHandle<IRoiUpdaterTool> RoIsUnpackingToolBase::m_roiupdater { this, "RoiUpdater", "", "Roi Updater" }
protectedinherited

Definition at line 68 of file RoIsUnpackingToolBase.h.

◆ m_roIWidthEta

Gaudi::Property<float> TAURoIsUnpackingTool::m_roIWidthEta
private
Initial value:
{
this, "RoIWidthEta", 0.4, "Size of RoI in eta"}

Definition at line 29 of file TAURoIsUnpackingTool.h.

◆ m_roIWidthPhi

Gaudi::Property<float> TAURoIsUnpackingTool::m_roIWidthPhi
private
Initial value:
{
this, "RoIWidthPhi", M_PI/8., "Size of RoI in phi"}

Definition at line 32 of file TAURoIsUnpackingTool.h.

◆ m_thresholdToChainMapping

std::map<HLT::Identifier, HLT::IDVec> RoIsUnpackingToolBase::m_thresholdToChainMapping
protectedinherited

Definition at line 70 of file RoIsUnpackingToolBase.h.

◆ m_trigRoIsKey

SG::WriteHandleKey<TrigRoiDescriptorCollection> RoIsUnpackingToolBase::m_trigRoIsKey
protectedinherited
Initial value:
{
this, "OutputTrigRoIs", "", "Name of the RoIs collection produced by the unpacker"}

Definition at line 57 of file RoIsUnpackingToolBase.h.


The documentation for this class was generated from the following files:
LVL1::CPRoIDecoder::crate
unsigned int crate(const unsigned int roiWord) const
Decode crate number from RoI word.
Definition: CPRoIDecoder.cxx:104
xAOD::TrigComposite_v1::setDetail
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::ReadHandle::cptr
const_pointer_type cptr()
Dereference the pointer.
TrigCompositeUtils::hltSeedingNodeName
const std::string & hltSeedingNodeName()
Definition: TrigCompositeUtilsRoot.cxx:894
LVL1::TrigT1CaloDefs::TauRoIWordType
@ TauRoIWordType
Definition: TrigT1CaloDefs.h:173
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TrigCompositeUtils::newDecisionIn
Decision * newDecisionIn(DecisionContainer *dc, const std::string &name)
Helper method to create a Decision object, place it in the container and return a pointer to it.
Definition: TrigCompositeUtilsRoot.cxx:46
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
hist_file_dump.d
d
Definition: hist_file_dump.py:137
ROIB::RoIBResult::eMTauResult
const std::vector< EMTauResult > & eMTauResult() const
Gets the egamma part of the L1 RDO.
Definition: RoIBResult.cxx:68
RoIsUnpackingToolBase::ThrVecRef
std::reference_wrapper< const ThrVec > ThrVecRef
Definition: RoIsUnpackingToolBase.h:74
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TrigCompositeUtils::insertDecisionIDs
void insertDecisionIDs(const Decision *src, Decision *dest)
Appends the decision IDs of src to the dest decision object.
Definition: TrigCompositeUtilsRoot.cxx:80
RoIsUnpackingToolBase::addChainsToDecision
void addChainsToDecision(HLT::Identifier thresholdId, TrigCompositeUtils::Decision *d, const HLT::IDSet &activeChains) const
Definition: RoIsUnpackingToolBase.cxx:88
TrigCompositeUtils::createAndStore
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
Definition: TrigCompositeUtilsRoot.cxx:30
TrigCompositeUtils::initialRecRoIString
const std::string & initialRecRoIString()
Definition: TrigCompositeUtilsRoot.cxx:874
TAURoIsUnpackingTool::m_cpDecoder
LVL1::CPRoIDecoder m_cpDecoder
Definition: TAURoIsUnpackingTool.h:35
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
Monitored::Collection
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
Definition: MonitoredCollection.h:38
covarianceTool.filter
filter
Definition: covarianceTool.py:514
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:270
LVL1::RecEmTauRoI::passedThreshold
bool passedThreshold(unsigned int threshold_number) const
returns TRUE if threshold number threshold_number has been passed by this ROI.
Definition: RecEmTauRoI.cxx:382
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
python.PyAthena.module
module
Definition: PyAthena.py:134
RoIsUnpackingToolBase::m_decisionsKeyProbe
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKeyProbe
Definition: RoIsUnpackingToolBase.h:54
python.TriggerHandler.th
th
Definition: TriggerHandler.py:296
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
RoIsUnpackingToolBase::decodeMapping
StatusCode decodeMapping(std::function< bool(const std::string &)> &&filter)
Fills mapping from L1 threshold -> to HLT chain.
Definition: RoIsUnpackingToolBase.cxx:52
xAOD::TrigComposite_v1::setObjectLink
bool setObjectLink(const std::string &name, const ElementLink< CONTAINER > &link)
Set the link to an object.
RoIsUnpackingToolBase::m_legToChainMapping
std::map< HLT::Identifier, HLT::Identifier > m_legToChainMapping
Definition: RoIsUnpackingToolBase.h:71
TrigCompositeUtils::initialRoIString
const std::string & initialRoIString()
Definition: TrigCompositeUtilsRoot.cxx:870
RoIsUnpackingToolBase::getL1Thresholds
StatusCode getL1Thresholds(const TrigConf::L1Menu &l1Menu, const std::string &thrType, std::optional< ThrVecRef > &thrVec) const
Retrieve a vector of thresholds with type thrType from L1Menu.
Definition: RoIsUnpackingToolBase.cxx:33
SG::WriteHandle::ptr
pointer_type ptr()
Dereference the pointer.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
calibdata.exception
exception
Definition: calibdata.py:496
TrigConf::L1Menu::thresholds
std::vector< std::shared_ptr< TrigConf::L1Threshold > > thresholds() const
Access to list of all L1Thresholds.
Definition: L1Menu.cxx:267
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1::RecEmTauRoI
This class defines the reconstructed em/tau hadron ROI.
Definition: RecEmTauRoI.h:44
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TrigCompositeUtils::createAndStoreNoAux
SG::WriteHandle< CONT > createAndStoreNoAux(const SG::WriteHandleKey< CONT > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Creates and right away records the Container CONT with the key.
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
RoIsUnpackingToolBase::m_decisionsKey
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKey
Definition: RoIsUnpackingToolBase.h:51
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
LVL1::RecEmTauRoI::phi
virtual double phi() const
returns phi coord of ROI
Definition: RecEmTauRoI.cxx:333
TAURoIsUnpackingTool::m_roIWidthEta
Gaudi::Property< float > m_roIWidthEta
Definition: TAURoIsUnpackingTool.h:29
RoIsUnpackingToolBase::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: RoIsUnpackingToolBase.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
threshold
Definition: chainparser.cxx:74
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
TrigCompositeUtils::createLegName
HLT::Identifier createLegName(const HLT::Identifier &chainIdentifier, size_t counter)
Generate the HLT::Identifier which corresponds to a specific leg of a given chain.
Definition: TrigCompositeUtilsRoot.cxx:166
TAURoIsUnpackingTool::m_roIWidthPhi
Gaudi::Property< float > m_roIWidthPhi
Definition: TAURoIsUnpackingTool.h:32
RoIsUnpackingToolBase::m_trigRoIsKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_trigRoIsKey
Definition: RoIsUnpackingToolBase.h:57
RoIsUnpackingToolBase::m_l1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition: RoIsUnpackingToolBase.h:60
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:81
SG::WriteHandle< TrigRoiDescriptorCollection >
TAURoIsUnpackingTool::m_recRoIsKey
SG::WriteHandleKey< DataVector< LVL1::RecEmTauRoI > > m_recRoIsKey
Definition: TAURoIsUnpackingTool.h:26
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
RoiDescriptor::phi
virtual double phi() const override final
Methods to retrieve data members.
Definition: RoiDescriptor.h:100
LVL1::CPRoIDecoder::module
unsigned int module(const unsigned int roiWord) const
Decode module number from RoI word.
Definition: CPRoIDecoder.cxx:111
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
RoIsUnpackingToolBase::m_HLTMenuKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
Definition: RoIsUnpackingToolBase.h:63
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition: TrigCompositeUtilsRoot.cxx:67
RoIsUnpackingToolBase::initialize
virtual StatusCode initialize() override
Definition: RoIsUnpackingToolBase.cxx:16
RoiDescriptor::eta
virtual double eta() const override final
Definition: RoiDescriptor.h:101
TrigCompositeUtils
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigComposite.h:19
RoIsUnpackingToolBase::m_thresholdToChainMapping
std::map< HLT::Identifier, HLT::IDVec > m_thresholdToChainMapping
Definition: RoIsUnpackingToolBase.h:70
RoIsUnpackingToolBase::RoIsUnpackingToolBase
RoIsUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: RoIsUnpackingToolBase.cxx:10
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
LVL1::RecEmTauRoI::eta
virtual double eta() const
returns eta coord of ROI
Definition: RecEmTauRoI.cxx:343
TrigConf::Chain
HLT chain configuration.
Definition: TrigConfData/TrigConfData/HLTChain.h:18
test_pyathena.counter
counter
Definition: test_pyathena.py:15
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
RoIsUnpackingToolBase::getProbeThresholdName
static std::string getProbeThresholdName(const std::string &thresholdName)
Concatenate the probe identifier string with the threshold name string.
Definition: RoIsUnpackingToolBase.cxx:47