142 def makeAlgs (self, config) :
143
144 selectionPostfix = self.selectionName
145 if selectionPostfix != '' and selectionPostfix[0] != '_' :
146 selectionPostfix = '_' + selectionPostfix
147
148 postfix = self.postfix
149 if postfix is None :
150 postfix = self.selectionName
151 if postfix != '' and postfix[0] != '_' :
152 postfix = '_' + postfix
153
154
155
156 if self.quality == 'Tight' :
157 IDLevel = 4
158 elif self.quality == 'Medium' :
159 IDLevel = 3
160 elif self.quality == 'Loose' :
161 IDLevel = 2
162 else :
163 raise ValueError ("invalid tau quality: \"" + self.quality +
164 "\", allowed values are Tight, Medium, Loose")
165
166 inputfile = 'TauAnalysisAlgorithms/ditau_selection_highpt.conf'
167 if "DiTauJetsLowPt" in self.containerName:
168 inputfile = 'TauAnalysisAlgorithms/ditau_selection_lowpt.conf'
169
170
171 alg = config.createAlgorithm( 'CP::AsgSelectionAlg', 'DiTauSelectionAlg' )
172 config.addPrivateTool( 'selectionTool', 'TauAnalysisTools::DiTauSelectionTool' )
173 alg.selectionTool.ConfigPath = inputfile
174 alg.selectionDecoration = 'selected_ditau' + selectionPostfix + ',as_char'
175 alg.particles = config.readName (self.containerName)
176 alg.preselection = config.getPreselection (self.containerName, self.selectionName)
177 config.addSelection (self.containerName, self.selectionName, alg.selectionDecoration,
178 preselection=self.addSelectionToPreselection)
179
180
181
182
183 if config.dataType() is not DataType.Data:
184 alg = config.createAlgorithm( 'CP::DiTauEfficiencyCorrectionsAlg',
185 'DiTauEfficiencyCorrectionsAlg' )
186 config.addPrivateTool( 'efficiencyCorrectionsTool',
187 'TauAnalysisTools::DiTauEfficiencyCorrectionsTool' )
188 alg.efficiencyCorrectionsTool.JetIDLevel = IDLevel
189 alg.scaleFactorDecoration = 'tau_effSF' + postfix + '_%SYS%'
190
191
192 alg.taus = config.readName (self.containerName)
193 alg.preselection = config.getPreselection (self.containerName, self.selectionName)
194 config.addOutputVar (self.containerName, alg.scaleFactorDecoration,
195 'effSF' + postfix)
196