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", "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","JetDeltaRInitialLabel:5000","JetGhostInitialLabel","JetQuarkChargeLabel","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 AntiKt4EMPFlow_tauSeedEleRM = JetDefinition("AntiKt",0.4,cst.GPFlow_tauSeedEleRM,
109  ghostdefs = standardghosts+flavourghosts,
110  modifiers = calibmods+truthmods+standardmods+("Filter_calibThreshold:10000","JetGhostLabel","LArHVCorr","jetiso"),
111  lock = True
112 )
113 
114 AntiKt4LCTopo = JetDefinition("AntiKt",0.4,cst.LCTopoOrigin,
115  ghostdefs = standardghosts+flavourghosts,
116  modifiers = calibmods+("Filter_ifnotESD:15000","OriginSetPV","LArHVCorr")+standardmods+clustermods,
117  lock = True,
118 )
119 
120 AntiKt4EMTopo = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
121  ghostdefs = standardghosts+["TrackLRT"]+flavourghosts,
122  modifiers = calibmods+truthmods+standardmods+clustermods+("Filter_calibThreshold:15000","LArHVCorr","jetiso",),
123  lock = True,
124 )
125 
126 
127 # *********************************************************
128 # EMPFlow CSSK jets (no jet calibration available yet,
129 # thus applying only low pT filter)
130 # *********************************************************
131 AntiKt4EMPFlowCSSK = JetDefinition("AntiKt",0.4,cst.GPFlowCSSK,
132  ghostdefs = standardghosts+flavourghosts,
133  modifiers = ("ConstitFourMom","CaloEnergies","Sort","Filter:1","JetPtAssociation","LArHVCorr","jetiso")+truthmods+standardmods,
134  ptmin = 2000,
135  lock = True
136 )
137 
138 # *********************************************************
139 # UFO CSSK jets
140 # *********************************************************
141 AntiKt4UFOCSSK = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
142  ghostdefs = standardghosts+flavourghosts,
143  modifiers = calibmods+("Filter_calibThreshold:10000","EMScaleMom","JetPtAssociation","CaloEnergiesClus","JetGhostLabel","jetiso")+truthmods+standardmods_ufo,
144  lock = True
145 )
146 
147 # *********************************************************
148 # Low and no pT cut containers used in JETMX derivations
149 # *********************************************************
150 AntiKt4UFOCSSKNoPtCut = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
151  infix = "NoPtCut",
152  ghostdefs = standardghosts+flavourghosts,
153  modifiers = calibmods_noCut+("Filter:1","EMScaleMom","JetPtAssociation","CaloEnergiesClus","jetiso",)+truthmods+standardmods_ufo,
154  ptmin = 1,
155  lock = True
156 )
157 
158 AntiKt4EMPFlowCSSKNoPtCut = JetDefinition("AntiKt",0.4,cst.GPFlowCSSK,
159  infix = "NoPtCut",
160  ghostdefs = standardghosts+flavourghosts,
161  modifiers = ("ConstitFourMom","CaloEnergies","Sort","Filter:1","JetPtAssociation","jetiso")+truthmods+standardmods,
162  ptmin = 1,
163  lock = True
164 )
165 
166 AntiKt4EMPFlowNoPtCut = JetDefinition("AntiKt",0.4,cst.GPFlow,
167  infix = "NoPtCut",
168  ghostdefs = standardghosts+flavourghosts,
169  modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+("JetPtAssociation","CaloEnergiesClus","jetiso"),
170  ptmin = 1,
171  lock = True
172 )
173 
174 AntiKt4EMPFlowByVertex = JetDefinition("AntiKt", 0.4, cst.GPFlowByVtx,
175  ghostdefs = standardghosts+flavourghosts,
176  modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+("JetPtAssociation","CaloEnergiesClus"),
177  ptmin = 7000,
178  lock = True,
179  byVertex = True
180 )
181 
182 AntiKt4EMTopoNoPtCut = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
183  infix = "NoPtCut",
184  ghostdefs = standardghosts+flavourghosts,
185  modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+clustermods+("JetPtAssociation","jetiso",),
186  ptmin = 1,
187  lock = True
188 )
189 
190 AntiKt4UFOCSSKLowPt = JetDefinition("AntiKt",0.4,cst.UFOCSSK,
191  infix = "LowPt",
192  ghostdefs = standardghosts+flavourghosts,
193  modifiers = calibmods_noCut+("Filter:7000","EMScaleMom","JetPtAssociation","CaloEnergiesClus","jetiso",)+truthmods+standardmods_ufo,
194  ptmin = 1,
195  lock = True
196 )
197 
198 AntiKt4EMPFlowLowPt = JetDefinition("AntiKt",0.4,cst.GPFlow,
199  infix = "LowPt",
200  ghostdefs = standardghosts+flavourghosts,
201  modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+("JetPtAssociation","jetiso",),
202  ptmin = 2000,
203  lock = True
204 )
205 
206 AntiKt4EMTopoLowPt = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin,
207  infix = "LowPt",
208  ghostdefs = standardghosts+flavourghosts,
209  modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+clustermods+("JetPtAssociation","jetiso",),
210  ptmin = 2000,
211  lock = True
212 )
213 
214 # *********************************************************
215 # Standard small R truth jet definitions
216 # *********************************************************
217 
218 AntiKt4Truth = JetDefinition("AntiKt",0.4, cst.Truth,
219  ghostdefs = flavourghosts,
220  modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
221  lock = True,
222 )
223 
224 AntiKt2Truth = JetDefinition("AntiKt",0.2, cst.Truth,
225  ghostdefs = flavourghosts,
226  modifiers = ("Sort", "Width")+truthmods,
227  lock = True,
228 )
229 
230 AntiKt4TruthWZ = JetDefinition("AntiKt",0.4, cst.TruthWZ,
231  ghostdefs = flavourghosts,
232  modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
233  lock = True,
234 )
235 
236 AntiKt4TruthDressedWZ = JetDefinition("AntiKt",0.4, cst.TruthDressedWZ,
237  ghostdefs = flavourghosts,
238  modifiers = ("Sort", "Width", "jetisoTruth")+truthmods,
239  lock = True,
240 )
241 
242 # These jets are used as input for the JetPileupLabel modifier, so they also need to be defined as constituents:
243 registerAsInputConstit(AntiKt4TruthDressedWZ)
244 
245 AntiKtVRTruthCharged = JetDefinition("AntiKt",0.4, cst.TruthCharged,
246  ghostdefs = flavourghosts,
247  modifiers = ("Sort",)+truthmods,
248  VRMinR = 0.02,
249  VRMassSc = 30000,
250  lock = True
251 )
252 
253 AntiKt4TruthGEN = JetDefinition("AntiKt",0.4, cst.TruthGEN,
254  ptmin = 5000,
255  ghostdefs = [],
256  modifiers = ("Sort", )+truthmods,
257  ghostarea = 0.,
258  lock = True,
259 )
260 AntiKt4TruthGENWZ = AntiKt4TruthGEN.clone(inputdef=cst.TruthGENWZ)
261 
262 AntiKt6TruthGEN = AntiKt4TruthGEN.clone(radius=0.6)
263 AntiKt6TruthGENWZ = AntiKt4TruthGENWZ.clone(radius=0.6)
264 
265 
267  """Top-level function to schedule the smallR jets in standard reconstruction """
268  from JetRecConfig.JetRecConfig import JetRecCfg
269 
270  standarSmallRList = [
271  AntiKt4EMPFlow,
272  AntiKt4LCTopo,
273  AntiKt4Truth,
274  ]
275 
276  compacc = JetRecCfg( flags, standarSmallRList[0], )
277  for jetdef in standarSmallRList[1:]:
278  compacc.merge( JetRecCfg( flags, jetdef) )
279 
280  return compacc
281 
python.StandardSmallRJets.StandardSmallRJetCfg
def StandardSmallRJetCfg(flags)
Definition: StandardSmallRJets.py:266
python.JetRecConfig.registerAsInputConstit
def registerAsInputConstit(jetdef)
Definition: JetRecConfig.py:861
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