412 def makeAlgs (self, config) :
413
414
415 radius = config.getContainerMeta(self.containerName, 'jetRadius', failOnMiss=True)
416 if radius not in [2, 6]:
417 return
418
419 jetCollectionName=self.jetCollection
420 if(self.jetCollection==
"AnalysisJets") :
421 jetCollectionName="AntiKt4EMPFlowJets"
422 if(self.jetCollection==
"AnalysisLargeRJets") :
423 jetCollectionName="AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"
424
425 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
426
427 if not config.isPhyslite() or self.recalibratePhyslite:
428 if jetInput not in ["LCTopo", "HI"]:
429 raise ValueError(
430 "Unsupported input type '{0}' for R-scan jets!".format(jetInput) )
431
432 calibToolName = 'JetCalibTool_' + jetCollectionName[:-4]
433 calibTool = config.createPublicTool( 'JetCalibrationTool', calibToolName )
434 calibTool.JetCollection = jetCollectionName[:-4]
435 if jetInput=="LCTopo":
436 calibTool.ConfigFile = \
437 "JES_MC16Recommendation_Rscan{0}LC_Feb2022_R21.config".format(radius)
438 if config.dataType() is DataType.Data:
439 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Insitu"
440 else:
441 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Smear"
442 elif jetInput=="HI":
443 calibTool.ConfigFile = \
444 "JES_MC16_HI_Jan2021_5TeV.config"
445 if config.dataType() is DataType.Data:
446 calibTool.CalibSequence = "EtaJES_Insitu"
447 else:
448 calibTool.CalibSequence = "EtaJES"
449 calibTool.IsData = (config.dataType() is DataType.Data)
450
451 alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg' )
452 alg.HIsetup = jetInput == "HI"
453 alg.calibrationTool = f'{calibTool.getType()}/{calibTool.getName()}'
454 alg.jets = config.readName (self.containerName)
455 warnings.warn_explicit(
456 "Uncertainties for R-Scan jets are not yet released!",
457 JetUncertaintyWarning, filename='', lineno=0)
458
459