ATLAS Offline Software
Loading...
Searching...
No Matches
VariantExampleTool.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_VARIANT_EXAMPLE_TOOL_H
9#define COLUMNAR_EXAMPLE_TOOLS_VARIANT_EXAMPLE_TOOL_H
10
11#include <AsgTools/AsgTool.h>
22
23namespace ADD_CMODE(columnar)
24{
43
44 class VariantExampleTool final
45 : public asg::AsgTool,
47 {
48 public:
49
50 // Create a proper constructor for Athena
51 ASG_TOOL_CLASS( VariantExampleTool, asg::IAsgTool )
52
53 VariantExampleTool (const std::string& name);
54
55 virtual StatusCode initialize () override;
56
57 void callSingleEvent (columnar::ElectronRange electrons, columnar::MuonRange muons) const;
58
59 virtual void callEvents (columnar::EventContextRange events) const override;
60
61
66 columnar::ElectronAccessor<columnar::ObjectColumn> electronsHandle {*this, "AnalysisElectrons"};
67 columnar::MuonAccessor<columnar::ObjectColumn> muonsHandle {*this, "AnalysisMuons"};
68
69
80
81
96
97
103
108 columnar::ColumnDecorator<columnar::ElectronDef,std::uint16_t> etaRankSpecialDec {*this, "etaRank"};
109 };
110}
111
112#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
AccessorTemplate< CI, CT, ColumnAccessMode::input, CM > ColumnAccessor
ObjectRange< EventContextDef > EventContextRange
AccessorTemplate< CI, CT, ColumnAccessMode::output, CM > ColumnDecorator
ObjectRange< MuonDef > MuonRange
Definition MuonDef.h:21
ObjectRange< ElectronDef > ElectronRange
Definition EgammaDef.h:34
AccessorTemplate< ElectronDef, CT, ColumnAccessMode::input, CM > ElectronAccessor
Definition EgammaDef.h:37
AccessorTemplate< MuonDef, CT, ColumnAccessMode::input, CM > MuonAccessor
Definition MuonDef.h:24
void initialize()
a "variant" ContainerId
Definition VariantDef.h:98