![]() |
ATLAS Offline Software
|
Class used to describe composite objects in the HLT. More...
#include <TrigComposite_v1.h>
Public Types | |
| using | sgkey_t = SG::sgkey_t |
| using | index_type = uint32_t |
Public Member Functions | |
| TrigComposite_v1 () | |
| Default constructor. | |
| TrigComposite_v1 (const TrigComposite_v1 &parent) | |
| Copy constructor. | |
| TrigComposite_v1 & | operator= (const TrigComposite_v1 &rhs) |
| Assignment operator. | |
Basic properties | |
| const std::string & | name () const |
| Get a human-readable name for the object. | |
| void | setName (const std::string &name) |
| Set a human-readable name for the object. | |
| const std::vector< TrigCompositeUtils::DecisionID > & | decisions () const |
| Get positive HLT chain decisions associated with this TrigComposite. Navigation use. | |
| void | setDecisions (const std::vector< TrigCompositeUtils::DecisionID > &decisions) |
| Set positive HLT chain decisions associated with this TrigComposite. Navigation use. | |
Functions for accessing basic properties on the object | |
| template<typename TYPE> | |
| bool | hasDetail (const std::string &name) const |
| Check if a given type of detail is available. | |
| template<typename TYPE> | |
| bool | setDetail (const std::string &name, const TYPE &value) |
| Set an TYPE detail on the object. | |
| template<typename TYPE> | |
| bool | getDetail (const std::string &name, TYPE &value) const |
| Get an TYPE detail from the object. | |
| template<typename TYPE> | |
| TYPE | getDetail (const std::string &name) const |
| Get a detail by name, missing detail will throw SG::ExcBadAuxVar. | |
Functions for accessing links to component objects and object collections | |
| template<class CONTAINER> | |
| bool | setObjectLink (const std::string &name, const ElementLink< CONTAINER > &link) |
| Set the link to an object. | |
| bool | hasObjectLink (const std::string &name, const CLID clid=CLID_NULL) const |
| Check if a link to an object with a given name and type exists. CLID_NULL to not check type. | |
| template<class CONTAINER> | |
| ElementLink< CONTAINER > | objectLink (const std::string &name) const |
| Get the link with the requested name. | |
| template<class OBJECT> | |
| const OBJECT * | object (const std::string &name) const |
| Get a bare pointer with the requested name. | |
| template<class CONTAINER> | |
| bool | addObjectCollectionLink (const std::string &collectionName, const ElementLink< CONTAINER > &link) |
| Add a link to a single object within a collection. Performs de-duplication. | |
| template<class CONTAINER> | |
| bool | addObjectCollectionLinks (const std::string &collectionName, const std::vector< ElementLink< CONTAINER > > &links) |
| Add links to multiple objects within a collection. Performs de-duplication. | |
| bool | hasObjectCollectionLinks (const std::string &collectionName, const CLID clid=CLID_NULL) const |
| Check if links exist to a collection of objects with given name and type. CLID_NULL to not check type. | |
| template<class CONTAINER> | |
| std::vector< ElementLink< CONTAINER > > | objectCollectionLinks (const std::string &collectionName) const |
| Get a vector of all element links from the collection. | |
| void | typelessSetObjectLink (const std::string &name, const sgkey_t key, const uint32_t clid, const index_type beginIndex, const index_type endIndex=0) |
| Add a link without type. | |
| bool | typelessGetObjectLink (const std::string &name, sgkey_t &key, uint32_t &clid, index_type &index) const |
| Fetches a single link without type. | |
| bool | typelessGetObjectCollectionLinks (const std::string &name, std::vector< sgkey_t > &keyVec, std::vector< uint32_t > &clidVec, std::vector< index_type > &indexVec) const |
| Fetches a collection of links without type. | |
| template<class CONTAINER> | |
| std::vector< std::string > | getObjectNames () const |
| Look up all links stored to objects of (container) type CONTAINER. | |
| template<class CONTAINER> | |
| std::vector< std::string > | getObjectCollectionNames () const |
| Look up all links stored to collections objects from (container) type CONTAINER. | |
| std::vector< std::string > | getObjectNames (const CLID clid) const |
| Type erased look up all links stored to objects of (container) type clid. | |
| std::vector< std::string > | getObjectCollectionNames (const CLID clid) const |
| Type erased look up all links stored to collections objects from (container) type clid. | |
| bool | removeObjectLink (const std::string &name) |
| Delete any stored element link with the given name. | |
| bool | removeObjectCollectionLinks (const std::string &name) |
| Delete any stored collection of element links with the given name. | |
Functions for copying links between objects | |
| bool | copyLinkFrom (const xAOD::TrigComposite_v1 &other, const std::string &name, std::string newName="") |
| Copy one named link from another object. | |
| bool | copyLinkFrom (const xAOD::TrigComposite_v1 *other, const std::string &name, std::string newName="") |
| bool | copyLinkCollectionFrom (const xAOD::TrigComposite_v1 &other, const std::string &name, std::string newName="") |
| Copy one named link collection from another object. | |
| bool | copyLinkCollectionFrom (const xAOD::TrigComposite_v1 *other, const std::string &name, std::string newName="") |
| bool | copyAllLinksFrom (const xAOD::TrigComposite_v1 &other) |
| Copy all single links and collections of links from another object. | |
| bool | copyAllLinksFrom (const xAOD::TrigComposite_v1 *other) |
Functions for accessing raw data used to construct ElementLinks | |
| const std::vector< std::string > & | linkColNames () const |
| Raw access to the persistent link names. | |
| const std::vector< sgkey_t > & | linkColKeys () const |
| Raw access to the persistent link labels. | |
| const std::vector< index_type > & | linkColIndices () const |
| Raw access to the persistent link indices. | |
| const std::vector< uint32_t > & | linkColClids () const |
| Raw access to the persistent link CLIDs. | |
| bool | isRemapped () const |
| Information on if linkColKeys() and linkColIndices() are able to access remapped link data Remapping happens at the end of HLT execution when EDM objects are copied out of their per-EventView containers and into the global Trigger EDM containers. | |
| const std::vector< sgkey_t > & | linkColKeysRemap () const |
| Raw access to the persistent link labels. Will attempt to access remapped link data. | |
| const std::vector< index_type > & | linkColIndicesRemap () const |
| Raw access to the persistent link indices. Will attempt to access remapped link data. | |
Static Public Attributes | |
| static bool s_throwOnCopyError | ATLAS_THREAD_SAFE |
| For use in validation, when copying element links from one object to another. | |
| static const std::string | s_initialRoIString {"initialRoI"} |
| Constant used to identify an initial ROI from L1. | |
| static const std::string | s_initialRecRoIString {"initialRecRoI"} |
| Constant used to identify an initial HLT ROI derived from L1. | |
| static const std::string | s_roiString {"roi"} |
| Constant used to identify an (explicitly) updated HLT ROI. | |
| static const std::string | s_viewString {"view"} |
| Constant used to identify a view. | |
| static const std::string | s_featureString {"feature"} |
| Constant used to identify a feature. | |
| static const std::string | s_seedString {"seed"} |
| Constant used to identify a seed (parent). | |
| static const std::string | s_hltSeedingNodeNameString {"L1"} |
| Constant used to identify a navigation graph node as being from the HLTSeeding. | |
| static const std::string | s_filterNodeNameString {"F"} |
| Constant used to identify a navigation graph node as being from a Filter. | |
| static const std::string | s_inputMakerNodeNameString {"IM"} |
| Constant used to identify a navigation graph node as being from a Input Maker. | |
| static const std::string | s_hypoAlgNodeNameString {"H"} |
| Constant used to identify a navigation graph node as being from a Hypo Alg. | |
| static const std::string | s_comboHypoAlgNodeNameString {"CH"} |
| Constant used to identify a navigation graph node as being from a Combo Hypo Alg. | |
| static const std::string | s_summaryFilterNodeNameString {"SF"} |
| Constant used to identify a navigation graph node as being from a final Filter created by the DecisionSummaryMaker algorithm. | |
| static const std::string | s_summaryPassNodeNameString {"HLTPassRaw"} |
| Constant used to identify the single terminus graph node the end point of all chains which accept the event. | |
| static const std::string | s_summaryPassExpressNodeNameString {"HLTPassExpress"} |
| Constant used to identify the single express-accept graph node. | |
| static const std::string | s_summaryPrescaledNodeNameString {"HLTPrescaled"} |
| Constant used to identify the single prescaled graph node. | |
Private Member Functions | |
| std::vector< std::string > & | linkColNamesNC () |
| Raw access to the persistent link names (non-const). | |
| std::vector< sgkey_t > & | linkColKeysNC () |
| Raw access to the persistent link labels (non-const). | |
| std::vector< index_type > & | linkColIndicesNC () |
| Raw access to the persistent link indices (non-const). | |
| std::vector< uint32_t > & | linkColClidsNC () |
| Raw access to the persistent link CLIDs (non-const). | |
| bool | hasObjectLinkExact (const std::string &name, const sgkey_t key, const index_type index, const uint32_t clid) const |
| void | copyLinkInternal (const xAOD::TrigComposite_v1 &other, const size_t index, const std::string &newName) |
| Helper function, copy one link into this object. | |
| bool | derivesFromIParticle (const CLID clid) const |
| Helper function. Check if the requested type can be down cast to an IParticle transient interface. | |
| template<class CONTAINER> | |
| void | checkTypes (const CLID storedCLID, const std::string &name) const |
| Helper function. Contains type logic check for use during actual link retrieval. Throws on error. | |
Static Private Attributes | |
| static const std::string | s_collectionSuffix {"__COLL"} |
Class used to describe composite objects in the HLT.
This is a generic class for describing the output of high-level HLT algorithms that combine lower-level objects into one.
Definition at line 49 of file TrigComposite_v1.h.
Definition at line 53 of file TrigComposite_v1.h.
Definition at line 52 of file TrigComposite_v1.h.
| xAOD::TrigComposite_v1::TrigComposite_v1 | ( | ) |
| xAOD::TrigComposite_v1::TrigComposite_v1 | ( | const TrigComposite_v1 & | parent | ) |
Copy constructor.
Definition at line 80 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::addObjectCollectionLink | ( | const std::string & | collectionName, |
| const ElementLink< CONTAINER > & | link ) |
Add a link to a single object within a collection. Performs de-duplication.
| bool xAOD::TrigComposite_v1::addObjectCollectionLinks | ( | const std::string & | collectionName, |
| const std::vector< ElementLink< CONTAINER > > & | links ) |
Add links to multiple objects within a collection. Performs de-duplication.
|
private |
Helper function. Contains type logic check for use during actual link retrieval. Throws on error.
| bool xAOD::TrigComposite_v1::copyAllLinksFrom | ( | const xAOD::TrigComposite_v1 & | other | ) |
Copy all single links and collections of links from another object.
Will not overwrite existing links, or link collections, or append to existing link collections.
| other | TrigComposite object to copy all links and link collections from, which do not already exist. |
Definition at line 180 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::copyAllLinksFrom | ( | const xAOD::TrigComposite_v1 * | other | ) |
Definition at line 198 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::copyLinkCollectionFrom | ( | const xAOD::TrigComposite_v1 & | other, |
| const std::string & | name, | ||
| std::string | newName = "" ) |
Copy one named link collection from another object.
Will not overwrite or append to an existing collection of links
| other | TrigComposite object to copy the link collection from |
| name | Name of link collection |
| newName | Optional parameter to rename the link collection during the copy |
Definition at line 151 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::copyLinkCollectionFrom | ( | const xAOD::TrigComposite_v1 * | other, |
| const std::string & | name, | ||
| std::string | newName = "" ) |
Definition at line 176 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::copyLinkFrom | ( | const xAOD::TrigComposite_v1 & | other, |
| const std::string & | name, | ||
| std::string | newName = "" ) |
Copy one named link from another object.
Will not overwrite an existing link
| other | TrigComposite object to copy the link from |
| name | Name of link to copy |
| newName | Optional parameter to rename the link during the copy |
Definition at line 126 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::copyLinkFrom | ( | const xAOD::TrigComposite_v1 * | other, |
| const std::string & | name, | ||
| std::string | newName = "" ) |
Definition at line 147 of file TrigComposite_v1.cxx.
|
private |
Helper function, copy one link into this object.
Definition at line 114 of file TrigComposite_v1.cxx.
| const std::vector< TrigCompositeUtils::DecisionID > & xAOD::TrigComposite_v1::decisions | ( | ) | const |
Get positive HLT chain decisions associated with this TrigComposite. Navigation use.
Helper function. Check if the requested type can be down cast to an IParticle transient interface.
Definition at line 293 of file TrigComposite_v1.cxx.
Get a detail by name, missing detail will throw SG::ExcBadAuxVar.
| bool xAOD::TrigComposite_v1::getDetail | ( | const std::string & | name, |
| TYPE & | value ) const |
Get an TYPE detail from the object.
| std::vector< std::string > xAOD::TrigComposite_v1::getObjectCollectionNames | ( | ) | const |
Look up all links stored to collections objects from (container) type CONTAINER.
| std::vector< std::string > xAOD::TrigComposite_v1::getObjectCollectionNames | ( | const CLID | clid | ) | const |
Type erased look up all links stored to collections objects from (container) type clid.
Definition at line 495 of file TrigComposite_v1.cxx.
| std::vector< std::string > xAOD::TrigComposite_v1::getObjectNames | ( | ) | const |
Look up all links stored to objects of (container) type CONTAINER.
Type erased look up all links stored to objects of (container) type clid.
Definition at line 472 of file TrigComposite_v1.cxx.
Check if a given type of detail is available.
| bool xAOD::TrigComposite_v1::hasObjectCollectionLinks | ( | const std::string & | collectionName, |
| const CLID | clid = CLID_NULL ) const |
Check if links exist to a collection of objects with given name and type. CLID_NULL to not check type.
Definition at line 276 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::hasObjectLink | ( | const std::string & | name, |
| const CLID | clid = CLID_NULL ) const |
Check if a link to an object with a given name and type exists. CLID_NULL to not check type.
Definition at line 247 of file TrigComposite_v1.cxx.
|
private |
Definition at line 282 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::isRemapped | ( | ) | const |
Information on if linkColKeys() and linkColIndices() are able to access remapped link data Remapping happens at the end of HLT execution when EDM objects are copied out of their per-EventView containers and into the global Trigger EDM containers.
Definition at line 460 of file TrigComposite_v1.cxx.
Raw access to the persistent link CLIDs.
|
private |
Raw access to the persistent link CLIDs (non-const).
Definition at line 346 of file TrigComposite_v1.cxx.
| const std::vector< TrigComposite_v1::index_type > & xAOD::TrigComposite_v1::linkColIndices | ( | ) | const |
Raw access to the persistent link indices.
Definition at line 320 of file TrigComposite_v1.cxx.
|
private |
Raw access to the persistent link indices (non-const).
Definition at line 342 of file TrigComposite_v1.cxx.
| const std::vector< TrigComposite_v1::index_type > & xAOD::TrigComposite_v1::linkColIndicesRemap | ( | ) | const |
Raw access to the persistent link indices. Will attempt to access remapped link data.
Definition at line 328 of file TrigComposite_v1.cxx.
| linkColClids const std::vector< SG::sgkey_t > & xAOD::TrigComposite_v1::linkColKeys | ( | ) | const |
Raw access to the persistent link labels.
Definition at line 316 of file TrigComposite_v1.cxx.
|
private |
Raw access to the persistent link labels (non-const).
Definition at line 338 of file TrigComposite_v1.cxx.
| const std::vector< SG::sgkey_t > & xAOD::TrigComposite_v1::linkColKeysRemap | ( | ) | const |
Raw access to the persistent link labels. Will attempt to access remapped link data.
Definition at line 324 of file TrigComposite_v1.cxx.
| const std::vector< std::string > & xAOD::TrigComposite_v1::linkColNames | ( | ) | const |
Raw access to the persistent link names.
|
private |
Raw access to the persistent link names (non-const).
Definition at line 334 of file TrigComposite_v1.cxx.
| const std::string & xAOD::TrigComposite_v1::name | ( | ) | const |
Get a human-readable name for the object.
| const OBJECT * xAOD::TrigComposite_v1::object | ( | const std::string & | name | ) | const |
Get a bare pointer with the requested name.
| std::vector< ElementLink< CONTAINER > > xAOD::TrigComposite_v1::objectCollectionLinks | ( | const std::string & | collectionName | ) | const |
Get a vector of all element links from the collection.
| ElementLink< CONTAINER > xAOD::TrigComposite_v1::objectLink | ( | const std::string & | name | ) | const |
Get the link with the requested name.
| TrigComposite_v1 & xAOD::TrigComposite_v1::operator= | ( | const TrigComposite_v1 & | rhs | ) |
Assignment operator.
Definition at line 84 of file TrigComposite_v1.cxx.
Delete any stored collection of element links with the given name.
Definition at line 228 of file TrigComposite_v1.cxx.
Delete any stored element link with the given name.
Definition at line 211 of file TrigComposite_v1.cxx.
| void xAOD::TrigComposite_v1::setDecisions | ( | const std::vector< TrigCompositeUtils::DecisionID > & | decisions | ) |
Set positive HLT chain decisions associated with this TrigComposite. Navigation use.
| bool xAOD::TrigComposite_v1::setDetail | ( | const std::string & | name, |
| const TYPE & | value ) |
Set an TYPE detail on the object.
| void xAOD::TrigComposite_v1::setName | ( | const std::string & | name | ) |
Set a human-readable name for the object.
| bool xAOD::TrigComposite_v1::setObjectLink | ( | const std::string & | name, |
| const ElementLink< CONTAINER > & | link ) |
Set the link to an object.
| bool xAOD::TrigComposite_v1::typelessGetObjectCollectionLinks | ( | const std::string & | name, |
| std::vector< sgkey_t > & | keyVec, | ||
| std::vector< uint32_t > & | clidVec, | ||
| std::vector< index_type > & | indexVec ) const |
Fetches a collection of links without type.
| [in] | name | Name of the stored link |
| [out] | keyVec | Storegte key of the link-objects will be pushed on to this vector |
| [out] | clidVec | Type of the objects will be pushed on to this vector |
| [out] | indexVec | Index of the objects within their collections will be pushed on to this vector |
Definition at line 436 of file TrigComposite_v1.cxx.
| bool xAOD::TrigComposite_v1::typelessGetObjectLink | ( | const std::string & | name, |
| sgkey_t & | key, | ||
| uint32_t & | clid, | ||
| TrigComposite_v1::index_type & | index ) const |
Fetches a single link without type.
Note: Will not work for collections of links, use typelessGetObjectCollectionLinks
| [in] | name | Name of the stored link |
| [out] | key | Storegate key of the link-object's collection |
| [out] | clid | Type of the object's collection |
| [out] | index | Index within the collection of the link-object |
Definition at line 417 of file TrigComposite_v1.cxx.
| void xAOD::TrigComposite_v1::typelessSetObjectLink | ( | const std::string & | name, |
| const sgkey_t | key, | ||
| const uint32_t | clid, | ||
| const index_type | beginIndex, | ||
| const index_type | endIndex = 0 ) |
Add a link without type.
Definition at line 350 of file TrigComposite_v1.cxx.
|
static |
For use in validation, when copying element links from one object to another.
Definition at line 248 of file TrigComposite_v1.h.
|
staticprivate |
Definition at line 310 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from a Combo Hypo Alg.
Definition at line 272 of file TrigComposite_v1.h.
|
static |
Constant used to identify a feature.
Definition at line 259 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from a Filter.
Definition at line 266 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from the HLTSeeding.
Definition at line 264 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from a Hypo Alg.
Definition at line 270 of file TrigComposite_v1.h.
|
static |
Constant used to identify an initial HLT ROI derived from L1.
Definition at line 253 of file TrigComposite_v1.h.
|
static |
Constant used to identify an initial ROI from L1.
Definition at line 251 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from a Input Maker.
Definition at line 268 of file TrigComposite_v1.h.
|
static |
Constant used to identify an (explicitly) updated HLT ROI.
Definition at line 255 of file TrigComposite_v1.h.
|
static |
Constant used to identify a seed (parent).
Definition at line 261 of file TrigComposite_v1.h.
|
static |
Constant used to identify a navigation graph node as being from a final Filter created by the DecisionSummaryMaker algorithm.
Definition at line 275 of file TrigComposite_v1.h.
|
static |
Constant used to identify the single express-accept graph node.
A record of all chains which triggered express streaming.
Definition at line 281 of file TrigComposite_v1.h.
|
static |
Constant used to identify the single terminus graph node the end point of all chains which accept the event.
Definition at line 278 of file TrigComposite_v1.h.
|
static |
Constant used to identify the single prescaled graph node.
A record of all chains which did not execute due to HLT prescale.
Definition at line 284 of file TrigComposite_v1.h.
|
static |
Constant used to identify a view.
Definition at line 257 of file TrigComposite_v1.h.