ATLAS Offline Software
CaloClusterThinning.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 // CaloClusterThinning.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_CALO_CALOCLUSTERPARTICLETHINNING_H
10 #define DERIVATIONFRAMEWORK_CALO_CALOCLUSTERPARTICLETHINNING_H
11 
12 #include <atomic>
13 #include <string>
14 
22 
24 
25 namespace DerivationFramework {
26 
28  : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool>
29 {
30 public:
31  CaloClusterThinning(const std::string& t,
32  const std::string& n,
33  const IInterface* p);
35  virtual StatusCode initialize() override;
36  virtual StatusCode finalize() override;
37  virtual StatusCode doThinning() const override;
38 
39 private:
40  mutable std::atomic<unsigned int> m_ntot, m_ntotTopo, m_npass,
41  m_npassTopo; //, m_ntotFrwd, m_npassFrwd;
43 
44  StringProperty m_streamName{ this,
45  "StreamName",
46  "",
47  "Name of the stream being thinned" };
48 
50  m_sgKey{ this, "SGKey", "", "SG key of particle container to thin" };
51 
53  m_CaloClSGKey{ this, "CaloClCollectionSGKey", "", "" };
55  m_TopoClSGKey{ this, "TopoClCollectionSGKey", "", "" };
56  // std::string m_FrwdClSGKey;
57  std::string m_selectionString;
58  float m_coneSize;
59 
60  StatusCode setClustersMask(std::vector<bool>& mask,
62  const xAOD::CaloClusterContainer* cps,
63  bool is_muons,
64  bool is_egamma,
65  bool is_track) const;
66  StatusCode particleCluster(std::vector<bool>& mask,
68  const xAOD::CaloClusterContainer* cps,
69  bool is_muons,
70  bool is_egamma,
71  bool is_tau) const;
72 };
73 }
74 
75 #endif // DERIVATIONFRAMEWORK_EGAMMACALOCLUSTERPARTIGLETHINNING_H
DerivationFramework::CaloClusterThinning::setClustersMask
StatusCode setClustersMask(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_track) const
Definition: CaloClusterThinning.cxx:325
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::CaloClusterThinning::m_streamName
StringProperty m_streamName
Definition: CaloClusterThinning.h:44
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
DerivationFramework::CaloClusterThinning::m_TopoClSGKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_TopoClSGKey
Definition: CaloClusterThinning.h:55
IThinningTool.h
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
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
DerivationFramework::CaloClusterThinning::doThinning
virtual StatusCode doThinning() const override
Definition: CaloClusterThinning.cxx:109
EgammaContainer.h
DerivationFramework::CaloClusterThinning::m_run_topo
bool m_run_topo
Definition: CaloClusterThinning.h:42
DerivationFramework::CaloClusterThinning::initialize
virtual StatusCode initialize() override
Definition: CaloClusterThinning.cxx:52
DerivationFramework::CaloClusterThinning::particleCluster
StatusCode particleCluster(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_tau) const
Definition: CaloClusterThinning.cxx:366
DerivationFramework::CaloClusterThinning::m_ntotTopo
std::atomic< unsigned int > m_ntotTopo
Definition: CaloClusterThinning.h:40
CaloCluster.h
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::CaloClusterThinning::m_npassTopo
std::atomic< unsigned int > m_npassTopo
Definition: CaloClusterThinning.h:41
AthAlgTool.h
DerivationFramework::CaloClusterThinning::~CaloClusterThinning
virtual ~CaloClusterThinning()
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
DerivationFramework::CaloClusterThinning
Definition: CaloClusterThinning.h:29
DerivationFramework::CaloClusterThinning::CaloClusterThinning
CaloClusterThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition: CaloClusterThinning.cxx:29
DerivationFramework::CaloClusterThinning::m_npass
std::atomic< unsigned int > m_npass
Definition: CaloClusterThinning.h:40
DerivationFramework::CaloClusterThinning::finalize
virtual StatusCode finalize() override
Definition: CaloClusterThinning.cxx:96
DerivationFramework::CaloClusterThinning::m_CaloClSGKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_CaloClSGKey
Definition: CaloClusterThinning.h:53
DerivationFramework::CaloClusterThinning::m_selectionString
std::string m_selectionString
Definition: CaloClusterThinning.h:57
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
CaloClusterContainer.h
DerivationFramework::CaloClusterThinning::m_sgKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_sgKey
Definition: CaloClusterThinning.h:50
DerivationFramework::CaloClusterThinning::m_coneSize
float m_coneSize
Definition: CaloClusterThinning.h:58
DerivationFramework::CaloClusterThinning::m_ntot
std::atomic< unsigned int > m_ntot
Definition: CaloClusterThinning.h:40
DerivationFramework::CaloClusterThinning::m_run_calo
bool m_run_calo
Definition: CaloClusterThinning.h:42