 |
ATLAS Offline Software
|
Tool capable of creating collections missing (early rejection) after HLT processing. It declares output handles for all possible collections produced by the trigger.
More...
#include <HLTEDMCreator.h>
|
| | HLTEDMCreator () |
| |
| | DEF_KEY (TrigRoiDescriptorCollection) |
| |
| | DEF_XAOD_KEY (TrigCompositeContainer) |
| |
| | DEF_XAOD_KEY (TrigEMClusterContainer) |
| |
| | DEF_XAOD_KEY (TrigCaloClusterContainer) |
| |
| | DEF_XAOD_KEY (TrigRingerRingsContainer) |
| |
| | DEF_XAOD_KEY (TrigElectronContainer) |
| |
| | DEF_XAOD_KEY (ElectronContainer) |
| |
| | DEF_XAOD_KEY (PhotonContainer) |
| |
| | DEF_XAOD_KEY (TrigPhotonContainer) |
| |
| | DEF_XAOD_KEY (TrackParticleContainer) |
| |
| | DEF_XAOD_KEY (TrigMissingETContainer) |
| |
| | DEF_XAOD_KEY (L2StandAloneMuonContainer) |
| |
| | DEF_XAOD_KEY (L2CombinedMuonContainer) |
| |
| | DEF_XAOD_KEY (L2IsoMuonContainer) |
| |
| | DEF_XAOD_KEY (MuonContainer) |
| |
| | DEF_XAOD_KEY (TauJetContainer) |
| |
| | DEF_XAOD_KEY (DiTauJetContainer) |
| |
| | DEF_XAOD_KEY (TauTrackContainer) |
| |
| | DEF_XAOD_KEY (CaloClusterContainer) |
| |
| | DEF_XAOD_KEY (FlowElementContainer) |
| |
| | DEF_XAOD_KEY (JetContainer) |
| |
| | DEF_XAOD_KEY (VertexContainer) |
| |
| | DEF_XAOD_KEY (BTaggingContainer) |
| |
| | DEF_XAOD_KEY (BTagVertexContainer) |
| |
| | DEF_XAOD_KEY (TrigBphysContainer) |
| |
| | DEF_XAOD_KEY (TrigT2MbtsBitsContainer) |
| |
| | DEF_XAOD_KEY (HIEventShapeContainer) |
| |
| | DEF_XAOD_KEY (TrigRNNOutputContainer) |
| |
| | DEF_XAOD_KEY (AFPSiHitsClusterContainer) |
| |
| | DEF_XAOD_KEY (AFPTrackContainer) |
| |
| | DEF_XAOD_KEY (AFPToFTrackContainer) |
| |
| | DEF_XAOD_KEY (AFPProtonContainer) |
| |
| | DEF_XAOD_KEY (AFPVertexContainer) |
| |
| | DEF_XAOD_KEY (eFexEMRoIContainer) |
| |
| | DEF_XAOD_KEY (eFexTauRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexTauRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexFwdElRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexSRJetRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexLRJetRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexMETRoIContainer) |
| |
| | DEF_XAOD_KEY (jFexSumETRoIContainer) |
| |
| | DEF_XAOD_KEY (gFexJetRoIContainer) |
| |
| | DEF_XAOD_KEY (gFexGlobalRoIContainer) |
| |
| | DEF_XAOD_KEY (MuonRoIContainer) |
| |
| | DEF_XAOD_KEY_SHALLOW (JetContainer) |
| |
| | DEF_XAOD_KEY_SHALLOW (CaloClusterContainer) |
| |
| template<typename T > |
| StatusCode | initHandles (const HandlesGroup< T > &handles) |
| | Init related handles. More...
|
| |
| template<typename T > |
| StatusCode | initAuxKey (const std::vector< SG::VarHandleKey * > &keys) |
| | Register AuxStore keys for the given keys. More...
|
| |
| StatusCode | fixLinks (EventContext const &context) const |
| |
| template<typename T , typename STORE , typename G , typename M > |
| StatusCode | createIfMissing (const EventContext &context, const ConstHandlesGroup< T > &handles, G &generator, M merger) const |
| |
| template<typename T > |
| StatusCode | viewsMerge (ViewContainer const &views, const SG::ReadHandleKey< T > &inViewKey, EventContext const &context, T &output) const |
| |
| template<typename T > |
| StatusCode | noMerge (ViewContainer const &views, const SG::ReadHandleKey< T > &inViewKey, EventContext const &context, T &output) const |
| |
|
| Gaudi::Property< std::vector< std::string > > | m_fixLinks { this, "FixLinks", {}, "Which keys of the TrigCompositeContainer WriteHandleKeyArray might need to have their (e.g. feature) element links re-mapped outside of views"} |
| |
| SG::WriteDecorHandleKeyArray< xAOD::TrigCompositeContainer, std::vector< SG::sgkey_t > > | m_remapLinkColKeys { this, "DoNotSet_RemapLinkColKeys", {}, "Do not set, it is configured accordingly to FixLinks & TC output property"} |
| |
| SG::WriteDecorHandleKeyArray< xAOD::TrigCompositeContainer, std::vector< xAOD::TrigComposite::index_type > > | m_remapLinkColIndices { this, "DoNotSet_RemapLinkColIndices", {}, "Do not set, it is configured accordingly to FixLinks & TC output property"} |
| |
| Gaudi::Property< bool > | m_dumpSGBefore { this, "dumpSGBefore", false, "Dump SG content before the merging"} |
| |
| Gaudi::Property< bool > | m_dumpSGAfter { this, "dumpSGAfter", false, "Dump SG content after the merging"} |
| |
| Gaudi::Property< bool > | m_renounceOutputs { this, "RenounceOutputs", false, "Renounce outputs so that no algs can become dependent on this tool's output. Done in HLT jobs"} |
| |
Tool capable of creating collections missing (early rejection) after HLT processing. It declares output handles for all possible collections produced by the trigger.
to add more classes follow these steps: 1) add EDM pkg in CMakeLists 2) add includes in this file 3) add DEF_*_KEY here 4) initialise it in initialize method (in cxx file) 5) add create in the createOutput 6) test
Definition at line 87 of file HLTEDMCreator.h.
◆ HLTEDMCreator() [1/2]
| HLTEDMCreator::HLTEDMCreator |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~HLTEDMCreator()
| virtual HLTEDMCreator::~HLTEDMCreator |
( |
| ) |
|
|
overridevirtualdefault |
◆ HLTEDMCreator() [2/2]
| HLTEDMCreator::HLTEDMCreator |
( |
| ) |
|
|
private |
◆ createIfMissing()
template<typename T , typename STORE , typename G , typename M >
| StatusCode HLTEDMCreator::createIfMissing |
( |
const EventContext & |
context, |
|
|
const ConstHandlesGroup< T > & |
handles, |
|
|
G & |
generator, |
|
|
M |
merger |
|
) |
| const |
|
private |
Definition at line 363 of file HLTEDMCreator.cxx.
370 using AuxType = std::conditional_t<std::is_void_v<STORE>,
T, STORE>;
373 ATH_CHECK( rhk.initialize() && rhkAux.initialize() );
375 for (
size_t i = 0;
i < handles.out.size(); ++
i) {
379 if ( handles.views.empty() ) {
383 if ( readHandle.isValid() ) {
391 if constexpr (!std::is_void_v<STORE>) {
392 rhkAux = rhk.key() +
"Aux.";
394 if ( !readAuxHandle.isValid() ) {
397 ATH_MSG_DEBUG(
"Creating missing Aux store for " << rhk.key());
398 ATH_CHECK( writeAuxHandle.record(std::make_unique<STORE>()) );
414 if ( handles.out.size() == 1 ) {
417 const bool doCreate =
i == 0 or handles.out.at(
i-1).key() != whk.
key();
418 const bool doRecord =
i == handles.out.size()-1 or handles.out.at(
i+1).key() != whk.
key();
419 ATH_MSG_DEBUG(
"Instructing generator " << (doCreate ?
"to" :
"NOT TO") <<
" create collection and " << (doRecord ?
"to" :
"NOT TO") <<
" record collection in this iteration");
424 ATH_MSG_DEBUG(
"Will be trying to merge from the " << viewsReadHandleKey.
key() <<
" view container into that output");
427 if ( viewsHandle.isValid() ) {
429 ATH_MSG_DEBUG(
"Will be merging from " << viewsHandle->size() <<
" views using in-view key " << inViewReadHandleKey.
key() );
430 ATH_CHECK( (this->*merger)( *viewsHandle, inViewReadHandleKey , context, *
generator.data.get() ) );
432 ATH_MSG_DEBUG(
"Views " << viewsReadHandleKey.
key() <<
" are missing. Will leave " << whk.
key() <<
" output collection empty.");
437 const std::string viewsReadHandleKeyProbe = viewsReadHandleKey.
key() +
"_probe";
438 ATH_MSG_VERBOSE(
"Will try to merge from the " << viewsReadHandleKeyProbe <<
" view container into that output");
443 if (evtStore()->contains<ViewContainer>(viewsReadHandleKeyProbe)) {
446 if ( viewsContainer_probe ) {
448 ATH_MSG_DEBUG(
"Will be merging from " << viewsContainer_probe->
size() <<
" probe views using in-view key " << inViewReadHandleKey.
key() );
449 ATH_CHECK( (this->*merger)( *viewsContainer_probe, inViewReadHandleKey , context, *
generator.data.get() ) );
451 ATH_MSG_VERBOSE(
"Probe views " << viewsReadHandleKeyProbe <<
" are missing.");
460 return StatusCode::SUCCESS;
◆ createOutput()
| StatusCode HLTEDMCreator::createOutput |
( |
const EventContext & |
context | ) |
const |
|
overridevirtual |
Definition at line 465 of file HLTEDMCreator.cxx.
470 #define CREATE(__TYPE) \
472 plainGenerator<__TYPE> generator; \
473 ATH_CHECK( (createIfMissing<__TYPE, void>( context, ConstHandlesGroup<__TYPE>( m_##__TYPE, m_##__TYPE##InViews, m_##__TYPE##Views ), generator, &HLTEDMCreator::noMerge<__TYPE>)) ); \
480 #define CREATE_XAOD(__TYPE, __STORE_TYPE) \
482 xAODGenerator<xAOD::__TYPE, xAOD::__STORE_TYPE> generator; \
483 ATH_CHECK( (createIfMissing<xAOD::__TYPE, xAOD::__STORE_TYPE>( context, ConstHandlesGroup<xAOD::__TYPE>( m_##__TYPE, m_##__TYPE##InViews, m_##__TYPE##Views ), generator, &HLTEDMCreator::viewsMerge<xAOD::__TYPE>)) ); \
540 #define CREATE_SHALLOW(__TYPE) \
542 for ( size_t index = 0; index < m_##__TYPE##ShallowCopy.size(); ++index ){ \
543 auto readHandle = SG::makeHandle<xAOD::__TYPE> ( m_##__TYPE##ShallowCopy[index], context ); \
544 if ( not readHandle.isValid() ) { \
545 ATH_MSG_DEBUG( "Creating missing "#__TYPE"ShallowCopy " << m_##__TYPE##ShallowCopy[index].key() ); \
546 auto writeHandle = SG::makeHandle( m_##__TYPE##ShallowCopyOut[index], context ); \
547 ATH_CHECK( writeHandle.record( std::make_unique<xAOD::__TYPE>(), std::make_unique<xAOD::ShallowAuxContainer>() )); \
549 ATH_MSG_DEBUG( #__TYPE"ShallowCopy " << m_##__TYPE##ShallowCopyOut[index].key() << " present in the event, done nothing"); \
557 #undef CREATE_SHALLOW
563 return StatusCode::SUCCESS;
◆ DEF_KEY()
◆ DEF_XAOD_KEY() [1/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
AFPProtonContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [2/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
AFPSiHitsClusterContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [3/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
AFPToFTrackContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [4/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
AFPTrackContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [5/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
AFPVertexContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [6/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
BTaggingContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [7/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
BTagVertexContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [8/43]
◆ DEF_XAOD_KEY() [9/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
DiTauJetContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [10/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
eFexEMRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [11/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
eFexTauRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [12/43]
◆ DEF_XAOD_KEY() [13/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
FlowElementContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [14/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
gFexGlobalRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [15/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
gFexJetRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [16/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
HIEventShapeContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [17/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
JetContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [18/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexFwdElRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [19/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexLRJetRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [20/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexMETRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [21/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexSRJetRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [22/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexSumETRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [23/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
jFexTauRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [24/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
L2CombinedMuonContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [25/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
L2IsoMuonContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [26/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
L2StandAloneMuonContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [27/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
MuonContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [28/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
MuonRoIContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [29/43]
◆ DEF_XAOD_KEY() [30/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
TauJetContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [31/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
TauTrackContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [32/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
TrackParticleContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [33/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
TrigBphysContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [34/43]
◆ DEF_XAOD_KEY() [35/43]
◆ DEF_XAOD_KEY() [36/43]
◆ DEF_XAOD_KEY() [37/43]
◆ DEF_XAOD_KEY() [38/43]
◆ DEF_XAOD_KEY() [39/43]
◆ DEF_XAOD_KEY() [40/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
TrigRingerRingsContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY() [41/43]
◆ DEF_XAOD_KEY() [42/43]
◆ DEF_XAOD_KEY() [43/43]
| HLTEDMCreator::DEF_XAOD_KEY |
( |
VertexContainer |
| ) |
|
|
private |
◆ DEF_XAOD_KEY_SHALLOW() [1/2]
◆ DEF_XAOD_KEY_SHALLOW() [2/2]
| HLTEDMCreator::DEF_XAOD_KEY_SHALLOW |
( |
JetContainer |
| ) |
|
|
private |
◆ fixLinks()
| StatusCode HLTEDMCreator::fixLinks |
( |
EventContext const & |
context | ) |
const |
|
private |
Definition at line 270 of file HLTEDMCreator.cxx.
272 ATH_MSG_DEBUG(
"fixLinks: No collections defined for this tool");
273 return StatusCode::SUCCESS;
276 ATH_MSG_DEBUG(
"fixLinks called for " <<
m_fixLinks.size() <<
" of " << m_TrigCompositeContainer.size() <<
" collections");
279 int writeHandleArrayIndex = -1;
285 for (
const auto& writeHandleKey: m_TrigCompositeContainer ) {
287 const bool doFixLinks = std::any_of(
m_fixLinks.begin(),
m_fixLinks.end(), [&](
const std::string&
s) { return s == writeHandleKey.key(); } );
288 if ( not doFixLinks ) {
289 ATH_MSG_DEBUG(
"Not requested to fix TrigComposite ElementLinks for " << writeHandleKey.key());
294 ++writeHandleArrayIndex;
296 ATH_MSG_DEBUG(
"Fixing links: confirm collection is there: " << writeHandleKey.key() <<
", write handle array index: " << writeHandleArrayIndex);
298 readHandleKey = writeHandleKey.key();
300 if ( not readHandle.isValid() ) {
301 ATH_MSG_ERROR(
"Collection is not present. " << readHandleKey.key() <<
" should have been created by createIfMissing.");
302 return StatusCode::FAILURE;
305 ATH_MSG_DEBUG(
"Collection exists with size " << readHandle->size() <<
" Decision objects" );
314 int decisionObjectIndex = -1;
315 for (
auto inputDecision : *( readHandle.cptr() ) ) {
316 ++decisionObjectIndex;
319 std::vector< SG::sgkey_t > remappedKeys = inputDecision->linkColKeys();
320 std::vector< xAOD::TrigComposite::index_type > remappedIndexes = inputDecision->linkColIndices();
323 size_t const collectionTotal = inputDecision->linkColNames().size();
324 ATH_MSG_DEBUG(
" Decision object #" << decisionObjectIndex <<
" has " << collectionTotal <<
" links");
325 for (
size_t elementLinkIndex = 0; elementLinkIndex < collectionTotal; ++elementLinkIndex ) {
328 std::string
const collectionName = inputDecision->linkColNames().at(elementLinkIndex);
329 SG::sgkey_t const collectionKey = remappedKeys.at(elementLinkIndex);
330 std::string
const keyString = *( evtStore()->keyToString( collectionKey ) );
336 bool isRemapped = evtStore()->tryELRemap( collectionKey, collectionIndex, newKey, newIndex);
339 ATH_MSG_DEBUG(
" Remap link [" << collectionName <<
"] from " << keyString <<
" to " << *( evtStore()->keyToString( newKey ) ) <<
", from index " << collectionIndex <<
" to index " << newIndex );
340 remappedKeys[ elementLinkIndex ] = newKey;
341 remappedIndexes[ elementLinkIndex ] = newIndex;
345 ATH_MSG_DEBUG(
" StoreGate did not remap link [" << collectionName <<
"] from " << keyString <<
" index " << collectionIndex );
352 keyDecor( *inputDecision ) = remappedKeys;
353 indexDecor( *inputDecision ) = remappedIndexes;
358 return StatusCode::SUCCESS;
◆ initAuxKey()
Register AuxStore keys for the given keys.
This is required to avoid hash collisions (ATR-26386).
Definition at line 94 of file HLTEDMCreator.cxx.
100 return StatusCode::SUCCESS;
◆ initHandles()
Init related handles.
Fails when they are setup inconsistently: the only allowed setup is: views and in empty - then out can be of any length - this is mode to fill missing containers views and in not empty, have to be the same size - out has to be 1 - this mode is for merging from several views into one output if merging from several views into several separate output containers is required another instance of that tool can be setup
Definition at line 74 of file HLTEDMCreator.cxx.
78 renounceArray( handles.in );
80 renounceArray( handles.views );
83 if ( handles.views.empty() ) {
87 ATH_CHECK( handles.out.size() == handles.in.size() );
88 ATH_CHECK( handles.in.size() == handles.views.size() );
90 return StatusCode::SUCCESS;
◆ initialize()
| StatusCode HLTEDMCreator::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 104 of file HLTEDMCreator.cxx.
109 const bool found = std::any_of(m_TrigCompositeContainer.begin(),
110 m_TrigCompositeContainer.end(), [&](
const auto& writeHandleKey) { return writeHandleKey.key() == entry; } );
112 ATH_MSG_ERROR(
"FixLinks contains the entry " <<
entry <<
", however this is not one of this EDMCreator tool's managed TrigCompositeContainers.");
113 ATH_MSG_ERROR(
"Configure FixLinks to be a sub-set of TrigCompositeContainer");
114 return StatusCode::FAILURE;
118 for (
const auto& writeHandleKey: m_TrigCompositeContainer ) {
119 const bool doFixLinks = std::any_of(
m_fixLinks.begin(),
m_fixLinks.end(), [&](
const std::string&
s) { return s == writeHandleKey.key(); } );
134 #define INIT(__TYPE) \
135 ATH_CHECK( initHandles( HandlesGroup<__TYPE>( m_##__TYPE, m_##__TYPE##InViews, m_##__TYPE##Views ) ) );
137 #define INIT_XAOD(__TYPE, __STORE_TYPE) \
138 ATH_CHECK( initHandles( HandlesGroup<xAOD::__TYPE>( m_##__TYPE, m_##__TYPE##InViews, m_##__TYPE##Views ) ) ); \
139 ATH_CHECK( initAuxKey<xAOD::__STORE_TYPE>( m_##__TYPE.keys() ) );
193 #define INIT_SHALLOW(__TYPE) \
194 ATH_CHECK( m_##__TYPE##ShallowCopy.initialize() ); \
195 renounceArray( m_##__TYPE##ShallowCopy ); \
196 for ( auto k: m_##__TYPE##ShallowCopy ) \
197 m_##__TYPE##ShallowCopyOut.push_back(k.key()); \
198 ATH_CHECK( m_##__TYPE##ShallowCopyOut.initialize() ); \
199 if(m_renounceOutputs) { renounceArray( m_##__TYPE##ShallowCopyOut ); }
206 return StatusCode::SUCCESS;
◆ noMerge()
◆ viewsMerge()
Definition at line 257 of file HLTEDMCreator.cxx.
260 using type_in_container =
typename T::base_value_type;
264 ATH_CHECK( merger.mergeViewCollection<type_in_container>( views, inViewKey, context,
output ) );
266 return StatusCode::SUCCESS;
◆ m_dumpSGAfter
| Gaudi::Property<bool> HLTEDMCreator::m_dumpSGAfter { this, "dumpSGAfter", false, "Dump SG content after the merging"} |
|
private |
◆ m_dumpSGBefore
| Gaudi::Property<bool> HLTEDMCreator::m_dumpSGBefore { this, "dumpSGBefore", false, "Dump SG content before the merging"} |
|
private |
◆ m_fixLinks
| Gaudi::Property<std::vector<std::string> > HLTEDMCreator::m_fixLinks { this, "FixLinks", {}, "Which keys of the TrigCompositeContainer WriteHandleKeyArray might need to have their (e.g. feature) element links re-mapped outside of views"} |
|
private |
◆ m_remapLinkColIndices
◆ m_remapLinkColKeys
◆ m_renounceOutputs
| Gaudi::Property<bool> HLTEDMCreator::m_renounceOutputs { this, "RenounceOutputs", false, "Renounce outputs so that no algs can become dependent on this tool's output. Done in HLT jobs"} |
|
private |
The documentation for this class was generated from the following files:
Gaudi::Property< std::vector< std::string > > m_fixLinks
def retrieve(aClass, aKey=None)
AFPToFTrackContainer_v1 AFPToFTrackContainer
AFPProtonContainer_v1 AFPProtonContainer
Gaudi::Property< bool > m_dumpSGBefore
SG::WriteDecorHandleKeyArray< xAOD::TrigCompositeContainer, std::vector< SG::sgkey_t > > m_remapLinkColKeys
TrigElectronAuxContainer_v1 TrigElectronAuxContainer
Declare the latest version of the auxiliary container.
AFPVertexContainer_v1 AFPVertexContainer
BTaggingAuxContainer_v2 BTaggingAuxContainer
Definition of the current BTagging auxiliary container.
jFexTauRoIContainer_v1 jFexTauRoIContainer
jFexSumETRoIContainer_v1 jFexSumETRoIContainer
HIEventShapeAuxContainer_v2 HIEventShapeAuxContainer
Define the latest version of the auxiliary container.
TauTrackContainer_v1 TauTrackContainer
Definition of the current TauTrack container version.
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
JetAuxContainer_v1 JetAuxContainer
Definition of the current jet auxiliary container.
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
BTagVertexContainer_v1 BTagVertexContainer
Definition of the current "BTagging container version".
TauJetAuxContainer_v3 TauJetAuxContainer
Definition of the current taujet auxiliary container.
jFexSRJetRoIContainer_v1 jFexSRJetRoIContainer
Storable container for CaloCluster.
#define CREATE_XAOD(__TYPE, __STORE_TYPE)
jFexMETRoIContainer_v1 jFexMETRoIContainer
jFexLRJetRoIContainer_v1 jFexLRJetRoIContainer
TrackParticleAuxContainer_v5 TrackParticleAuxContainer
Definition of the current TrackParticle auxiliary container.
StatusCode fixLinks(EventContext const &context) const
jFexFwdElRoIContainer_v1 jFexFwdElRoIContainer
gFexJetRoIContainer_v1 gFexJetRoIContainer
eFexTauRoIContainer_v1 eFexTauRoIContainer
PhotonAuxContainer_v3 PhotonAuxContainer
Definition of the current photon auxiliary container.
TrigEMClusterAuxContainer_v2 TrigEMClusterAuxContainer
Define the latest version of the trigger EM cluster auxiliary container.
eFexEMRoIAuxContainer_v1 eFexEMRoIAuxContainer
jFexSumETRoIAuxContainer_v1 jFexSumETRoIAuxContainer
MuonRoIAuxContainer_v1 MuonRoIAuxContainer
TrigCompositeAuxContainer_v2 TrigCompositeAuxContainer
Declare the latest version of the container.
SG::WriteDecorHandleKeyArray< xAOD::TrigCompositeContainer, std::vector< xAOD::TrigComposite::index_type > > m_remapLinkColIndices
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigRingerRingsContainer_v2 TrigRingerRingsContainer
Define the latest version of the TrigRingerRingsContainer class.
Container from TrigEMCluster type objects.
AFPTrackAuxContainer_v2 AFPTrackAuxContainer
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
L2StandAloneMuonAuxContainer_v2 L2StandAloneMuonAuxContainer
Define the latest version of the muon SA auxiliary container.
TrigT2MbtsBitsAuxContainer_v1 TrigT2MbtsBitsAuxContainer
jFexSRJetRoIAuxContainer_v1 jFexSRJetRoIAuxContainer
TrigRingerRingsAuxContainer_v2 TrigRingerRingsAuxContainer
Define the latest version of the TrigRingerRings class.
TrigPhotonAuxContainer_v1 TrigPhotonAuxContainer
Declare the latest version of the photon auxiliary container.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
The Athena Transient Store API.
TauTrackAuxContainer_v1 TauTrackAuxContainer
Container from TrigComposite type objects.
DiTauJetAuxContainer_v1 DiTauJetAuxContainer
AFPSiHitsClusterAuxContainer_v1 AFPSiHitsClusterAuxContainer
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_dumpSGAfter
BTaggingContainer_v1 BTaggingContainer
Definition of the current "BTagging container version".
VertexAuxContainer_v1 VertexAuxContainer
Definition of the current jet auxiliary container.
FlowElementContainer_v1 FlowElementContainer
Definition of the current "pfo container version".
AFPVertexAuxContainer_v1 AFPVertexAuxContainer
L2StandAloneMuonContainer_v2 L2StandAloneMuonContainer
Define the latest version of the muon SA container.
#define CREATE_SHALLOW(__TYPE)
Handle class for adding a decoration to an object.
jFexTauRoIAuxContainer_v1 jFexTauRoIAuxContainer
BTagVertexAuxContainer_v1 BTagVertexAuxContainer
Definition of the current BTagging auxiliary container.
jFexLRJetRoIAuxContainer_v1 jFexLRJetRoIAuxContainer
TrigMissingETAuxContainer_v1 TrigMissingETAuxContainer
Define the most recent version of the AuxContainer for the TrigMissingET object(s).
L2IsoMuonAuxContainer_v1 L2IsoMuonAuxContainer
Define the latest version of the muon Iso auxiliary container.
ElectronAuxContainer_v3 ElectronAuxContainer
Definition of the current electron auxiliary container.
jFexMETRoIAuxContainer_v1 jFexMETRoIAuxContainer
TrigBphysAuxContainer_v1 TrigBphysAuxContainer
gFexGlobalRoIContainer_v1 gFexGlobalRoIContainer
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
eFexTauRoIAuxContainer_v1 eFexTauRoIAuxContainer
#define INIT_XAOD(__TYPE, __STORE_TYPE)
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
TrigBphysContainer_v1 TrigBphysContainer
DiTauJetContainer_v1 DiTauJetContainer
Definition of the current DiTauJet container version.
A property holding a SG store/key/clid from which a VarHandle is made.
TrigCaloClusterAuxContainer_v1 TrigCaloClusterAuxContainer
Define the latest version of the trigger calorimeter cluster auxiliary container.
File: TrigPhotonContainer.h.
#define INIT_SHALLOW(__TYPE)
jFexFwdElRoIAuxContainer_v1 jFexFwdElRoIAuxContainer
generator
Configure Herwig7 These are the commands corresponding to what would go into the regular Herwig infil...
L2CombinedMuonContainer_v1 L2CombinedMuonContainer
Define the latest version of the muon CB container.
CaloClusterTrigAuxContainer_v1 CaloClusterTrigAuxContainer
Define the latest version of the calorimeter cluster auxiliary container.
FlowElementAuxContainer_v1 FlowElementAuxContainer
Definition of the current FlowElementAuxContainer_v1 auxiliary container.
Gaudi::Property< bool > m_renounceOutputs
JetContainer_v1 JetContainer
Definition of the current "jet container version".
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.
File: TrigElectronContainer.h.
TrigRNNOutputAuxContainer_v2 TrigRNNOutputAuxContainer
Define the latest version of the RingerRings class.
MuonAuxContainer_v5 MuonAuxContainer
Definition of the current Muon auxiliary container.
AFPTrackContainer_v2 AFPTrackContainer
L2CombinedMuonAuxContainer_v1 L2CombinedMuonAuxContainer
Define the latest version of the muon CB auxiliary container.
size_type size() const noexcept
Returns the number of elements in the collection.
MuonRoIContainer_v1 MuonRoIContainer
gFexGlobalRoIAuxContainer_v1 gFexGlobalRoIAuxContainer
AFPProtonAuxContainer_v1 AFPProtonAuxContainer
Container from TrigCaloCluster type objects.
gFexJetRoIAuxContainer_v1 gFexJetRoIAuxContainer
AFPToFTrackAuxContainer_v1 AFPToFTrackAuxContainer
AFPSiHitsClusterContainer_v1 AFPSiHitsClusterContainer
eFexEMRoIContainer_v1 eFexEMRoIContainer
L2IsoMuonContainer_v1 L2IsoMuonContainer
Define the latest version of the muon Iso container.