1 from ROOT
import TChain
6 The Looper passes the Event object to each of its Analyzers,
8 - read some information
10 - modify existing information.
13 iEv = event processing index, starting at 0
14 eventWeight = a weight, set to 1 at the beginning of the processing
15 input = input, as determined by the looper
16 #TODO: provide a clear interface for access control (put, get, del products) - we should keep track of the name and id of the analyzer.
19 def __init__(self, iEv, input_data, setup, eventWeight=1 ):
26 header =
'{type}: {iEv}'.
format( type=self.__class__.__name__,
29 for var,value
in sorted(vars(self).iteritems()):
33 if hasattr(value,
'__getitem__'):
34 if (len(value)>0
and value[0].__class__ == value.__class__):
36 if hasattr(value,
'__contains__')
and \
37 not isinstance(value, (str,unicode))
and \
38 not isinstance(value, TChain)
and \
42 varlines.append(
'\t{var:<15}: {value}'.
format(var=var, value=tmp) )
45 return '\n'.
join( all )
static std::string join(char **cmd)