|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef TRIGNAVTOOLS_TRIGNAVIGATIONTHINNINGSVC_H
8 #define TRIGNAVTOOLS_TRIGNAVIGATIONTHINNINGSVC_H
10 #include "GaudiKernel/IIncidentListener.h"
62 std::vector<uint32_t>& slimmed_and_serialized )
const override;
75 State (
const EventContext& the_ctx,
77 std::vector<uint32_t>& the_destinationNavigation)
82 const EventContext&
ctx;
174 bool propagateFeatures =
true)
const;
219 const std::set<std::pair<CLID, uint16_t> >& doDelete)
const;
227 const std::set<std::pair<CLID, uint16_t> >& toRetain)
const;
241 std::vector<std::string> *exclusionList);
243 std::vector<HLT::TriggerElement*> *exclusionList);
std::vector< std::string > m_actions
std::set< HLT::te_id_type > tesToProtect
StatusCode lateFillConfiguration(State &state) const
configures at the first event
virtual StatusCode doSlimming(const EventContext &, std::vector< uint32_t > &slimmed_and_serialized) const override
StatusCode reload(State &state) const
Reload the slimmed navigation in TDT so that all clients of current job see the chage.
StatusCode dropFeatureless(State &state) const
Removes TEs which have no features (combine wiht squeeze)
virtual StatusCode finalize() override
StatusCode retainFeatures(State &state, const std::set< std::pair< CLID, uint16_t > > &toRetain) const
This is a helper function for removeFeatures(HLT::NavigationCore*, ...).
std::vector< uint32_t > originalNavigation
Define interface for doing TrigNavigation thinning.
StatusCode save(State &state) const
Save the result of the slimming in the doSlimming argument (vector<uint32_t>)
bool toBeIncluded(State &state, HLT::TriggerElement *te, std::vector< std::string > *inclusionList, std::vector< std::string > *exclusionList)
Returns true if the TriggerElement should be included in the navigation tree and false if it should n...
std::string m_chainsRegex
TriggerElementFind(const HLT::TriggerElement *te)
State(const EventContext &the_ctx, HLT::NavigationCore &the_navigation, std::vector< uint32_t > &the_destinationNavigation)
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
StatusCode removeGhostTriggerElements(HLT::TriggerElement *te=0)
Removes all trigger elements with the flag ghost set to true from the navigation structure.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
StatusCode print(State &state) const
HLT::NavigationCore & navigation
StatusCode removeFeatures(State &state, const std::set< std::pair< CLID, uint16_t > > &doDelete) const
This is a helper function for removeFeatures(HLT::NavigationCore*, ...).
::StatusCode StatusCode
StatusCode definition for legacy code.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
std::vector< uint32_t > & destinationNavigation
const HLT::TriggerElement * m_RoI
StatusCode dropInactive()
Removes TEs which are inactive (rejected by hypothesis)
StatusCode removeTriggerElement(State &state, HLT::TriggerElement *te, bool propagateFeatures=true) const
Removes the passed trigger element from the navigation structure by removing all references to it in ...
Used to compare pointers of TriggerElements.
StatusCode dropRoIs(State &state) const
Removes RoI nodes, rather aggressive option, should be use as one of last actions as it makes impossi...
StatusCode syncThinning(State &state) const
reset indexes in the after the thinning
StatusCode(TrigNavigationThinningSvc::* Action)(State &state) const
StatusCode dropFeatures(State &state) const
Removes references to features from the navigation structure.
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
StatusCode squeeze(State &state) const
Remove intermediate TEs leaving very flat structure with event node, rois and terminals.
bool m_report
TE operations verbosity flag.
bool operator()(const HLT::TriggerElement *te)
The TrigNavigationThinningSvc is an athena tool used to slim the trigger Navigation structure in vari...
StatusCode recursivelyRemoveNodesFromNavigation(HLT::TriggerElement *te)
Removes the passed te and all children from the navigation structure.
StatusCode removeFeaturelessTriggerElements(State &state, HLT::TriggerElement *te=0)
Removes all trigger elements with no features from the navigation structure.
StatusCode restore(State &state) const
Restore the original navigation structure.
std::set< std::string > m_featureKeepSet
computed from above
StatusCode propagateFeaturesToChildren(const HLT::TriggerElement *te) const
Propagates the features on given TE to its children.
StatusCode drop(State &state) const
clear the result of the slimming in the doSliming argument (vector<uint32_t>) Makes no sense to combi...
TrigNavigationThinningSvc(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode dropEmptyRoIs(State &state) const
Removes RoI nodes, which do not seed anything.
StatusCode removeTriggerElementFromVector(HLT::TriggerElement *te, std::vector< HLT::TriggerElement * > &v) const
Removes all instances of the supplied TriggerElement from the supplied vector.
std::vector< std::string > m_featureExclusionList
ToolHandle< Trig::TrigDecisionTool > m_trigDecisionTool
virtual StatusCode initialize() override
std::vector< std::string > m_featureInclusionList
std::map< std::string, Action > m_actionsMap
StatusCode dropChains(State &state) const
remove info not related to the specified chains
std::set< std::string > m_featureDropSet
computed from above