ATLAS Offline Software
Loading...
Searching...
No Matches
JetCaloClusterThinning.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// JetCaloClusterThinning.h, (c) ATLAS Detector software
7// @author Danilo E. Ferreira de Lima <dferreir@cern.ch>
9
10#ifndef DERIVATIONFRAMEWORKCALO_JETCALOCLUSTERTHINNING_H
11#define DERIVATIONFRAMEWORKCALO_JETCALOCLUSTERTHINNING_H
12
19#include "xAODJet/Jet.h"
21#include <atomic>
22#include <string>
23
25
26namespace DerivationFramework {
27
29 : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool>
30{
31public:
32 JetCaloClusterThinning(const std::string& t,
33 const std::string& n,
34 const IInterface* p);
36 virtual StatusCode initialize() override;
37 virtual StatusCode finalize() override;
38 virtual StatusCode doThinning() const override;
39
40private:
41 mutable std::atomic<unsigned int> m_ntotTopo,
42 m_npassTopo; //, m_ntotFrwd, m_npassFrwd;
43
44 StringProperty m_streamName{ this,
45 "StreamName",
46 "",
47 "Name of the stream being thinned" };
49 m_TopoClSGKey{ this, "TopoClCollectionSGKey", "CaloCalTopoCluster", "" };
51 m_sgKey{ this, "SGKey", "", "SG key of jet container to thin" };
52
53 Gaudi::Property<std::vector<std::string>> m_addClusterSGKey{ this, "AdditionalClustersKey", {}, ""};
54 SG::ThinningHandleKey<xAOD::CaloClusterContainer> m_tmpAddClusterKey{ this, "TmpAddClustersKey","LCOriginTopoClusters",""};
55 std::vector<SG::ThinningHandleKey<xAOD::CaloClusterContainer>> m_addClusterKeys;
56
57 std::string m_selectionString;
58
59 void setJetClustersMask(std::vector<bool>&, const xAOD::JetContainer*&) const;
60 void setJetClustersMask(std::vector<bool>&, std::vector<const xAOD::Jet*>&) const;
61
62};
63
64}
65
66#endif // DERIVATIONFRAMEWORK_JETCALOCLUSTERTHINNING_H
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
void setJetClustersMask(std::vector< bool > &, std::vector< const xAOD::Jet * > &) const
SG::ReadHandleKey< xAOD::JetContainer > m_sgKey
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_TopoClSGKey
JetCaloClusterThinning(const std::string &t, const std::string &n, const IInterface *p)
Gaudi::Property< std::vector< std::string > > m_addClusterSGKey
void setJetClustersMask(std::vector< bool > &, const xAOD::JetContainer *&) const
std::vector< SG::ThinningHandleKey< xAOD::CaloClusterContainer > > m_addClusterKeys
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_tmpAddClusterKey
virtual StatusCode doThinning() const override
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
THE reconstruction tool.
JetContainer_v1 JetContainer
Definition of the current "jet container version".