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