#include <EventInfoTagBuilder.h>
|
| ToolHandle< EventInfoAttListTool > | m_tool {this, "Tool", "EventInfoAttListTool/EventInfoAttListTool", "EventInfoAttListTool used"} |
| SG::ReadHandleKey< xAOD::EventInfo > | m_evtKey {this, "EventInfoKey", "EventInfo", "xAOD::EventInfo ReadHandleKey"} |
| SG::ReadHandleKey< AthenaAttributeList > | m_inputAttList {this, "InputList", "Input", "Input Athena attribute list ReadHandleKey"} |
| SG::WriteHandleKey< AthenaAttributeList > | m_attributeListName {this, "AttributeList", "SimpleTag", "Output Athena attribute list WriteHandleKey"} |
| Gaudi::Property< bool > | m_propInput {this, "PropagateInput", true, "Propagate input attribute list to the output"} |
| Gaudi::Property< std::string > | m_filter {this, "FilterString", "", "Filter input attribute list when propagating to the output"} |
| DataObjIDColl | m_extendedExtraObjects |
| | Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
|
| 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 |
Definition at line 38 of file EventInfoTagBuilder.h.
◆ StoreGateSvc_t
◆ ~EventInfoTagBuilder()
| EventInfoTagBuilder::~EventInfoTagBuilder |
( |
| ) |
|
|
default |
◆ declareGaudiProperty()
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
158 {
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
◆ declareProperty()
Definition at line 145 of file AthCommonDataStore.h.
145 {
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
◆ detStore()
◆ evtStore()
◆ execute()
| StatusCode EventInfoTagBuilder::execute |
( |
const EventContext & | ctx | ) |
const |
|
overridevirtual |
create a EventInfo Tag and ask the tool to fill it
record attribute list to SG
Definition at line 30 of file EventInfoTagBuilder.cxx.
31{
33
34 SG::ReadHandle<xAOD::EventInfo> h_evt(
m_evtKey, ctx);
35 if (!h_evt.isValid()) {
37 return StatusCode::FAILURE;
38 }
39
41 std::unique_ptr<AthenaAttributeList> attribList =
42 m_tool->getAttributeListPtr( *h_evt );
43
44
47
48 if (h_att.isValid()) {
49 for (const auto& it : h_att->specification()) {
50
51 if (
it.typeName() ==
"bool" && !attribList->exists(
it.name())) {
52
54 if (
it.name().find(
m_filter) != std::string::npos) {
55
56 (*attribList).extend(
it.name(),
it.type());
57 (*attribList)[
it.name()].data<
bool>() = (*h_att)[
it.name()].data<
bool>();
58 }
59 }
60 }
61 }
62 } else {
64 }
65 }
66
70
72
73 return StatusCode::SUCCESS;
74}
#define ATH_CHECK
Evaluate an expression and check for errors.
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
Gaudi::Property< bool > m_propInput
Gaudi::Property< std::string > m_filter
SG::WriteHandleKey< AthenaAttributeList > m_attributeListName
ToolHandle< EventInfoAttListTool > m_tool
SG::ReadHandleKey< AthenaAttributeList > m_inputAttList
◆ extraDeps_update_handler()
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
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 89 of file AthCommonAlgorithm.cxx.
54{
55
56
59 }
61}
Common base class for algorithms.
DataObjIDColl m_extendedExtraObjects
◆ filterPassed()
Get filter decision:
Definition at line 93 of file AthCommonAlgorithm.h.
93 {
95 }
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:
◆ initialize()
| StatusCode EventInfoTagBuilder::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 11 of file EventInfoTagBuilder.cxx.
12{
14
16 ATH_MSG_ERROR(
"Output attribute list name should not be empty.");
17 return StatusCode::FAILURE;
18 }
19
21
25
26 return StatusCode::SUCCESS;
27}
◆ inputHandles()
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.
◆ isClonable()
|
|
inlineoverridevirtualinherited |
Specify if the algorithm is clonable.
Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.
Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.
Definition at line 68 of file AthCommonAlgorithm.h.
68 {
69 return true;
70 }
◆ msg()
◆ msgLvl()
◆ outputHandles()
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.
◆ renounce()
Definition at line 380 of file AthCommonDataStore.h.
381 {
384 }
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)
◆ renounceArray()
◆ setFilterPassed()
| virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed |
( |
bool | state, |
|
|
const EventContext & | ctx ) const |
|
inlinevirtualinherited |
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 80 of file AthCommonAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.
Definition at line 60 of file AthCommonAlgorithm.cxx.
71 {
73
76 }
77
81
82 if (
cs.retrieve().isFailure() ) {
85 }
86 if (
cs->regHandle(
this,*
h).isFailure()) {
88 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
94}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
Definition at line 308 of file AthCommonDataStore.h.
308 {
309
310
313 for (
auto k :
keys) {
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka
◆ m_attributeListName
Definition at line 56 of file EventInfoTagBuilder.h.
56{this, "AttributeList", "SimpleTag", "Output Athena attribute list WriteHandleKey"};
◆ m_detStore
◆ m_evtKey
Definition at line 54 of file EventInfoTagBuilder.h.
54{this, "EventInfoKey", "EventInfo", "xAOD::EventInfo ReadHandleKey"};
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 108 of file AthCommonAlgorithm.h.
◆ m_filter
| Gaudi::Property<std::string> EventInfoTagBuilder::m_filter {this, "FilterString", "", "Filter input attribute list when propagating to the output"} |
|
private |
Definition at line 59 of file EventInfoTagBuilder.h.
59{this, "FilterString", "", "Filter input attribute list when propagating to the output"};
◆ m_inputAttList
Definition at line 55 of file EventInfoTagBuilder.h.
55{this, "InputList", "Input", "Input Athena attribute list ReadHandleKey"};
◆ m_propInput
| Gaudi::Property<bool> EventInfoTagBuilder::m_propInput {this, "PropagateInput", true, "Propagate input attribute list to the output"} |
|
private |
Definition at line 58 of file EventInfoTagBuilder.h.
58{this, "PropagateInput", true, "Propagate input attribute list to the output"};
◆ m_tool
| ToolHandle<EventInfoAttListTool> EventInfoTagBuilder::m_tool {this, "Tool", "EventInfoAttListTool/EventInfoAttListTool", "EventInfoAttListTool used"} |
|
private |
Definition at line 52 of file EventInfoTagBuilder.h.
52{this, "Tool", "EventInfoAttListTool/EventInfoAttListTool", "EventInfoAttListTool used"};
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files: