ATLAS Offline Software
Loading...
Searching...
No Matches
ThinningToolExample.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 DERIVATIONFRAMEWORK_THINNINGTOOLEXAMPLE_H
6#define DERIVATIONFRAMEWORK_THINNINGTOOLEXAMPLE_H
7
8#include <string>
9#include <atomic>
10
11// Gaudi & Athena basics
15
16// DerivationFramework includes
18
19
20namespace DerivationFramework {
21
26 class ThinningToolExample : public extends<AthAlgTool, IThinningTool> {
27
28 public:
30 using base_class::base_class;
31
33 virtual ~ThinningToolExample();
34
35 // Athena algtool's Hooks
36 virtual StatusCode initialize() override;
37 virtual StatusCode finalize() override;
38
40 virtual StatusCode doThinning() const override;
41
42 private:
43 Gaudi::Property<std::string> m_streamName
44 { this, "StreamName", "", "Name of the stream being thinned" };
45
46 Gaudi::Property<double> m_trackPtCut
47 { this, "TrackPtCut", 20.0, "Track p_T cut in GeV" };
48
50 { this, "InDetTrackParticlesKey", "InDetTrackParticles", "Key for track particle container" };
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
HandleKey object for adding thinning to an object.
Gaudi::Property< std::string > m_streamName
virtual StatusCode doThinning() const override
Check that the current event passes this filter.
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
HandleKey object for adding thinning to an object.
THE reconstruction tool.