ATLAS Offline Software
TauThinningTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef DERIVATIONFRAMEWORKTAU_TAUTHINNINGTOOL_H
6 #define DERIVATIONFRAMEWORKTAU_TAUTHINNINGTOOL_H
7 
8 #include <string>
9 #include <atomic>
10 
15 #include "xAODPFlow/PFOContainer.h"
18 
20 
22 
23 namespace DerivationFramework {
24 
25  class TauThinningTool : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool> {
26  public:
27  TauThinningTool(const std::string& t, const std::string& n, const IInterface* p);
28  virtual ~TauThinningTool() = default;
29  virtual StatusCode initialize() override;
30  virtual StatusCode finalize() override;
31  virtual StatusCode doThinning() const override;
32 
33  private:
34  mutable std::atomic<unsigned int> m_ntot = 0;
35  mutable std::atomic<unsigned int> m_npass = 0;
36  StringProperty m_streamName { this, "StreamName", "", "Name of the stream being thinned" };
37  Gaudi::Property<std::string> m_selectionString { this, "SelectionString", "", "" };
38  SG::ThinningHandleKey<xAOD::TauJetContainer> m_taus { this, "Taus", "TauJets", "" };
39  SG::ThinningHandleKey<xAOD::TauTrackContainer> m_tauTracks { this, "TauTracks", "TauTracks", "" };
40  SG::ThinningHandleKey<xAOD::TrackParticleContainer> m_trackParticles { this, "TrackParticles", "InDetTrackParticles", "" };
41  SG::ThinningHandleKey<xAOD::PFOContainer> m_neutralPFOs { this, "TauNeutralPFOs", "TauNeutralParticleFlowObjects", "" };
42  SG::ThinningHandleKey<xAOD::VertexContainer> m_secondaryVertices { this, "TauSecondaryVertices", "TauSecondaryVertices", "" };
43  };
44 }
45 
46 #endif // DERIVATIONFRAMEWORKTAU_TAUTHINNINGTOOL_H
DerivationFramework::TauThinningTool::m_trackParticles
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_trackParticles
Definition: TauThinningTool.h:40
DerivationFramework::TauThinningTool::m_selectionString
Gaudi::Property< std::string > m_selectionString
Definition: TauThinningTool.h:37
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
IThinningTool.h
DerivationFramework::TauThinningTool
Definition: TauThinningTool.h:25
PFOContainer.h
DerivationFramework::TauThinningTool::TauThinningTool
TauThinningTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: TauThinningTool.cxx:12
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::TauThinningTool::m_taus
SG::ThinningHandleKey< xAOD::TauJetContainer > m_taus
Definition: TauThinningTool.h:38
TauTrackContainer.h
DerivationFramework::TauThinningTool::initialize
virtual StatusCode initialize() override
Definition: TauThinningTool.cxx:20
DerivationFramework::TauThinningTool::m_secondaryVertices
SG::ThinningHandleKey< xAOD::VertexContainer > m_secondaryVertices
Definition: TauThinningTool.h:42
DerivationFramework::TauThinningTool::m_npass
std::atomic< unsigned int > m_npass
Definition: TauThinningTool.h:35
DerivationFramework::TauThinningTool::finalize
virtual StatusCode finalize() override
Definition: TauThinningTool.cxx:37
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::TauThinningTool::~TauThinningTool
virtual ~TauThinningTool()=default
DerivationFramework::TauThinningTool::m_neutralPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_neutralPFOs
Definition: TauThinningTool.h:41
DerivationFramework::TauThinningTool::m_streamName
StringProperty m_streamName
Definition: TauThinningTool.h:36
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
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
TauJetContainer.h
VertexContainer.h
DerivationFramework::TauThinningTool::m_tauTracks
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracks
Definition: TauThinningTool.h:39
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::TauThinningTool::doThinning
virtual StatusCode doThinning() const override
Definition: TauThinningTool.cxx:45
TrackParticleContainer.h
DerivationFramework::TauThinningTool::m_ntot
std::atomic< unsigned int > m_ntot
Definition: TauThinningTool.h:34