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