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