ATLAS Offline Software
Loading...
Searching...
No Matches
OptionalColumnExampleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef COLUMNAR_EXAMPLE_TOOLS_OPTIONAL_COLUMN_EXAMPLE_TOOL_H
9#define COLUMNAR_EXAMPLE_TOOLS_OPTIONAL_COLUMN_EXAMPLE_TOOL_H
10
11#include <AsgTools/AsgTool.h>
17
18namespace ADD_CMODE(columnar)
19{
24
25 class OptionalColumnExampleTool final
26 : public asg::AsgTool,
28 {
29 public:
30
31 // Create a proper constructor for Athena
32 ASG_TOOL_CLASS( OptionalColumnExampleTool, asg::IAsgTool )
33
34 OptionalColumnExampleTool (const std::string& name);
35
36 virtual StatusCode initialize () override;
37
38 virtual void callEvents (columnar::EventContextRange events) const override;
39
40
42 Gaudi::Property<float> m_ptCut {this, "ptCut", 10e3, "pt cut (in MeV)"};
43
44
50 columnar::ParticleAccessor<columnar::ObjectColumn> particlesHandle {*this, "Particles"};
51
52
58 columnar::ParticleAccessor<float> ptAcc {*this, "pt"};
59
60
67 columnar::ParticleAccessor<float> ptCorrAcc {*this, "ptCorr", {.isOptional = true}};
68
69
78 columnar::ParticleDecorator<char> selectionDec {*this, "selection"};
79 };
80}
81
82#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
the base class for all columnar components
ObjectRange< EventContextDef > EventContextRange
AccessorTemplate< ParticleDef, CT, ColumnAccessMode::input, CM > ParticleAccessor
Definition ParticleDef.h:35
AccessorTemplate< ParticleDef, CT, ColumnAccessMode::output, CM > ParticleDecorator
Definition ParticleDef.h:36
void initialize()