495 def makeAlgs (self, config) :
497 if config.dataType()
is not DataType.Data:
498 log = logging.getLogger(
'TauJetTriggerSFConfig')
500 from TriggerAnalysisAlgorithms.TriggerAnalysisConfig
import is_year_in_current_period
503 if self.includeAllYearsPerRun:
504 for year
in self.triggerChainsPerYear:
507 triggers.update(self.get_year_data(self.triggerChainsPerYear, year))
508 elif config.campaign()
is Campaign.MC20a:
509 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2015))
510 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2016))
511 elif config.campaign()
is Campaign.MC20d:
512 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2017))
513 elif config.campaign()
is Campaign.MC20e:
514 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2018))
515 elif config.campaign()
is Campaign.MC23a:
516 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2022))
517 elif config.campaign()
is Campaign.MC23d:
518 triggers.update(self.get_year_data(self.triggerChainsPerYear, 2023))
520 log.warning(
"unknown campaign, skipping triggers: %s",
str(config.campaign()))
522 for chain
in triggers:
523 chain_noHLT = chain.replace(
"HLT_",
"")
524 chain_out = chain_noHLT
if self.removeHLTPrefix
else chain
525 alg = config.createAlgorithm(
'CP::TauEfficiencyCorrectionsAlg',
526 'TauTrigEfficiencyCorrectionsAlg_' + chain )
527 config.addPrivateTool(
'efficiencyCorrectionsTool',
528 'TauAnalysisTools::TauEfficiencyCorrectionsTool' )
531 alg.efficiencyCorrectionsTool.EfficiencyCorrectionTypes = [12]
532 if config.geometry()
is LHCPeriod.Run2:
533 alg.efficiencyCorrectionsTool.Campaign =
"mc20"
535 alg.efficiencyCorrectionsTool.Campaign = config.campaign().value
536 alg.efficiencyCorrectionsTool.TriggerName = chain
540 if self.tauID==
"Loose":
542 elif self.tauID==
"Medium":
544 elif self.tauID==
"Tight":
547 raise ValueError (
"invalid tauID: \"" + self.tauID +
"\". Allowed values are loose, medium, tight")
548 alg.efficiencyCorrectionsTool.JetIDLevel = JetIDLevel
549 alg.efficiencyCorrectionsTool.TriggerSFMeasurement =
"combined"
550 alg.efficiencyCorrectionsTool.useFastSim = config.dataType()
is DataType.FastSim
552 alg.scaleFactorDecoration = f
"tau_{self.prefixSF}_{chain_out}_%SYS%"
553 alg.outOfValidity = 2
554 alg.outOfValidityDeco = f
"bad_eff_tautrig_{chain_out}"
555 alg.taus = config.readName (self.containerName)
556 alg.preselection = config.getPreselection (self.containerName, self.tauID)
557 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f
"{self.prefixSF}_{chain_out}")