ATLAS Offline Software
Loading...
Searching...
No Matches
StandardLargeRJets.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from JetRecConfig.StandardJetConstits import stdConstitDic as cst
4from .JetDefinition import JetDefinition
5from .JetGrooming import JetTrimming, JetSoftDrop
6from JetRecConfig.JetRecConfig import registerAsInputConstit
7
8# needed to ensure the smallR VR jets are defined
9import JetRecConfig.StandardSmallRJets # noqa: F401
10
11# *********************************************************
12# Ghost-associated particles for the standard large R jets
13# *********************************************************
14standardghosts = ["Track","MuonSegment","Truth"]
15
16
17flavourghosts = [ "BHadronsFinal","CHadronsFinal",
18 "TausFinal",
19 "WBosons", "ZBosons", "HBosons", "TQuarksFinal",
20 "Partons"]
21
22
23
24
25
26# *********************************************************
27# Modifiers for the standard large R jets
28# *********************************************************
29# (use tuples rather than lists to prevent accidental modification)
30standardrecomods = (
31 "Sort",
32 "Width",
33 "ConstitFourMom",
34 "numConstit"
35)
36
37ufo_dnn_moments = ("CaloEnergiesLargeR","ConstitFrac","groomMRatio")
38
39clustermods = ("ECPSFrac","ClusterMoments",)
40truthmods = ("PartonTruthLabel",)
41pflowmods = ()
42
43truthlabels = ("JetTaggingTruthLabel:R10TruthLabel_R22v1",)
44truthlabels_SD = ("JetTaggingTruthLabel:R10TruthLabel_R21Precision_2022v1","JetTaggingTruthLabel:R10TruthLabel_R22v1","JetTaggingTruthLabel:R10WZTruthLabel_R22v1")
45
46substrmods = ("nsubjettiness", "nsubjettinessR", "ktsplitter",
47 "ecorr", "ecorrR", "qw",
48 # ... others ?
49)
50
51#Variables used for trimmed large-R jets
52lctopo_trimmed_mods = ("planarflow","angularity","comshapes","ktdr","TrackSumMoments","softdropobs")
53ufo_softdrop_mods = ("planarflow","angularity","comshapes","ktdr","ecorrgeneral","ecorrgeneralratios","softdropobs")
54
55# *********************************************************
56# Standard large R jets definitions
57# *********************************************************
58
59
60AntiKt10LCTopo = JetDefinition("AntiKt",1.0,cst.LCTopoOrigin,
61 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"] ,
62 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","numConstit"),
63 standardRecoMode = True,
64 ghostarea = 0.,
65 lock = True
66)
67
68#Remove VR track jets from ghosts for core reco
69AntiKt10LCTopo_noVR = AntiKt10LCTopo.clone(
70 ghostdefs = standardghosts+flavourghosts
71)
72
73# Jet collection specifically for tau CP without modifiers, ghosts, ...
74AntiKt10LCTopo_tau = JetDefinition("AntiKt",1.0,cst.LCTopoOrigin,
75 ghostdefs = ["Track"],
76 modifiers = ("Sort", "Filter:50000","numConstit"),
77 standardRecoMode = True,
78 ghostarea = 0.,
79 lock = True
80)
81
82AntiKt10LCTopo_withmoms = AntiKt10LCTopo.clone(
83 modifiers = ("Sort", "Filter:50000", "Width", "TrackMoments", "TrackSumMoments","JetDeltaRLabel:5000","numConstit")+clustermods+truthmods,
84 # NOT all moments from old AntiKt10LCTopo config here yet.
85)
86
87AntiKt10LCTopoTrimmed = JetTrimming(AntiKt10LCTopo,
88 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after trimming
89 modifiers = ("Filter:1000","Calib:CombinedMass:mc","Filter:100000",)+standardrecomods+substrmods+lctopo_trimmed_mods+truthlabels,
90 PtFrac = 0.05, RClus = 0.2,
91 )
92
93AntiKt10LCTopoTrimmed_trigger = JetTrimming(AntiKt10LCTopo_noVR,
94 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after trimming
95 modifiers = ("Filter:1000","Calib:CombinedMass:mc","Filter:50000","Sort","ConstitFourMom","numConstit"),
96 PtFrac = 0.05, RClus = 0.2,
97)
98
99AntiKt10LCTopoSoftDrop = JetSoftDrop(AntiKt10LCTopo,
100 modifiers = standardrecomods+substrmods,
101 Beta = 1., ZCut= 0.1,
102 )
103
104
105AntiKt10UFOCHS = JetDefinition("AntiKt",1.0,cst.UFO,
106 standardRecoMode = True)
107
108
109AntiKt10UFOCSSK = JetDefinition("AntiKt",1.0,cst.UFOCSSK,
110 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"] ,
111 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","PartonTruthLabel","numConstit"),
112 standardRecoMode = True,
113 ghostarea = 0.,
114 )
115
116AntiKt10UFOCSSK_noElectrons = JetDefinition("AntiKt",1.0,cst.UFOCSSK_noElectrons,
117 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"],
118 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","PartonTruthLabel","numConstit"),
119 standardRecoMode = True,
120 ghostarea = 0.,
121 )
122
123AntiKt10UFOCSSK_noMuons = JetDefinition("AntiKt",1.0,cst.UFOCSSK_noMuons,
124 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"],
125 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","PartonTruthLabel","numConstit"),
126 standardRecoMode = True,
127 ghostarea = 0.,
128 )
129
130AntiKt10UFOCSSK_noLeptons = JetDefinition("AntiKt",1.0,cst.UFOCSSK_noLeptons,
131 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"],
132 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","PartonTruthLabel","numConstit"),
133 standardRecoMode = True,
134 ghostarea = 0.,
135 )
136
137#Same as AntiKt10UFOCSSK but with charged and neutrals linked to muons included.
138AntiKt10UFOCSSK_inclMuons = JetDefinition("AntiKt",1.0,cst.UFOCSSK_inclMuons,
139 ghostdefs = standardghosts+flavourghosts+["AntiKtVR30Rmax4Rmin02PV0TrackJets"],
140 modifiers = ("Sort", "Filter:50000","TrackMoments","JetGhostLabel","PartonTruthLabel"),
141 standardRecoMode = True,
142 ghostarea = 0.,
143 )
144
145
146
147AntiKt10UFOCSSKSoftDrop = JetSoftDrop(AntiKt10UFOCSSK,
148 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
149 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
150 Beta = 1., ZCut= 0.1,
151 )
152
153# The following jet collection will be scheduled in derivation production (lighter versions with _trigger used at Tier-0)
154AntiKt10UFOCSSKSoftDrop_deriv = AntiKt10UFOCSSKSoftDrop.clone(
155 modifiers = AntiKt10UFOCSSKSoftDrop.modifiers+("toptransformer","wtransformer","wtransformer_massdec")
156)
157
158AntiKt10UFOCSSKSoftDrop_noElectrons = JetSoftDrop(AntiKt10UFOCSSK_noElectrons,
159 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
160 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
161 Beta = 1., ZCut= 0.1,
162 )
163
164AntiKt10UFOCSSKSoftDrop_noMuons = JetSoftDrop(AntiKt10UFOCSSK_noMuons,
165 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
166 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
167 Beta = 1., ZCut= 0.1,
168 )
169
170AntiKt10UFOCSSKSoftDrop_noLeptons = JetSoftDrop(AntiKt10UFOCSSK_noLeptons,
171 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
172 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
173 Beta = 1., ZCut= 0.1,
174 )
175
176#Same as AntiKt10UFOCSSK but with charged and neutrals linked to muons included.
177AntiKt10UFOCSSKSoftDrop_inclMuons = JetSoftDrop(AntiKt10UFOCSSK_inclMuons,
178 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
179 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
180 Beta = 1., ZCut= 0.1,
181 )
182
183
184AntiKt10UFOCSSKSoftDrop_trigger = JetSoftDrop(AntiKt10UFOCSSK,
185 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
186 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:50000","Sort","ConstitFourMom","numConstit"),
187 Beta = 1., ZCut= 0.1,
188 )
189
190
191
192AntiKt10Truth = JetDefinition("AntiKt",1.0,cst.Truth,
193 ghostdefs = flavourghosts ,
194 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
195 standardRecoMode = True,
196 ghostarea = 0.,
197 lock = True
198)
199
200AntiKt10TruthTrimmed = JetTrimming(AntiKt10Truth,
201 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
202 PtFrac = 0.05, RClus = 0.2,
203 )
204
205AntiKt10TruthSoftDrop = JetSoftDrop(AntiKt10Truth,
206 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
207 Beta = 1., ZCut= 0.1,
208 )
209
210
211AntiKt10TruthWZ = JetDefinition("AntiKt",1.0, cst.TruthWZ,
212 ghostdefs = flavourghosts,
213 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
214 standardRecoMode = True,
215 ghostarea = 0.,
216 lock = True,
217)
218
219AntiKt10TruthWZSoftDrop = JetSoftDrop(AntiKt10TruthWZ,
220 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
221 Beta = 1., ZCut= 0.1,
222)
223
224AntiKt10TruthDressedWZ = JetDefinition("AntiKt",1.0,cst.TruthDressedWZ,
225 ghostdefs = flavourghosts ,
226 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
227 standardRecoMode = True,
228 lock = True
229)
230
231AntiKt10TruthDressedWZSoftDrop = JetSoftDrop(AntiKt10TruthDressedWZ,
232 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
233 Beta = 1., ZCut= 0.1,
234)
235
236# These jets may be used as input for the JetTruthLabelling, so they also need to be defined as constituents:
237registerAsInputConstit(AntiKt10TruthDressedWZSoftDrop)
238registerAsInputConstit(AntiKt10TruthSoftDrop)
239registerAsInputConstit(AntiKt10Truth)
240
241AntiKt10TruthGEN = JetDefinition("AntiKt",1.0, cst.TruthGEN,
242 ptmin = 5000,
243 ghostdefs = [],
244 modifiers = ("Sort", )+truthmods,
245 ghostarea = 0.,
246 lock = True,
247)
248AntiKt10TruthGENWZ = AntiKt10TruthGEN.clone(inputdef=cst.TruthGENWZ)
249
250
251
252
253
254
255