|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGNAVSLIMMINGMT_TRIGNAVSLIMMINGMTALG_H
6 #define TRIGNAVSLIMMINGMT_TRIGNAVSLIMMINGMTALG_H
42 typedef std::map<const TrigCompositeUtils::Decision*, TrigCompositeUtils::Decision*>
IOCacheMap;
52 this,
"PrimaryInputCollection",
"HLTNav_Summary",
53 "Input collection containing the HLTPassRaw terminus node of the navigation."};
56 this,
"OutputCollection",
"HLTNav_Summary_ESDSlimmed",
57 "Single output collection containing the slimmed navigation nodes."};
60 this,
"RepackROIsOutputCollection",
"HLTNav_RepackedROIs",
61 "Single output collection containing any repacked ROIs (use with RepackROIs)."};
64 this,
"RepackFeaturesOutputCollection_Particle",
"HLTNav_RepackedFeatures_Particle",
65 "Single output collection containing any repacked Particle features (use with RepackFeatures)."};
68 this,
"RepackFeaturesOutputCollection_MET",
"HLTNav_RepackedFeatures_MET",
69 "Single output collection containing any repacked IParticle features (use with RepackFeatures)."};
72 this,
"KeepFailedBranched",
true,
73 "Keep nodes which are in branches of the graph which fail selection for all triggers, these are used by T0 monitoring."};
76 this,
"KeepOnlyFinalFeatures",
false,
77 "Keeps only the final features which accepted a chain. Fine for analysis-use."};
80 this,
"RemoveEmptySteps",
false,
81 "Slim away ComboHypo->InputMaker empty step pairs which come from parallel chain alignment (special case: keep if C.H. adds a feature, e.g. BLS). Fine for analysis-use."};
84 this,
"RepackROIs",
false,
85 "Re-pack the target of all 'roi' and 'initialRoI' edges into a single container (WriteHandle defined above)"};
88 this,
"RepackMET",
false,
89 "Re-pack the target of all 'feature' edges to xAOD::TrigMissingET objects into a single container (WriteHandle defined above)"};
92 this,
"RepackFeatures",
false,
93 "Re-pack the target of all 'feature' edges into a small number of containers (WriteHandle defined above)"};
96 this,
"EdgesToDrop", {
"view"},
97 "Any edges within the set of names will be dropped as part of the thinning"};
100 this,
"NodesToDrop", {
"F"},
101 "Any nodes within the set of names will be dropped as part of the thinning and the navigation re-wired around them"};
104 this,
"AllOutputContainers", {},
105 "List of SG keys of all possible output containers at differing verbosity. Used to stop different instances of the alg interfering with each other."};
108 this,
"ChainsFilter", {},
109 "Optional list of HLT chains. If provided, only navigation data corresponding to these chains will be kept. "
110 "Matching multiple chains via regular expressions is supported."};
113 this,
"TrigDecisionTool",
"Trig::TrigDecisionTool/TrigDecisionTool",
114 "Trigger Decision Tool, used to apply the ChainsFilter"};
117 this,
"RuntimeValidation",
false,
118 "Perform additional validation checks on the navigation, and print WARNINGs if anything out of the ordinary is found."};
145 const EventContext& ctx)
const;
182 const EventContext& ctx)
const;
199 const std::string& when)
const;
213 template<
typename COLLECTION >
216 const std::string& edgeName)
const;
222 template<
typename COLLECTION >
230 #endif // TRIGNAVSLIMMINGMT_TRIGNAVSLIMMINGMTALG_H
SG::WriteHandleKey< xAOD::TrigMissingETContainer > m_outputRepackedFeaturesCollectionKey_MET
Gaudi::Property< bool > m_runtimeValidation
std::map< const TrigCompositeUtils::Decision *, TrigCompositeUtils::Decision * > IOCacheMap
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::TrigCompositeContainer > m_primaryInputCollection
Gaudi::Property< bool > m_repackROIs
Gaudi::Property< bool > m_keepFailedBranches
std::set< std::string > m_allOutputContainersSet
Processed form of m_allOutputContainers.
Gaudi::Property< bool > m_repackFeatures
Gaudi::Property< std::vector< std::string > > m_edgesToDrop
SG::WriteHandle< TrigRoiDescriptorCollection > * rois
std::vector< size_t > lookupHardCodedLegMultiplicities(const std::string &chain) const
Supplemental leg multiplicity information to support MC20.
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode doRepack(TrigCompositeUtils::Decision *decision, SG::WriteHandle< COLLECTION > *writeHandle, const std::string &edgeName) const
Look for an ElementLink<COLLECTION> with the given edge-name in 'decision', if found then make a copy...
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_outputCollection
SG::WriteHandle< xAOD::ParticleContainer > * particles
An algorithm that can be simultaneously executed in multiple threads.
TrigNavSlimmingMTAlg(const std::string &name, ISvcLocator *pSvcLocator)
Handle class for recording to StoreGate.
SG::WriteHandleKey< xAOD::ParticleContainer > m_outputRepackedFeaturesCollectionKey_Particle
Property holding a SG store/key/clid from which a WriteHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode propagateSeedingRelation(const TrigCompositeUtils::NavGraphNode *inputNode, IOCacheMap &cache, const EventContext &ctx) const
Copy the subset of "seed" links which are present in the inputNode.
Gaudi::Property< bool > m_repackMET
Gaudi::Property< std::vector< std::string > > m_chainsFilter
Gaudi::Property< std::vector< std::string > > m_allOutputContainers
Class used to describe composite objects in the HLT.
void printIParticleRepackingDebug(const TrigCompositeUtils::Decision *output, const std::string &when) const
Print debug information relating to the re-packing of feature links as Particle objects.
StatusCode inputToOutput(const TrigCompositeUtils::Decision *input, TrigCompositeUtils::Decision **output, IOCacheMap &cache, Outputs &outputContainers, const TrigCompositeUtils::DecisionIDContainer &chainIDs, const EventContext &ctx) const
Map a const Decision object from an input collection to its equivalent in the output collection Where...
Consumes a set of Run 3 trigger navigation collection(s), applies slimming/thinning,...
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_outputRepackedROICollectionKey
std::set< DecisionID > DecisionIDContainer
Gaudi::Property< bool > m_removeEmptySteps
SG::WriteHandle< xAOD::TrigCompositeContainer > * nav
Transient utility class to represent a node in a graph (m_decisionObject), and a vector of edges (m_f...
StatusCode doRepackCopy(const typename COLLECTION::base_value_type *object, SG::WriteHandle< COLLECTION > *writeHandle) const
Performs the xAOD Copy.
Gaudi::Property< bool > m_keepOnlyFinalFeatures
virtual StatusCode initialize() override
Handle class for reading from StoreGate.
StatusCode propagateLinks(const TrigCompositeUtils::Decision *input, TrigCompositeUtils::Decision *output) const
Copy links (graph edges) from input to output.
SG::WriteHandle< xAOD::TrigMissingETContainer > * mets
StatusCode repackLinks(TrigCompositeUtils::Decision *output, Outputs &outputContainers) const
Repacks ElementLinks in the DecisionObject to point to compact output containers written by this alg.
StatusCode propagateDecisionIDs(const TrigCompositeUtils::Decision *input, TrigCompositeUtils::Decision *output, const TrigCompositeUtils::DecisionIDContainer &chainIDs) const
Copy DecisionIDs (passing chains and passing chain-legs) from input to output.
Gaudi::Property< std::vector< std::string > > m_nodesToDrop
StatusCode fillChainIDs(TrigCompositeUtils::DecisionIDContainer &chainIDs) const
Convert the ChainsFilter into the set of chain-IDd and chain-leg-IDs which comprises all of the Decis...