106 def makeTriggerSelectionAlg(self, config, decisionTool):
109 alg = config.createAlgorithm(
'CP::TrigEventSelectionAlg',
'TrigEventSelectionAlg' )
110 alg.tool =
'%s/%s' % \
111 ( decisionTool.getType(), decisionTool.getName() )
112 alg.triggers = self.triggerChainsForSelection
113 alg.selectionDecoration =
'trigPassed'
114 alg.noFilter = self.noFilter
117 for t
in self.triggerChainsForSelection :
118 t = t.replace(
".",
"p").
replace(
"-",
"_")
119 config.addOutputVar (
'EventInfo',
'trigPassed_' + t,
'trigPassed_' + t, noSys=
True)
122 triggerChainsForDeco =
list(
set(self.triggerChainsForDecoration) -
set(self.triggerChainsForSelection))
123 if triggerChainsForDeco :
124 alg = config.createAlgorithm(
'CP::TrigEventSelectionAlg',
'TrigEventSelectionAlgDeco' )
125 alg.tool =
'%s/%s' % \
126 ( decisionTool.getType(), decisionTool.getName() )
127 alg.triggers = triggerChainsForDeco
128 alg.selectionDecoration =
'trigPassed'
132 for t
in triggerChainsForDeco :
133 t = t.replace(
".",
"p").
replace(
"-",
"_")
134 config.addOutputVar (
'EventInfo',
'trigPassed_' + t,
'trigPassed_' + t, noSys=
True)
137 if (self.prescaleLumiCalcFiles
or self.prescaleLumiCalcFilesPerYear)
and (
138 self.unprescaleData
if config.dataType()
is DataType.Data
else self.prescaleMC
142 if self.prescaleLumiCalcFiles:
143 lumicalc_files = self.prescaleLumiCalcFiles
144 elif self.prescaleLumiCalcFilesPerYear:
145 from TriggerAnalysisAlgorithms.TriggerAnalysisSFConfig
import get_input_years, get_year_data
149 lumicalc_files.extend(
get_year_data(self.prescaleLumiCalcFilesPerYear, year))
151 alg = config.createAlgorithm(
'CP::TrigPrescalesAlg',
'TrigPrescalesAlg' )
152 config.addPrivateTool(
'pileupReweightingTool',
'CP::PileupReweightingTool' )
153 alg.pileupReweightingTool.LumiCalcFiles = lumicalc_files
154 alg.selectionDecoration =
'trigPassed'
155 alg.prescaleMC = config.dataType()
is not DataType.Data
156 alg.prescaleDecoration = self.prescaleDecoration
157 if self.prescaleTriggersFormula !=
'':
158 alg.prescaleTriggersFormula = self.prescaleTriggersFormula
159 config.addOutputVar(
"EventInfo", alg.prescaleDecoration, alg.prescaleDecoration, noSys=
True)
161 alg.triggers = self._get_lumicalc_triggers(lumicalc_files)
162 alg.triggersAll = self.triggerChainsForSelection
165 triggers_output =
set(alg.triggers)
166 if self.prescaleIncludeAllYears
and self.prescaleLumiCalcFilesPerYear:
167 all_lumicalc_files = [
169 for lumicalc_year
in self.prescaleLumiCalcFilesPerYear.
values()
170 for lumicalc
in lumicalc_year
172 triggers_output.update(self._get_lumicalc_triggers(all_lumicalc_files))
173 for trigger
in triggers_output:
174 trigger = trigger.replace(
"-",
"_")
177 alg.prescaleDecoration +
"_" + trigger,
178 alg.prescaleDecoration +
"_" + trigger,