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