587 def makeAlgs (self, config) :
588
589
590 radius = config.getContainerMeta(self.containerName, 'jetRadius', failOnMiss=True)
591 if radius not in [2, 6]:
592 return
593
594 jetCollectionName = config.getContainerMeta(self.containerName, 'jetCollectionName', failOnMiss=True)
595
596 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
597
598 if not config.isPhyslite() or self.recalibratePhyslite:
599 if jetInput not in ["LCTopo", "HI"]:
600 raise ValueError(
601 f"Unsupported input type '{jetInput}' for R-scan jets!" )
602
603 calibToolName = 'JetCalibTool_' + jetCollectionName[:-4]
604 calibTool = config.createPublicTool( 'JetCalibrationTool', calibToolName )
605 calibTool.JetCollection = jetCollectionName[:-4]
606 if jetInput=="LCTopo":
607 calibTool.ConfigFile = \
608 f"JES_MC16Recommendation_Rscan{radius}LC_Feb2022_R21.config"
609 if config.dataType() is DataType.Data:
610 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Insitu"
611 else:
612 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Smear"
613 elif jetInput=="HI":
614 calibTool.ConfigFile = \
615 "JES_MC16_HI_Jan2021_5TeV.config"
616 if config.dataType() is DataType.Data:
617 calibTool.CalibSequence = "EtaJES_Insitu"
618 else:
619 calibTool.CalibSequence = "EtaJES"
620 calibTool.IsData = (config.dataType() is DataType.Data)
621
622 alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg' )
623 alg.HIsetup = jetInput == "HI"
624 alg.calibrationTool = f'{calibTool.getType()}/{calibTool.getName()}'
625 alg.jets = config.readName (self.containerName)
626 warnings.warn_explicit(
627 "Uncertainties for R-Scan jets are not yet released!",
628 JetUncertaintyWarning, filename='', lineno=0)
629
630