![]() |
ATLAS Offline Software
|
The Navigation class, organizes TriggerElements into the tree structure. More...
#include <Navigation.h>
Public Types | |
| enum | MemoryManagement { ObjectInStoreGate = 1 , ObjectToStoreGate = 2 , ObjectCreatedByNew = 3 } |
| defines 3 possible origins of the objects which are attached to TEs This should be used like this: More... | |
Public Member Functions | |
| Navigation (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~Navigation () |
| virtual StatusCode | initialize () override |
| template<class T> | |
| bool | attachFeature (TriggerElement *te, const T *feature, MemoryManagement, std::string &key, const std::string &label="") |
| attaches feature to given TriggerElement | |
| template<class T> | |
| bool | attachFeature (TriggerElement *te, const ConstDataVector< T > *feature, MemoryManagement, std::string &key, const std::string &label="") |
| template<class T> | |
| bool | associateExternalCollection (const std::string &label) |
| template<class T> | |
| bool | findOwners (const T *obj, std::vector< const TriggerElement * > &owners, unsigned int id=0) |
| find all TriggerElements which have this object attached given feature | |
| template<class T> | |
| const std::string | getNextKey (const std::string &label="") |
| Get the next key for a given object. | |
| template<class T> | |
| const std::string | getUniqueKey (const std::string &label="") |
| Get a unique key (not in the usual series) for a given object. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
| virtual void | prepare () |
| prepapres the navigation for next event | |
| virtual void | reset (bool inFinalize=false) |
| resets all the navigation, goes to the factory and asks to withdraw all produced objects | |
| virtual bool | serialize (std::vector< uint32_t > &output) const |
| method serizlizes the navigation structure The structure is serrizlized in following order ... | |
| bool | serialize (std::vector< uint32_t > &output, std::vector< unsigned int > &cuts) const |
| bool | serialize (std::vector< uint32_t > &output, std::vector< unsigned int > &cuts, std::vector< std::pair< CLID, std::string > > &clid_name) const |
| bool | serialize_DSonly (std::vector< uint32_t > &output, std::vector< unsigned int > &cuts, std::vector< std::pair< CLID, std::string > > &clid_name) const |
| bool | deserialize (const std::vector< uint32_t > &input) |
| template<class T> | |
| bool | getFeatures (const TriggerElement *te, std::vector< const T * > &features, const std::string &label="", std::map< const T *, std::string > *labels=0) const |
| retrieve features attached to given TriggerElement | |
| template<class T> | |
| bool | getFeature (const TriggerElement *te, const T *&features, const std::string &label="", std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| template<class T> | |
| bool | getFeature (const TriggerElement *te, const ConstDataVector< T > *&features, const std::string &label="", std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| TriggerElement::FeatureAccessHelper | getFeature (const TriggerElement *te, class_id_type clid, const index_or_label_type &index_or_label) const |
| typeless feature access metod | |
| template<class T> | |
| const T * | featureLink2Object (const TrigFeatureLink &) const |
| template<class T> | |
| TrigFeatureLink | object2FeatureLink (const TriggerElement *te, const std::string &label, const T *obj) const |
| template<class C> | |
| TrigFeatureLink | object2FeatureLink (const TriggerElement *te, const std::string &label, const typename Container2Object< C >::type *obj, const C *container) const |
| template<class C, class T> | |
| bool | getFeaturesLinks (const TriggerElement *te, ElementLinkVector< C > &links, const std::string &label="") const |
| template<class T> | |
| bool | getRecentFeatures (const TriggerElement *te, std::vector< const T * > &features, const std::string &label="", std::map< const T *, std::string > *labels=0) const |
| retrieve features attached to given TriggerElement or its predecessors the algorithm will go recursively to all predecessors and once the feature is found attached to given TE returns all features (of this type and label) attached to this TE | |
| template<class T> | |
| bool | getRecentFeature (const TriggerElement *te, const T *&feature, const std::string &label="", const TriggerElement *&source=::HLT::TrigNavStructure::m_unspecifiedTE, std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| template<class LinkType> | |
| bool | getRecentFeatureDataOrElementLink (const TriggerElement *te, LinkType &link, const std::string &label="", const TriggerElement *&source=::HLT::TrigNavStructure::m_unspecifiedTE, std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| template<class C, class T> | |
| bool | getRecentFeaturesLinks (const TriggerElement *te, ElementLinkVector< C > &links, const std::string &label="") const |
| template<class C, class T> | |
| bool | getRecentFeatureLink (const TriggerElement *te, ElementLink< C > &link, const std::string &label="", const TriggerElement *&source=::HLT::TrigNavStructure::m_unspecifiedTE, std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| virtual bool | getFeatureAccessors (const TriggerElement *te, class_id_type clid, const index_or_label_type &index_or_label, bool only_single_feature, TriggerElement::FeatureVec &features, bool travel_backward_recursively, const TriggerElement *&source=m_unspecifiedTE, std::string &sourcelabel=m_unspecifiedLabel) const |
| retrieve features accessors according to the requrements This method is actually workhorse for all above. | |
| virtual bool | getFeatureAccessorsSingleTE (const TriggerElement *te, CLID clid, const index_or_label_type &index_or_label, bool only_single_feature, TriggerElement::FeatureVec &features, const TriggerElement *&source=::HLT::TrigNavStructure::m_unspecifiedTE, std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const |
| template<class T> | |
| bool | getFeaturesInRoI (const TriggerElement *te, std::vector< const T * > &features, const std::string &label="", std::map< const T *, std::string > *labels=0) const |
| retrieve features attached to the RoIs seeding this TriggerElement | |
| template<class C, class T> | |
| bool | getAllFeatures (ElementLinkVector< C > &features, const std::string &label="") const |
| gets all features of type T atachedd to whichever TE | |
| bool | merge (const NavigationCore &l2) |
| attemtps to merge two trees | |
| void | getAllOfType (const std::string &id, std::vector< HLT::TriggerElement * > &output, const bool activeOnly=true) const |
| return trigger elements given the name of TEs | |
| void | getAllOfType (const te_id_type id, std::vector< TriggerElement * > &output, const bool activeOnly=true) const |
| The query returning a collection of all TriggerElements if name is given. | |
| const AccessProxy * | getAccessProxy () const |
| gets the access proxy | |
| template<class T> | |
| HLTNavDetails::Holder< T > * | getHolder (uint16_t subTypeIndex) const |
| as above but does not create holder on demand (return 0 if not found) | |
| const BaseHolder * | getHolder (const TriggerElement::FeatureAccessHelper &fea) const |
| TriggerElement * | getInitialNode () |
| gets initial node, if node is not there then it is created on fly | |
| const TriggerElement * | getInitialNode () const |
| TriggerElement * | addRoINode (TriggerElement *initial) |
| gets RoI node (attached to initial) | |
| TriggerElement * | addNode (TriggerElement *seed, unsigned int id) |
| adds nodes seeded form the one given as an argument, | |
| TriggerElement * | addNode (std::vector< TriggerElement * > &seeds, unsigned int id, bool ghost=false, bool nofwd=false) |
| adds node which is seeded from several other Needed by Topological algorithms | |
| void | printASCIIArt (std::string &str, const TriggerElement *te=0, int offset=0) const |
| pretty printing of the navigational structure (heavy) | |
| bool | serializeTEs (std::vector< uint32_t > &output) const |
| method serizlizes the navigation structure | |
| bool | deserializeTEs (std::vector< uint32_t >::const_iterator &start, unsigned int totalSize) |
| TriggerElement::FeatureAccessHelper | getFeatureRecursively (const TriggerElement *startTE, class_id_type clid, const index_or_label_type &index_or_label, const TriggerElement *&sourceTE) const |
| recursive search for features the function is similar to the above butif th features is not found at the startTE the search descends the structure of TEs until it is found. | |
| void | getAllRoIThresholdTEs (std::vector< TriggerElement * > &output) const |
| The query returns a vector of all TriggerElements that represent a LVL1 RoI threshold. | |
| void | getAll (std::vector< TriggerElement * > &output, const bool activeOnly=true) const |
| The query returning a collection of all TriggerElements. | |
| std::vector< TriggerElement * > & | getAllTEs () |
| access needed by slimming tools. | |
| const std::vector< TriggerElement * > & | getAllTEs () const |
| access needed by slimming tools. | |
| unsigned int | countAllOfType (const te_id_type id, const bool activeOnly=true) const |
| The query counting a collection of all TriggerElement of a given type. | |
| bool | propagateDeactivation (const TrigNavStructure *nav) |
| propagates deactivation of TE state This finction should be used after Trigger is rerurn on L2 and then the reruning on L2 is required. | |
| bool | combine (std::vector< unsigned int > &types, std::vector< std::vector< TriggerElement * > > &output, unsigned int maxResults=1000, bool onlyActive=true) |
| For Algorithms: return all the possible n-tuples of TE* objects (te0, te1..., ten) | |
| bool | overlaps (const TriggerElement *t1, const TriggerElement *t2) const |
| Check overlap between trigger elements (pointer equality or RoI overlap) | |
| bool | overlaps (const TriggerElement *t1, const std::vector< TriggerElement * > &teVec) const |
| Check overlap between a TE and a vector of TEs, using the method above. | |
| bool | getTopologicallySpannedBy (const TriggerElement *te, const std::vector< unsigned int > &types, std::vector< const TriggerElement * > &children, const bool activeOnly=true) const |
| gets the TEs whose predecessors were used to built a given topological TE | |
| unsigned int | copyAllFeatures (const TriggerElement *sourceTE, TriggerElement *destTE) |
| gets all features from the sourceTE and copies a reference (FeatureAccessHelper) to the destTE | |
| sub_index_type | subType (class_id_type clid, const index_or_label_type &sti_or_label) const |
| std::string | label (class_id_type clid, const index_or_label_type &sti_or_label) const |
Static Public Member Functions | |
| template<class T, class C> | |
| static void | registerFeatureContainer () |
| Specialized by type and container for this type. | |
| static uint32_t | string2hash (const std::string &, const std::string &category="TE") |
| convert strin g to hash. | |
| static const std::vector< TriggerElement * > & | getRoINodes (const TriggerElement *somenode) |
| gets all RoI type nodes seeding indirectly this TriggerElement | |
| static const std::vector< TriggerElement * > & | getDirectPredecessors (const TriggerElement *te) |
| returns list of direct predecessors (nodes seeding me) | |
| static const std::vector< TriggerElement * > & | getDirectSuccessors (const TriggerElement *te) |
| returns list of direct predecessors (nodes I seed) | |
| static const TriggerElement * | getSuccessor (const TriggerElement *te, unsigned int id) |
| returns successor of given type beeing seeded from this TE | |
| static bool | isInitialNode (const TriggerElement *te) |
| queries if node is an initial one | |
| static bool | isRoINode (const TriggerElement *te) |
| queries if node is an RoI type one | |
| static bool | isTerminalNode (const TriggerElement *te) |
| queries if node is terminal (no more TriggerElement are seeded by it) | |
| static bool | haveCommonRoI (const TriggerElement *te1, const TriggerElement *te2) |
| does this 2 share RoI | |
| static bool | haveDistinctRoI (const TriggerElement *te1, const TriggerElement *te2) |
| inversion of haveCommonRoI | |
| static bool | haveAllCommonRoIs (const HLT::TriggerElement *te1, const HLT::TriggerElement *te2) |
| static bool | haveCommonSeed (const TriggerElement *te1, const TriggerElement *te2) |
| checks that there is any common predecessor of two TriggerElements | |
| static bool | haveDistinctSeed (const TriggerElement *te1, const TriggerElement *te2) |
| inversion of haveCommonSeed | |
| static bool | increasingOrderByTEId (const TriggerElement *te1, const TriggerElement *te2) |
| for sorting TriggerElements according to their id | |
| static bool | decreasingOrderByTEId (const TriggerElement *te1, const TriggerElement *te2) |
| static bool | hasIdFromTheSet (const TriggerElement *te, std::vector< unsigned int > ids) |
| simple helper | |
| static bool | isNotActive (const TriggerElement *te) |
| helper for the STL | |
| static bool | isTopological (const TriggerElement *te) |
| static bool | isCompatibleTree (const TriggerElement *te1, const TriggerElement *te2) |
| check compatibility of 2 navigation structures | |
Protected Member Functions | |
| Navigation () | |
| Navigation (const Navigation &) | |
| Navigation & | operator= (const Navigation &) |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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. | |
| template<class T> | |
| HLTNavDetails::Holder< T > * | getHolder (const std::string &label, uint16_t suggestedIndex) const |
| aware holder discovery, creates holder if needed | |
| HLTNavDetails::IHolder * | getHolder (CLID clid, uint16_t subTypeIndex) const |
| as above but not type wise holder returned | |
| HLTNavDetails::IHolder * | getHolder (CLID clid, const std::string &label) const |
| as above | |
| bool | createHolder (HLTNavDetails::IHolder *&holder, CLID clid, const std::string &label, uint16_t idx) const |
| creates holder for type given by CLID | |
| bool | registerHolder (HLTNavDetails::IHolder *holder) |
| bool | addOneLevel (std::vector< std::vector< TriggerElement * > > ¤tCombs, std::vector< std::vector< std::pair< unsigned int, unsigned int > > > ¤tIdxs, unsigned int type, std::vector< std::vector< TriggerElement * > > &newCombs, std::vector< std::vector< std::pair< unsigned int, unsigned int > > > &newIdxs, unsigned int maxResults=1000, bool onlyActive=1) |
| Helper method for "combine": add one "level" of multiplicity to the results. | |
| uint16_t | nextSubTypeIndex (CLID clid, const std::string &label) const |
| bool | extractBlob (const std::vector< uint32_t > &input, std::vector< uint32_t >::const_iterator &it, std::vector< uint32_t > &blob) const |
| bool | matchFeature (const TriggerElement::FeatureAccessHelper &fea, class_id_type clid, const index_or_label_type &index_or_label) const |
| void | fillSameRoIRelation (TriggerElement *roi, TriggerElement *te) |
| rebuilds the sameRoIRelation between trigger elements (used internally by deserialize) | |
| TriggerElementFactory & | getFactory () |
| const TriggerElementFactory & | getFactory () const |
| TrigHolderStructure & | getHolderStorage () |
| const TrigHolderStructure & | getHolderStorage () const |
| std::recursive_mutex & | getMutex () |
| std::recursive_mutex & | getMutex () const |
Protected Attributes | |
| IConversionSvc * | m_serializerSvc |
| StoreGateSvc * | m_storeGate |
| std::string | m_objectsKeyPrefix |
| property setting prefix which is to be given to all trigger EDM objects | |
| unsigned | m_objectsIndexOffset |
| small integer used to generate sub type index | |
| ITrigHolderFactory * | m_holderfactory |
| std::vector< std::string > | m_classesToPayloadProperty |
| list of classes#keys to be put to BS payload | |
| std::vector< CSPair > | m_classesToPayload |
| classess are put to payload according to that priority list (CLID + key) | |
| std::vector< std::string > | m_classesToPayloadProperty_DSonly |
| list of classes#keys to be put to DS payload | |
| std::vector< CSPair > | m_classesToPayload_DSonly |
| classess are put to payload according to that priority list (CLID + key) | |
| std::vector< std::string > | m_classesFromPayloadIgnoreProperty |
| list of classes#keys to ignore on deserialization | |
| std::vector< std::string > | m_classesToPreregisterProperty |
| as above but for preregistration | |
| std::vector< CSPair > | m_classesToPreregister |
| classes mentioned here will be put to SG irrespectively of thier presence in event | |
Static Protected Attributes | |
| static const TriggerElement *m_unspecifiedTE | ATLAS_THREAD_SAFE |
| static std::string m_unspecifiedLabel | ATLAS_THREAD_SAFE |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | classKey2CLIDKey (const std::vector< std::string > &property, std::vector< CSPair > &decoded) |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
| HLTNavDetails::IHolder * | prepareOneHolder (CLID clid, const std::string &label) |
| bool | serializeWithHolderSection (const std::vector< uint32_t > &holderdata, const std::vector< unsigned int > &holderblobsizes, std::vector< uint32_t > &output, std::vector< unsigned int > &cuts, std::vector< std::pair< CLID, std::string > > &clid_name) const |
| bool | serializeHoldersWithoutPayload (const std::vector< HLTNavDetails::IHolder * > &holders, std::vector< uint32_t > &output, std::vector< uint32_t > &holderblobsizes, std::vector< std::pair< CLID, std::string > > &clid_name) const |
| bool | serializeHoldersWithPayload (const std::vector< CSPair > &payload, std::vector< uint32_t > &output, std::vector< uint32_t > &holderblobsizes, std::vector< std::pair< CLID, std::string > > &clid_name) const |
Private Attributes | |
| ServiceHandle< IConversionSvc > | m_serializerServiceHandle |
| ServiceHandle< IClassIDSvc > | m_clidSvc |
| Gaudi::Property< std::vector< std::string > > | m_dlls {this, "Dlls", {}, "Libraries to load (with trigger EDM)", "OrderedSet<T>"} |
| FullHolderFactory | m_fullholderfactory |
| bool | m_readonly |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
| const AthAlgTool & | m_logger |
| SG::SlotSpecificObj< TriggerElementFactory > | m_factory |
| factory of trigger elements (one per processing slot) | |
| SG::SlotSpecificObj< TrigHolderStructure > | m_holderstorage |
| structure for feature holders (one per processing slot) | |
Static Private Attributes | |
| static std::recursive_mutex | s_rmutex |
The Navigation class, organizes TriggerElements into the tree structure.
The class is providing an interface to the whole navigation. The internal ingredients of the navigation which are TriggerElements are well hidden. All operations on the navigation structure are possible only via trick class. This operations are basically:
The created nodes are given to user with all the navigational links prepared
Documentation of EDM related upgrade:
the object of given type are then organized then as follows: there is many collections of given type per event (each for one label) this collections are accessible by label or "SubTypeIndex" second is to keep the TE -> feature link unchanged if we remove obe of collection during slimming or we simply not record it
Is is like this collection of type T |XXXXXXX| label: ID subTypeIndex: 0 collection of type T |XXXX| label: MS subTypeIndex: 1 collection of type T |XXXXXXXXXXXXX| label: Muons subTypeIndex: 2 collection of type T |XXXXXXXX| label: Calo subTypeIndex: 3
Definition at line 100 of file Navigation.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
inherited |
defines 3 possible origins of the objects which are attached to TEs This should be used like this:
| Enumerator | |
|---|---|
| ObjectInStoreGate | |
| ObjectToStoreGate | |
| ObjectCreatedByNew | |
Definition at line 157 of file NavigationCore.h.
| Navigation::Navigation | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 18 of file Navigation.cxx.
|
virtual |
Definition at line 44 of file Navigation.cxx.
|
protected |
|
protected |
|
inherited |
adds node which is seeded from several other Needed by Topological algorithms
| seeds | are all TriggerElements which seed newly created |
| id | the id to give for the created TriggerElement |
| ghost | flag is saying that this TE is a light weight one, no features attaching to it is allowed |
| nofwd | flag is saying that this TE will not be deactivated automatically in fwd deactivation process(rerunning) |
Definition at line 85 of file TrigNavStructure.cxx.
|
inherited |
adds nodes seeded form the one given as an argument,
| seed | a TriggerElement which direct predecessor of newly created |
| id | an id to give newly created TriggerElement |
Definition at line 79 of file TrigNavStructure.cxx.
|
protectedinherited |
Helper method for "combine": add one "level" of multiplicity to the results.
|
inherited |
gets RoI node (attached to initial)
Definition at line 58 of file TrigNavStructure.cxx.
| bool HLT::Navigation::associateExternalCollection | ( | const std::string & | label | ) |
| bool HLT::Navigation::attachFeature | ( | TriggerElement * | te, |
| const ConstDataVector< T > * | feature, | ||
| MemoryManagement | , | ||
| std::string & | key, | ||
| const std::string & | label = "" ) |
| bool HLT::Navigation::attachFeature | ( | TriggerElement * | te, |
| const T * | feature, | ||
| MemoryManagement | , | ||
| std::string & | key, | ||
| const std::string & | label = "" ) |
attaches feature to given TriggerElement
| te | TriggerElement to which attach feature |
| feature | is feature ptr to attach |
| key | is filled up by the key used to put into SG (if not SG is involved then untouched) |
| label | for additional marking of this feature |
|
private |
Definition at line 114 of file Navigation.cxx.
|
inherited |
For Algorithms: return all the possible n-tuples of TE* objects (te0, te1..., ten)
such that te0.id() == types[0], te1.id() == types[1]... In the case where ids appear multiple times, n-tuple permutations are counted only once. (so if te0.id() == te1.id(), (te0, te1) will appear but not (te1, te0)) "output" is populated with all the poClassID_traits<T>::ID();ssible combinations of this type. if "activeOnly" is true, only active trigger elements are used. The list is truncated at maxResults if maxResults > 0.
Definition at line 580 of file TrigNavStructure.cxx.
|
inherited |
gets all features from the sourceTE and copies a reference (FeatureAccessHelper) to the destTE
| sourceTE | (source) TriggerElement holding features |
| destTE | (destiny) TriggerElement: copy feature references here |
Definition at line 734 of file TrigNavStructure.cxx.
|
inherited |
The query counting a collection of all TriggerElement of a given type.
Definition at line 388 of file TrigNavStructure.cxx.
|
protectedinherited |
creates holder for type given by CLID
Definition at line 365 of file NavigationCore.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
staticinherited |
Definition at line 487 of file TrigNavStructure.cxx.
|
virtualinherited |
Implements HLT::TrigNavStructure.
Definition at line 151 of file NavigationCore.cxx.
|
inherited |
Definition at line 264 of file TrigNavStructure.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
|
protectedinherited |
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
|
inherited |
|
protectedinherited |
rebuilds the sameRoIRelation between trigger elements (used internally by deserialize)
Definition at line 307 of file TrigNavStructure.cxx.
| bool HLT::Navigation::findOwners | ( | const T * | obj, |
| std::vector< const TriggerElement * > & | owners, | ||
| unsigned int | id = 0 ) |
find all TriggerElements which have this object attached given feature
| obj | is a pointer to object of interest |
| owners | is a vector of TEs which will be filled by all owners of the feature |
| id | the id of TEs which should be inspected |
|
inlineinherited |
gets the access proxy
Definition at line 337 of file NavigationCore.h.
|
inherited |
The query returning a collection of all TriggerElements.
Definition at line 361 of file TrigNavStructure.cxx.
|
inherited |
gets all features of type T atachedd to whichever TE
| features | vector of pointers to features to which will be filled up |
| label | the label for a given feature |
| labels | list of all features of this type already in place and thier labels (of not specified) faster query |
|
inherited |
return trigger elements given the name of TEs
Definition at line 401 of file NavigationCore.cxx.
|
inherited |
The query returning a collection of all TriggerElements if name is given.
| id | name of TE, if "" given all TEs are returned |
Definition at line 201 of file TrigNavStructure.cxx.
|
inherited |
The query returns a vector of all TriggerElements that represent a LVL1 RoI threshold.
Definition at line 328 of file TrigNavStructure.cxx.
|
inherited |
access needed by slimming tools.
Definition at line 374 of file TrigNavStructure.cxx.
|
inherited |
access needed by slimming tools.
Definition at line 381 of file TrigNavStructure.cxx.
|
staticinherited |
returns list of direct predecessors (nodes seeding me)
| te | TriggerElement to query |
Definition at line 120 of file TrigNavStructure.cxx.
|
staticinherited |
returns list of direct predecessors (nodes I seed)
| te | TriggerElement to query |
Definition at line 124 of file TrigNavStructure.cxx.
|
inlineprotectedinherited |
Definition at line 369 of file TrigNavStructure.h.
|
inlineprotectedinherited |
Definition at line 373 of file TrigNavStructure.h.
|
inherited |
|
inherited |
|
inherited |
typeless feature access metod
| te | the TE from which the search should be done |
| clid | the class ID of searched type |
| sub | feature sub index ( |
Definition at line 781 of file TrigNavStructure.cxx.
|
virtualinherited |
retrieve features accessors according to the requrements This method is actually workhorse for all above.
I.e. the TEs structure traversing happens inside it.
| te | is TriggerElement at which searching starts |
| clid | is ClassID of type which is searched for |
| label | is object label (as used by attachFeature), empty lables (i.e. == "") means any label, nonempty label means exact matching, and noverlty label == "!" means we are specifically looking for empty label |
| only_single_feature | if true means we are looking for only one last object (i.e. imagine several object of the same type attached to TE) |
| features | vector of FeatureAccessHelper objects to fill up |
| travel_backward_recursively | if true will doe actual travering TriggerElement structure to find objects, if false search will stop at the TriggerElement te |
| source | TriggerElement where the object was found (or query stopped) |
| sourcelabel | is labels which the object had (useful when calling this routine with empty label) |
Reimplemented from HLT::TrigNavStructure.
Definition at line 410 of file NavigationCore.cxx.
|
virtualinherited |
Reimplemented from HLT::TrigNavStructure.
Definition at line 421 of file NavigationCore.cxx.
|
inherited |
recursive search for features the function is similar to the above butif th features is not found at the startTE the search descends the structure of TEs until it is found.
It stops on RoI nodes.
| sourceTE | is the TE where the feature was found |
Definition at line 795 of file TrigNavStructure.cxx.
|
inherited |
retrieve features attached to given TriggerElement
| te | TriggerElement from retrieve |
| features | is collection to be feed |
| label | for additional marking of this feature |
| labels | list of all features of this type already in place and thier labels |
|
inherited |
retrieve features attached to the RoIs seeding this TriggerElement
| te | TriggerElement from which start |
| features | is collection to be feed |
| label | for additional marking of this feature |
| labels | list of all features of this type already in place and thier labels (of not specified) faster query |
|
inherited |
|
protectedinherited |
as above
Definition at line 390 of file NavigationCore.cxx.
as above but not type wise holder returned
Definition at line 383 of file NavigationCore.cxx.
|
protectedinherited |
aware holder discovery, creates holder if needed
|
inherited |
as above but does not create holder on demand (return 0 if not found)
|
inherited |
Definition at line 921 of file TrigNavStructure.cxx.
|
inlineprotectedinherited |
Definition at line 370 of file TrigNavStructure.h.
|
inlineprotectedinherited |
Definition at line 374 of file TrigNavStructure.h.
|
inherited |
gets initial node, if node is not there then it is created on fly
Definition at line 39 of file TrigNavStructure.cxx.
|
inherited |
Definition at line 48 of file TrigNavStructure.cxx.
|
inlineprotectedinherited |
Definition at line 371 of file TrigNavStructure.h.
|
inlineprotectedinherited |
Definition at line 375 of file TrigNavStructure.h.
| const std::string HLT::Navigation::getNextKey | ( | const std::string & | label = "" | ) |
Get the next key for a given object.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
retrieve features attached to given TriggerElement or its predecessors the algorithm will go recursively to all predecessors and once the feature is found attached to given TE returns all features (of this type and label) attached to this TE
| te | TriggerElement from which to start |
| features | is vector to be filled up |
| label | for additional marking of this feature |
| labels | list of all features of this type already in place and thier labels (of not specified) faster query |
|
inherited |
|
staticinherited |
gets all RoI type nodes seeding indirectly this TriggerElement
For getting all RoI nodes one can call getDirectrSuccessors(getIntialNode()
Definition at line 73 of file TrigNavStructure.cxx.
|
staticinherited |
returns successor of given type beeing seeded from this TE
| te | TriggerElement to query |
| id | the id of the successor TreiggerElement to find |
Definition at line 129 of file TrigNavStructure.cxx.
|
inherited |
gets the TEs whose predecessors were used to built a given topological TE
| te | topological TE from which to start |
| types | vector of types to search for |
| childs | vector of retrieved TEs; empty in case some of the required TEs cannot be found or are not active (see the activeOnly parameter) |
| activeOnly | optional parameter specifying whether inactive TEs should be discarded from the search; true by default |
Definition at line 712 of file TrigNavStructure.cxx.
| const std::string HLT::Navigation::getUniqueKey | ( | const std::string & | label = "" | ) |
Get a unique key (not in the usual series) for a given object.
|
staticinherited |
simple helper
Definition at line 491 of file TrigNavStructure.cxx.
|
staticinherited |
Definition at line 447 of file TrigNavStructure.cxx.
|
staticinherited |
does this 2 share RoI
RoI node itself can be passed, then it will tell if a given TriggerElement is originating in this RoI for simple TriggerElement it is a bit overkill since it assumed that the number of RoIs can be any
Definition at line 414 of file TrigNavStructure.cxx.
|
staticinherited |
checks that there is any common predecessor of two TriggerElements
Definition at line 459 of file TrigNavStructure.cxx.
|
staticinherited |
inversion of haveCommonRoI
But notice it is more suitable for SLT sort etc. since for comparison 2 identical objects it returns false. However the transitivity can't be guaranteed.
Definition at line 442 of file TrigNavStructure.cxx.
|
staticinherited |
inversion of haveCommonSeed
Definition at line 479 of file TrigNavStructure.cxx.
|
staticinherited |
for sorting TriggerElements according to their id
Note that this methods are not complementary. (It is required to be usable for STL algorithms.)
Definition at line 483 of file TrigNavStructure.cxx.
|
overridevirtual |
Definition at line 48 of file Navigation.cxx.
|
overridevirtualinherited |
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.
|
staticinherited |
check compatibility of 2 navigation structures
This what is checked is only the id of trigger elements whether they are having the same place in the navigation structure; have identical subtrees (check is recursive)
Definition at line 524 of file TrigNavStructure.cxx.
|
staticinherited |
queries if node is an initial one
| te | node to be queried |
Definition at line 499 of file TrigNavStructure.cxx.
|
inlinestaticinherited |
helper for the STL
Definition at line 257 of file TrigNavStructure.h.
|
staticinherited |
queries if node is an RoI type one
| te | node to be queried |
Definition at line 505 of file TrigNavStructure.cxx.
|
staticinherited |
queries if node is terminal (no more TriggerElement are seeded by it)
| te | node to be queried |
Definition at line 515 of file TrigNavStructure.cxx.
|
inlinestaticinherited |
Definition at line 259 of file TrigNavStructure.h.
|
inherited |
Definition at line 773 of file TrigNavStructure.cxx.
|
protectedinherited |
Definition at line 896 of file TrigNavStructure.cxx.
|
inherited |
attemtps to merge two trees
Definition at line 235 of file NavigationCore.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
protectedinherited |
Definition at line 287 of file NavigationCore.cxx.
|
inherited |
|
inherited |
|
protected |
|
overridevirtualinherited |
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.
|
inherited |
Check overlap between a TE and a vector of TEs, using the method above.
Definition at line 698 of file TrigNavStructure.cxx.
|
inherited |
Check overlap between trigger elements (pointer equality or RoI overlap)
Definition at line 705 of file TrigNavStructure.cxx.
|
virtualinherited |
prepapres the navigation for next event
Definition at line 335 of file NavigationCore.cxx.
|
privateinherited |
Definition at line 303 of file NavigationCore.cxx.
|
inherited |
pretty printing of the navigational structure (heavy)
Definition at line 152 of file TrigNavStructure.cxx.
|
inherited |
propagates deactivation of TE state This finction should be used after Trigger is rerurn on L2 and then the reruning on L2 is required.
The deactivated lines must be propagated ahead.
| nav | is navigation which was reprocessed (additional branches deactivated) |
Definition at line 555 of file TrigNavStructure.cxx.
|
staticinherited |
Specialized by type and container for this type.
|
protectedinherited |
Definition at line 355 of file NavigationCore.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
virtualinherited |
resets all the navigation, goes to the factory and asks to withdraw all produced objects
Reimplemented from HLT::TrigNavStructure.
Definition at line 281 of file NavigationCore.cxx.
|
virtualinherited |
method serizlizes the navigation structure The structure is serrizlized in following order ...
The truncation mechainsm. The parameter space should be given to the method. No more space than that will be ever taken. But since the actuall space limitation is not known at the time whrn this call happens additional list of safe to cut places is returned. One may ask why no tonly this cuts. ... Answer is follwing. If the event is huge then giving this rought limit would make procedure faster since not all features will be serialized. Otherwice they would be serialized and then thrown away, which is waste of CPU. For safe operation one can easilly make space huge (like 2MB) and not care. But for online such tuning can be considered. Space can be given as a property.
| output | vector to place the result |
| cuts | are indexes where one can safely cut the navigation |
Implements HLT::TrigNavStructure.
Definition at line 81 of file NavigationCore.cxx.
|
inherited |
Definition at line 86 of file NavigationCore.cxx.
|
inherited |
Definition at line 92 of file NavigationCore.cxx.
|
inherited |
Definition at line 123 of file NavigationCore.cxx.
|
privateinherited |
Definition at line 502 of file NavigationCore.cxx.
|
privateinherited |
Definition at line 468 of file NavigationCore.cxx.
|
inherited |
method serizlizes the navigation structure
| output | vector to place the result |
Definition at line 217 of file TrigNavStructure.cxx.
|
privateinherited |
Definition at line 436 of file NavigationCore.cxx.
|
staticinherited |
convert strin g to hash.
This is just making the function available, since there is no dict for TrigConf::HLTUtils
Definition at line 397 of file NavigationCore.cxx.
|
inherited |
Definition at line 766 of file TrigNavStructure.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
staticprotectedinherited |
Definition at line 377 of file TrigNavStructure.h.
|
staticprotectedinherited |
Definition at line 378 of file TrigNavStructure.h.
|
protectedinherited |
list of classes#keys to ignore on deserialization
Definition at line 394 of file NavigationCore.h.
|
protectedinherited |
classess are put to payload according to that priority list (CLID + key)
Definition at line 389 of file NavigationCore.h.
|
protectedinherited |
classess are put to payload according to that priority list (CLID + key)
Definition at line 392 of file NavigationCore.h.
|
protectedinherited |
list of classes#keys to be put to BS payload
Definition at line 388 of file NavigationCore.h.
|
protectedinherited |
list of classes#keys to be put to DS payload
Definition at line 391 of file NavigationCore.h.
|
protectedinherited |
classes mentioned here will be put to SG irrespectively of thier presence in event
Definition at line 397 of file NavigationCore.h.
|
protectedinherited |
as above but for preregistration
Definition at line 396 of file NavigationCore.h.
|
private |
Definition at line 168 of file Navigation.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 169 of file Navigation.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
factory of trigger elements (one per processing slot)
Definition at line 382 of file TrigNavStructure.h.
|
private |
Definition at line 170 of file Navigation.h.
|
protectedinherited |
Definition at line 375 of file NavigationCore.h.
|
privateinherited |
structure for feature holders (one per processing slot)
Definition at line 383 of file TrigNavStructure.h.
|
privateinherited |
Definition at line 406 of file NavigationCore.h.
|
protectedinherited |
small integer used to generate sub type index
Definition at line 372 of file NavigationCore.h.
|
protectedinherited |
property setting prefix which is to be given to all trigger EDM objects
Definition at line 371 of file NavigationCore.h.
|
private |
Definition at line 171 of file Navigation.h.
|
private |
Definition at line 167 of file Navigation.h.
|
protectedinherited |
Definition at line 369 of file NavigationCore.h.
|
protectedinherited |
Definition at line 370 of file NavigationCore.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
staticprivateinherited |
Definition at line 385 of file TrigNavStructure.h.