594 def makeAlgs (self, config) :
595
596 if config.dataType() is not DataType.Data:
597 log = logging.getLogger('TauTriggerAnalysisSF')
598
599
600 if config.campaign() is Campaign.MC23e:
601 log.warning("Tau trigger scale factors are not available yet for MC23e")
602 return
603
604 triggers = trigger_set(config, self.triggerChainsPerYear,
605 self.includeAllYearsPerRun)
606 for chain in triggers:
607 chain_noHLT = chain.replace("HLT_", "")
608 chain_out = chain_noHLT if self.removeHLTPrefix else chain
609 alg = config.createAlgorithm( 'CP::TauEfficiencyCorrectionsAlg',
610 'TauTrigEfficiencyCorrectionsAlg_' + chain )
611 config.addPrivateTool( 'efficiencyCorrectionsTool',
612 'TauAnalysisTools::TauEfficiencyCorrectionsTool' )
613
614
615 alg.efficiencyCorrectionsTool.EfficiencyCorrectionTypes = [12]
616 if config.geometry() is LHCPeriod.Run2:
617 alg.efficiencyCorrectionsTool.Campaign = "mc20"
618 else:
619 alg.efficiencyCorrectionsTool.Campaign = config.campaign().value
620 alg.efficiencyCorrectionsTool.TriggerName = chain
621
622
623
624 if self.tauID=="Loose":
625 JetIDLevel = 7
626 elif self.tauID=="Medium":
627 JetIDLevel = 8
628 elif self.tauID=="Tight":
629 JetIDLevel = 9
630 else:
631 raise ValueError ("invalid tauID: \"" + self.tauID + "\". Allowed values are loose, medium, tight")
632 alg.efficiencyCorrectionsTool.JetIDLevel = JetIDLevel
633 alg.efficiencyCorrectionsTool.TriggerSFMeasurement = "combined"
634 alg.efficiencyCorrectionsTool.useFastSim = config.dataType() is DataType.FastSim
635
636 alg.scaleFactorDecoration = f"tau_{self.prefixSF}_{chain_out}_%SYS%"
637 alg.outOfValidity = 2
638 alg.outOfValidityDeco = f"bad_eff_tautrig_{chain_out}"
639 alg.taus = config.readName (self.containerName)
640 alg.preselection = config.getPreselection (self.containerName, self.tauID)
641 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f"{self.prefixSF}_{chain_out}")
642
643@groupBlocks