 |
ATLAS Offline Software
|
#include <TrigDecisionMakerMT.h>
|
| TrigDecisionMakerMT (const std::string &name, ISvcLocator *pSvcLocator) |
| std Gaudi Algorithm constructor More...
|
|
| ~TrigDecisionMakerMT () |
| std deconstructor More...
|
|
virtual StatusCode | initialize () override |
| std Gaudi initialize method -> read-in trigger configuration More...
|
|
virtual StatusCode | execute (const EventContext &context) const override |
| Re-entrant execute to create the xAOD::TrigDecision. More...
|
|
virtual StatusCode | finalize () override |
| std Gaudi finalize method -> print out statistics More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | getL1Result (const LVL1CTP::Lvl1Result *&result, const EventContext &context) const |
| retrieve LVL1 result (called in execute) More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
Gaudi::Property< bool > | m_doL1 {this, "doL1", true, "Read L1 trigger information"} |
|
Gaudi::Property< bool > | m_doHLT {this, "doHLT", true, "Read HLT trigger information"} |
|
Gaudi::Property< bool > | m_useEDMxAOD {this, "UseEDMxAOD", false, "Flag whether to use xAOD::CTPResult instead of ROIB::RoIBResult for CTP result"} |
|
ToolHandle< HLT::ILvl1ResultAccessTool > | m_lvl1Tool {this, "Lvl1ResultAccessTool", "HLT::Lvl1ResultAccessTool/Lvl1ResultAccessTool", "L1 tool to fetch"} |
| tool to ease the access to the L1 results (RoIs, items, etc) More...
|
|
ToolHandle< ITriggerBitsMakerTool > | m_bitsMakerTool {this, "BitsMakerTool", "", "Tool to create trigger bits for MC"} |
|
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > | m_bgKey {this, "L1BunchGroup", "L1BunchGroup", "L1BunchGroupSet key name"} |
|
SG::ReadHandleKey< TrigConf::HLTMenu > | m_HLTMenuKey {this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu", "HLT Menu key"} |
|
SG::ReadHandleKey< HLT::HLTResultMT > | m_hltResultKeyIn {this, "HLTResultMT", "HLTResultMT", "Key of the HLTResultMT object to get bits from online bytestream" } |
|
SG::ReadHandleKey< ROIB::RoIBResult > | m_ROIBResultKeyIn {this, "RoIBResult", "RoIBResult", "RoIB Result Object Key"} |
|
SG::ReadHandleKey< xAOD::CTPResult > | m_CTPResultKeyIn {this, "CTPResult", "CTPResult", "Key to retrieve the L1 xAOD CTP result from SG" } |
|
SG::ReadHandleKey< xAOD::EventInfo > | m_EventInfoKeyIn {this, "EventInfo", "EventInfo", "Event Info Object Key"} |
|
SG::WriteHandleKey< LVL1CTP::Lvl1Result > | m_l1ResultKeyOut { this, "L1Result", "L1Result", "L1 result"} |
|
SG::WriteHandleKey< xAOD::TrigDecision > | m_trigDecisionKeyOut {this, "TrigDecisionKey", "xTrigDecision", "Output trigger decision object key"} |
|
std::atomic< uint32_t > | m_nEvents {0} |
|
std::atomic< uint32_t > | m_l1Passed {0} |
|
std::atomic< uint32_t > | m_hltPassed {0} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
- Re-entrant algorithm-derived class to run after the MT Trigger
- Finds the list of defined chains at initialization
- For each event:
- Creates a xAODTriggerDecision object
- Fills it with the outcome of each defined chain & L1 data
- Output to StoreGate via writehandle written to ESD/AOD
- Based on TrigDecisionMaker.h
- Author
- Tim Martin Tim.M.nosp@m.arti.nosp@m.n@cer.nosp@m.n.ch - University of Warwick
Definition at line 63 of file TrigDecisionMakerMT.h.
◆ StoreGateSvc_t
◆ TrigDecisionMakerMT()
TrigDec::TrigDecisionMakerMT::TrigDecisionMakerMT |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~TrigDecisionMakerMT()
TrigDec::TrigDecisionMakerMT::~TrigDecisionMakerMT |
( |
| ) |
|
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode TrigDec::TrigDecisionMakerMT::execute |
( |
const EventContext & |
context | ) |
const |
|
overridevirtual |
Re-entrant execute to create the xAOD::TrigDecision.
Definition at line 81 of file TrigDecisionMakerMT.cxx.
88 std::unique_ptr<xAOD::TrigDecision> trigDec = std::make_unique<xAOD::TrigDecision>();
89 std::unique_ptr<xAOD::TrigDecisionAuxInfo> trigDecAux = std::make_unique<xAOD::TrigDecisionAuxInfo>();
94 trigDec->
setSMK(hltMenu->smk());
111 boost::dynamic_bitset<uint32_t> passRawBitset, prescaledBitset;
115 ATH_MSG_DEBUG (
"MC Mode: Creating bits with TriggerBitsMakerTool");
128 const std::vector<HLT::OnlineErrorCode> errorCodes = hltResult->
getErrorCodes();
129 bool truncated =
false;
131 for (
size_t i = 0;
i < errorCodes.size(); ++
i) {
146 std::set<uint16_t> allModuleIds;
147 for (
const auto& itr : hltResult->
getSerialisedData()) allModuleIds.insert(itr.first);
149 for (
uint16_t moduleId : allModuleIds) {
155 if (moduleId==0)
break;
163 ATH_MSG_DEBUG (
"Number of HLT chains passed raw: " << passRawBitset.count());
164 ATH_MSG_DEBUG (
"Number of HLT chains prescaled out: " << prescaledBitset.count());
166 if (passRawBitset.any()) {
170 std::vector<uint32_t> passRaw, prescaled;
172 passRaw.resize(passRawBitset.num_blocks());
173 prescaled.resize(prescaledBitset.num_blocks());
175 boost::to_block_range(passRawBitset, passRaw.begin());
176 boost::to_block_range(prescaledBitset, prescaled.begin());
181 static const std::set<unsigned> buggyPrescaleBitRuns = {429603, 429606, 429612, 429658, 429697, 429716};
182 const bool isBuggyPrescaleBitsRun = (
std::find(buggyPrescaleBitRuns.begin(), buggyPrescaleBitRuns.end(), context.eventID().run_number()) != buggyPrescaleBitRuns.end());
183 if (isBuggyPrescaleBitsRun) {
184 ATH_MSG_DEBUG(
"T0 Trigger fix for 429603-429716 is deleting incorrect isPrescaled trigger bits decoded from the bytestream.");
185 for (
size_t i = 0;
i < prescaled.size(); ++
i) {
190 if (passRaw.size() != prescaled.size()) {
191 ATH_MSG_ERROR(
"Trigger bitsets are not all the same size! passRaw:"
192 << passRaw.size() <<
" prescaled:" << prescaled.size() );
193 return StatusCode::FAILURE;
219 <<
"'; BCID '" << eventInfo->
bcid()
220 <<
"'; BG Code '" << trigDec->
bgCode() <<
"'" ) ;
222 ATH_MSG_DEBUG (
"Decision object dump: " << *(trigDec.get()));
224 ATH_CHECK( trigDecWriteHandle.record( std::move( trigDec ), std::move( trigDecAux ) ) );
227 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ finalize()
StatusCode TrigDec::TrigDecisionMakerMT::finalize |
( |
| ) |
|
|
overridevirtual |
◆ getL1Result()
retrieve LVL1 result (called in execute)
Definition at line 231 of file TrigDecisionMakerMT.cxx.
240 auto lvl1Result = std::make_unique<LVL1CTP::Lvl1Result>(
true);
243 const std::vector<uint32_t> ctpTBPWords = ctpResult->
getTBPWords();
244 for (
unsigned int iWord=0; iWord < ctpTBPWords.size(); ++iWord) {
245 lvl1Result->itemsBeforePrescale().push_back(ctpTBPWords[iWord]);
246 ATH_MSG_DEBUG(
"TBP word #" << iWord <<
" is 0x" << std::hex << std::setw( 8 ) << std::setfill(
'0' ) << ctpTBPWords[iWord] << std::dec);
250 const std::vector<uint32_t> ctpTAPWords = ctpResult->
getTAPWords();
251 for (
unsigned int iWord=0; iWord < ctpTAPWords.size(); ++iWord) {
252 lvl1Result->itemsAfterPrescale().push_back(ctpTAPWords[iWord]);
253 ATH_MSG_DEBUG(
"TAP word #" << iWord <<
" is 0x" << std::hex << std::setw( 8 ) << std::setfill(
'0' ) << ctpTAPWords[iWord] << std::dec);
257 const std::vector<uint32_t> ctpTAVWords = ctpResult->
getTAVWords();
258 for (
unsigned int iWord = 0; iWord < ctpTAVWords.size(); ++iWord) {
259 lvl1Result->itemsAfterVeto().push_back(ctpTAVWords[iWord]);
260 ATH_MSG_DEBUG(
"TAV word #" << iWord <<
" is 0x" << std::hex << std::setw( 8 ) << std::setfill(
'0' ) << ctpTAVWords[iWord] << std::dec);
264 if (lvl1Result->itemsBeforePrescale().size() < 8) lvl1Result->itemsBeforePrescale().resize(8, 0);
265 if (lvl1Result->itemsAfterPrescale().size() < 8) lvl1Result->itemsAfterPrescale().resize(8, 0);
266 if (lvl1Result->itemsAfterVeto().size() < 8) lvl1Result->itemsAfterVeto().resize(8, 0);
270 ATH_MSG_ERROR (
"Could not construct L1 result from xAOD::CTPResult");
271 return StatusCode::FAILURE;
275 ATH_MSG_INFO (
"Built LVL1CTP::Lvl1Result from valid xAOD::CTPResult.");
282 std::vector< std::unique_ptr<LVL1CTP::Lvl1Item> > itemConfig =
m_lvl1Tool->makeLvl1ItemConfig(context);
286 ATH_MSG_DEBUG (
"Built LVL1CTP::Lvl1Result from valid ROIB::CTPResult.");
290 ATH_MSG_ERROR (
"Could not construct L1 result from roIBResult");
291 return StatusCode::FAILURE;
296 return StatusCode::SUCCESS;
◆ initialize()
StatusCode TrigDec::TrigDecisionMakerMT::initialize |
( |
| ) |
|
|
overridevirtual |
std Gaudi initialize method -> read-in trigger configuration
Definition at line 35 of file TrigDecisionMakerMT.cxx.
38 bool resultObjectIsUsed =
true;
40 ATH_MSG_INFO(
"TrigDecisionMakerMT is setting up to run after the Trigger in a job with POOL output. "
41 "The TriggerBitsMakerTool will be used directly to create the xAOD::TrigDecision.");
43 resultObjectIsUsed =
false;
45 ATH_MSG_INFO(
"TrigDecisionMakerMT is setting up to read the trigger bits from trigger bytestream. "
46 "The HLTResultMT object will be used as the source of the trigger bits.");
63 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_bgKey
◆ m_bitsMakerTool
ToolHandle<ITriggerBitsMakerTool> TrigDec::TrigDecisionMakerMT::m_bitsMakerTool {this, "BitsMakerTool", "", "Tool to create trigger bits for MC"} |
|
private |
◆ m_CTPResultKeyIn
SG::ReadHandleKey<xAOD::CTPResult> TrigDec::TrigDecisionMakerMT::m_CTPResultKeyIn {this, "CTPResult", "CTPResult", "Key to retrieve the L1 xAOD CTP result from SG" } |
|
private |
◆ m_detStore
◆ m_doHLT
Gaudi::Property<bool> TrigDec::TrigDecisionMakerMT::m_doHLT {this, "doHLT", true, "Read HLT trigger information"} |
|
private |
◆ m_doL1
Gaudi::Property<bool> TrigDec::TrigDecisionMakerMT::m_doL1 {this, "doL1", true, "Read L1 trigger information"} |
|
private |
◆ m_EventInfoKeyIn
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_HLTMenuKey
◆ m_hltPassed
std::atomic<uint32_t> TrigDec::TrigDecisionMakerMT::m_hltPassed {0} |
|
private |
◆ m_hltResultKeyIn
SG::ReadHandleKey<HLT::HLTResultMT> TrigDec::TrigDecisionMakerMT::m_hltResultKeyIn {this, "HLTResultMT", "HLTResultMT", "Key of the HLTResultMT object to get bits from online bytestream" } |
|
private |
◆ m_l1Passed
std::atomic<uint32_t> TrigDec::TrigDecisionMakerMT::m_l1Passed {0} |
|
private |
◆ m_l1ResultKeyOut
◆ m_lvl1Tool
◆ m_nEvents
std::atomic<uint32_t> TrigDec::TrigDecisionMakerMT::m_nEvents {0} |
|
mutableprivate |
◆ m_ROIBResultKeyIn
◆ m_trigDecisionKeyOut
◆ m_useEDMxAOD
Gaudi::Property<bool> TrigDec::TrigDecisionMakerMT::m_useEDMxAOD {this, "UseEDMxAOD", false, "Flag whether to use xAOD::CTPResult instead of ROIB::RoIBResult for CTP result"} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void setSMK(uint32_t value)
Set the Super Master Key describing this object.
std::atomic< uint32_t > m_l1Passed
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bgKey
void setEFPassedPhysics(const std::vector< uint32_t > &value)
Set the EF physics decision bits.
SG::ReadHandleKey< xAOD::CTPResult > m_CTPResultKeyIn
std::vector< uint32_t > getTAVWords(const int bunchPosition=-1) const
Get the TAV (Trigger After Veto) words.
std::string find(const std::string &s)
return a remapped string
uint64_t eventNumber() const
The current event's event number.
SG::ReadHandleKey< ROIB::RoIBResult > m_ROIBResultKeyIn
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
void setEFTruncated(bool value)
Set whether the EF result is truncated.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
uint32_t runNumber() const
The current event's run number.
const std::vector< uint32_t > & itemsBeforePrescale() const
virtual void setOwner(IDataHandleHolder *o)=0
An algorithm that can be simultaneously executed in multiple threads.
const std::vector< uint32_t > & itemsAfterVeto() const
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool isAccepted() const
final LVL1 decision && isConfigured
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
const std::vector< uint32_t > & getRobStatus(uint16_t moduleId) const
Status words for ROB with given moduleId.
const std::vector< HLT::OnlineErrorCode > getErrorCodes() const
Error codes getter (by value) - strips off the first bit-mask status word.
ToolHandle< ITriggerBitsMakerTool > m_bitsMakerTool
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
void setStore(const SG::IConstAuxStore *store)
Set the store associated with this object.
Gaudi::Property< bool > m_useEDMxAOD
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
void setTAP(const std::vector< uint32_t > &value)
Set the Trigger After Prescale bits.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
void setTBP(const std::vector< uint32_t > &value)
Set the Trigger Before Prescale bits.
void setTAV(const std::vector< uint32_t > &value)
Set the Trigger After Veto bits.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode getL1Result(const LVL1CTP::Lvl1Result *&result, const EventContext &context) const
retrieve LVL1 result (called in execute)
Gaudi::Property< bool > m_doL1
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bgPattern_t bgPattern(size_t bcid) const
Return word with bit-pattern of fired bunchgroups for given bcid.
void setEFErrorBits(uint32_t value)
Set a summary of all errors that happened during the EF execution.
Gaudi::Property< bool > m_doHLT
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const CTPResult & cTPResult() const
Gets the CTP part of the L1 RDO.
ToolHandle< HLT::ILvl1ResultAccessTool > m_lvl1Tool
tool to ease the access to the L1 results (RoIs, items, etc)
SG::WriteHandleKey< xAOD::TrigDecision > m_trigDecisionKeyOut
std::atomic< uint32_t > m_nEvents
const std::unordered_map< uint16_t, std::vector< uint32_t > > & getSerialisedData() const
Serialised data getter.
StatusCode initialize(bool used=true)
Class describing the basic event information.
void setEFPrescaled(const std::vector< uint32_t > &value)
Set the EF prescaled bits.
char bgCode() const
Get the bunch group code of the current event.
#define ATH_MSG_WARNING(x)
void setEFPassedRaw(const std::vector< uint32_t > &value)
Set the EF passed-raw bits.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadHandleKey< HLT::HLTResultMT > m_hltResultKeyIn
virtual StatusCode sysInitialize() override
Override sysInitialize.
std::vector< uint32_t > getTAPWords(const int bunchPosition=-1) const
Get the TAP (Trigger After Prescale) words.
const boost::dynamic_bitset< uint32_t > & getHltPrescaledBits() const
Const-getter for HLT prescaled bits.
void setBGCode(char value)
Set the bunch group code of the current event.
std::atomic< uint32_t > m_hltPassed
uint32_t bcid() const
The bunch crossing ID of the event.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
SG::WriteHandleKey< LVL1CTP::Lvl1Result > m_l1ResultKeyOut
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKeyIn
std::vector< uint32_t > getTBPWords(const int bunchPosition=-1) const
Get the TBP (Trigger Before Prescale) words.
const std::vector< uint32_t > & itemsAfterPrescale() const
bool isComplete() const
returns true if object isValid() and data has the expected length
const boost::dynamic_bitset< uint32_t > & getHltPassRawBits() const
Const-getter for HLT pass raw bits.