512 def makeAlgs (self, config) :
514 if config.dataType()
is not DataType.Data:
515 log = logging.getLogger(
'TauJetTriggerSFConfig')
517 from TriggerAnalysisAlgorithms.TriggerAnalysisConfig
import is_year_in_current_period
520 if self.includeAllYearsPerRun:
521 for year
in self.triggerChainsPerYear:
524 triggers.update(self.get_year_data(self.triggerChainsPerYear, year))
525 elif config.campaign()
is Campaign.MC20a:
526 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2015))
527 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2016))
528 elif config.campaign()
is Campaign.MC20d:
529 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2017))
530 elif config.campaign()
is Campaign.MC20e:
531 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2018))
532 elif config.campaign()
is Campaign.MC23a:
533 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2022))
534 elif config.campaign()
is Campaign.MC23d:
535 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2023))
537 log.warning(
"unknown campaign, skipping triggers: %s",
str(config.campaign()))
539 for chain
in triggers:
540 chain_noHLT = chain.replace(
"HLT_",
"")
541 chain_out = chain_noHLT
if self.removeHLTPrefix
else chain
542 alg = config.createAlgorithm(
'CP::TauEfficiencyCorrectionsAlg',
543 'TauTrigEfficiencyCorrectionsAlg_' + chain )
544 config.addPrivateTool(
'efficiencyCorrectionsTool',
545 'TauAnalysisTools::TauEfficiencyCorrectionsTool' )
548 alg.efficiencyCorrectionsTool.EfficiencyCorrectionTypes = [12]
549 if config.geometry()
is LHCPeriod.Run2:
550 alg.efficiencyCorrectionsTool.Campaign =
"mc20"
552 alg.efficiencyCorrectionsTool.Campaign = config.campaign().value
553 alg.efficiencyCorrectionsTool.TriggerName = chain
557 if self.tauID==
"Loose":
559 elif self.tauID==
"Medium":
561 elif self.tauID==
"Tight":
564 raise ValueError (
"invalid tauID: \"" + self.tauID +
"\". Allowed values are loose, medium, tight")
565 alg.efficiencyCorrectionsTool.JetIDLevel = JetIDLevel
566 alg.efficiencyCorrectionsTool.TriggerSFMeasurement =
"combined"
567 alg.efficiencyCorrectionsTool.useFastSim = config.dataType()
is DataType.FastSim
569 alg.scaleFactorDecoration = f
"tau_{self.prefixSF}_{chain_out}_%SYS%"
570 alg.outOfValidity = 2
571 alg.outOfValidityDeco = f
"bad_eff_tautrig_{chain_out}"
572 alg.taus = config.readName (self.containerName)
573 alg.preselection = config.getPreselection (self.containerName, self.tauID)
574 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f
"{self.prefixSF}_{chain_out}")