ATLAS Offline Software
Loading...
Searching...
No Matches
ObjectKinematicSelectorAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#ifndef EVENT_SELECTOR_OBJECTKINEMATICSELECTORALG_H
8#define EVENT_SELECTOR_OBJECTKINEMATICSELECTORALG_H
9
10// Algorithm includes
17
18// Framework includes
20#include <xAODBase/IParticle.h>
23
25
26namespace CP {
27
37
39
40 public:
41 ObjectKinematicSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator);
42 virtual StatusCode initialize() override;
43 virtual StatusCode execute(const EventContext& ctx) override;
44
45 private:
46
48 Gaudi::Property<std::string> m_variable {this, "variable", "SetMe", "kinematic variable to compute"};
49
51 Gaudi::Property<std::string> m_sign {this, "sign", "SetMe", "comparison sign to use"};
52
54 Gaudi::Property<float> m_refValue {this, "refValue", 0., "reference value to compare against"};
55
57 Gaudi::Property<std::vector<std::string>> m_operandKinds {this, "operandKinds", {}, "per-operand kind (PARTICLE/MET), in order"};
58
60 Gaudi::Property<std::vector<int>> m_indices {this, "indices", {}, "per particle-operand pT-ordered index"};
61
63 Gaudi::Property<std::string> m_metTerm {this, "metTerm", "Final", "the MET term to use"};
64
67
70
73 this, "collections", {}, "the particle containers, one per PARTICLE operand"
74 };
75
77 Gaudi::Property<std::vector<std::string>> m_selectionKeys {
78 this, "selections", {}, "the selections, one per PARTICLE operand"
79 };
80
82 std::vector<CP::SysReadSelectionHandle> m_selections;
83
86 this, "met", "", "the MET container to use for a MET operand"
87 };
88
91 this, "eventInfo", "EventInfo", "the EventInfo container to read selection decisions from"
92 };
93
96 this, "eventPreselection", "SetMe", "name of the preselection to check before applying this one"
97 };
98
101 this, "decorationName", "SetMe", "decoration name for the EXPR selector"
102 };
103
104 }; // class
105} // namespace CP
106
107#endif // EVENT_SELECTOR_OBJECTKINEMATICSELECTORALG_H
CP::SysWriteSelectionHandle m_decoration
the output selection decoration
SignEnum::ComparisonOperator m_signEnum
the operator version of the comparison (>, <, etc)
Gaudi::Property< std::string > m_variable
the kinematic variable to compute (dR, dPhi, dEta, m, pt, e, eta, phi)
Gaudi::Property< std::vector< int > > m_indices
per particle-operand pT-ordered index (parallel to the particle handles)
Gaudi::Property< std::string > m_sign
the comparison sign (GT, LT, etc)
virtual StatusCode initialize() override
std::vector< CP::SysReadSelectionHandle > m_selections
the per particle-operand selection handles, built from m_selectionKeys
CP::SysReadSelectionHandle m_preselection
the preselection
CP::SysReadHandle< xAOD::MissingETContainer > m_metHandle
the MET container (used iff any operand is MET)
ObjectKinematicSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_metTerm
the MET term to use for a MET operand
Gaudi::Property< float > m_refValue
the reference value against which to compare (in MeV / unitless)
CP::SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
the event info handle
Gaudi::Property< std::vector< std::string > > m_selectionKeys
the per particle-operand selection keys (parallel to the particle handles)
CP::SysHandleArray< CP::SysReadHandle< xAOD::IParticleContainer > > m_particlesHandles
the particle-operand input containers (one per PARTICLE operand, in order)
CP::SysListHandle m_systematicsList
the systematics list
Gaudi::Property< std::vector< std::string > > m_operandKinds
per-operand kind, in expression order: "PARTICLE" or "MET"
Vector-like class for systematic handles which interact with decorations.
a class managing the property to configure the list of systematics to process
a data handle for reading systematics varied input data
a data handle for reading systematically varied selection properties from objects
a data handle for writing systematically varied selection properties from objects
the (new) base class for EventLoop algorithms
virtual::StatusCode execute()
execute this algorithm
Select isolated Photons, Electrons and Muons.
ComparisonOperator
all possible comparison user inputs
Definition SignEnums.h:18