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