ATLAS Offline Software
Loading...
Searching...
No Matches
StandardSmallRJets.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from JetRecConfig.StandardJetConstits import stdConstitDic as cst
4from JetRecConfig.JetRecConfig import registerAsInputConstit
5from .JetDefinition import JetDefinition
6
7
8# *********************************************************
9# Ghost-associated particles for the standard small R jets
10# *********************************************************
11standardghosts = ["Track","MuonSegment","Truth","Tower"]
12
13
14flavourghosts = [ "BHadronsInitial", "BHadronsFinal", "BQuarksFinal",
15 "CHadronsInitial", "CHadronsFinal", "CQuarksFinal",
16 "TausFinal",
17 "WBosons", "ZBosons", "HBosons", "TQuarksFinal",
18 "Partons",]
19
20
21
22
23
24# *********************************************************
25# Modifiers for the standard small R jets
26# *********************************************************
27# (use tuples rather than lists to prevent accidental modification)
28calibmods = (
29 "ConstitFourMom", "CaloEnergies",
30 "Calib:T0:mc",
31 "Sort",
32 )
33
34calibmods_lowCut = (
35 "ConstitFourMom", "CaloEnergies",
36 "Calib:T0:mc:JetArea_Residual",
37 "Sort",
38)
39
40calibmods_noCut = (
41 "ConstitFourMom", "CaloEnergies", "Sort"
42)
43
44standardmods = (
45 "Width",
46 "CaloQuality", "TrackMoments","TrackSumMoments",
47 "JVF", "JVT", "Charge",
48)
49
50standardmods_ufo = (
51 "Width",
52 "CaloQualityFE", "TrackMoments","TrackSumMoments",
53 "JVF", "JVT", "Charge",
54)
55
56clustermods = ("ECPSFrac","ClusterMoments",)
57truthmods = ("PartonTruthLabel","JetDeltaRLabel:5000", "JetGhostLabel")
58pflowmods = ()
59
60substrmods = ("nsubjettiness","ecorr")
61
62# ********************************************************
63# Standard track jet definition
64# ********************************************************
65AntiKtVR30Rmax4Rmin02PV0Track = JetDefinition("AntiKt", 0.4, cst.PV0Track,
66 modifiers = ("Sort","JetDeltaRLabel:4500","JetGhostLabel","vr"),
67 ptmin=4000,
68 VRMinR = 0.02,
69 VRMassSc = 30000,
70 lock = True)
71
72# These jets are used as ghost, so they also need to be defined as constituents :
73registerAsInputConstit(AntiKtVR30Rmax4Rmin02PV0Track)
74
75
76AntiKt4PV0Track = JetDefinition("AntiKt", 0.4, cst.PV0Track,
77 modifiers = ("Sort",)+truthmods,
78 ptmin=2000,
79 lock = True)
80
81
82# *********************************************************
83# Standard small R reco jet definitions
84# *********************************************************
85
86AntiKt4EMPFlow = JetDefinition("AntiKt",0.4,cst.GPFlow,
87 ghostdefs = standardghosts+flavourghosts,
88 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","JetDeltaRInitialLabel:5000","JetGhostInitialLabel","JetQuarkChargeLabel","LArHVCorr","jetiso"),
89 lock = True
90)
91
92
93AntiKt4EMPFlowML = JetDefinition("AntiKt",0.4,cst.GPFlowML,
94 infix = "ML",
95 ghostdefs = standardghosts+flavourghosts,
96 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","JetDeltaRInitialLabel:5000","JetGhostInitialLabel","JetQuarkChargeLabel","LArHVCorr","jetiso"),
97 lock = True
98)
99
100
101AntiKt4EMPFlow_noElectrons = JetDefinition("AntiKt",0.4,cst.GPFlow_noElectrons,
102 ghostdefs = standardghosts+flavourghosts,
103 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","LArHVCorr","jetiso"),
104 lock = True
105)
106
107AntiKt4EMPFlow_noMuons = JetDefinition("AntiKt",0.4,cst.GPFlow_noMuons,
108 ghostdefs = standardghosts+flavourghosts,
109 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","LArHVCorr","jetiso"),
110 lock = True
111)
112
113AntiKt4EMPFlow_noLeptons = JetDefinition("AntiKt",0.4,cst.GPFlow_noLeptons,
114 ghostdefs = standardghosts+flavourghosts,
115 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","LArHVCorr","jetiso"),
116 lock = True
117)
118
119AntiKt4EMPFlow_tauSeedEleRM = JetDefinition("AntiKt",0.4,cst.GPFlow_tauSeedEleRM,
120 ghostdefs = standardghosts+flavourghosts,
121 modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","LArHVCorr","jetiso"),
122 lock = True
123)
124
125AntiKt4LCTopo = JetDefinition("AntiKt",0.4,cst.LCTopoOrigin,
126 ghostdefs = standardghosts+flavourghosts,
127 modifiers = calibmods+("Filter_ifnotESD:15000","OriginSetPV","LArHVCorr")+standardmods+clustermods,
128 lock = True,
129)
130
131AntiKt4EMTopo = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
132 ghostdefs = standardghosts+["TrackLRT"]+flavourghosts,
133 modifiers = calibmods+truthmods+standardmods+clustermods+("Filter_calibThreshold:15000","LArHVCorr","jetiso",),
134 lock = True,
135)
136
137
138# *********************************************************
139# EMPFlow CSSK jets (no jet calibration available yet,
140# thus applying only low pT filter)
141# *********************************************************
142AntiKt4EMPFlowCSSK = JetDefinition("AntiKt",0.4,cst.GPFlowCSSK,
143 ghostdefs = standardghosts+flavourghosts,
144 modifiers = ("ConstitFourMom","CaloEnergies","Sort","Filter:1","JetPtAssociation","LArHVCorr","jetiso")+truthmods+standardmods,
145 ptmin = 2000,
146 lock = True
147)
148
149# *********************************************************
150# UFO CSSK jets
151# *********************************************************
152AntiKt4UFOCSSK = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
153 ghostdefs = standardghosts+flavourghosts,
154 modifiers = calibmods+("Filter_calibThreshold:10000","EMScaleMom","JetPtAssociation","CaloEnergiesClus","JetGhostLabel","jetiso")+truthmods+standardmods_ufo,
155 lock = True
156)
157
158# *********************************************************
159# Low and no pT cut containers used in JETMX derivations
160# *********************************************************
161AntiKt4UFOCSSKNoPtCut = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
162 infix = "NoPtCut",
163 ghostdefs = standardghosts+flavourghosts,
164 modifiers = calibmods_noCut+("Filter:1","EMScaleMom","JetPtAssociation","CaloEnergiesClus","jetiso",)+truthmods+standardmods_ufo,
165 ptmin = 1,
166 lock = True
167)
168
169AntiKt4EMPFlowCSSKNoPtCut = JetDefinition("AntiKt",0.4,cst.GPFlowCSSK,
170 infix = "NoPtCut",
171 ghostdefs = standardghosts+flavourghosts,
172 modifiers = ("ConstitFourMom","CaloEnergies","Sort","Filter:1","JetPtAssociation","jetiso")+truthmods+standardmods,
173 ptmin = 1,
174 lock = True
175)
176
177AntiKt4EMPFlowNoPtCut = JetDefinition("AntiKt",0.4,cst.GPFlow,
178 infix = "NoPtCut",
179 ghostdefs = standardghosts+flavourghosts,
180 modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+("JetPtAssociation","CaloEnergiesClus","jetiso"),
181 ptmin = 1,
182 lock = True
183)
184
185AntiKt4EMPFlowByVertex = JetDefinition("AntiKt", 0.4, cst.GPFlowByVtx,
186 ghostdefs = standardghosts+flavourghosts,
187 modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+substrmods+("JetPtAssociation","CaloEnergiesClus"),
188 ptmin = 7000,
189 lock = True,
190 byVertex = True
191)
192
193AntiKt4EMTopoNoPtCut = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
194 infix = "NoPtCut",
195 ghostdefs = standardghosts+flavourghosts,
196 modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+clustermods+("JetPtAssociation","jetiso",),
197 ptmin = 1,
198 lock = True
199)
200
201AntiKt4MLTopo = JetDefinition("AntiKt",0.4,cst.MLTopoOrigin,
202 infix = "",
203 ghostdefs = standardghosts+flavourghosts,
204 modifiers = ("CaloEnergies", "Sort")+("Filter:1",)+truthmods+standardmods+clustermods+("JetPtAssociation","jetiso",),
205 ptmin = 1,
206 lock = True
207)
208
209AntiKt4UFOCSSKLowPt = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
210 infix = "LowPt",
211 ghostdefs = standardghosts+flavourghosts,
212 modifiers = calibmods_noCut+("Filter:7000","EMScaleMom","JetPtAssociation","CaloEnergiesClus","jetiso",)+truthmods+standardmods_ufo,
213 ptmin = 1,
214 lock = True
215)
216
217AntiKt4EMPFlowLowPt = JetDefinition("AntiKt",0.4,cst.GPFlow,
218 infix = "LowPt",
219 ghostdefs = standardghosts+flavourghosts,
220 modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+("JetPtAssociation","jetiso",),
221 ptmin = 2000,
222 lock = True
223)
224
225AntiKt4EMTopoLowPt = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
226 infix = "LowPt",
227 ghostdefs = standardghosts+flavourghosts,
228 modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+clustermods+("JetPtAssociation","jetiso",),
229 ptmin = 2000,
230 lock = True
231)
232
233# *********************************************************
234# Standard small R truth jet definitions
235# *********************************************************
236
237AntiKt4Truth = JetDefinition("AntiKt",0.4, cst.Truth,
238 ghostdefs = flavourghosts,
239 modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
240 lock = True,
241)
242
243AntiKt2Truth = JetDefinition("AntiKt",0.2, cst.Truth,
244 ghostdefs = flavourghosts,
245 modifiers = ("Sort", "Width")+truthmods,
246 lock = True,
247)
248
249AntiKt4TruthWZ = JetDefinition("AntiKt",0.4, cst.TruthWZ,
250 ghostdefs = flavourghosts,
251 modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
252 lock = True,
253)
254
255AntiKt4TruthDressedWZ = JetDefinition("AntiKt",0.4, cst.TruthDressedWZ,
256 ghostdefs = flavourghosts,
257 modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
258 lock = True,
259)
260
261# These jets are used as input for the JetPileupLabel modifier, so they also need to be defined as constituents:
262registerAsInputConstit(AntiKt4TruthDressedWZ)
263
264AntiKtVRTruthCharged = JetDefinition("AntiKt",0.4, cst.TruthCharged,
265 ghostdefs = flavourghosts,
266 modifiers = ("Sort",)+truthmods,
267 VRMinR = 0.02,
268 VRMassSc = 30000,
269 lock = True
270)
271
272AntiKt4TruthGEN = JetDefinition("AntiKt",0.4, cst.TruthGEN,
273 ptmin = 5000,
274 ghostdefs = [],
275 modifiers = ("Sort", )+truthmods,
276 ghostarea = 0.,
277 lock = True,
278)
279AntiKt4TruthGENWZ = AntiKt4TruthGEN.clone(inputdef=cst.TruthGENWZ)
280
281AntiKt6TruthGEN = AntiKt4TruthGEN.clone(radius=0.6)
282AntiKt6TruthGENWZ = AntiKt4TruthGENWZ.clone(radius=0.6)
283
284
286 """Top-level function to schedule the smallR jets in standard reconstruction """
287 from JetRecConfig.JetRecConfig import JetRecCfg
288
289 standarSmallRList = [
290 AntiKt4EMPFlow,
291 AntiKt4LCTopo,
292 AntiKt4Truth,
293 ]
294
295 compacc = JetRecCfg( flags, standarSmallRList[0], )
296 for jetdef in standarSmallRList[1:]:
297 compacc.merge( JetRecCfg( flags, jetdef) )
298
299 return compacc
300