7#ifndef EVENT_SELECTOR_OBJECTKINEMATICSELECTORALG_H
8#define EVENT_SELECTOR_OBJECTKINEMATICSELECTORALG_H
43 virtual StatusCode
execute(
const EventContext& ctx)
override;
48 Gaudi::Property<std::string>
m_variable {
this,
"variable",
"SetMe",
"kinematic variable to compute"};
51 Gaudi::Property<std::string>
m_sign {
this,
"sign",
"SetMe",
"comparison sign to use"};
54 Gaudi::Property<float>
m_refValue {
this,
"refValue", 0.,
"reference value to compare against"};
57 Gaudi::Property<std::vector<std::string>>
m_operandKinds {
this,
"operandKinds", {},
"per-operand kind (PARTICLE/MET), in order"};
60 Gaudi::Property<std::vector<int>>
m_indices {
this,
"indices", {},
"per particle-operand pT-ordered index"};
63 Gaudi::Property<std::string>
m_metTerm {
this,
"metTerm",
"Final",
"the MET term to use"};
73 this,
"collections", {},
"the particle containers, one per PARTICLE operand"
78 this,
"selections", {},
"the selections, one per PARTICLE operand"
86 this,
"met",
"",
"the MET container to use for a MET operand"
91 this,
"eventInfo",
"EventInfo",
"the EventInfo container to read selection decisions from"
96 this,
"eventPreselection",
"SetMe",
"name of the preselection to check before applying this one"
101 this,
"decorationName",
"SetMe",
"decoration name for the EXPR selector"
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