ATLAS Offline Software
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 
18 namespace columnar
19 {
24 
26  : public asg::AsgTool,
27  public ColumnarTool<>
28  {
29  public:
30 
31  // Create a proper constructor for Athena
33 
34  OptionalColumnExampleTool (const std::string& name);
35 
36  virtual StatusCode initialize () override;
37 
38  virtual void callEvents (EventContextRange events) const override;
39 
40 
42  Gaudi::Property<float> m_ptCut {this, "ptCut", 10e3, "pt cut (in MeV)"};
43 
44 
51 
52 
59 
60 
67  ParticleAccessor<float> ptCorrAcc {*this, "ptCorr", {.isOptional = true}};
68 
69 
78  ParticleDecorator<char> selectionDec {*this, "selection"};
79  };
80 }
81 
82 #endif
columnar::OptionalColumnExampleTool::callEvents
virtual void callEvents(EventContextRange events) const override
Definition: OptionalColumnExampleTool.cxx:38
columnar::OptionalColumnExampleTool::ptCorrAcc
ParticleAccessor< float > ptCorrAcc
an accessor for an optional corrected pt
Definition: OptionalColumnExampleTool.h:67
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
columnar::OptionalColumnExampleTool::particlesHandle
ParticleAccessor< ObjectColumn > particlesHandle
the object accessor for the particles
Definition: OptionalColumnExampleTool.h:50
columnar::OptionalColumnExampleTool
example of a columnar tool with optional columns
Definition: OptionalColumnExampleTool.h:28
columnar::OptionalColumnExampleTool::m_ptCut
Gaudi::Property< float > m_ptCut
the pt cut to apply
Definition: OptionalColumnExampleTool.h:42
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
columnar::OptionalColumnExampleTool::selectionDec
ParticleDecorator< char > selectionDec
the selection decorator for the particles
Definition: OptionalColumnExampleTool.h:78
columnar::ObjectRange
a class representing a continuous sequence of objects (a.k.a. a container)
Definition: ContainerId.h:175
python.DataFormatRates.events
events
Definition: DataFormatRates.py:105
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
columnar::OptionalColumnExampleTool::OptionalColumnExampleTool
OptionalColumnExampleTool(const std::string &name)
Definition: OptionalColumnExampleTool.cxx:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ColumnAccessor.h
ObjectColumn.h
ColumnarTool.h
columnar::final
CM final
Definition: ColumnAccessor.h:106
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
columnar
Definition: ClusterDef.h:16
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
columnar::ColumnarTool
the base class for all columnar components
Definition: ColumnAccessorDataArray.h:17
columnar::AccessorTemplate
the raw column accessor template class
Definition: ColumnAccessor.h:81
AsgTool.h
ParticleDef.h
columnar::OptionalColumnExampleTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: OptionalColumnExampleTool.cxx:27
columnar::OptionalColumnExampleTool::ptAcc
ParticleAccessor< float > ptAcc
the pt accessor for the particle container
Definition: OptionalColumnExampleTool.h:58