Public Member Functions | |
def | __init__ |
def | execute |
def | finalize |
Public Attributes | |
genCounts | |
trigCounts | |
gh_list | |
Private Member Functions | |
def | _get_gen_headers |
def | _add_generated |
def | _add_triggered |
Give an example of calculating some efficiencies
Definition at line 38 of file Eff.py.
def Sim15::Eff::Sim15Eff::__init__ | ( | self, | ||
name = 'Sim15Eff' | ||||
) |
def Sim15::Eff::Sim15Eff::execute | ( | self | ) |
Definition at line 47 of file Eff.py.
00049 : 00050 tes = self.evtSvc() 00051 00052 rs = tes['/Event/RegistrationSequence'] 00053 00054 regs = rs.registrations() 00055 nregs = regs.size() 00056 #print 'Found %d HeaderObjects'%regs.size() 00057 for ireg in range(0,nregs): 00058 reg = regs[ireg] 00059 loc = reg.path() 00060 obj = reg.object() # this auto casts to right HeaderObject type 00061 00062 #print loc, obj.name() 00063 if loc == '/Event/Gen/GenHeader': 00064 self._add_generated(obj) 00065 pass 00066 00067 if loc == '/Event/Readout/ReadoutHeader': 00068 ghs = self._get_gen_headers(obj) 00069 #print 'Found %d GenHeaders in this readout'%len(ghs) 00070 for gh in ghs: 00071 self._add_triggered(gh) 00072 pass 00073 00074 continue return SUCCESS
def Sim15::Eff::Sim15Eff::finalize | ( | self | ) |
Print efficiencies.
Definition at line 75 of file Eff.py.
00077 : 00078 ''' 00079 Print efficiencies. 00080 ''' 00081 00082 for nam in self.genCounts.keys(): 00083 if nam not in self.trigCounts.keys(): 00084 self.trigCounts[nam] = 0 00085 print 'Kin type: %s has %d/%d = %f'\ 00086 %(nam,self.trigCounts[nam],self.genCounts[nam], 00087 (self.trigCounts[nam]*1.0)/(self.genCounts[nam]*1.0)) 00088 continue return SUCCESS
def Sim15::Eff::Sim15Eff::_get_gen_headers | ( | self, | ||
obj | ||||
) | [private] |
Descend through obj's inputHeaders and build up a list of GenHeaders
Definition at line 89 of file Eff.py.
00091 : 00092 ''' 00093 Descend through obj's inputHeaders and build up a list of GenHeaders 00094 ''' 00095 class CollectGH: 00096 def __init__(self): 00097 self.gh_list = [] 00098 return 00099 def __call__(self,obj): 00100 if obj.name() == '/GenHeader': 00101 self.gh_list.append(obj) 00102 return 00103 pass 00104 00105 cgh = CollectGH() 00106 visitInputHeaders(obj,cgh) return cgh.gh_list
def Sim15::Eff::Sim15Eff::_add_generated | ( | self, | ||
obj | ||||
) | [private] |
def Sim15::Eff::Sim15Eff::_add_triggered | ( | self, | ||
obj | ||||
) | [private] |