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