ATLAS Offline Software
HITrackParticleThinningTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // HITrackParticleThinningTool.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_HITRACKPARTICLETHINNINGTOOL_H
10 #define DERIVATIONFRAMEWORK_HITRACKPARTICLETHINNINGTOOL_H
11 
12 
13 #include<string>
14 #include<atomic>
15 
16 // Gaudi & Athena basics
18 #include "GaudiKernel/ServiceHandle.h"
21 
22 // DerivationFramework includes
24 #include "AsgTools/ToolHandle.h"
26 
27 
28 class IThinningSvc;
29 
30 namespace DerivationFramework {
31 
32  class HITrackParticleThinningTool : public extends<AthAlgTool, IThinningTool> {
33 
34  public:
35  // Constructor with parameters
36  HITrackParticleThinningTool( const std::string& t, const std::string& n, const IInterface* p );
37 
38  // Destructor
40 
41  // Athena algtool's Hooks
42  StatusCode initialize() override;
43  StatusCode finalize() override;
44 
45  // Check that the current event passes this filter
46  virtual StatusCode doThinning() const override;
47 
48  private:
49  StringProperty m_streamName
50  { this, "StreamName", "", "Name of the stream being thinned" };
52  { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };
53 
54  std::string m_vertex_key;
55  std::string m_vertex_scheme;
56  ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool;
57 
58  mutable std::atomic<unsigned int> m_ntot;
59  mutable std::atomic<unsigned int> m_npass;
60  };
61 
62 }
63 
64 #endif
65 
DerivationFramework::HITrackParticleThinningTool::m_vertex_key
std::string m_vertex_key
Definition: HITrackParticleThinningTool.h:54
DerivationFramework::HITrackParticleThinningTool::finalize
StatusCode finalize() override
Definition: HITrackParticleThinningTool.cxx:59
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
IThinningTool.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::HITrackParticleThinningTool::m_trkSelTool
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool
track selection tool which can be optionally used for N_trk and sum pt cuts
Definition: HITrackParticleThinningTool.h:56
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::HITrackParticleThinningTool::doThinning
virtual StatusCode doThinning() const override
Definition: HITrackParticleThinningTool.cxx:66
AthAlgTool.h
DerivationFramework::HITrackParticleThinningTool::m_npass
std::atomic< unsigned int > m_npass
Definition: HITrackParticleThinningTool.h:59
DerivationFramework::HITrackParticleThinningTool::m_ntot
std::atomic< unsigned int > m_ntot
Definition: HITrackParticleThinningTool.h:58
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
IInDetTrackSelectionTool.h
DerivationFramework::HITrackParticleThinningTool::m_streamName
StringProperty m_streamName
Definition: HITrackParticleThinningTool.h:50
DerivationFramework::HITrackParticleThinningTool::~HITrackParticleThinningTool
~HITrackParticleThinningTool()
Definition: HITrackParticleThinningTool.cxx:38
DerivationFramework::HITrackParticleThinningTool::HITrackParticleThinningTool
HITrackParticleThinningTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: HITrackParticleThinningTool.cxx:23
DerivationFramework::HITrackParticleThinningTool::m_inDetSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
Definition: HITrackParticleThinningTool.h:52
DerivationFramework::HITrackParticleThinningTool
Definition: HITrackParticleThinningTool.h:32
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
ToolHandle.h
DerivationFramework::HITrackParticleThinningTool::m_vertex_scheme
std::string m_vertex_scheme
Definition: HITrackParticleThinningTool.h:55
TrackParticleContainer.h
DerivationFramework::HITrackParticleThinningTool::initialize
StatusCode initialize() override
Definition: HITrackParticleThinningTool.cxx:42