ATLAS Offline Software
TauJets_LepRMParticleThinning.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TauJets_LepRMParticleThinning.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_TAUJETS_LEPRMPARTICLETHINNING_H
10 #define DERIVATIONFRAMEWORK_TAUJETS_LEPRMPARTICLETHINNING_H
11 
12 #include <string>
13 #include <atomic>
14 
17 #include "GaudiKernel/ToolHandle.h"
20 
23 
25 
26 namespace DerivationFramework {
27 
28  class TauJets_LepRMParticleThinning : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool> {
29  public:
30  TauJets_LepRMParticleThinning(const std::string& t, const std::string& n, const IInterface* p);
31  virtual StatusCode initialize() override;
32  virtual StatusCode finalize() override;
33  virtual StatusCode doThinning() const override;
34 
35  private:
36  mutable std::atomic<unsigned int> m_ntot_taus {0};
37  mutable std::atomic<unsigned int> m_ntot_trks {0};
38  mutable std::atomic<unsigned int> m_ntot_ID_trks {0};
39  mutable std::atomic<unsigned int> m_npass_taus {0};
40  mutable std::atomic<unsigned int> m_npass_trks {0};
41  mutable std::atomic<unsigned int> m_npass_ID_trks {0};
42 
43  StringProperty m_streamName{ this, "StreamName", "", "Name of the stream being thinned" };
44 
46 
47  SG::ThinningHandleKey<xAOD::TauJetContainer> m_LepRMTauKey{ this, "LepRMTauKey", "TauJets_LepRM", "where Lep can be Muon or Elec" };
48 
49  SG::ThinningHandleKey<xAOD::TrackParticleContainer> m_inDetSGKey{ this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };
50 
51  SG::ThinningHandleKey<xAOD::TauTrackContainer> m_tauTracksSGKey{ this, "TauTracksKey", "TauTracks_LepRM", "where Lep can be Muon or Elec" };
52 
53  Gaudi::Property<std::string> m_selectionString{ this, "SelectionString", "",""};
54  };
55 }
56 
57 #endif // DERIVATIONFRAMEWORK_TAUJETS_LEPRMPARTICLETHINNING_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::TauJets_LepRMParticleThinning::m_npass_trks
std::atomic< unsigned int > m_npass_trks
Definition: TauJets_LepRMParticleThinning.h:40
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
DerivationFramework::TauJets_LepRMParticleThinning::m_originalTauKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_originalTauKey
Definition: TauJets_LepRMParticleThinning.h:45
IThinningTool.h
DerivationFramework::TauJets_LepRMParticleThinning::m_tauTracksSGKey
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracksSGKey
Definition: TauJets_LepRMParticleThinning.h:51
DerivationFramework::TauJets_LepRMParticleThinning::doThinning
virtual StatusCode doThinning() const override
Definition: TauJets_LepRMParticleThinning.cxx:72
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::TauJets_LepRMParticleThinning::m_ntot_ID_trks
std::atomic< unsigned int > m_ntot_ID_trks
Definition: TauJets_LepRMParticleThinning.h:38
DerivationFramework::TauJets_LepRMParticleThinning::m_ntot_taus
std::atomic< unsigned int > m_ntot_taus
Definition: TauJets_LepRMParticleThinning.h:36
DerivationFramework::TauJets_LepRMParticleThinning::m_npass_ID_trks
std::atomic< unsigned int > m_npass_ID_trks
Definition: TauJets_LepRMParticleThinning.h:41
DerivationFramework::TauJets_LepRMParticleThinning::m_ntot_trks
std::atomic< unsigned int > m_ntot_trks
Definition: TauJets_LepRMParticleThinning.h:37
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::TauJets_LepRMParticleThinning::TauJets_LepRMParticleThinning
TauJets_LepRMParticleThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition: TauJets_LepRMParticleThinning.cxx:19
DerivationFramework::TauJets_LepRMParticleThinning::m_selectionString
Gaudi::Property< std::string > m_selectionString
Definition: TauJets_LepRMParticleThinning.h:53
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::TauJets_LepRMParticleThinning::m_LepRMTauKey
SG::ThinningHandleKey< xAOD::TauJetContainer > m_LepRMTauKey
Definition: TauJets_LepRMParticleThinning.h:47
AthAlgTool.h
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
TauJetContainer.h
DerivationFramework::TauJets_LepRMParticleThinning::m_npass_taus
std::atomic< unsigned int > m_npass_taus
Definition: TauJets_LepRMParticleThinning.h:39
DerivationFramework::TauJets_LepRMParticleThinning::m_inDetSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
Definition: TauJets_LepRMParticleThinning.h:49
DerivationFramework::TauJets_LepRMParticleThinning
Definition: TauJets_LepRMParticleThinning.h:28
DerivationFramework::TauJets_LepRMParticleThinning::initialize
virtual StatusCode initialize() override
Definition: TauJets_LepRMParticleThinning.cxx:25
DerivationFramework::TauJets_LepRMParticleThinning::finalize
virtual StatusCode finalize() override
Definition: TauJets_LepRMParticleThinning.cxx:61
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::TauJets_LepRMParticleThinning::m_streamName
StringProperty m_streamName
Definition: TauJets_LepRMParticleThinning.h:43
TrackParticleContainer.h