190 def make_corrections (self,
202 log = logging.getLogger (
'CaloClusterCorrection')
211 v = getattr (flags.Calo.ClusterCorrection, self.version_override_flag_name)
219 geom = flags.GeoModel.AtlasVersion
220 datasource =
'geant4' if flags.Input.isMC
else 'data'
221 (version, tryhier) = self.geom_match (datasource, geom)
224 generation = self.get_generation(flags)
228 source = flags.Calo.ClusterCorrection.defaultSource
230 if not isinstance (source, list):
232 if CALOCORR_COOL
not in source:
235 if tryhier
and version[0] !=
'@':
238 cl = cl[0:4] +
'Ofl' + cl[4:]
239 version =
"@%s-%s%s" % (cl, generation, version)
244 if version[0] !=
'@' and len(source) > 0:
245 if CALOCORR_COOL
in source:
246 source.remove (CALOCORR_COOL)
248 (vcorrlist, version) = self.lookup_version (flags, version, corrclass)
254 log.debug (
"%s corrections for %s (%s) using version %s" %
255 (self.name, key, suffix, version))
260 for cspec
in corrlist:
261 (func, this_version, this_order, extra_args) = \
262 split_version_spec (cspec)
266 if this_version ==
'' or extra_args == []:
267 for vcspec
in vcorrlist:
268 if vcspec[0] == func:
269 (vfunc, vversion, vorder, vextra_args) = \
270 split_version_spec (vcspec)
271 if this_version ==
'':
272 this_version = vversion
274 extra_args = vextra_args
279 elif version[0] ==
'@' and not corrlist:
280 this_version = version
282 if this_version ==
'@':
283 this_version = version
286 this_args = dict (extra_args)
289 this_cells_name = cells_name
292 corrname = func.__name__
295 for (k, v)
in kw.items():
296 if k == corrname +
'_suffix':
298 elif k == corrname +
'_key':
300 elif k == corrname +
'_cells_name':
302 elif k == corrname +
'_source':
304 elif k == corrname +
'_version':
306 elif k == corrname +
'_order':
308 elif k.startswith (corrname +
'_'):
309 this_args[k[len(corrname)+1:]] = v
318 generation = generation,
321 tools.append (out.popToolsAndMerge (ca))
323 out.setPrivateTools (tools)