564 def makeAlgs (self, config) :
565
566
567 radius = config.getContainerMeta(self.containerName, 'jetRadius', failOnMiss=True)
568 if radius not in [2, 6]:
569 return
570
571 jetCollectionName=self.jetCollection
572 if(self.jetCollection==
"AnalysisJets") :
573 jetCollectionName="AntiKt4EMPFlowJets"
574 if(self.jetCollection==
"AnalysisLargeRJets") :
575 jetCollectionName="AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"
576
577 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
578
579 if not config.isPhyslite() or self.recalibratePhyslite:
580 if jetInput not in ["LCTopo", "HI"]:
581 raise ValueError(
582 "Unsupported input type '{0}' for R-scan jets!".format(jetInput) )
583
584 calibToolName = 'JetCalibTool_' + jetCollectionName[:-4]
585 calibTool = config.createPublicTool( 'JetCalibrationTool', calibToolName )
586 calibTool.JetCollection = jetCollectionName[:-4]
587 if jetInput=="LCTopo":
588 calibTool.ConfigFile = \
589 "JES_MC16Recommendation_Rscan{0}LC_Feb2022_R21.config".format(radius)
590 if config.dataType() is DataType.Data:
591 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Insitu"
592 else:
593 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Smear"
594 elif jetInput=="HI":
595 calibTool.ConfigFile = \
596 "JES_MC16_HI_Jan2021_5TeV.config"
597 if config.dataType() is DataType.Data:
598 calibTool.CalibSequence = "EtaJES_Insitu"
599 else:
600 calibTool.CalibSequence = "EtaJES"
601 calibTool.IsData = (config.dataType() is DataType.Data)
602
603 alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg' )
604 alg.HIsetup = jetInput == "HI"
605 alg.calibrationTool = f'{calibTool.getType()}/{calibTool.getName()}'
606 alg.jets = config.readName (self.containerName)
607 warnings.warn_explicit(
608 "Uncertainties for R-Scan jets are not yet released!",
609 JetUncertaintyWarning, filename='', lineno=0)
610
611