ATLAS Offline Software
JetReclusteringAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #ifndef JET_RECLUSTERING_ALG_H
8 #define JET_RECLUSTERING_ALG_H
9 
10 // Algorithm includes
17 
19 #include <xAODJet/JetContainer.h>
20 
21 #include "fastjet/ClusterSequence.hh"
22 
23 #include <memory>
24 #include <vector>
25 
26 namespace CP {
27 
28  class JetReclusteringAlg final : public EL::AnaAlgorithm {
29 
30  public:
32  virtual StatusCode initialize() override;
33  virtual StatusCode execute() override;
34 
35  private:
37 
39  this, "jets", "", "the jet container to use"
40  };
42  this, "jetSelection", "", "the selection on the input jets"
43  };
44 
46  this, "smallRjetIndices", "smallRjetIndices_%SYS%", "indices of the small R jets used to build a given RC jet"
47  };
48 
50  this, "rcJetEnergy", "e_%SYS%", "energy of the RC jet"
51  };
52 
53  // output container
55  this, "reclusteredJets", "reclusteredJets_%SYS%", "reclustered jets collection"
56  };
57 
58  // reclustering properties
59  Gaudi::Property<std::string> m_clusteringAlgorithm {
60  this, "clusteringAlgorithm", "AntiKt", "algorithm to use to recluster the jets"
61  };
62  Gaudi::Property<float> m_reclusteredJetsRadius {
63  this, "reclusteredJetsRadius", 1.0, "radius parameter for the reclustered jets"
64  };
65  std::unique_ptr<fastjet::JetDefinition> m_fastjetClustering;
66 
67  private:
68  std::vector<int> matchRCjets(const std::vector<const xAOD::Jet*>& smallJets, const std::vector<fastjet::PseudoJet>& constituents) const;
69  };
70 
71 } // namespace
72 
73 #endif
PropertyWrapper.h
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
SysWriteDecorHandle.h
CP::JetReclusteringAlg::initialize
virtual StatusCode initialize() override
Definition: JetReclusteringAlg.cxx:15
CP::SysWriteHandle
a data handle for writing systematics varied input data
Definition: SysWriteHandle.h:31
CP::JetReclusteringAlg::m_reclusteredJetsRadius
Gaudi::Property< float > m_reclusteredJetsRadius
Definition: JetReclusteringAlg.h:62
CP::SysReadHandle< xAOD::JetContainer >
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
SysReadHandle.h
CP::JetReclusteringAlg::execute
virtual StatusCode execute() override
Definition: JetReclusteringAlg.cxx:53
SysWriteHandle.h
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::JetReclusteringAlg::m_jetsHandle
CP::SysReadHandle< xAOD::JetContainer > m_jetsHandle
Definition: JetReclusteringAlg.h:38
CP::JetReclusteringAlg::m_clusteringAlgorithm
Gaudi::Property< std::string > m_clusteringAlgorithm
Definition: JetReclusteringAlg.h:59
CP::JetReclusteringAlg::m_rcEnergyDecor
CP::SysWriteDecorHandle< float > m_rcEnergyDecor
Definition: JetReclusteringAlg.h:49
CP::JetReclusteringAlg::m_fastjetClustering
std::unique_ptr< fastjet::JetDefinition > m_fastjetClustering
Definition: JetReclusteringAlg.h:65
CP::JetReclusteringAlg
Definition: JetReclusteringAlg.h:28
CP::JetReclusteringAlg::m_systematicsList
CP::SysListHandle m_systematicsList
Definition: JetReclusteringAlg.h:36
SysReadSelectionHandle.h
CP::JetReclusteringAlg::m_jetSelection
CP::SysReadSelectionHandle m_jetSelection
Definition: JetReclusteringAlg.h:41
CP::JetReclusteringAlg::matchRCjets
std::vector< int > matchRCjets(const std::vector< const xAOD::Jet * > &smallJets, const std::vector< fastjet::PseudoJet > &constituents) const
Definition: JetReclusteringAlg.cxx:114
JetContainer.h
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
JetAuxContainer.h
CP::JetReclusteringAlg::m_outHandle
CP::SysWriteHandle< xAOD::JetContainer, xAOD::JetAuxContainer > m_outHandle
Definition: JetReclusteringAlg.h:54
CP::SysWriteDecorHandle
a data handle for reading systematics varied input data
Definition: SysWriteDecorHandle.h:42
CP::JetReclusteringAlg::m_smallRjetIndicesDecor
CP::SysWriteDecorHandle< std::vector< int > > m_smallRjetIndicesDecor
Definition: JetReclusteringAlg.h:45