Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AsgMassSelectionTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ASG_ANALYSIS_ALGORITHMS__ASG_MASS_SELECTION_TOOL_H
6 #define ASG_ANALYSIS_ALGORITHMS__ASG_MASS_SELECTION_TOOL_H
7 
8 #include <AsgTools/AsgTool.h>
12 #include <atomic>
13 
14 namespace CP
15 {
21 
23  : public asg::AsgTool, virtual public IAsgSelectionTool
24  {
25  //
26  // public interface
27  //
28 
29  // Create a proper constructor for Athena
31 
32 
33 
34  public:
40 
41 
42  //
43  // inherited interface
44  //
45 
46  virtual StatusCode initialize () override;
47 
48  virtual const asg::AcceptInfo& getAcceptInfo( ) const override;
49 
50  virtual asg::AcceptData accept( const xAOD::IParticle *particle ) const override;
51 
52  private:
53  Gaudi::Property<float> m_minM {this, "minM", 0, "minimum mass to require (or 0 for no mass cut)"};
54  Gaudi::Property<float> m_maxM {this, "maxM", 0, "maximum mass to require (or 0 for no mass cut)"};
55 
57  int m_minMassCutIndex{ -1 };
59  int m_maxMassCutIndex{ -1 };
60 
62  private:
64 
65  };
66 }
67 
68 #endif
69 
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
IAsgSelectionTool
Definition: IAsgSelectionTool.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
IAsgSelectionTool.h
CP::AsgMassSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *particle) const override
The main accept method: the actual cuts are applied here.
Definition: AsgMassSelectionTool.cxx:48
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
CP::AsgMassSelectionTool::m_accept
asg::AcceptInfo m_accept
the asg::AcceptInfo we are using
Definition: AsgMassSelectionTool.h:63
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition: AsgTool.cxx:58
asg::AcceptInfo
Definition: AcceptInfo.h:28
CP::AsgMassSelectionTool::m_maxM
Gaudi::Property< float > m_maxM
Definition: AsgMassSelectionTool.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
columnar::final
CM final
Definition: ColumnAccessor.h:106
CP::AsgMassSelectionTool::m_minM
Gaudi::Property< float > m_minM
Definition: AsgMassSelectionTool.h:53
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CP::AsgMassSelectionTool::m_minMassCutIndex
int m_minMassCutIndex
Index for the minimum pT selection.
Definition: AsgMassSelectionTool.h:57
CP::AsgMassSelectionTool
an IAsgSelectionTool that performs basic mass cut
Definition: AsgMassSelectionTool.h:24
AsgTool.h
asg::AcceptData
Definition: AcceptData.h:30
CP::AsgMassSelectionTool::m_maxMassCutIndex
int m_maxMassCutIndex
Index for the maximum pT selection.
Definition: AsgMassSelectionTool.h:59
CP::AsgMassSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
Definition: AsgMassSelectionTool.cxx:41
CP::AsgMassSelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: AsgMassSelectionTool.cxx:14
AuxElement.h
Base class for elements of a container that can have aux data.