2 from ROOT
import TChain
8 The Looper passes the Event object to each of its Analyzers,
10 - read some information
11 - add more information
12 - modify existing information.
15 iEv = event processing index, starting at 0
16 eventWeight = a weight, set to 1 at the beginning of the processing
17 input = input, as determined by the looper
18 #TODO: provide a clear interface for access control (put, get, del products) - we should keep track of the name and id of the analyzer.
21 def __init__(self, iEv, input_data=None, setup=None, eventWeight=1 ):
28 header =
'{type}: {iEv}'.
format( type=self.__class__.__name__,
31 for var,value
in sorted(vars(six.iteritems(self))):
35 if hasattr(value,
'__getitem__')
and \
36 not isinstance(value, collections.Mapping)
and \
37 (len(value)>0
and value[0].__class__ == value.__class__):
39 if hasattr(value,
'__contains__')
and \
40 not isinstance(value, (str,unicode))
and \
41 not isinstance(value, TChain)
and \
45 varlines.append(
'\t{var:<15}: {value}'.
format(var=var, value=tmp) )
48 return '\n'.
join( all )