|
ATLAS Offline Software
|
Used at the start of a sequence: retrieves filtered collection via menu decision from previous step and writes the RoI collection out directly so it can be used as input by the reco alg that follows in sequence.
More...
#include <InputMakerForRoI.h>
|
| InputMakerForRoI (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &) const override |
|
virtual StatusCode | sysInitialize () override |
| initialise this base class and renounce input decision key handles 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 > &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 |
|
|
const SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > & | decisionInputs () const |
| methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes More...
|
|
const SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > & | decisionOutputs () const |
| methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes More...
|
|
void | debugPrintOut (const EventContext &context, SG::WriteHandle< TrigCompositeUtils::DecisionContainer > &outputHandle) const |
| provides debug printout of the output of the algorithm More...
|
|
StatusCode | decisionInputToOutput (const EventContext &context, SG::WriteHandle< TrigCompositeUtils::DecisionContainer > &outputHandle) const |
| does the standard handling of input decisions: read from handles with all the checks, create merged output handles and link them, copies links and return outputHandles More...
|
|
size_t | matchDecision (const TrigCompositeUtils::DecisionContainer *outDecisions, const TrigCompositeUtils::Decision *toMatch, const std::string &linkNameToMatch, MatchingCache &matchingCache) const |
| Checks for merge-able Decision objects coming from N upstream filters. Check based on most-recent element link with name 'linkNameToMatch'. Works for any link type. More...
|
|
bool | matchInCollection (const TrigCompositeUtils::DecisionContainer *outDecisions, const TrigCompositeUtils::Decision *toMatch, size_t &matchIndex, bool &usedROIMatchingFlag, MatchingCache &matchingCache) const |
| Wrapper around matchDecision. Returns boolean if the match was successful. More...
|
|
uint64_t | getMatchingHashForDecision (const TrigCompositeUtils::Decision *toMatch, const std::string &linkNameToMatch) const |
| Searches from toMatch to locate a single (type-less) Element Link with given edge name. Returns a hash corresponding to this Element Link. More...
|
|
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution More...
|
|
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 | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. More...
|
|
Used at the start of a sequence: retrieves filtered collection via menu decision from previous step and writes the RoI collection out directly so it can be used as input by the reco alg that follows in sequence.
Definition at line 23 of file InputMakerForRoI.h.
◆ StoreGateSvc_t
◆ InputMakerForRoI()
InputMakerForRoI::InputMakerForRoI |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
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 55 of file AthReentrantAlgorithm.cxx.
◆ debugPrintOut()
provides debug printout of the output of the algorithm
Definition at line 200 of file InputMakerBase.cxx.
205 if (inputHandle.isValid()) {
206 if (inputHandle->size() > 0) {
215 ATH_MSG_DEBUG(
"Output " << outputHandle.
key() <<
" with "<< outputHandle->
size() <<
" decisions:");
216 for (
const auto outdecision : *outputHandle){
219 ATH_MSG_DEBUG(
"Number of positive decisions for this output: " << objDecisions.size() );
◆ decisionInputs()
methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes
Definition at line 17 of file InputMakerBase.cxx.
◆ decisionInputToOutput()
does the standard handling of input decisions: read from handles with all the checks, create merged output handles and link them, copies links and return outputHandles
Definition at line 43 of file InputMakerBase.cxx.
50 size_t usedROIMatching = 0, usedFeatureMatching = 0;
52 MatchingCache matchingCache;
53 size_t totalInput = 0;
57 if( not inputHandle.isValid() ) {
58 ATH_MSG_DEBUG(
"Got no decisions from input "<<
inputKey.key() <<
" because implicit handle not valid");
61 if( inputHandle->size() == 0){
62 ATH_MSG_DEBUG(
"Got no decisions from input "<<
inputKey.key()<<
": implicit handle is valid but container is empty.");
65 ATH_MSG_DEBUG(
"Running on input "<<
inputKey.key()<<
" with " << inputHandle->size() <<
" elements" );
68 size_t input_counter = 0;
72 bool usedROIMatchingFlag =
false;
74 const bool alreadyAdded =
matchInCollection(outDecisions, inputDecision, alreadyAddedIndex, usedROIMatchingFlag, matchingCache);
78 if (usedROIMatchingFlag) {
81 ++usedFeatureMatching;
83 outputDecision = outDecisions->
at( alreadyAddedIndex );
84 ATH_MSG_DEBUG(
" -- Matched to existing, " <<
inputKey.key() <<
" index " << input_counter <<
" is merged into existing output index " << alreadyAddedIndex << (usedROIMatchingFlag ?
" Matched using ROI" :
" Matched using Feature"));
89 matchingCache.linkOutputToInput(outputDecision, inputDecision);
90 ATH_MSG_DEBUG(
" -- Did not match to existing, " <<
inputKey.key() <<
" index " << input_counter <<
" creates output index " << outDecisions->
size()-1);
99 totalInput+=input_counter;
102 if (usedROIMatching and usedFeatureMatching) {
103 ATH_MSG_DEBUG(
"This input maker used Feature-based mapping on " << usedFeatureMatching <<
" inputs and ROI-based mapping on " << usedROIMatching
111 ATH_MSG_DEBUG(
"Merging complete: from "<<totalInput<<
" input decision to "<<outputHandle->
size()<<
" output decisions");
113 return StatusCode::SUCCESS;
◆ decisionOutputs()
methods for derived classes to access handles of the base class input and output decisions; other read/write handles may be implemented by derived classes
Definition at line 21 of file InputMakerBase.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 InputMakerForRoI::execute |
( |
const EventContext & |
context | ) |
const |
|
overridevirtual |
Definition at line 31 of file InputMakerForRoI.cxx.
40 if( outputHandle->
size() == 0) {
41 ATH_MSG_DEBUG(
"Have no decisions in output handle "<< outputHandle.
key() <<
". Handle is valid but container is empty. "
42 <<
"This can happen if a ROI-based HLT chain leg was activated in a chain whose L1 item which does not explicitly require the ROI.");
44 ATH_MSG_DEBUG(
"Have output " << outputHandle.
key() <<
" with " << outputHandle->
size() <<
" elements" );
51 ATH_MSG_DEBUG(
"No concrete output ROI collection required from this InputMaker.");
52 return StatusCode::SUCCESS;
56 std::unique_ptr<TrigRoiDescriptorCollection> outputRoIColl = std::make_unique<TrigRoiDescriptorCollection>();
59 std::vector <ElementLink<TrigRoiDescriptorCollection> > RoIsFromDecision;
60 RoIsFromDecision.reserve(outputHandle->
size());
63 for (
const Decision* outputDecision : *outputHandle) {
66 ATH_MSG_ERROR(
"No '" <<
roiString() <<
"'link was attached by the ROITool. Decision object dump:" << *outputDecision);
67 return StatusCode::FAILURE;
73 if (
find(RoIsFromDecision.begin(), RoIsFromDecision.end(), roiEL) == RoIsFromDecision.end() ) {
74 RoIsFromDecision.push_back(roiEL);
87 ATH_CHECK( roi_outputHandle.record(std::move(outputRoIColl)) );
90 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()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ getMatchingHashForDecision()
Searches from toMatch to locate a single (type-less) Element Link with given edge name. Returns a hash corresponding to this Element Link.
< Used to accelerate the recursive typelessFindLinks.
Definition at line 159 of file InputMakerBase.cxx.
160 std::set<const Decision*> cache;
161 std::vector<SG::sgkey_t>
keys;
162 std::vector<uint32_t> clids;
163 std::vector<Decision::index_type> indicies;
164 std::vector<const Decision*> sources;
167 if (
keys.size() != 1) {
168 bool suppressError =
false;
171 suppressError =
true;
175 if (
keys.size() > 1) {
176 suppressError =
false;
178 if (not suppressError) {
179 ATH_MSG_ERROR(
"InputMakerBase::getMatchingHashForDecision Did not locate exactly one object having searched for a link named '" << linkNameToMatch
180 <<
"', found " <<
keys.size() <<
". Unable to match this Decision object.");
181 for (
size_t i = 0;
i <
keys.size(); ++
i) {
182 const std::string* sgKeyStr =
evtStore()->keyToString(
keys.at(
i));
183 ATH_MSG_ERROR(
" -- Key:" <<
keys.at(
i) <<
" KeyStr:" << (sgKeyStr ? *sgKeyStr :
"UNKNOWN") <<
" Index:" << indicies.at(
i) <<
" CLID:" << clids.at(
i));
195 const uint64_t matchingHash =
keys.at(0) + clids.at(0) + indicies.at(0);
◆ initialize()
StatusCode InputMakerForRoI::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 20 of file InputMakerForRoI.cxx.
26 return StatusCode::FAILURE;
28 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()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ matchDecision()
Checks for merge-able Decision objects coming from N upstream filters. Check based on most-recent element link with name 'linkNameToMatch'. Works for any link type.
Definition at line 140 of file InputMakerBase.cxx.
142 ATH_MSG_DEBUG(
"matchDecision "<<linkNameToMatch<<
" with matchingHash="<<matchingHash);
144 matchingCache.setMatchingHash(toMatch, matchingHash);
149 const uint64_t checkHash = matchingCache.getMatchingHash(checkDecision);
151 if (checkHash == matchingHash) {
◆ matchInCollection()
Wrapper around matchDecision. Returns boolean if the match was successful.
< Used to accelerate the recursive typelessFindLinks.
Definition at line 117 of file InputMakerBase.cxx.
118 std::set<const Decision*> cache;
119 std::vector<SG::sgkey_t>
keys;
120 std::vector<uint32_t> clids;
121 std::vector<Decision::index_type> indicies;
122 std::vector<const Decision*> sources;
124 bool hasFeature =
false;
125 if (
keys.size() != 0) hasFeature=
true;
135 usedROIMatchingFlag =
true;
◆ 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()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
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 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode InputMakerBase::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ 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_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_inputs
input decisions array, will be implicit (renounced).
Definition at line 87 of file InputMakerBase.h.
◆ m_isEmptyStep
Gaudi::Property<bool> InputMakerBase::m_isEmptyStep |
|
protectedinherited |
Initial value:{this, "isEmptyStep", false,
"True if this InputMaker instance is being used in an empty step. Forgoes the requirement to link an ROI, and auto-configures the 'mergeUsingFeature' property at runtime." }
Definition at line 56 of file InputMakerBase.h.
◆ m_mergeUsingFeature
Gaudi::Property<bool> InputMakerBase::m_mergeUsingFeature |
|
protectedinherited |
Initial value:{this, "mergeUsingFeature", false,
"True=the IParicle-derived feature from the previous step is used to determine identical inputs. False=the ROI located with the RoIsLink property is used to determine identical inputs" }
Definition at line 53 of file InputMakerBase.h.
◆ m_outputs
◆ m_RoIs
Initial value:{this, "RoIs", "",
"Name of the collection of ROI extrated from the input Decision Objects. Used as cocnrete starting handle for step's reconstruction."}
Definition at line 33 of file InputMakerForRoI.h.
◆ m_roisLink
StringProperty InputMakerBase::m_roisLink |
|
protectedinherited |
Initial value:{this, "RoIsLink", "initialRoI",
"Name of EL to RoI object linked to the decision, used in merging input Decision objects when mergeUsingFeature=False." }
Definition at line 50 of file InputMakerBase.h.
◆ m_roiTool
Initial value:{this, "RoITool", "",
"Tool used to supply per-Decision Object the RoI which should be processed. If left empty and no RoIs will be attached."}
Definition at line 36 of file InputMakerForRoI.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
void recursiveGetDecisions(const Decision *start, NavGraph &navGraph, const DecisionIDContainer &ids, const bool enforceDecisionOnStartNode)
Search back in time from "node" and locate all paths back through Decision objects for a given chain.
std::string find(const std::string &s)
return a remapped string
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.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
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)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
void insertDecisionIDs(const Decision *src, Decision *dest)
Appends the decision IDs of src to the dest decision object.
bool msgLvl(const MSG::Level lvl) const
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
void printAllPaths(MsgStream &log, MSG::Level msgLevel=MSG::VERBOSE) const
Helper function.
void renounceArray(SG::VarHandleKeyArray &handlesArray)
remove all handles from I/O resolution
bool empty() const
Test if the key is blank.
bool isValid() const
Test to see if the link can be dereferenced.
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const std::vector< ElementLink< DecisionContainer > > getLinkToPrevious(const Decision *d)
returns links to previous decision object 'seed'
bool typelessFindLinks(const Decision *start, const std::string &linkName, std::vector< sgkey_t > &keyVec, std::vector< uint32_t > &clidVec, std::vector< Decision::index_type > &indexVec, std::vector< const Decision * > &sourceVec, const unsigned int behaviour, std::set< const Decision * > *fullyExploredFrom)
search back the TC links for the object of type T linked to the one of TC (recursively) Returns the l...
pointer_type ptr()
Dereference the pointer.
Default, invalid implementation of ClassID_traits.
void setName(const std::string &name)
Set a human-readable name for the object.
Structure to hold a transient Directed Acyclic Graph (DAG) structure. NavGraph is populated from,...
const std::vector< TrigCompositeUtils::DecisionID > & decisions() const
Get positive HLT chain decisions associated with this TrigComposite. Navigation use.
#define CHECK(...)
Evaluate an expression and check for errors.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Class used to describe composite objects in the HLT.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const std::string & featureString()
virtual bool isValid() override final
Can the handle be successfully dereferenced?
xAOD::TrigComposite Decision
virtual StatusCode sysInitialize() override
Override sysInitialize.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
void linkToPrevious(Decision *d, const std::string &previousCollectionKey, size_t previousIndex)
Links to the previous object, location of previous 'seed' decision supplied by hand.
std::set< DecisionID > DecisionIDContainer
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
virtual bool isFullscan() const override final
is this a full scan RoI?
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const std::string & roiString()
Athena::TPCnvVers::Current TrigRoiDescriptor
const T * at(size_type n) const
Access an element, as an rvalue.
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const std::string & inputMakerNodeName()