ATLAS Offline Software
Loading...
Searching...
No Matches
ConfigurableColumnExampleTool.cxx File Reference
Include dependency graph for ConfigurableColumnExampleTool.cxx:

Go to the source code of this file.

Functions

namespace ADD_CMODE (columnar)

Function Documentation

◆ ADD_CMODE()

namespace ADD_CMODE ( columnar )
Author
Nils Krumnack

Definition at line 1 of file ConfigurableColumnExampleTool.cxx.

18{
19 ConfigurableColumnExampleTool ::
20 ConfigurableColumnExampleTool (const std::string& name)
21 : AsgTool (name)
22 {}
23
24
25
26 StatusCode ConfigurableColumnExampleTool ::
27 initialize ()
28 {
29 if (m_ptVar.empty())
30 {
31 ATH_MSG_ERROR ("no pt variable specified");
32 return StatusCode::FAILURE;
33 }
34 // set the accessor for the pt variable the user configured
35 resetAccessor (ptAcc, *this, m_ptVar.value());
36
37 // give the base class a chance to initialize the column accessor
38 // backends
39 ANA_CHECK (initializeColumns());
40 return StatusCode::SUCCESS;
41 }
42
43
44
45 void ConfigurableColumnExampleTool ::
46 callEvents (columnar::EventContextRange events) const
47 {
48 // loop over all events and particles. note that this is
49 // deliberately looping by value, as the ID classes are very small
50 // and can be copied cheaply. this could have also been written as
51 // a single loop over all particles in the event range, but I chose
52 // to split it up into two loops as most tools will need to do some
53 // per-event things, e.g. retrieve `EventInfo`.
54 for (columnar::EventContextId event : events)
55 {
56 for (columnar::ParticleId particle : particlesHandle(event))
57 {
58 selectionDec(particle) = (ptAcc(particle) > m_ptCut.value());
59 }
60 }
61 }
62}
#define ATH_MSG_ERROR(x,...)
#define ANA_CHECK(EXP)
check whether the given expression was successful
::StatusCode StatusCode
StatusCode definition for legacy code.
ObjectRange< EventContextDef > EventContextRange
ObjectId< EventContextDef > EventContextId
ObjectId< ParticleDef > ParticleId
Definition ParticleDef.h:33
void resetAccessor(AccessorTemplate< CI, CT, CAM, CM > &accessor, ColumnarTool< CM > &columnBase, const std::string &name, ColumnAccessorOptions &&options={})
reset a column accessor to point to a new column