Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
6 // RCJetSubstructureAug.cxx, (c) ATLAS Detector software
8 // Author: G. Albouy (galbouy@lpsc.in2p3.fr)
9 // This tool computes substructure variables for ReClustered jets
10 // from LCTopo clusters ghost associated to RC jets
11 // by constructing cluster jets
12 
13 #ifndef DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
14 #define DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
15 
16 #include "fastjet/tools/Filter.hh"
17 #include "fastjet/contrib/SoftDrop.hh"
18 
21 #include "xAODJet/JetContainer.h"
24 #include <string>
25 #include <optional>
26 
28 
29 namespace DerivationFramework {
31  class RCJetSubstructureAug : public extends<ExpressionParserUser<AthAlgTool, kNumJetParser>, IAugmentationTool> {
32  public:
33  RCJetSubstructureAug(const std::string& t, const std::string& n, const IInterface* p);
34  virtual ~RCJetSubstructureAug();
35  virtual StatusCode initialize() override;
36  virtual StatusCode addBranches() const override;
37 
38  private:
39 
40  StringProperty m_streamName
41  { this, "StreamName", "", "Name of the stream" };
42  Gaudi::Property< std::vector<std::string> > m_ghostNames
43  { this, "GhostConstitNames", {"GhostLCTopo"}, "Names of the ghost constituents for substructure computation"};
44  StringProperty m_selectionString
45  { this, "SelectionString", "", "Selection to apply to jet"};
46  StringProperty m_suffix
47  { this, "Suffix", "", "Suffix for variables"};
48  StringProperty m_grooming
49  { this, "Grooming", "", "Name of gromming technic to apply (Trimming or SofDrop)"};
50 
51  Gaudi::Property<float> m_rclus
52  {this, "RClusTrim", 0.3 , "R for reclustering (0 for none)"};
53  Gaudi::Property<float> m_ptfrac
54  {this, "PtFracTrim", 0.03, "pT fraction for retaining subjets"};
55  Gaudi::Property<float> m_beta
56  {this, "BetaSoft", 1. , "How much to consider angular dependence"};
57  Gaudi::Property<float> m_zcut
58  {this, "ZcutSoft", 1. , "pT fraction for retaining subjets"};
59  Gaudi::Property<float> m_R0
60  {this, "R0Soft", 1. , "Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)"};
61 
63  { this, "JetContainerKey", ""};
64 
66 
68  WDHK m_dec_Qw { this, "dec_Qw", m_jetKey, "Qw_" };
69 
71  WDHK m_dec_Tau1 { this, "dec_Tau1", m_jetKey, "Tau1_" };
72  WDHK m_dec_Tau2 { this, "dec_Tau2", m_jetKey, "Tau2_" };
73  WDHK m_dec_Tau3 { this, "dec_Tau3", m_jetKey, "Tau3_" };
74  WDHK m_dec_Tau4 { this, "dec_Tau4", m_jetKey, "Tau4_" };
75  WDHK m_dec_Tau21 { this, "dec_Tau21", m_jetKey, "Tau21_" };
76  WDHK m_dec_Tau32 { this, "dec_Tau32", m_jetKey, "Tau32_" };
77 
79  WDHK m_dec_Split12 { this, "dec_Split12", m_jetKey, "Split12_" };
80  WDHK m_dec_Split23 { this, "dec_Split23", m_jetKey, "Split23_" };
81  WDHK m_dec_Split34 { this, "dec_Split34", m_jetKey, "Split34_" };
82 
84  WDHK m_dec_ECF1 { this, "dec_ECF1", m_jetKey, "ECF1_" };
85  WDHK m_dec_ECF2 { this, "dec_ECF2", m_jetKey, "ECF2_" };
86  WDHK m_dec_ECF3 { this, "dec_ECF3", m_jetKey, "ECF3_" };
87  WDHK m_dec_ECF4 { this, "dec_ECF4", m_jetKey, "ECF4_" };
88  WDHK m_dec_C2 { this, "dec_C2", m_jetKey, "C2_" };
89  WDHK m_dec_D2 { this, "dec_D2", m_jetKey, "D2_" };
90 
92  WDHK m_dec_pT { this, "dec_pT", m_jetKey, "pT_" };
93  WDHK m_dec_m { this, "dec_m", m_jetKey, "m_" };
94  WDHK m_dec_NConstits { this, "dec_NConstits", m_jetKey, "NConstits_" };
95  WDHK m_dec_eta { this, "dec_eta", m_jetKey, "eta_" };
96  WDHK m_dec_phi { this, "dec_phi", m_jetKey, "phi_" };
97 
99  WDHK m_dec_timing { this, "dec_timing", m_jetKey, "timing_" };
100 
101  // The filter object that will apply the grooming
102  std::optional<fastjet::Filter> m_trimmer;
103  std::optional<fastjet::contrib::SoftDrop> m_softdropper;
104  };
105 
106 }
107 
108 #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:74
DerivationFramework::RCJetSubstructureAug::m_streamName
StringProperty m_streamName
Definition: RCJetSubstructureAug.h:41
DerivationFramework::RCJetSubstructureAug::m_dec_Split34
WDHK m_dec_Split34
Definition: RCJetSubstructureAug.h:81
DerivationFramework::RCJetSubstructureAug::m_dec_Tau21
WDHK m_dec_Tau21
Definition: RCJetSubstructureAug.h:75
DerivationFramework::RCJetSubstructureAug::m_dec_m
WDHK m_dec_m
Definition: RCJetSubstructureAug.h:93
DerivationFramework::RCJetSubstructureAug::m_dec_Split12
WDHK m_dec_Split12
KtSplittingScale decorators.
Definition: RCJetSubstructureAug.h:79
DerivationFramework::RCJetSubstructureAug::m_dec_ECF1
WDHK m_dec_ECF1
Energy correlation factors decorators.
Definition: RCJetSubstructureAug.h:84
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::RCJetSubstructureAug::m_dec_Split23
WDHK m_dec_Split23
Definition: RCJetSubstructureAug.h:80
DerivationFramework::RCJetSubstructureAug::m_dec_Tau2
WDHK m_dec_Tau2
Definition: RCJetSubstructureAug.h:72
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::RCJetSubstructureAug::m_dec_Tau3
WDHK m_dec_Tau3
Definition: RCJetSubstructureAug.h:73
SG::ReadHandleKey< xAOD::JetContainer >
DerivationFramework::RCJetSubstructureAug::m_beta
Gaudi::Property< float > m_beta
Definition: RCJetSubstructureAug.h:56
DerivationFramework::RCJetSubstructureAug::m_grooming
StringProperty m_grooming
Definition: RCJetSubstructureAug.h:49
DerivationFramework::kRCJetSelection
@ kRCJetSelection
Definition: RCJetSubstructureAug.h:30
DerivationFramework::RCJetSubstructureAug::m_dec_pT
WDHK m_dec_pT
Reclustered jets information decorators.
Definition: RCJetSubstructureAug.h:92
DerivationFramework::RCJetSubstructureAug::m_dec_Tau1
WDHK m_dec_Tau1
Nsubjetiness decorators.
Definition: RCJetSubstructureAug.h:71
DerivationFramework::RCJetSubstructureAug::m_ghostNames
Gaudi::Property< std::vector< std::string > > m_ghostNames
Definition: RCJetSubstructureAug.h:43
DerivationFramework::RCJetSubstructureAug::m_dec_ECF3
WDHK m_dec_ECF3
Definition: RCJetSubstructureAug.h:86
DerivationFramework::RCJetSubstructureAug::m_zcut
Gaudi::Property< float > m_zcut
Definition: RCJetSubstructureAug.h:58
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::RCJetSubstructureAug::initialize
virtual StatusCode initialize() override
Definition: RCJetSubstructureAug.cxx:40
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
DerivationFramework::RCJetSubstructureAug
Definition: RCJetSubstructureAug.h:31
DerivationFramework::RCJetSubstructureAug::m_dec_D2
WDHK m_dec_D2
Definition: RCJetSubstructureAug.h:89
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::RCJetSubstructureAug::m_dec_C2
WDHK m_dec_C2
Definition: RCJetSubstructureAug.h:88
AthAlgTool.h
DerivationFramework::RCJetSubstructureAug::m_R0
Gaudi::Property< float > m_R0
Definition: RCJetSubstructureAug.h:60
DerivationFramework::RCJetSubstructureAug::m_suffix
StringProperty m_suffix
Definition: RCJetSubstructureAug.h:47
DerivationFramework::RCJetSubstructureAug::m_jetKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetKey
Definition: RCJetSubstructureAug.h:63
DerivationFramework::RCJetSubstructureAug::m_rclus
Gaudi::Property< float > m_rclus
Definition: RCJetSubstructureAug.h:52
DerivationFramework::RCJetSubstructureAug::m_dec_eta
WDHK m_dec_eta
Definition: RCJetSubstructureAug.h:95
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::RCJetSubstructureAug::m_ptfrac
Gaudi::Property< float > m_ptfrac
Definition: RCJetSubstructureAug.h:54
DerivationFramework::RCJetSubstructureAug::m_dec_NConstits
WDHK m_dec_NConstits
Definition: RCJetSubstructureAug.h:94
DerivationFramework::RCJetSubstructureAug::m_dec_ECF2
WDHK m_dec_ECF2
Definition: RCJetSubstructureAug.h:85
DerivationFramework::RCJetSubstructureAug::addBranches
virtual StatusCode addBranches() const override
Definition: RCJetSubstructureAug.cxx:88
DerivationFramework::RCJetSubstructureAug::m_trimmer
std::optional< fastjet::Filter > m_trimmer
Definition: RCJetSubstructureAug.h:102
DerivationFramework::RCJetSubstructureAug::m_dec_timing
WDHK m_dec_timing
Timing information.
Definition: RCJetSubstructureAug.h:99
DerivationFramework::RCJetSubstructureAug::RCJetSubstructureAug
RCJetSubstructureAug(const std::string &t, const std::string &n, const IInterface *p)
Definition: RCJetSubstructureAug.cxx:32
DerivationFramework::RCJetSubstructureAug::~RCJetSubstructureAug
virtual ~RCJetSubstructureAug()
Definition: RCJetSubstructureAug.cxx:36
JetContainer.h
DerivationFramework::RCJetSubstructureAug::m_dec_ECF4
WDHK m_dec_ECF4
Definition: RCJetSubstructureAug.h:87
DerivationFramework::RCJetSubstructureAug::m_selectionString
StringProperty m_selectionString
Definition: RCJetSubstructureAug.h:45
DerivationFramework::RCJetSubstructureAug::m_dec_Qw
WDHK m_dec_Qw
Qw decorator.
Definition: RCJetSubstructureAug.h:68
DerivationFramework::kNumJetParser
@ kNumJetParser
Definition: RCJetSubstructureAug.h:30
DerivationFramework::RCJetSubstructureAug::m_dec_phi
WDHK m_dec_phi
Definition: RCJetSubstructureAug.h:96
DerivationFramework::RCJetSubstructureAug::m_softdropper
std::optional< fastjet::contrib::SoftDrop > m_softdropper
Definition: RCJetSubstructureAug.h:103
DerivationFramework::RCJetSubstructureAug::m_dec_Tau32
WDHK m_dec_Tau32
Definition: RCJetSubstructureAug.h:76
DerivationFramework::EJetParser
EJetParser
Definition: RCJetSubstructureAug.h:30