ATLAS Offline Software
Loading...
Searching...
No Matches
python.JetAnalysisConfig.SmallRJetAnalysisConfig Class Reference
Inheritance diagram for python.JetAnalysisConfig.SmallRJetAnalysisConfig:
Collaboration diagram for python.JetAnalysisConfig.SmallRJetAnalysisConfig:

Public Member Functions

 __init__ (self)
 instanceName (self)
 getUncertaintyToolSettings (self, config)
 createUncertaintyTool (self, jetUncertaintiesAlg, config, jetCollectionName, doPseudoData=False)
 makeAlgs (self, config)

Public Attributes

str systematicsModelJES = "All":
 systematicsModelJER
 runJERsystematicsOnData
 containerName
str jetCollection = "AnalysisJets") :
 jvtWP
 fJvtWP
 recalibratePhyslite
 runUncertainties
 runJvtUpdate
 runNNJvtUpdate
 runJvtSelection
 runFJvtSelection

Detailed Description

the ConfigBlock for the small-r jet sequence

Definition at line 166 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig.SmallRJetAnalysisConfig.__init__ ( self)

Definition at line 169 of file JetAnalysisConfig.py.

169 def __init__ (self) :
170 super (SmallRJetAnalysisConfig, self).__init__ ()
171 self.addOption ('containerName', '', type=str,
172 noneAction='error',
173 info="the name of the output container after calibration.")
174 self.addOption ('jetCollection', '', type=str,
175 noneAction='error',
176 info="the jet container to run on. It is interpreted to determine "
177 "the correct config blocks to call for small- or large-R jets.")
178 self.addOption ('runJvtUpdate', False, type=bool,
179 info="whether to update the JVT.")
180 self.addOption ('runNNJvtUpdate', False, type=bool,
181 info="whether to update the NN-JVT.")
182 self.addOption ('runJvtSelection', True, type=bool,
183 info="whether to run JVT selection.")
184 self.addOption ('runFJvtSelection', False, type=bool,
185 info="whether to run forward JVT selection.")
186 self.addOption ('jvtWP', "FixedEffPt", type=str,
187 info="which Jvt WP to apply.")
188 self.addOption ('fJvtWP', "Loose", type=str,
189 info="which fJvt WP to apply.")
190 self.addOption ('runJvtEfficiency', True, type=bool,
191 info="whether to calculate the JVT efficiency.")
192 self.addOption ('runFJvtEfficiency', False, type=bool,
193 info="whether to calculate the forward JVT efficiency.")
194 self.addOption ('runUncertainties', True, type=bool,
195 info="whether to configure JetUncertaintiesTool.", expertMode=True)
196 self.addOption ('systematicsModelJES', "Category", type=str,
197 info="the NP reduction scheme to use for JES: All, Global, Category, "
198 "Scenario. The default is Category.")
199 self.addOption ('systematicsModelJER', "Full", type=str,
200 info="the NP reduction scheme to use for JER: All, Full, Simple. The "
201 "default is Full.")
202 self.addOption ('runJERsystematicsOnData', False, type=bool,
203 info="whether to run the All/Full JER model variations also on data samples. Expert option!",
204 expertMode=True)
205 self.addOption ('recalibratePhyslite', True, type=bool,
206 info="whether to run the `CP::JetCalibrationAlg` on PHYSLITE derivations.")
207 # Calibration tool options
208 self.addOption ('calibToolConfigFile', None, type=str,
209 info="the name of the config file to use for the jet calibration "
210 "tool. Expert option to override JetETmiss recommendations.",
211 expertMode=True)
212 self.addOption ('calibToolCalibArea', None, type=str,
213 info="name of the CVMFS area to use for the jet calibration "
214 "tool. Expert option to override JetETmiss recommendations.",
215 expertMode=True)
216 self.addOption ('calibToolCalibSeq', None, type=str,
217 info="name of the sequence to use for the jet calibration "
218 "tool (e.g. `JetArea_Residual_EtaJES_GSC`). Expert option to override "
219 "JetETmiss recommendations.",
220 expertMode=True)
221 # Uncertainties tool options
222 self.addOption ('uncertToolConfigPath', None, type=str,
223 info="name (str) of the config file to use for the jet uncertainty "
224 "tool. Expert option to override JetETmiss recommendations. The "
225 "default is None.",
226 expertMode=True)
227 self.addOption ('uncertToolCalibArea', None, type=str,
228 info="name (str) of the CVMFS area to use for the jet uncertainty "
229 "tool. Expert option to override JetETmiss recommendations. The "
230 "default is None.",
231 expertMode=True)
232 self.addOption ('uncertToolMCType', None, type=str,
233 info="data type (str) to use for the jet uncertainty tool (e.g. "
234 "'AF3' or 'MC16'). Expert option to override JetETmiss "
235 "recommendations. The default is None.",
236 expertMode=True)
237

Member Function Documentation

◆ createUncertaintyTool()

python.JetAnalysisConfig.SmallRJetAnalysisConfig.createUncertaintyTool ( self,
jetUncertaintiesAlg,
config,
jetCollectionName,
doPseudoData = False )

Definition at line 314 of file JetAnalysisConfig.py.

314 def createUncertaintyTool(self, jetUncertaintiesAlg, config, jetCollectionName, doPseudoData=False):
315
316 # Create an instance of JetUncertaintiesTool, following JetETmiss recommendations.
317 # To run Jet Energy Resolution (JER) uncertainties in the "Full" or "All" schemes,
318 # we need two sets of tools: one configured as normal (MC), the other with the
319 # exact same settings but pretending to run on data (pseudo-data).
320 # This is achieved by passing "isPseudoData=True" to the arguments.
321
322 # Retrieve the common configuration settings
323 configFile, calibArea, mcType = self.getUncertaintyToolSettings(config)
324
325 # The main tool for all JES+JER combinations
326 config.addPrivateTool( 'uncertaintiesTool', 'JetUncertaintiesTool' )
327 jetUncertaintiesAlg.uncertaintiesTool.JetDefinition = jetCollectionName[:-4]
328 jetUncertaintiesAlg.uncertaintiesTool.ConfigFile = configFile
329 if calibArea is not None:
330 jetUncertaintiesAlg.uncertaintiesTool.CalibArea = calibArea
331 jetUncertaintiesAlg.uncertaintiesTool.MCType = mcType
332 jetUncertaintiesAlg.uncertaintiesTool.IsData = (config.dataType() is DataType.Data)
333 jetUncertaintiesAlg.uncertaintiesTool.PseudoDataJERsmearingMode = False
334
335 if config.dataType() is DataType.Data and not (doPseudoData and self.runJERsystematicsOnData):
336 # we don't want any systematics on data if we're not using the right JER model!
337 jetUncertaintiesAlg.affectingSystematicsFilter = '.*'
338 if config.dataType() is not DataType.Data and doPseudoData and not self.runJERsystematicsOnData:
339 # The secondary tool for pseudo-data JER smearing
340 config.addPrivateTool( 'uncertaintiesToolPD', 'JetUncertaintiesTool' )
341 jetUncertaintiesAlg.uncertaintiesToolPD.JetDefinition = jetCollectionName[:-4]
342 jetUncertaintiesAlg.uncertaintiesToolPD.ConfigFile = configFile
343 if calibArea is not None:
344 jetUncertaintiesAlg.uncertaintiesToolPD.CalibArea = calibArea
345 jetUncertaintiesAlg.uncertaintiesToolPD.MCType = mcType
346
347 # This is the part that is different!
348 jetUncertaintiesAlg.uncertaintiesToolPD.IsData = True
349 jetUncertaintiesAlg.uncertaintiesToolPD.PseudoDataJERsmearingMode = True
350
351

◆ getUncertaintyToolSettings()

python.JetAnalysisConfig.SmallRJetAnalysisConfig.getUncertaintyToolSettings ( self,
config )

Definition at line 242 of file JetAnalysisConfig.py.

242 def getUncertaintyToolSettings(self, config):
243
244 # Retrieve appropriate JES/JER recommendations for the JetUncertaintiesTool.
245 # We do this separately from the tool declaration, as we may need to set uo
246 # two such tools, but they have to be private.
247
248 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
249 # Config file:
250 config_file = None
251 if self.systematicsModelJES == "All" and self.systematicsModelJER == "All":
252 config_file = "R4_AllNuisanceParameters_AllJERNP.config"
253 elif "Scenario" in self.systematicsModelJES:
254 if self.systematicsModelJER != "Simple":
255 raise ValueError(
256 "Invalid uncertainty configuration - Scenario* systematicsModelJESs can "
257 "only be used together with the Simple systematicsModelJER")
258 config_file = "R4_{0}_SimpleJER.config".format(self.systematicsModelJES)
259 elif self.systematicsModelJES in ["Global", "Category"] and self.systematicsModelJER in ["Simple", "Full"]:
260 config_file = "R4_{0}Reduction_{1}JER.config".format(self.systematicsModelJES, self.systematicsModelJER)
261 else:
262 raise ValueError(
263 "Invalid combination of systematicsModelJES and systematicsModelJER settings: "
264 "systematicsModelJES: {0}, systematicsModelJER: {1}".format(self.systematicsModelJES, self.systematicsModelJER) )
265
266 # Calibration area:
267 calib_area = None
268 if self.uncertToolCalibArea is not None:
269 calib_area = self.uncertToolCalibArea
270
271 # Expert override for config path:
272 if self.uncertToolConfigPath is not None:
273 config_file = self.uncertToolConfigPath
274 else:
275 if config.geometry() is LHCPeriod.Run2:
276 if config.dataType() is DataType.FastSim:
277 config_file = "rel22/Fall2024_PreRec/" + config_file
278 else:
279 if jetInput == "HI":
280 config_file = "HIJetUncertainties/Spring2023/HI" + config_file
281 else:
282 config_file = "rel22/Summer2023_PreRec/" + config_file
283 else:
284 if config.dataType() is DataType.FastSim:
285 config_file = "rel22/Winter2025_AF3_PreRec/" + config_file
286 else:
287 if jetInput == "HI":
288 config_file = "HIJetUncertainties/Spring2023/HI" + config_file
289 else:
290 config_file = "rel22/Winter2025_PreRec/" + config_file
291
292 # MC type:
293 mc_type = None
294 if self.uncertToolMCType is not None:
295 mc_type = self.uncertToolMCType
296 else:
297 if config.geometry() is LHCPeriod.Run2:
298 if config.dataType() is DataType.FastSim:
299 mc_type = "AF3"
300 else:
301 mc_type = "MC20"
302 else:
303 if config.dataType() is DataType.FastSim:
304 mc_type = "MC23AF3"
305 else:
306 if jetInput == "HI":
307 mc_type = "MC16"
308 else:
309 mc_type = "MC23"
310
311 return config_file, calib_area, mc_type
312
313

◆ instanceName()

python.JetAnalysisConfig.SmallRJetAnalysisConfig.instanceName ( self)
Return the instance name for this block

Definition at line 238 of file JetAnalysisConfig.py.

238 def instanceName (self) :
239 """Return the instance name for this block"""
240 return self.containerName
241

◆ makeAlgs()

python.JetAnalysisConfig.SmallRJetAnalysisConfig.makeAlgs ( self,
config )

Definition at line 352 of file JetAnalysisConfig.py.

352 def makeAlgs (self, config) :
353
354 # Self-select: only run for radius-4 jets
355 if config.getContainerMeta(self.containerName, 'jetRadius', failOnMiss=True) != 4:
356 return
357
358
359 jetCollectionName=self.jetCollection
360 if(self.jetCollection=="AnalysisJets") :
361 jetCollectionName="AntiKt4EMPFlowJets"
362 if(self.jetCollection=="AnalysisLargeRJets") :
363 jetCollectionName="AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"
364
365 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
366
367 if jetInput not in ["EMTopo", "EMPFlow", "HI"]:
368 raise ValueError(
369 "Unsupported input type '{0}' for R=0.4 jets!".format(jetInput) )
370
371 if self.jvtWP not in ["FixedEffPt"]:
372 raise ValueError(
373 "Unsupported NNJvt WP '{0}'".format(self.jvtWP) )
374
375 if self.fJvtWP not in ["Loose", "Tight", "Tighter"]:
376 raise ValueError(
377 "Unsupported fJvt WP '{0}'".format(self.fJvtWP) )
378
379 if not config.isPhyslite() or self.recalibratePhyslite:
380 # Create calibration tool as public so it can be shared
381 # (e.g. with FTAG1LITE's JetCalibratedPtDecoratorAlg).
382 # Must be created before the algorithm so EventLoop
383 # initialises the tool first.
384 calibToolName = 'JetCalibTool_' + jetCollectionName[:-4]
385 calibTool = config.createPublicTool( 'JetCalibrationTool', calibToolName )
386 calibTool.JetCollection = jetCollectionName[:-4]
387 # Get the correct string to use in the config file name
388 if jetInput == "EMPFlow":
389 if config.geometry() is LHCPeriod.Run2:
390 configFile = "PreRec_R22_PFlow_ResPU_EtaJES_GSC_February23_230215.config"
391 calibTool.CalibArea = "00-04-82"
392 elif config.geometry() >= LHCPeriod.Run3:
393 configFile = "AntiKt4EMPFlow_MC23a_PreRecR22_Phase2_CalibConfig_ResPU_EtaJES_GSC_241208_InSitu.config"
394 calibTool.CalibArea = "00-04-83"
395 elif jetInput == "HI":
396 if config.geometry() is LHCPeriod.Run2:
397 configFile = "JES_MC16_HI_Jan2021_5TeV.config"
398 if config.geometry() is LHCPeriod.Run3:
399 configFile = "AntiKt4HI_MC23_EtaJES_Run3PreRec_Run2VJet_Run3EtaInt_5p36TeV.config"
400 calibTool.CalibArea = "00-04-83"
401 else:
402 if config.dataType() is DataType.FastSim:
403 configFile = "JES_MC16Recommendation_AFII_{0}_Apr2019_Rel21.config"
404 else:
405 configFile = "JES_MC16Recommendation_Consolidated_{0}_Apr2019_Rel21.config"
406 configFile = configFile.format(jetInput)
407 if self.calibToolCalibArea is not None:
408 calibTool.CalibArea = self.calibToolCalibArea
409 if self.calibToolConfigFile is not None:
410 configFile = self.calibToolConfigFile
411 calibTool.ConfigFile = configFile
412 if config.dataType() is DataType.Data:
413 if jetInput == "HI":
414 calibTool.CalibSequence = 'EtaJES_Insitu'
415 else:
416 calibTool.CalibSequence = 'JetArea_Residual_EtaJES_GSC_Insitu'
417 else:
418 if jetInput == "EMPFlow":
419 calibTool.CalibSequence = 'JetArea_Residual_EtaJES_GSC'
420 elif jetInput == "HI":
421 calibTool.CalibSequence = 'EtaJES'
422 else:
423 calibTool.CalibSequence = 'JetArea_Residual_EtaJES_GSC_Smear'
424 if self.calibToolCalibSeq is not None:
425 calibTool.CalibSequence = self.calibToolCalibSeq
426 calibTool.IsData = (config.dataType() is DataType.Data)
427 # Prepare the jet calibration algorithm
428 alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg' )
429 alg.HIsetup = jetInput == "HI"
430 alg.calibrationTool = f'{calibTool.getType()}/{calibTool.getName()}'
431 alg.jets = config.readName (self.containerName)
432 alg.jetsOut = config.copyName (self.containerName)
433
434
435 if (config.dataType() is not DataType.Data):
436 alg = config.createAlgorithm( 'CP::JetPartonTruthLabelAlg',
437 'JetPartonTruthLabelAlg' )
438 config.addPrivateTool( 'LabelTool', 'Analysis::JetPartonTruthLabel' )
439 alg.jets = config.readName (self.containerName)
440
441 # Jet uncertainties
442 if self.runUncertainties:
443 alg = config.createAlgorithm( 'CP::JetUncertaintiesAlg', 'JetUncertaintiesAlg' )
444 self.createUncertaintyTool(alg, config, jetCollectionName, doPseudoData=( self.systematicsModelJER in ["Full","All"] ))
445 alg.jets = config.readName (self.containerName)
446 alg.jetsOut = config.copyName (self.containerName)
447 alg.preselection = config.getPreselection (self.containerName, '')
448
449 # Set up the JVT update algorithm:
450 if self.runJvtUpdate :
451 alg = config.createAlgorithm( 'CP::JvtUpdateAlg', 'JvtUpdateAlg' )
452 config.addPrivateTool( 'jvtTool', 'JetVertexTaggerTool' )
453 alg.jvtTool.JetContainer = self.jetCollection
454 alg.jvtTool.SuppressInputDependence=True
455 alg.jets = config.readName (self.containerName)
456 alg.jetsOut = config.copyName (self.containerName)
457 alg.preselection = config.getPreselection (self.containerName, '')
458
459 if self.runNNJvtUpdate:
460 assert jetInput=="EMPFlow", "NN JVT only defined for PFlow jets"
461 alg = config.createAlgorithm( 'CP::JetDecoratorAlg', 'NNJvtUpdateAlg' )
462 config.addPrivateTool( 'decorator', 'JetPileupTag::JetVertexNNTagger' )
463 alg.jets = config.readName (self.containerName)
464 alg.jetsOut = config.copyName (self.containerName)
465 # Set this actually to the *output* collection
466 alg.decorator.JetContainer = alg.jetsOut.replace ('%SYS%', 'NOSYS')
467 alg.decorator.SuppressInputDependence=True
468 alg.decorator.SuppressOutputDependence=True
469
470 # Set up the jet efficiency scale factor calculation algorithm
471 # Change the truthJetCollection property to AntiKt4TruthWZJets if preferred
472 if self.runJvtSelection :
473 assert jetInput=="EMPFlow", "NNJvt WPs and SFs only valid for PFlow jets"
474 warnings.warn_explicit(
475 "jvtWP, runJvtSelection and runJvtEfficiency"
476 " are deprecated - please use a"
477 " JVTWorkingPoint block instead.",
478 ConfigDeprecationWarning, filename='', lineno=0)
479
480 alg = config.createAlgorithm('CP::AsgSelectionAlg', 'JvtSelectionAlg')
481 config.addPrivateTool('selectionTool', 'CP::NNJvtSelectionTool')
482 alg.selectionTool.JetContainer = config.readName(self.containerName)
483 alg.selectionTool.JvtMomentName = "NNJvt"
484 alg.selectionTool.WorkingPoint = self.jvtWP
485 alg.selectionTool.MaxPtForJvt = 60*GeV
486 alg.selectionDecoration = "jvt_selection,as_char"
487 alg.particles = config.readName(self.containerName)
488
489 if self.runJvtEfficiency and config.dataType() is not DataType.Data:
490 alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', 'JvtEfficiencyAlg' )
491 config.addPrivateTool( 'efficiencyTool', 'CP::NNJvtEfficiencyTool' )
492 alg.efficiencyTool.JetContainer = config.readName(self.containerName)
493 alg.efficiencyTool.MaxPtForJvt = 60*GeV
494 alg.efficiencyTool.WorkingPoint = self.jvtWP
495 if config.geometry() is LHCPeriod.Run2:
496 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run2_EMPFlow.root"
497 else:
498 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run3_EMPFlow.root"
499 alg.selection = 'jvt_selection,as_char'
500 alg.scaleFactorDecoration = 'jvt_effSF_%SYS%'
501 alg.outOfValidity = 2
502 alg.outOfValidityDeco = 'no_jvt'
503 alg.skipBadEfficiency = False
504 alg.jets = config.readName (self.containerName)
505 alg.preselection = config.getPreselection (self.containerName, '')
506 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, 'jvtEfficiency')
507 config.addSelection (self.containerName, 'baselineJvt', 'jvt_selection,as_char', preselection=False)
508
509 if self.runFJvtSelection :
510 assert jetInput=="EMPFlow", "fJvt WPs and SFs only valid for PFlow jets"
511 warnings.warn_explicit(
512 "fJvtWP, runFJvtSelection and runFJvtEfficiency"
513 " are deprecated - please use a"
514 " FJVTWorkingPoint block instead.",
515 ConfigDeprecationWarning, filename='', lineno=0)
516
517 alg = config.createAlgorithm('CP::AsgSelectionAlg', 'FJvtSelectionAlg')
518 config.addPrivateTool('selectionTool', 'CP::FJvtSelectionTool')
519 alg.selectionTool.JetContainer = config.readName(self.containerName)
520 alg.selectionTool.JvtMomentName = "DFCommonJets_fJvt"
521 alg.selectionTool.WorkingPoint = self.fJvtWP
522 alg.selectionDecoration = "fjvt_selection,as_char"
523 alg.particles = config.readName(self.containerName)
524
525 if self.runFJvtEfficiency and config.dataType() is not DataType.Data:
526 alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', 'FJvtEfficiencyAlg' )
527 config.addPrivateTool( 'efficiencyTool', 'CP::FJvtEfficiencyTool' )
528 alg.efficiencyTool.JetContainer = config.readName(self.containerName)
529 alg.efficiencyTool.WorkingPoint = self.fJvtWP
530 if config.geometry() is LHCPeriod.Run2:
531 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/fJvtSFFile_Run2_EMPFlow.root"
532 else:
533 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/fJvtSFFile_Run3_EMPFlow.root"
534 alg.selection = 'fjvt_selection,as_char'
535 alg.scaleFactorDecoration = 'fjvt_effSF_%SYS%'
536 alg.outOfValidity = 2
537 alg.outOfValidityDeco = 'no_fjvt'
538 alg.skipBadEfficiency = False
539 alg.jets = config.readName (self.containerName)
540 alg.preselection = config.getPreselection (self.containerName, '')
541 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, 'fjvtEfficiency')
542 config.addSelection (self.containerName, 'baselineFJvt', 'fjvt_selection,as_char', preselection=False)
543
544 # Additional decorations
545 alg = config.createAlgorithm( 'CP::AsgEnergyDecoratorAlg', 'AsgEnergyDecoratorAlg' )
546 alg.particles = config.readName (self.containerName)
547
548 config.addOutputVar (self.containerName, 'e_%SYS%', 'e')
549
550
if(pathvar)

Member Data Documentation

◆ containerName

python.JetAnalysisConfig.SmallRJetAnalysisConfig.containerName

Definition at line 355 of file JetAnalysisConfig.py.

◆ fJvtWP

python.JetAnalysisConfig.SmallRJetAnalysisConfig.fJvtWP

Definition at line 377 of file JetAnalysisConfig.py.

◆ jetCollection

str python.JetAnalysisConfig.SmallRJetAnalysisConfig.jetCollection = "AnalysisJets") :

Definition at line 360 of file JetAnalysisConfig.py.

◆ jvtWP

python.JetAnalysisConfig.SmallRJetAnalysisConfig.jvtWP

Definition at line 373 of file JetAnalysisConfig.py.

◆ recalibratePhyslite

python.JetAnalysisConfig.SmallRJetAnalysisConfig.recalibratePhyslite

Definition at line 379 of file JetAnalysisConfig.py.

◆ runFJvtSelection

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runFJvtSelection

Definition at line 509 of file JetAnalysisConfig.py.

◆ runJERsystematicsOnData

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runJERsystematicsOnData

Definition at line 335 of file JetAnalysisConfig.py.

◆ runJvtSelection

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runJvtSelection

Definition at line 472 of file JetAnalysisConfig.py.

◆ runJvtUpdate

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runJvtUpdate

Definition at line 450 of file JetAnalysisConfig.py.

◆ runNNJvtUpdate

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runNNJvtUpdate

Definition at line 459 of file JetAnalysisConfig.py.

◆ runUncertainties

python.JetAnalysisConfig.SmallRJetAnalysisConfig.runUncertainties

Definition at line 442 of file JetAnalysisConfig.py.

◆ systematicsModelJER

python.JetAnalysisConfig.SmallRJetAnalysisConfig.systematicsModelJER

Definition at line 264 of file JetAnalysisConfig.py.

◆ systematicsModelJES

python.JetAnalysisConfig.SmallRJetAnalysisConfig.systematicsModelJES = "All":

Definition at line 251 of file JetAnalysisConfig.py.


The documentation for this class was generated from the following file: