620 def makeAlgs (self, config) :
621
622 if config.dataType() is not DataType.Data:
623 log = logging.getLogger('TauTriggerAnalysisSF')
624
625
626 if config.campaign() is Campaign.MC23e:
627 log.warning("Tau trigger scale factors are not available yet for MC23e")
628 return
629
630 if config.campaign() is Campaign.MC23g:
631 log.warning("Tau trigger scale factors are not available yet for MC23g")
632 return
633
634 triggers = trigger_set(config, self.triggerChainsPerYear,
635 self.includeAllYearsPerRun)
636 for chain in triggers:
637 chain_noHLT = chain.replace("HLT_", "")
638 chain_out = chain_noHLT if self.removeHLTPrefix else chain
639 alg = config.createAlgorithm( 'CP::TauEfficiencyCorrectionsAlg',
640 'TauTrigEfficiencyCorrectionsAlg_' + chain )
641 config.addPrivateTool( 'efficiencyCorrectionsTool',
642 'TauAnalysisTools::TauEfficiencyCorrectionsTool' )
643
644
645 alg.efficiencyCorrectionsTool.EfficiencyCorrectionTypes = [12]
646 if config.geometry() is LHCPeriod.Run2:
647 alg.efficiencyCorrectionsTool.Campaign = "mc20"
648 else:
649 alg.efficiencyCorrectionsTool.Campaign = config.campaign().value
650 alg.efficiencyCorrectionsTool.TriggerName = chain
651
652
653
654 if self.tauID not in _RNN_JETID_LEVELS:
655 raise ValueError (f"invalid tauID: \"{self.tauID}\". Allowed values are Loose, Medium, Tight")
656 alg.efficiencyCorrectionsTool.JetIDLevel = _RNN_JETID_LEVELS[self.tauID]
657 alg.efficiencyCorrectionsTool.TriggerSFMeasurement = "combined"
658 alg.efficiencyCorrectionsTool.useFastSim = config.dataType() is DataType.FastSim
659
660 alg.scaleFactorDecoration = f"tau_{self.prefixSF}_{chain_out}_%SYS%"
661 alg.outOfValidity = 2
662 alg.outOfValidityDeco = f"bad_eff_tautrig_{chain_out}"
663 alg.taus = config.readName (self.containerName)
664 alg.preselection = config.getPreselection (self.containerName, self.tauID)
665 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f"{self.prefixSF}_{chain_out}")
666
667@groupBlocks