|
ATLAS Offline Software
|
#include <JRoIsUnpackingTool.h>
|
| JRoIsUnpackingTool (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 |
|
Definition at line 13 of file JRoIsUnpackingTool.h.
◆ ThrVec
◆ ThrVecRef
◆ JRoIsUnpackingTool()
JRoIsUnpackingTool::JRoIsUnpackingTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ addChainsToDecision()
Definition at line 88 of file RoIsUnpackingToolBase.cxx.
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 );
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 );
114 ATH_MSG_DEBUG(
"Number of decisions in this RoI after adding chains using threshold " << thresholdId
◆ 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.
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;
68 for (
const std::string&
th: thresholds ) {
72 ATH_MSG_DEBUG(
"Associating " << chainIdentifier <<
" with threshold " <<
th );
73 if ( thresholds.size() > 1 ) {
77 ATH_MSG_DEBUG(
"Associating additional chain leg " << legIdentifier
78 <<
" with threshold " << thresholdIdentifier );
84 return StatusCode::SUCCESS;
◆ getL1Thresholds()
Retrieve a vector of thresholds with type thrType
from L1Menu.
- Parameters
-
[in] | l1Menu | The L1Menu object |
[in] | thrType | The threshold type, e.g. EM, MU, eTAU |
[out] | thrVec | The 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.
40 ATH_MSG_ERROR(
"Failed to retrieve " << thrType <<
" thresholds from L1 menu. Exception:" << ex.what());
41 return StatusCode::FAILURE;
43 return StatusCode::SUCCESS;
◆ 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.
48 return "PROBE" + thresholdName;
◆ initialize()
StatusCode JRoIsUnpackingTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ start()
StatusCode JRoIsUnpackingTool::start |
( |
| ) |
|
|
overridevirtual |
◆ unpack() [1/4]
virtual StatusCode RoIsUnpackingToolBase::unpack |
|
inlineoverride |
◆ unpack() [2/4]
virtual StatusCode RoIsUnpackingToolBase::unpack |
|
inlineoverride |
◆ unpack() [3/4]
|
inlineoverridevirtualinherited |
◆ unpack() [4/4]
Reimplemented from RoIsUnpackingToolBase.
Definition at line 33 of file JRoIsUnpackingTool.cxx.
45 std::optional<ThrVecRef> jetThresholds;
50 constexpr
static unsigned int s_maxJetTOBs{4};
51 std::unordered_map<unsigned int, std::unordered_map<unsigned int, unsigned int>> tobCounts;
55 for (
const auto & roi : jetFragment.roIVec() ) {
58 ATH_MSG_DEBUG(
"Skipping RoI as it is not JET threshold " << roIWord <<
" Type "<< roi.roIType() );
65 overflow = (++tobCounts[crate][
module] > s_maxJetTOBs);
68 recRoIs->push_back( std::make_unique<LVL1::RecJetRoI>(roIWord, l1Menu.
cptr()) );
71 trigRoIs->
push_back( std::make_unique<TrigRoiDescriptor>(
76 ATH_MSG_DEBUG(
"RoI word: 0x" << MSG::hex << std::setw( 8 ) << roIWord << MSG::dec );
81 std::vector<unsigned> passedThresholdIDs;
83 for (
const auto&
th : jetThresholds.value().get()) {
92 return std::vector<TrigCompositeUtils::DecisionID>(
ids.begin(),
ids.end() ); }() );
96 decision->
setDetail(
"thresholds", passedThresholdIDs );
108 for (
Decision* decision : *decisionOutput) {
109 decision->
setDetail(
"overflow",
static_cast<char>(overflow));
113 for (
auto roi: *trigRoIs ) {
114 ATH_MSG_DEBUG(
"RoI Eta: " << roi->eta() <<
" Phi: " << roi->phi() <<
" RoIWord: " << roi->roiWord() );
128 return StatusCode::SUCCESS;
◆ m_decisionsKey
Initial value:{
this, "Decisions", "RoIDecisions", "Decisions for each RoI"}
Definition at line 51 of file RoIsUnpackingToolBase.h.
◆ m_decisionsKeyProbe
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_fsRoIKey
Gaudi::Property<std::string> JRoIsUnpackingTool::m_fsRoIKey |
|
private |
Initial value:{
this, "FSRoIKey", "HLT_FSRoI", "The key of FS RoI made earlier by the HLTSeeding" }
Definition at line 35 of file JRoIsUnpackingTool.h.
◆ m_HLTMenuKey
Initial value:{
this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "Name of the HLTMenu object to read configuration from"}
Definition at line 63 of file RoIsUnpackingToolBase.h.
◆ m_jepDecoder
◆ m_l1MenuKey
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
◆ m_monTool
◆ m_recRoIsKey
Initial value:{
this, "OutputRecRoIs", "HLT_RecJETRoIs", "Name of the RoIs object produced by the unpacker"}
Definition at line 29 of file JRoIsUnpackingTool.h.
◆ m_roiupdater
ToolHandle<IRoiUpdaterTool> RoIsUnpackingToolBase::m_roiupdater { this, "RoiUpdater", "", "Roi Updater" } |
|
protectedinherited |
◆ m_roIWidth
Gaudi::Property<float> JRoIsUnpackingTool::m_roIWidth |
|
private |
Initial value:{
this, "RoIWidth", 0.4, "Size of RoI in eta/phi"}
Definition at line 32 of file JRoIsUnpackingTool.h.
◆ m_thresholdToChainMapping
◆ m_trigRoIsKey
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:
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
Group
Properties of a chain group.
This class defines the reconstructed em/tau hadron ROI.
unsigned int crate(const unsigned int word) const
Return hardware coordinates.
const_pointer_type cptr()
Dereference the pointer.
const std::string & hltSeedingNodeName()
const std::vector< JetEnergyResult > & jetEnergyResult() const
Gets the jet/energy part of the L1 RDO.
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.
void insertDecisionIDs(const Decision *src, Decision *dest)
Appends the decision IDs of src to the dest decision object.
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
const std::string & initialRecRoIString()
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
@ u
Enums for curvilinear frames.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
bool setObjectLink(const std::string &name, const ElementLink< CONTAINER > &link)
Set the link to an object.
const std::string & initialRoIString()
pointer_type ptr()
Dereference the pointer.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
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.
Class used to describe composite objects in the HLT.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool passedThreshold(unsigned int thresholdNumber) const
returns TRUE if threshold number threshold_number has been passed by this ROI.
unsigned int module(const unsigned int word) const
Extract module number from Jet RoI word.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
HLT::Identifier createLegName(const HLT::Identifier &chainIdentifier, size_t counter)
Generate the HLT::Identifier which corresponds to a specific leg of a given chain.
std::set< DecisionID > DecisionIDContainer
#define ATH_MSG_WARNING(x)
virtual double phi() const override final
Methods to retrieve data members.
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
virtual double eta() const override final
virtual double eta() const
returns eta coord of ROI
Declare a monitored scalar variable.
size_type size() const noexcept
Returns the number of elements in the collection.
virtual double phi() const
returns phi coord of ROI