ATLAS Offline Software
Loading...
Searching...
No Matches
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
25namespace DerivationFramework {
26
28 : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool>
29{
30public:
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
39private:
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;
59
60 StatusCode setClustersMask(std::vector<bool>& mask,
61 const xAOD::IParticle* particle,
63 bool is_muons,
64 bool is_egamma,
65 bool is_track) const;
66 StatusCode particleCluster(std::vector<bool>& mask,
67 const xAOD::IParticle* particle,
69 bool is_muons,
70 bool is_egamma,
71 bool is_tau) const;
72};
73}
74
75#endif // DERIVATIONFRAMEWORK_EGAMMACALOCLUSTERPARTIGLETHINNING_H
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
StatusCode particleCluster(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_tau) const
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_TopoClSGKey
virtual StatusCode doThinning() const override
SG::ReadHandleKey< xAOD::IParticleContainer > m_sgKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_CaloClSGKey
StatusCode setClustersMask(std::vector< bool > &mask, const xAOD::IParticle *particle, const xAOD::CaloClusterContainer *cps, bool is_muons, bool is_egamma, bool is_track) const
CaloClusterThinning(const std::string &t, const std::string &n, const IInterface *p)
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
Class providing the definition of the 4-vector interface.
THE reconstruction tool.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.