|
ATLAS Offline Software
|
#include <MURoIsUnpackingTool.h>
|
| MURoIsUnpackingTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor with parameters: More...
|
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | start () override |
|
virtual StatusCode | unpack (const EventContext &ctx, const ROIB::RoIBResult &roib, const HLT::IDSet &activeChains) const 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 20 of file MURoIsUnpackingTool.h.
◆ ThrVec
◆ ThrVecRef
◆ MURoIsUnpackingTool()
MURoIsUnpackingTool::MURoIsUnpackingTool |
( |
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 MURoIsUnpackingTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ start()
StatusCode MURoIsUnpackingTool::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 35 of file MURoIsUnpackingTool.cxx.
49 std::optional<ThrVecRef> muThresholds;
53 const uint32_t roIWord = roi.roIWord();
54 unsigned int thresholdNumber = roi.pt();
55 ATH_MSG_DEBUG(
"MUON RoI with the threshold number: " << thresholdNumber );
56 if ( thresholdNumber < 1 or thresholdNumber > 6 ) {
57 ATH_MSG_WARNING(
"Incorrect threshold number, should be between 1 and 6 but is: "
58 << thresholdNumber <<
", force setting it to 1" );
62 recRoIs->push_back(std::make_unique<LVL1::RecMuonRoI>(roIWord,
68 trigRoIs->
push_back( std::make_unique<TrigRoiDescriptor>(
73 ATH_MSG_DEBUG(
"RoI word: 0x" << MSG::hex << std::setw( 8 ) << roIWord );
88 std::vector<TrigCompositeUtils::DecisionID> passedThresholdIDs;
90 for (
const auto&
th : muThresholds.value().get()) {
91 if (
th->mapping() < thresholdNumber ) {
95 ATH_MSG_DEBUG(
"Passed Threshold names " <<
th->name() <<
" and " << thresholdProbeName);
101 decisionMain->
setDetail(
"thresholds", passedThresholdIDs);
102 decisionProbe->
setDetail(
"thresholds", passedThresholdIDs);
112 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_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_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_RecMURoIs", "Name of the RoIs object produced by the unpacker"}
Definition at line 37 of file MURoIsUnpackingTool.h.
◆ m_recRpcRoITool
Initial value:{
this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"}
Definition at line 49 of file MURoIsUnpackingTool.h.
◆ m_recTgcRoITool
Initial value:{
this, "TgcRpcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool"}
Definition at line 51 of file MURoIsUnpackingTool.h.
◆ m_roiupdater
ToolHandle<IRoiUpdaterTool> RoIsUnpackingToolBase::m_roiupdater { this, "RoiUpdater", "", "Roi Updater" } |
|
protectedinherited |
◆ m_roIWidth
Gaudi::Property<float> MURoIsUnpackingTool::m_roIWidth |
|
private |
Initial value:{
this, "RoIWidth", 0.1, "Size of RoI in eta/ phi"}
Definition at line 43 of file MURoIsUnpackingTool.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.
const_pointer_type cptr()
Dereference the pointer.
const std::string & hltSeedingNodeName()
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()
const std::string & key() const
Return the StoreGate ID for the referenced object.
virtual double eta() const
returns eta coord of ROI
@ 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())
This class defines the reconstructed Muon ROI.
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.
#define CHECK(...)
Evaluate an expression and check for errors.
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?
virtual double phi() const
returns phi coord of ROI
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.
const std::vector< MuCTPIRoI > & roIVec() const
Member function returning the RoI vector.
virtual double eta() const override final
const MuCTPIResult & muCTPIResult() const
Gets the MuCTPI part of the L1 RDO.
Declare a monitored scalar variable.
size_type size() const noexcept
Returns the number of elements in the collection.