ATLAS Offline Software
RCJetSubstructureAug.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 <string>
17 #include "fastjet/tools/Filter.hh"
18 #include "fastjet/contrib/SoftDrop.hh"
19 
22 #include "xAODJet/JetContainer.h"
24 
26 
27 namespace DerivationFramework {
29  class RCJetSubstructureAug : public extends<ExpressionParserUser<AthAlgTool, kNumJetParser>, IAugmentationTool> {
30  public:
31  RCJetSubstructureAug(const std::string& t, const std::string& n, const IInterface* p);
32  virtual ~RCJetSubstructureAug();
33  virtual StatusCode initialize() override;
34  virtual StatusCode finalize() override;
35  virtual StatusCode addBranches() const override;
36 
37  private:
38 
39  StringProperty m_streamName
40  { this, "StreamName", "", "Name of the stream" };
41  Gaudi::Property< std::vector<std::string> > m_ghostNames
42  { this, "GhostConstitNames", {"GhostLCTopo"}, "Names of the ghost constituents for substructure computation"};
43  StringProperty m_selectionString
44  { this, "SelectionString", "", "Selection to apply to jet"};
45  StringProperty m_suffix
46  { this, "Suffix", "", "Suffix for variables"};
47  StringProperty m_grooming
48  { this, "Grooming", "", "Name of gromming technic to apply (Trimming or SofDrop)"};
49 
50  Gaudi::Property<float> m_rclus
51  {this, "RClusTrim", 0.3 , "R for reclustering (0 for none)"};
52  Gaudi::Property<float> m_ptfrac
53  {this, "PtFracTrim", 0.03, "pT fraction for retaining subjets"};
54  Gaudi::Property<float> m_beta
55  {this, "BetaSoft", 1. , "How much to consider angular dependence"};
56  Gaudi::Property<float> m_zcut
57  {this, "ZcutSoft", 1. , "pT fraction for retaining subjets"};
58  Gaudi::Property<float> m_R0
59  {this, "R0Soft", 1. , "Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)"};
60 
61  SG::ReadHandleKey< xAOD::JetContainer > m_jetKey{ this, "JetContainerKey", ""};
62 
63  // Struct to hold all decorators
64  struct moments_t;
66 
67  // The filter object that will apply the grooming
68  std::unique_ptr<fastjet::Filter> m_trimmer;
69  std::unique_ptr<fastjet::contrib::SoftDrop> m_softdropper;
70 
71  };
72 
76 
84 
89 
97 
104 
107 
108  moments_t (const std::string& suffix):
109 
110  dec_Qw("Qw_" + suffix),
111 
112  dec_Tau1("Tau1_" + suffix),
113  dec_Tau2("Tau2_" + suffix),
114  dec_Tau3("Tau3_" + suffix),
115  dec_Tau4("Tau4_" + suffix),
116  dec_Tau21("Tau21_" + suffix),
117  dec_Tau32("Tau32_" + suffix),
118 
119  dec_Split12("Split12_" + suffix),
120  dec_Split23("Split23_" + suffix),
121  dec_Split34("Split34_" + suffix),
122 
123  dec_ECF1("ECF1_" + suffix),
124  dec_ECF2("ECF2_" + suffix),
125  dec_ECF3("ECF3_" + suffix),
126  dec_ECF4("ECF4_" + suffix),
127  dec_C2("C2_" + suffix),
128  dec_D2("D2_" + suffix),
129 
130  dec_pT("pT_" + suffix),
131  dec_m("m_" + suffix),
132  dec_NConstits("NConstits_" + suffix),
133  dec_eta("eta_" + suffix),
134  dec_phi("phi_" + suffix),
135 
136  dec_timing("timing_" + suffix){}
137 
138  };
139 
140 }
141 
142 #endif // DERIVATIONFRAMEWORK_RCJetSubstructureAug_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::RCJetSubstructureAug::m_streamName
StringProperty m_streamName
Definition: RCJetSubstructureAug.h:40
DerivationFramework::RCJetSubstructureAug::m_trimmer
std::unique_ptr< fastjet::Filter > m_trimmer
Definition: RCJetSubstructureAug.h:68
DerivationFramework::RCJetSubstructureAug::moments_t::dec_phi
SG::AuxElement::Decorator< float > dec_phi
Definition: RCJetSubstructureAug.h:103
hotSpotInTAG.suffix
string suffix
Definition: hotSpotInTAG.py:186
DerivationFramework::RCJetSubstructureAug::finalize
virtual StatusCode finalize() override
Definition: RCJetSubstructureAug.cxx:63
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::RCJetSubstructureAug::moments_t::dec_pT
SG::AuxElement::Decorator< float > dec_pT
Cluster jets informations decorators.
Definition: RCJetSubstructureAug.h:99
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau1
SG::AuxElement::Decorator< float > dec_Tau1
Nsubjetiness decorators.
Definition: RCJetSubstructureAug.h:78
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::RCJetSubstructureAug::m_beta
Gaudi::Property< float > m_beta
Definition: RCJetSubstructureAug.h:55
DerivationFramework::RCJetSubstructureAug::m_grooming
StringProperty m_grooming
Definition: RCJetSubstructureAug.h:48
DerivationFramework::kRCJetSelection
@ kRCJetSelection
Definition: RCJetSubstructureAug.h:28
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau2
SG::AuxElement::Decorator< float > dec_Tau2
Definition: RCJetSubstructureAug.h:79
DerivationFramework::RCJetSubstructureAug::moments_t::dec_ECF2
SG::AuxElement::Decorator< float > dec_ECF2
Definition: RCJetSubstructureAug.h:92
DerivationFramework::RCJetSubstructureAug::moments_t::dec_C2
SG::AuxElement::Decorator< float > dec_C2
Definition: RCJetSubstructureAug.h:95
DerivationFramework::RCJetSubstructureAug::m_ghostNames
Gaudi::Property< std::vector< std::string > > m_ghostNames
Definition: RCJetSubstructureAug.h:42
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Split12
SG::AuxElement::Decorator< float > dec_Split12
KtSplittingScale decorators.
Definition: RCJetSubstructureAug.h:86
DerivationFramework::RCJetSubstructureAug::m_zcut
Gaudi::Property< float > m_zcut
Definition: RCJetSubstructureAug.h:57
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::RCJetSubstructureAug::moments_t::dec_timing
SG::AuxElement::Decorator< float > dec_timing
Timing information.
Definition: RCJetSubstructureAug.h:106
DerivationFramework::RCJetSubstructureAug::moments_t::dec_NConstits
SG::AuxElement::Decorator< float > dec_NConstits
Definition: RCJetSubstructureAug.h:101
DerivationFramework::RCJetSubstructureAug::initialize
virtual StatusCode initialize() override
Definition: RCJetSubstructureAug.cxx:39
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
DerivationFramework::RCJetSubstructureAug
Definition: RCJetSubstructureAug.h:29
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau21
SG::AuxElement::Decorator< float > dec_Tau21
Definition: RCJetSubstructureAug.h:82
DerivationFramework::RCJetSubstructureAug::m_R0
Gaudi::Property< float > m_R0
Definition: RCJetSubstructureAug.h:59
DerivationFramework::RCJetSubstructureAug::m_suffix
StringProperty m_suffix
Definition: RCJetSubstructureAug.h:46
DerivationFramework::RCJetSubstructureAug::m_jetKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetKey
Definition: RCJetSubstructureAug.h:61
DerivationFramework::RCJetSubstructureAug::m_softdropper
std::unique_ptr< fastjet::contrib::SoftDrop > m_softdropper
Definition: RCJetSubstructureAug.h:69
DerivationFramework::RCJetSubstructureAug::m_rclus
Gaudi::Property< float > m_rclus
Definition: RCJetSubstructureAug.h:51
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::RCJetSubstructureAug::m_ptfrac
Gaudi::Property< float > m_ptfrac
Definition: RCJetSubstructureAug.h:53
DerivationFramework::RCJetSubstructureAug::moments_t::moments_t
moments_t(const std::string &suffix)
Definition: RCJetSubstructureAug.h:108
DerivationFramework::RCJetSubstructureAug::addBranches
virtual StatusCode addBranches() const override
Definition: RCJetSubstructureAug.cxx:70
DerivationFramework::RCJetSubstructureAug::moments_t::dec_ECF4
SG::AuxElement::Decorator< float > dec_ECF4
Definition: RCJetSubstructureAug.h:94
DerivationFramework::RCJetSubstructureAug::moments_t
Definition: RCJetSubstructureAug.h:73
DerivationFramework::RCJetSubstructureAug::m_moments
moments_t * m_moments
Definition: RCJetSubstructureAug.h:64
DerivationFramework::RCJetSubstructureAug::moments_t::dec_D2
SG::AuxElement::Decorator< float > dec_D2
Definition: RCJetSubstructureAug.h:96
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Qw
SG::AuxElement::Decorator< float > dec_Qw
Qw decorator.
Definition: RCJetSubstructureAug.h:75
DerivationFramework::RCJetSubstructureAug::RCJetSubstructureAug
RCJetSubstructureAug(const std::string &t, const std::string &n, const IInterface *p)
Definition: RCJetSubstructureAug.cxx:31
DerivationFramework::RCJetSubstructureAug::~RCJetSubstructureAug
virtual ~RCJetSubstructureAug()
Definition: RCJetSubstructureAug.cxx:35
JetContainer.h
DerivationFramework::RCJetSubstructureAug::m_selectionString
StringProperty m_selectionString
Definition: RCJetSubstructureAug.h:44
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Split34
SG::AuxElement::Decorator< float > dec_Split34
Definition: RCJetSubstructureAug.h:88
DerivationFramework::RCJetSubstructureAug::moments_t::dec_ECF1
SG::AuxElement::Decorator< float > dec_ECF1
Energy correlation factors decorators.
Definition: RCJetSubstructureAug.h:91
DerivationFramework::kNumJetParser
@ kNumJetParser
Definition: RCJetSubstructureAug.h:28
DerivationFramework::RCJetSubstructureAug::moments_t::dec_ECF3
SG::AuxElement::Decorator< float > dec_ECF3
Definition: RCJetSubstructureAug.h:93
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau4
SG::AuxElement::Decorator< float > dec_Tau4
Definition: RCJetSubstructureAug.h:81
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau32
SG::AuxElement::Decorator< float > dec_Tau32
Definition: RCJetSubstructureAug.h:83
DerivationFramework::RCJetSubstructureAug::moments_t::dec_m
SG::AuxElement::Decorator< float > dec_m
Definition: RCJetSubstructureAug.h:100
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Split23
SG::AuxElement::Decorator< float > dec_Split23
Definition: RCJetSubstructureAug.h:87
DerivationFramework::RCJetSubstructureAug::moments_t::dec_Tau3
SG::AuxElement::Decorator< float > dec_Tau3
Definition: RCJetSubstructureAug.h:80
DerivationFramework::RCJetSubstructureAug::moments_t::dec_eta
SG::AuxElement::Decorator< float > dec_eta
Definition: RCJetSubstructureAug.h:102
DerivationFramework::EJetParser
EJetParser
Definition: RCJetSubstructureAug.h:28