ATLAS Offline Software
SkimmingToolExample.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SkimmingToolExample.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_SKIMMINGTOOLEXAMPLE_H
10 #define DERIVATIONFRAMEWORK_SKIMMINGTOOLEXAMPLE_H 1
11 
12 #include<string>
13 
14 // Gaudi & Athena basics
16 
17 // DerivationFramework includes
19 #include "xAODMuon/MuonContainer.h"
20 
21 namespace DerivationFramework {
22 
30  class SkimmingToolExample : public extends<AthAlgTool, ISkimmingTool> {
31 
32  public:
34  using base_class::base_class;
35 
37  virtual StatusCode finalize() override;
38 
40  virtual bool eventPassesFilter() const override;
41 
42  private:
43  Gaudi::Property<std::string> m_muonSGKey
44  {this, "MuonContainerKey", "Muons", "Key for muon container"};
45 
46  Gaudi::Property<unsigned int> m_nMuons
47  {this, "NumberOfMuons", 2, "Minimum number of muons"};
48 
49  Gaudi::Property<double> m_muonPtCut
50  {this, "MuonPtCut", 10000.0, "p_T cut on muon in MeV"};
51 
52  mutable std::atomic<unsigned int> m_ntot{0};
53  mutable std::atomic<unsigned int> m_npass{0};
54  };
55 
56 }
57 
58 
59 #endif
DerivationFramework::SkimmingToolExample::finalize
virtual StatusCode finalize() override
Athena algtool's Hooks.
Definition: SkimmingToolExample.cxx:18
DerivationFramework::SkimmingToolExample
Definition: SkimmingToolExample.h:30
DerivationFramework::SkimmingToolExample::eventPassesFilter
virtual bool eventPassesFilter() const override
Check that the current event passes this filter.
Definition: SkimmingToolExample.cxx:26
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::SkimmingToolExample::m_ntot
std::atomic< unsigned int > m_ntot
Definition: SkimmingToolExample.h:52
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::SkimmingToolExample::m_npass
std::atomic< unsigned int > m_npass
Definition: SkimmingToolExample.h:53
DerivationFramework::SkimmingToolExample::m_muonSGKey
Gaudi::Property< std::string > m_muonSGKey
Definition: SkimmingToolExample.h:44
MuonContainer.h
DerivationFramework::SkimmingToolExample::m_nMuons
Gaudi::Property< unsigned int > m_nMuons
Definition: SkimmingToolExample.h:47
DerivationFramework::SkimmingToolExample::m_muonPtCut
Gaudi::Property< double > m_muonPtCut
Definition: SkimmingToolExample.h:50
ISkimmingTool.h