ATLAS Offline Software
RCJetSubstructureAug.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Author: G. Albouy (galbouy@lpsc.in2p3.fr)
6 // This tool computes substructure variables for ReClustered jets
7 // from LCTopo clusters ghost associated to RC jets
8 // by constructing cluster jets
9 
10 #ifndef DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
11 #define DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
12 
13 #include "fastjet/tools/Filter.hh"
14 #include "fastjet/contrib/SoftDrop.hh"
15 
18 #include "xAODJet/JetContainer.h"
21 #include <string>
22 #include <optional>
23 
25 
26 namespace DerivationFramework {
28  class RCJetSubstructureAug : public extends<ExpressionParserUser<AthAlgTool, kNumJetParser>, IAugmentationTool> {
29  public:
30 
31  using base_class::base_class;
32 
33  virtual StatusCode initialize() override final;
34  virtual StatusCode addBranches(const EventContext& ctx) const override final;
35 
36  private:
37 
38  StringProperty m_streamName
39  { this, "StreamName", "", "Name of the stream" };
40  Gaudi::Property< std::vector<std::string> > m_ghostNames
41  { this, "GhostConstitNames", {"GhostLCTopo"}, "Names of the ghost constituents for substructure computation"};
42  StringProperty m_selectionString
43  { this, "SelectionString", "", "Selection to apply to jet"};
44  StringProperty m_grooming
45  { this, "Grooming", "", "Name of gromming technic to apply (Trimming or SofDrop)"};
46 
47  Gaudi::Property<float> m_rclus
48  {this, "RClusTrim", 0.3 , "R for reclustering (0 for none)"};
49  Gaudi::Property<float> m_ptfrac
50  {this, "PtFracTrim", 0.03, "pT fraction for retaining subjets"};
51  Gaudi::Property<float> m_beta
52  {this, "BetaSoft", 1. , "How much to consider angular dependence"};
53  Gaudi::Property<float> m_zcut
54  {this, "ZcutSoft", 1. , "pT fraction for retaining subjets"};
55  Gaudi::Property<float> m_R0
56  {this, "R0Soft", 1. , "Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)"};
57 
59  { this, "JetContainerKey", ""};
60 
62 
64  WDHK m_dec_Qw { this, "dec_Qw", m_jetKey, "Qw_" };
65 
67  WDHK m_dec_Tau1 { this, "dec_Tau1", m_jetKey, "Tau1_" };
68  WDHK m_dec_Tau2 { this, "dec_Tau2", m_jetKey, "Tau2_" };
69  WDHK m_dec_Tau3 { this, "dec_Tau3", m_jetKey, "Tau3_" };
70  WDHK m_dec_Tau4 { this, "dec_Tau4", m_jetKey, "Tau4_" };
71  WDHK m_dec_Tau21 { this, "dec_Tau21", m_jetKey, "Tau21_" };
72  WDHK m_dec_Tau32 { this, "dec_Tau32", m_jetKey, "Tau32_" };
73 
75  WDHK m_dec_Split12 { this, "dec_Split12", m_jetKey, "Split12_" };
76  WDHK m_dec_Split23 { this, "dec_Split23", m_jetKey, "Split23_" };
77  WDHK m_dec_Split34 { this, "dec_Split34", m_jetKey, "Split34_" };
78 
80  WDHK m_dec_ECF1 { this, "dec_ECF1", m_jetKey, "ECF1_" };
81  WDHK m_dec_ECF2 { this, "dec_ECF2", m_jetKey, "ECF2_" };
82  WDHK m_dec_ECF3 { this, "dec_ECF3", m_jetKey, "ECF3_" };
83  WDHK m_dec_ECF4 { this, "dec_ECF4", m_jetKey, "ECF4_" };
84  WDHK m_dec_C2 { this, "dec_C2", m_jetKey, "C2_" };
85  WDHK m_dec_D2 { this, "dec_D2", m_jetKey, "D2_" };
86 
88  WDHK m_dec_pT { this, "dec_pT", m_jetKey, "pT_" };
89  WDHK m_dec_m { this, "dec_m", m_jetKey, "m_" };
90  WDHK m_dec_NConstits { this, "dec_NConstits", m_jetKey, "NConstits_" };
91  WDHK m_dec_eta { this, "dec_eta", m_jetKey, "eta_" };
92  WDHK m_dec_phi { this, "dec_phi", m_jetKey, "phi_" };
93 
95  WDHK m_dec_timing { this, "dec_timing", m_jetKey, "timing_" };
96 
97  // The filter object that will apply the grooming
98  std::optional<fastjet::Filter> m_trimmer;
99  std::optional<fastjet::contrib::SoftDrop> m_softdropper;
100  };
101 
102 }
103 
104 #endif // DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey< xAOD::JetContainer >
DerivationFramework::RCJetSubstructureAug::m_dec_Tau4
WDHK m_dec_Tau4
Definition: RCJetSubstructureAug.h:70
DerivationFramework::RCJetSubstructureAug::m_streamName
StringProperty m_streamName
Definition: RCJetSubstructureAug.h:39
DerivationFramework::RCJetSubstructureAug::m_dec_Split34
WDHK m_dec_Split34
Definition: RCJetSubstructureAug.h:77
DerivationFramework::RCJetSubstructureAug::m_dec_Tau21
WDHK m_dec_Tau21
Definition: RCJetSubstructureAug.h:71
DerivationFramework::RCJetSubstructureAug::m_dec_m
WDHK m_dec_m
Definition: RCJetSubstructureAug.h:89
DerivationFramework::RCJetSubstructureAug::initialize
virtual StatusCode initialize() override final
Definition: RCJetSubstructureAug.cxx:29
DerivationFramework::RCJetSubstructureAug::m_dec_Split12
WDHK m_dec_Split12
KtSplittingScale decorators.
Definition: RCJetSubstructureAug.h:75
DerivationFramework::RCJetSubstructureAug::m_dec_ECF1
WDHK m_dec_ECF1
Energy correlation factors decorators.
Definition: RCJetSubstructureAug.h:80
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::RCJetSubstructureAug::m_dec_Split23
WDHK m_dec_Split23
Definition: RCJetSubstructureAug.h:76
DerivationFramework::RCJetSubstructureAug::m_dec_Tau2
WDHK m_dec_Tau2
Definition: RCJetSubstructureAug.h:68
DerivationFramework::RCJetSubstructureAug::m_dec_Tau3
WDHK m_dec_Tau3
Definition: RCJetSubstructureAug.h:69
SG::ReadHandleKey< xAOD::JetContainer >
DerivationFramework::RCJetSubstructureAug::m_beta
Gaudi::Property< float > m_beta
Definition: RCJetSubstructureAug.h:52
DerivationFramework::RCJetSubstructureAug::m_grooming
StringProperty m_grooming
Definition: RCJetSubstructureAug.h:45
DerivationFramework::kRCJetSelection
@ kRCJetSelection
Definition: RCJetSubstructureAug.h:27
DerivationFramework::RCJetSubstructureAug::m_dec_pT
WDHK m_dec_pT
Reclustered jets information decorators.
Definition: RCJetSubstructureAug.h:88
DerivationFramework::RCJetSubstructureAug::m_dec_Tau1
WDHK m_dec_Tau1
Nsubjetiness decorators.
Definition: RCJetSubstructureAug.h:67
DerivationFramework::RCJetSubstructureAug::m_ghostNames
Gaudi::Property< std::vector< std::string > > m_ghostNames
Definition: RCJetSubstructureAug.h:41
DerivationFramework::RCJetSubstructureAug::m_dec_ECF3
WDHK m_dec_ECF3
Definition: RCJetSubstructureAug.h:82
DerivationFramework::RCJetSubstructureAug::m_zcut
Gaudi::Property< float > m_zcut
Definition: RCJetSubstructureAug.h:54
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
DerivationFramework::RCJetSubstructureAug
Definition: RCJetSubstructureAug.h:28
DerivationFramework::RCJetSubstructureAug::m_dec_D2
WDHK m_dec_D2
Definition: RCJetSubstructureAug.h:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::RCJetSubstructureAug::m_dec_C2
WDHK m_dec_C2
Definition: RCJetSubstructureAug.h:84
AthAlgTool.h
DerivationFramework::RCJetSubstructureAug::m_R0
Gaudi::Property< float > m_R0
Definition: RCJetSubstructureAug.h:56
DerivationFramework::RCJetSubstructureAug::m_jetKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetKey
Definition: RCJetSubstructureAug.h:59
DerivationFramework::RCJetSubstructureAug::m_rclus
Gaudi::Property< float > m_rclus
Definition: RCJetSubstructureAug.h:48
DerivationFramework::RCJetSubstructureAug::m_dec_eta
WDHK m_dec_eta
Definition: RCJetSubstructureAug.h:91
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::RCJetSubstructureAug::m_ptfrac
Gaudi::Property< float > m_ptfrac
Definition: RCJetSubstructureAug.h:50
DerivationFramework::RCJetSubstructureAug::m_dec_NConstits
WDHK m_dec_NConstits
Definition: RCJetSubstructureAug.h:90
DerivationFramework::RCJetSubstructureAug::m_dec_ECF2
WDHK m_dec_ECF2
Definition: RCJetSubstructureAug.h:81
DerivationFramework::RCJetSubstructureAug::m_trimmer
std::optional< fastjet::Filter > m_trimmer
Definition: RCJetSubstructureAug.h:98
DerivationFramework::RCJetSubstructureAug::m_dec_timing
WDHK m_dec_timing
Timing information.
Definition: RCJetSubstructureAug.h:95
JetContainer.h
DerivationFramework::RCJetSubstructureAug::m_dec_ECF4
WDHK m_dec_ECF4
Definition: RCJetSubstructureAug.h:83
DerivationFramework::RCJetSubstructureAug::m_selectionString
StringProperty m_selectionString
Definition: RCJetSubstructureAug.h:43
DerivationFramework::RCJetSubstructureAug::m_dec_Qw
WDHK m_dec_Qw
Qw decorator.
Definition: RCJetSubstructureAug.h:64
DerivationFramework::kNumJetParser
@ kNumJetParser
Definition: RCJetSubstructureAug.h:27
DerivationFramework::RCJetSubstructureAug::m_dec_phi
WDHK m_dec_phi
Definition: RCJetSubstructureAug.h:92
DerivationFramework::RCJetSubstructureAug::m_softdropper
std::optional< fastjet::contrib::SoftDrop > m_softdropper
Definition: RCJetSubstructureAug.h:99
DerivationFramework::RCJetSubstructureAug::m_dec_Tau32
WDHK m_dec_Tau32
Definition: RCJetSubstructureAug.h:72
DerivationFramework::EJetParser
EJetParser
Definition: RCJetSubstructureAug.h:27
DerivationFramework::RCJetSubstructureAug::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: RCJetSubstructureAug.cxx:69