ATLAS Offline Software
TrackMeasurementThinning.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrackMeasurementThinning.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_TRACKMEASUREMENTTHINNING_H
10 #define DERIVATIONFRAMEWORK_TRACKMEASUREMENTTHINNING_H
11 
12 #include <string>
13 #include <atomic>
14 
15 // Gaudi & Athena basics
18 #include "GaudiKernel/ServiceHandle.h"
19 
20 // DerivationFramework includes
23 
25 
26 namespace DerivationFramework {
27 
32  class TrackMeasurementThinning : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool> {
33 
34  public:
36  TrackMeasurementThinning( const std::string& t, const std::string& n, const IInterface* p );
37 
40 
41  // Athena algtool's Hooks
42  virtual StatusCode initialize() override;
43  virtual StatusCode finalize() override;
44 
46  virtual StatusCode doThinning() const override;
47 
48  private:
49  Gaudi::Property<std::string> m_selectionString
50  { this, "SelectionString", "", ""};
51 
52  mutable std::atomic<unsigned int> m_ntot {};
53  mutable std::atomic<unsigned int> m_npass {};
54  StringProperty m_streamName
55  { this, "StreamName", "", "Name of the stream being thinned" };
56 
58  { this, "TrackMeasurementValidationKey", "PixelClusters", "" };
59  };
60 
61 }
62 
63 
64 #endif
DerivationFramework::TrackMeasurementThinning::m_npass
std::atomic< unsigned int > m_npass
Definition: TrackMeasurementThinning.h:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
DerivationFramework::TrackMeasurementThinning::~TrackMeasurementThinning
virtual ~TrackMeasurementThinning()
Destructor.
IThinningTool.h
DerivationFramework::TrackMeasurementThinning::doThinning
virtual StatusCode doThinning() const override
Check that the current event passes this filter.
Definition: TrackMeasurementThinning.cxx:57
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::TrackMeasurementThinning::TrackMeasurementThinning
TrackMeasurementThinning(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition: TrackMeasurementThinning.cxx:19
DerivationFramework::TrackMeasurementThinning::m_ntot
std::atomic< unsigned int > m_ntot
Definition: TrackMeasurementThinning.h:52
DerivationFramework::TrackMeasurementThinning::m_SGKey
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_SGKey
Definition: TrackMeasurementThinning.h:58
DerivationFramework::TrackMeasurementThinning::m_streamName
StringProperty m_streamName
Definition: TrackMeasurementThinning.h:55
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::TrackMeasurementThinning::initialize
virtual StatusCode initialize() override
Definition: TrackMeasurementThinning.cxx:30
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TrackMeasurementThinning::finalize
virtual StatusCode finalize() override
Definition: TrackMeasurementThinning.cxx:48
DerivationFramework::TrackMeasurementThinning::m_selectionString
Gaudi::Property< std::string > m_selectionString
Definition: TrackMeasurementThinning.h:50
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
TrackMeasurementValidationContainer.h
DerivationFramework::TrackMeasurementThinning
Definition: TrackMeasurementThinning.h:32