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
136AntiKt10UFOCSSKSoftDrop = JetSoftDrop(AntiKt10UFOCSSK,
137 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
138 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
139 Beta = 1., ZCut= 0.1,
140 )
141
142AntiKt10UFOCSSKSoftDrop_noElectrons = JetSoftDrop(AntiKt10UFOCSSK_noElectrons,
143 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
144 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
145 Beta = 1., ZCut= 0.1,
146 )
147
148AntiKt10UFOCSSKSoftDrop_noMuons = JetSoftDrop(AntiKt10UFOCSSK_noMuons,
149 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
150 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
151 Beta = 1., ZCut= 0.1,
152 )
153
154AntiKt10UFOCSSKSoftDrop_noLeptons = JetSoftDrop(AntiKt10UFOCSSK_noLeptons,
155 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
156 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:100000","Sort","JetGhostLabel")+standardrecomods+substrmods+ufo_softdrop_mods+truthlabels_SD+ufo_dnn_moments,
157 Beta = 1., ZCut= 0.1,
158 )
159
160AntiKt10UFOCSSKSoftDrop_trigger = JetSoftDrop(AntiKt10UFOCSSK,
161 #A filter of 1 GeV is applied before the calibration to remove jets with zero constituents after the soft drop alg is applied
162 modifiers = ("Filter:1000","Calib:SoftDrop:mc","Filter:50000","Sort","ConstitFourMom","numConstit"),
163 Beta = 1., ZCut= 0.1,
164 )
165
166
167
168AntiKt10Truth = JetDefinition("AntiKt",1.0,cst.Truth,
169 ghostdefs = flavourghosts ,
170 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
171 standardRecoMode = True,
172 ghostarea = 0.,
173 lock = True
174)
175
176AntiKt10TruthTrimmed = JetTrimming(AntiKt10Truth,
177 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
178 PtFrac = 0.05, RClus = 0.2,
179 )
180
181AntiKt10TruthSoftDrop = JetSoftDrop(AntiKt10Truth,
182 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
183 Beta = 1., ZCut= 0.1,
184 )
185
186
187AntiKt10TruthWZ = JetDefinition("AntiKt",1.0, cst.TruthWZ,
188 ghostdefs = flavourghosts,
189 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
190 standardRecoMode = True,
191 ghostarea = 0.,
192 lock = True,
193)
194
195AntiKt10TruthWZSoftDrop = JetSoftDrop(AntiKt10TruthWZ,
196 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
197 Beta = 1., ZCut= 0.1,
198)
199
200AntiKt10TruthDressedWZ = JetDefinition("AntiKt",1.0,cst.TruthDressedWZ,
201 ghostdefs = flavourghosts ,
202 modifiers = ("Sort", "Filter:50000","ktsplitter","JetGhostLabel","numConstit"),
203 standardRecoMode = True,
204 lock = True
205)
206
207AntiKt10TruthDressedWZSoftDrop = JetSoftDrop(AntiKt10TruthDressedWZ,
208 modifiers = ("Sort","JetGhostLabel","numConstit")+substrmods+truthmods,
209 Beta = 1., ZCut= 0.1,
210)
211
212# These jets may be used as input for the JetTruthLabelling, so they also need to be defined as constituents:
213registerAsInputConstit(AntiKt10TruthDressedWZSoftDrop)
214
215AntiKt10TruthGEN = JetDefinition("AntiKt",1.0, cst.TruthGEN,
216 ptmin = 5000,
217 ghostdefs = [],
218 modifiers = ("Sort", )+truthmods,
219 ghostarea = 0.,
220 lock = True,
221)
222AntiKt10TruthGENWZ = AntiKt10TruthGEN.clone(inputdef=cst.TruthGENWZ)
223
224
225
226
227
228
229