ATLAS Offline Software
Loading...
Searching...
No Matches
OptionalColumnExampleTool.cxx File Reference
Include dependency graph for OptionalColumnExampleTool.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 OptionalColumnExampleTool.cxx.

18{
19 OptionalColumnExampleTool ::
20 OptionalColumnExampleTool (const std::string& name)
21 : AsgTool (name)
22 {}
23
24
25
26 StatusCode OptionalColumnExampleTool ::
27 initialize ()
28 {
29 // give the base class a chance to initialize the column accessor
30 // backends
31 ANA_CHECK (initializeColumns());
32 return StatusCode::SUCCESS;
33 }
34
35
36
37 void OptionalColumnExampleTool ::
38 callEvents (columnar::EventContextRange events) const
39 {
40 // loop over all events and particles. note that this is
41 // deliberately looping by value, as the ID classes are very small
42 // and can be copied cheaply. this could have also been written as
43 // a single loop over all particles in the event range, but I chose
44 // to split it up into two loops as most tools will need to do some
45 // per-event things, e.g. retrieve `EventInfo`.
46 for (columnar::EventContextId event : events)
47 {
48 for (columnar::ParticleId particle : particlesHandle(event))
49 {
50 // check if the corrected pt is available, and use it if it is
51 // and the default pt otherwise
52 if (ptCorrAcc.isAvailable(particle))
53 selectionDec(particle) = (ptCorrAcc(particle) > m_ptCut.value());
54 else
55 selectionDec(particle) = (ptAcc(particle) > m_ptCut.value());
56 }
57 }
58 }
59}
#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