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