ATLAS Offline Software
Loading...
Searching...
No Matches
RoIsUnpackingEmulationTool Class Reference

#include <RoIsUnpackingEmulationTool.h>

Inheritance diagram for RoIsUnpackingEmulationTool:
Collaboration diagram for RoIsUnpackingEmulationTool:

Classes

struct  FakeRoI

Public Member Functions

 RoIsUnpackingEmulationTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual 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 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.
StatusCode decodeMapping (std::function< bool(const std::string &)> &&filter)
 Fills mapping from L1 threshold -> to HLT chain.
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.

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

Private Attributes

Properties
Gaudi::Property< float > m_roIWidth
Gaudi::Property< std::string > m_inputFilename
Gaudi::Property< std::string > m_thresholdPrefix

Emulation

std::vector< std::vector< RoIsUnpackingEmulationTool::FakeRoI > > m_inputData
unsigned m_currentRowNumber {0}
StatusCode readEmulatedData ()
std::vector< std::vector< FakeRoI > > parseInputFile ()
static std::vector< FakeRoIparseInputFileLine (const std::string &line, unsigned lineNumber)
static FakeRoI parseInputRoI (const std::string &roi, unsigned lineNumber, unsigned roiNumber)

Detailed Description

Definition at line 13 of file RoIsUnpackingEmulationTool.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

◆ RoIsUnpackingEmulationTool()

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

Definition at line 9 of file RoIsUnpackingEmulationTool.cxx.

12 : RoIsUnpackingToolBase ( type, name, parent ) {}
RoIsUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)

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}
#define ATH_MSG_DEBUG(x)
std::map< HLT::Identifier, HLT::Identifier > m_legToChainMapping
std::map< HLT::Identifier, HLT::IDVec > m_thresholdToChainMapping
void insertDecisionIDs(const Decision *src, Decision *dest)
Appends the decision IDs of src to the dest decision object.
std::set< DecisionID > DecisionIDContainer
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.

◆ 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 {
53 SG::ReadHandle<TrigConf::HLTMenu> hltMenuHandle = SG::makeHandle( m_HLTMenuKey );
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}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
HLT::Identifier createLegName(const HLT::Identifier &chainIdentifier, size_t counter)
Generate the HLT::Identifier which corresponds to a specific leg of a given chain.

◆ 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}
std::reference_wrapper< const ThrVec > ThrVecRef
std::vector< std::shared_ptr< TrigConf::L1Threshold > > thresholds() const
Access to list of all L1Thresholds.
Definition L1Menu.cxx:267

◆ 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 RoIsUnpackingEmulationTool::initialize ( )
overridevirtual

Reimplemented from RoIsUnpackingToolBase.

Definition at line 15 of file RoIsUnpackingEmulationTool.cxx.

15 {
17
18 if (readEmulatedData().isFailure() ) {
19 ATH_MSG_ERROR( "Failed to read emulated data" );
20 return StatusCode::FAILURE;
21 }
22
23 return StatusCode::SUCCESS;
24}
virtual StatusCode initialize() override

◆ parseInputFile()

std::vector< std::vector< RoIsUnpackingEmulationTool::FakeRoI > > RoIsUnpackingEmulationTool::parseInputFile ( )
private

Definition at line 71 of file RoIsUnpackingEmulationTool.cxx.

71 {
72 const char* whiteSpaceChars = " \t\n\r\f\v";
73 auto rtrim = [whiteSpaceChars](std::string& s) { s.erase(s.find_last_not_of(whiteSpaceChars) + 1); };
74 auto ltrim = [whiteSpaceChars](std::string& s) { s.erase(0, s.find_first_not_of(whiteSpaceChars)); };
75 auto trim = [&rtrim, &ltrim](std::string& s) { ltrim(s); rtrim(s); };
76
77 std::vector<std::vector<RoIsUnpackingEmulationTool::FakeRoI>> result;
78 unsigned lineNumber = 0;
79 std::string line;
80
81 std::ifstream inputFile(m_inputFilename);
82 if (!inputFile.good()) {
83 throw std::invalid_argument("File " + m_inputFilename + "does not exists or is corrupted");
84 }
85
86 while (getline(inputFile, line)) {
87 trim(line);
88 if (line.empty()) {continue;}
89 result.push_back(parseInputFileLine(line, ++lineNumber));
90 }
91
92 if (result.empty()) {
93 throw std::invalid_argument("File " + m_inputFilename + " does not contain any RoI");
94 }
95 ATH_MSG_DEBUG("Read in " << result.size() << " pseudo events from " << m_inputFilename );
96 return result;
97}
string trim(string s)
Gaudi::Property< std::string > m_inputFilename
static std::vector< FakeRoI > parseInputFileLine(const std::string &line, unsigned lineNumber)

◆ parseInputFileLine()

std::vector< RoIsUnpackingEmulationTool::FakeRoI > RoIsUnpackingEmulationTool::parseInputFileLine ( const std::string & line,
unsigned lineNumber )
staticprivate

Definition at line 101 of file RoIsUnpackingEmulationTool.cxx.

101 {
102 std::vector<RoIsUnpackingEmulationTool::FakeRoI> result;
103 unsigned roiNumber = 0;
104 std::stringstream inputLine(line);
105 std::string roi;
106
107 while (getline(inputLine, roi, ';')) {
108 // FIXME: If there aren't as many input fields in roi as parseInputRoI expects,
109 // it'll return uninitialized data (which can lead to a practically infinite
110 // loop when we try to normalize the phi). Add an elementary check here to
111 // fix such a loop observed from creatingEVTest in ViewAlgsTest.
112 if (roi.find (',') != std::string::npos) {
113 result.push_back(parseInputRoI(roi, lineNumber, ++roiNumber));
114 }
115 }
116 return result;
117}
static FakeRoI parseInputRoI(const std::string &roi, unsigned lineNumber, unsigned roiNumber)
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber

◆ parseInputRoI()

RoIsUnpackingEmulationTool::FakeRoI RoIsUnpackingEmulationTool::parseInputRoI ( const std::string & roi,
unsigned lineNumber,
unsigned roiNumber )
staticprivate

Definition at line 121 of file RoIsUnpackingEmulationTool.cxx.

121 {
122 RoIsUnpackingEmulationTool::FakeRoI result{};
123 std::stringstream inputRoi(roi);
124 std::string roiElement;
125 unsigned roiElementNumber = 0;
126
127 std::vector<std::function<void(const std::string&)>> fillResultFunctors;
128 fillResultFunctors.emplace_back([&](const std::string& eta) { result.eta = stod(eta); });
129 fillResultFunctors.emplace_back([&](const std::string& phi) { result.phi = stod(phi); });
130 fillResultFunctors.emplace_back([&](const std::string& word) { result.roIWord = stoul(word); });
131 fillResultFunctors.emplace_back([&](const std::string& passedThresholdID) {
132 result.passedThresholdIDs.push_back(passedThresholdID); });
133
134 while (getline(inputRoi, roiElement, ',')) {
135 if (roiElementNumber > 2) { roiElementNumber = 3; }
136 try{
137 //cppcheck bug: https://trac.cppcheck.net/ticket/11530
138 //cppcheck-suppress containerOutOfBounds
139 fillResultFunctors[roiElementNumber++](roiElement);
140 }
141 catch (const std::exception& ex) {
142 throw std::invalid_argument("Exception encountered while parsing line " + std::to_string(lineNumber) +
143 ", roi " + std::to_string(roiNumber) + ". Exception: " + ex.what());
144 }
145 }
146
147 return result;
148}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ readEmulatedData()

StatusCode RoIsUnpackingEmulationTool::readEmulatedData ( )
private

Definition at line 35 of file RoIsUnpackingEmulationTool.cxx.

35 {
36 if ( m_inputFilename.empty() ) {
37 ATH_MSG_WARNING("Provided InputFilename parameter is empty");
38 return StatusCode::RECOVERABLE;
39 }
40 try {
43 }
44 catch (const std::exception& ex) {
45 ATH_MSG_WARNING(ex.what());
46 return StatusCode::RECOVERABLE;
47 }
48
49 ATH_MSG_DEBUG("Input file parsed successfully. Data:");
50
51 for (auto& fragment : m_inputData) {
52 ATH_MSG_DEBUG("Event");
53 for (auto& fakeRoI : fragment) {
54 const char* const delim = ", ";
55 std::ostringstream debugPassedTresholdIDs;
56 std::copy(fakeRoI.passedThresholdIDs.begin(),
57 fakeRoI.passedThresholdIDs.end(),
58 std::ostream_iterator<std::string>(debugPassedTresholdIDs, delim));
59
60 ATH_MSG_DEBUG("Eta: " + std::to_string(fakeRoI.eta) +
61 ", Phi: " + std::to_string(fakeRoI.phi) +
62 ", Word: " + std::to_string(fakeRoI.roIWord) +
63 ", PassedThresholdIDs: " + debugPassedTresholdIDs.str());
64 }
65 }
66
67 return StatusCode::SUCCESS;
68}
#define ATH_MSG_WARNING(x)
std::vector< std::vector< FakeRoI > > parseInputFile()
std::vector< std::vector< RoIsUnpackingEmulationTool::FakeRoI > > m_inputData

◆ start()

StatusCode RoIsUnpackingEmulationTool::start ( )
overridevirtual

Definition at line 27 of file RoIsUnpackingEmulationTool.cxx.

27 {
28 ATH_CHECK(decodeMapping([&](const std::string& name){
29 return name.find(m_thresholdPrefix) == 0;
30 }));
31 return StatusCode::SUCCESS;
32}
Gaudi::Property< std::string > m_thresholdPrefix
StatusCode decodeMapping(std::function< bool(const std::string &)> &&filter)
Fills mapping from L1 threshold -> to HLT chain.

◆ unpack() [1/2]

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

Reimplemented from RoIsUnpackingToolBase.

Definition at line 44 of file RoIsUnpackingToolBase.h.

46 { return StatusCode::SUCCESS; }

◆ unpack() [2/2]

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

Reimplemented from RoIsUnpackingToolBase.

Definition at line 151 of file RoIsUnpackingEmulationTool.cxx.

153 {
154 using namespace TrigCompositeUtils;
155
156 // create and record the collections needed
157 SG::WriteHandle<TrigRoiDescriptorCollection> trigRoIs = createAndStoreNoAux(m_trigRoIsKey, ctx );
158 SG::WriteHandle<DecisionContainer> decisionOutput = createAndStore(m_decisionsKey, ctx );
159
160 // retrieve fake data for this event
161 if (m_inputData.empty()){
162 ATH_MSG_ERROR("No input dataset found. Cannot decode RoI emulation");
163 return StatusCode::FAILURE;
164 }
165 const size_t line = ctx.evt() % m_inputData.size();
166 ATH_MSG_DEBUG("Getting RoIs for event "<< line);
167 auto FakeRoIs = m_inputData[line];
168
169 for (auto& roi : FakeRoIs) {
170 uint32_t roIWord = roi.roIWord;
171 trigRoIs->push_back( std::make_unique<TrigRoiDescriptor>(
172 roIWord, 0u ,0u,
173 roi.eta, roi.eta-m_roIWidth, roi.eta+m_roIWidth,
174 roi.phi, roi.phi-m_roIWidth, roi.phi+m_roIWidth) );
175
176 ATH_MSG_DEBUG( "RoI word: 0x" << MSG::hex << std::setw(8) << roIWord << MSG::dec );
177
178 // This hltSeedingNodeName() denotes an initial node with no parents
179 auto *decision = TrigCompositeUtils::newDecisionIn( decisionOutput.ptr(), hltSeedingNodeName() );
180 std::vector<TrigCompositeUtils::DecisionID> passedThresholdIDs;
181
182 for ( const auto& th: roi.passedThresholdIDs ) {
183 ATH_MSG_DEBUG( "Passed Threshold " << th << " enabling respective chains " );
184 passedThresholdIDs.push_back( HLT::Identifier(th) );
185 addChainsToDecision( HLT::Identifier( th ), decision, activeChains );
186 decision->setObjectLink( initialRoIString(),
187 ElementLink<TrigRoiDescriptorCollection>(m_trigRoIsKey.key(), trigRoIs->size()-1, ctx) );
188 }
189
190 decision->setDetail( "thresholds", passedThresholdIDs );
191 }
192
193 for ( auto roi: *trigRoIs ) {
194 ATH_MSG_DEBUG("RoI Eta: " << roi->eta() << " Phi: " << roi->phi() << " RoIWord: " << roi->roiWord());
195 }
196
197 return StatusCode::SUCCESS;
198}
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
Gaudi::Property< float > m_roIWidth
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKey
void addChainsToDecision(HLT::Identifier thresholdId, TrigCompositeUtils::Decision *d, const HLT::IDSet &activeChains) const
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_trigRoIsKey
pointer_type ptr()
Dereference the pointer.
SG::WriteHandle< CONT > createAndStoreNoAux(const SG::WriteHandleKey< CONT > &key, const EventContext &ctx)
Creates and right away records the Container CONT with the key.
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.
const std::string & initialRoIString()
const std::string & hltSeedingNodeName()
setEventNumber uint32_t

Member Data Documentation

◆ m_currentRowNumber

unsigned RoIsUnpackingEmulationTool::m_currentRowNumber {0}
private

Definition at line 55 of file RoIsUnpackingEmulationTool.h.

55{0};

◆ 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.

51 {
52 this, "Decisions", "RoIDecisions", "Decisions for each RoI"};

◆ 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.

54 {
55 this, "DecisionsProbe", "", "Optional secondary set of Decisions for each RoI for probe a.k.a. delayed a.k.a. rerun chains"};

◆ 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.

63 {
64 this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "Name of the HLTMenu object to read configuration from"};

◆ m_inputData

std::vector<std::vector<RoIsUnpackingEmulationTool::FakeRoI> > RoIsUnpackingEmulationTool::m_inputData
private

Definition at line 54 of file RoIsUnpackingEmulationTool.h.

◆ m_inputFilename

Gaudi::Property<std::string> RoIsUnpackingEmulationTool::m_inputFilename
private
Initial value:
{
this, "InputFilename", "RoIEmulation.dat", "FakeROI input filename"}

Definition at line 33 of file RoIsUnpackingEmulationTool.h.

33 {
34 this, "InputFilename", "RoIEmulation.dat", "FakeROI input filename"};

◆ 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.

60 {
61 this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "Name of the L1Menu object to read configuration from"};

◆ 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.

67{ this, "MonTool", "", "Monitoring tool" };

◆ m_roiupdater

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

Definition at line 68 of file RoIsUnpackingToolBase.h.

68{ this, "RoiUpdater", "", "Roi Updater" };

◆ m_roIWidth

Gaudi::Property<float> RoIsUnpackingEmulationTool::m_roIWidth
private
Initial value:
{
"RoIWidth", 0.1, "Size of RoI in eta/ phi"}

Definition at line 30 of file RoIsUnpackingEmulationTool.h.

30 {
31 "RoIWidth", 0.1, "Size of RoI in eta/ phi"};

◆ m_thresholdPrefix

Gaudi::Property<std::string> RoIsUnpackingEmulationTool::m_thresholdPrefix
private
Initial value:
{
this, "ThresholdPrefix", "EM",
"Activate chains that are seed from threshold that have this prefix in the name"}

Definition at line 36 of file RoIsUnpackingEmulationTool.h.

36 {
37 this, "ThresholdPrefix", "EM",
38 "Activate chains that are seed from threshold that have this prefix in the name"};

◆ 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.

57 {
58 this, "OutputTrigRoIs", "", "Name of the RoIs collection produced by the unpacker"};

The documentation for this class was generated from the following files: