511 def makeAlgs (self, config) :
512
513 if config.dataType() is not DataType.Data:
514 triggers = trigger_set(config, self.triggerChainsPerYear,
515 self.includeAllYearsPerRun)
516 for chain in triggers:
517 chain_noHLT = chain.replace("HLT_", "")
518 chain_out = chain_noHLT if self.removeHLTPrefix else chain
519 alg = config.createAlgorithm( 'CP::TauEfficiencyCorrectionsAlg',
520 'TauTrigEfficiencyCorrectionsAlg_' + chain )
521 config.addPrivateTool( 'efficiencyCorrectionsTool',
522 'TauAnalysisTools::TauEfficiencyCorrectionsTool' )
523
524
525 alg.efficiencyCorrectionsTool.EfficiencyCorrectionTypes = [12]
526 if config.geometry() is LHCPeriod.Run2:
527 alg.efficiencyCorrectionsTool.Campaign = "mc20"
528 else:
529 alg.efficiencyCorrectionsTool.Campaign = config.campaign().value
530 alg.efficiencyCorrectionsTool.TriggerName = chain
531
532
533
534 if self.tauID=="Loose":
535 JetIDLevel = 7
536 elif self.tauID=="Medium":
537 JetIDLevel = 8
538 elif self.tauID=="Tight":
539 JetIDLevel = 9
540 else:
541 raise ValueError ("invalid tauID: \"" + self.tauID + "\". Allowed values are loose, medium, tight")
542 alg.efficiencyCorrectionsTool.JetIDLevel = JetIDLevel
543 alg.efficiencyCorrectionsTool.TriggerSFMeasurement = "combined"
544 alg.efficiencyCorrectionsTool.useFastSim = config.dataType() is DataType.FastSim
545
546 alg.scaleFactorDecoration = f"tau_{self.prefixSF}_{chain_out}_%SYS%"
547 alg.outOfValidity = 2
548 alg.outOfValidityDeco = f"bad_eff_tautrig_{chain_out}"
549 alg.taus = config.readName (self.containerName)
550 alg.preselection = config.getPreselection (self.containerName, self.tauID)
551 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f"{self.prefixSF}_{chain_out}")