diff --git a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AnaAlgSequence.py b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AnaAlgSequence.py index 7706b92ef212363a864db879882aca2552349d45..31090b947d176e654de4cf4933ea770e82571ad1 100644 --- a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AnaAlgSequence.py +++ b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AnaAlgSequence.py @@ -106,7 +106,14 @@ class AnaAlgSequence( AlgSequence ): pass for alg, meta in zip( self, self._algorithmMeta ): for var, func in meta.dynConfig.items() : - setattr (alg, var, func (metaConfig)) + # if this is a subtool, find the subtool + obj = alg + while '.' in var : + obj = getattr (alg, var[:var.find('.')]) + var = var[var.find('.')+1:] + pass + # set the property on the algorithm/tool + setattr (obj, var, func (metaConfig)) pass for name, value in meta.metaConfig.items() : if not name in metaConfig :