CMS 3D CMS Logo

Functions | Variables
dupObjEff Namespace Reference

Functions

def dupOfpT3 (event, dict_, debug=False)
 
def dupOfpT5 (event, dict_, debug=False)
 
def dupOfT5 (event, dict_, debug=False)
 
def dupOfTC (event, dict_, debug=False)
 
def dupOfTCObj (tc, objType, event, dict_, debug=False)
 
def printObjComp (objType, dict_)
 
def printSimComp (dict_)
 
def printTCComp (objType, dict_)
 
def simTrkInfo (event, dict_)
 

Variables

 action
 
 args
 
 choices
 
 debug
 
 default
 
 dict_pT3
 
 dict_pT5
 
 dict_sim
 
 dict_T5
 
 dict_TC
 
 dict_TCTot
 
 event
 
 False
 
 help
 
 infile
 
 int
 
 intree
 
 parser
 
 str
 
 type
 

Function Documentation

◆ dupOfpT3()

def dupObjEff.dupOfpT3 (   event,
  dict_,
  debug = False 
)

Definition at line 165 of file dupObjEff.py.

References isotrackApplyRegressor.range.

165 def dupOfpT3(event,dict_,debug=False):
166  if debug: print "Number of pT3: ",len(event.pT3_pt)
167  dict_["N"] = dict_["N"] + len(event.pT3_pt)
168  for pT3 in range(len(event.pT3_pt)):
169  isDuplicateWpT5 = False
170  isDuplicateWpT3 = False
171  isDuplicateWT5 = False
172 
173  if event.pT3_isFake[pT3] == 1: dict_["Nfakes"] = dict_["Nfakes"] + 1
174  if event.pT3_isDuplicate[pT3] == 1: isDuplicateWpT3 = True
175 
176  for j in range(len(event.pT3_matched_simIdx[pT3])):
177  if debug:
178  if event.pT3_isDuplicate[pT3]:
179  print "pT3[",pT3,"]"
180  print "simTrk_pt = ",event.sim_pt[event.pT3_matched_simIdx[pT3][j]]
181 
182  if event.sim_pT5_matched[event.pT3_matched_simIdx[pT3][j]] > 0:
183  isDuplicateWpT5 = True
184  if debug:
185  print ""
186  print "pT3_pt = ",event.pT3_pt[pT3]
187  print "simTrk_pt = ",event.sim_pt[event.pT3_matched_simIdx[pT3][j]]
188  for pT5 in range(len(event.pT5_pt)):
189  for k in range(len(event.pT5_matched_simIdx[pT5])):
190  if event.pT3_matched_simIdx[pT3][j] == event.pT5_matched_simIdx[pT5][k]:
191  print ""
192  print "pT5_pt = ",event.pT5_pt[pT5]
193  print "simTrk_pt = ",event.sim_pt[event.pT5_matched_simIdx[pT5][k]]
194 
195  if event.sim_T5_matched[event.pT3_matched_simIdx[pT3][j]] > 0:
196  isDuplicateWT5 = True
197  if debug:
198  print ""
199  print "pT3_pt = ",event.pT3_pt[pT3]
200  print "simTrk_pt = ",event.sim_pt[event.pT3_matched_simIdx[pT3][j]]
201  for T5 in range(len(event.t5_pt)):
202  for k in range(len(event.t5_matched_simIdx[T5])):
203  if event.pT3_matched_simIdx[pT3][j] == event.t5_matched_simIdx[T5][k]:
204  print ""
205  print "T5_pt = ",event.t5_pt[T5]
206  print "simTrk_pt = ",event.sim_pt[event.t5_matched_simIdx[T5][k]]
207 
208  if isDuplicateWpT5:
209  if isDuplicateWpT3:
210  if isDuplicateWT5:
211  dict_["Ndup_Wall"] = dict_["Ndup_Wall"] + 1
212  else:
213  dict_["Ndup_WpT5ApT3"] = dict_["Ndup_WpT5ApT3"] + 1
214  else:
215  if isDuplicateWT5:
216  dict_["Ndup_WpT5AT5"] = dict_["Ndup_WpT5AT5"] + 1
217  else:
218  dict_["Ndup_WpT5"] = dict_["Ndup_WpT5"] + 1
219  else:
220  if isDuplicateWpT3:
221  if isDuplicateWT5:
222  dict_["Ndup_WpT3AT5"] = dict_["Ndup_WpT3AT5"] + 1
223  else:
224  dict_["Ndup_WpT3"] = dict_["Ndup_WpT3"] + 1
225  else:
226  if isDuplicateWT5:
227  dict_["Ndup_WT5"] = dict_["Ndup_WT5"] + 1
228 
229  return dict_
230 
231 
def dupOfpT3(event, dict_, debug=False)
Definition: dupObjEff.py:165

◆ dupOfpT5()

def dupObjEff.dupOfpT5 (   event,
  dict_,
  debug = False 
)

Definition at line 98 of file dupObjEff.py.

References isotrackApplyRegressor.range.

98 def dupOfpT5(event,dict_,debug=False):
99  if debug: print "Number of pT5: ",len(event.pT5_pt)
100  dict_["N"] = dict_["N"] + len(event.pT5_pt)
101  for pT5 in range(len(event.pT5_pt)):
102  isDuplicateWpT5 = False
103  isDuplicateWpT3 = False
104  isDuplicateWT5 = False
105 
106  if event.pT5_isFake[pT5] == 1: dict_["Nfakes"] = dict_["Nfakes"] + 1
107  if event.pT5_isDuplicate[pT5] == 1: isDuplicateWpT5 = True
108 
109  for j in range(len(event.pT5_matched_simIdx[pT5])):
110  if debug:
111  if event.pT5_isDuplicate[pT5]:
112  print "pT5[",pT5,"]"
113  print "simTrk_pt = ",event.sim_pt[event.pT5_matched_simIdx[pT5][j]]
114 
115  if event.sim_pT3_matched[event.pT5_matched_simIdx[pT5][j]] > 0:
116  isDuplicateWpT3 = True
117  if debug:
118  print ""
119  print "pT5_pt = ",event.pT5_pt[pT5]
120  print "simTrk_pt = ",event.sim_pt[event.pT5_matched_simIdx[pT5][j]]
121  for pT3 in range(len(event.pT3_pt)):
122  for k in range(len(event.pT3_matched_simIdx[pT3])):
123  if event.pT5_matched_simIdx[pT5][j] == event.pT3_matched_simIdx[pT3][k]:
124  print ""
125  print "pT3_pt = ",event.pT3_pt[pT3]
126  print "simTrk_pt = ",event.sim_pt[event.pT3_matched_simIdx[pT3][k]]
127 
128  if event.sim_T5_matched[event.pT5_matched_simIdx[pT5][j]] > 0:
129  isDuplicateWT5 = True
130  if debug:
131  print ""
132  print "pT5_pt = ",event.pT5_pt[pT5]
133  print "simTrk_pt = ",event.sim_pt[event.pT5_matched_simIdx[pT5][j]]
134  for T5 in range(len(event.t5_pt)):
135  for k in range(len(event.t5_matched_simIdx[T5])):
136  if event.pT5_matched_simIdx[pT5][j] == event.t5_matched_simIdx[T5][k]:
137  print ""
138  print "T5_pt = ",event.t5_pt[T5]
139  print "simTrk_pt = ",event.sim_pt[event.t5_matched_simIdx[T5][k]]
140 
141  if isDuplicateWpT5:
142  if isDuplicateWpT3:
143  if isDuplicateWT5:
144  dict_["Ndup_Wall"] = dict_["Ndup_Wall"] + 1
145  else:
146  dict_["Ndup_WpT5ApT3"] = dict_["Ndup_WpT5ApT3"] + 1
147  else:
148  if isDuplicateWT5:
149  dict_["Ndup_WpT5AT5"] = dict_["Ndup_WpT5AT5"] + 1
150  else:
151  dict_["Ndup_WpT5"] = dict_["Ndup_WpT5"] + 1
152  else:
153  if isDuplicateWpT3:
154  if isDuplicateWT5:
155  dict_["Ndup_WpT3AT5"] = dict_["Ndup_WpT3AT5"] + 1
156  else:
157  dict_["Ndup_WpT3"] = dict_["Ndup_WpT3"] + 1
158  else:
159  if isDuplicateWT5:
160  dict_["Ndup_WT5"] = dict_["Ndup_WT5"] + 1
161 
162  return dict_
163 
164 
def dupOfpT5(event, dict_, debug=False)
Definition: dupObjEff.py:98

◆ dupOfT5()

def dupObjEff.dupOfT5 (   event,
  dict_,
  debug = False 
)

Definition at line 232 of file dupObjEff.py.

References isotrackApplyRegressor.range.

232 def dupOfT5(event,dict_,debug=False):
233  if debug: print "Number of T5: ",len(event.t5_pt)
234  dict_["N"] = dict_["N"] + len(event.t5_pt)
235  for t5 in range(len(event.t5_pt)):
236  isDuplicateWpT5 = False
237  isDuplicateWpT3 = False
238  isDuplicateWT5 = False
239 
240  if event.t5_isFake[t5] == 1: dict_["Nfakes"] = dict_["Nfakes"] + 1
241  if event.t5_isDuplicate[t5] == 1: isDuplicateWT5 = True
242 
243  for j in range(len(event.t5_matched_simIdx[t5])):
244  if debug:
245  if event.t5_isDuplicate[t5]:
246  print "T5[",t5,"]"
247  print "simTrk_pt = ",event.sim_pt[event.t5_matched_simIdx[t5][j]]
248 
249  if event.sim_pT5_matched[event.t5_matched_simIdx[t5][j]] > 0:
250  isDuplicateWpT5 = True
251  if debug:
252  print ""
253  print "T5_pt = ",event.t5_pt[t5]
254  print "simTrk_pt = ",event.sim_pt[event.t5_matched_simIdx[t5][j]]
255  for pT5 in range(len(event.pT5_pt)):
256  for k in range(len(event.pT5_matched_simIdx[pT5])):
257  if event.t5_matched_simIdx[t5][j] == event.pT5_matched_simIdx[pT5][k]:
258  print ""
259  print "pT5_pt = ",event.pT5_pt[pT5]
260  print "simTrk_pt = ",event.sim_pt[event.pT5_matched_simIdx[pT5][k]]
261 
262  if event.sim_pT3_matched[event.t5_matched_simIdx[t5][j]] > 0:
263  isDuplicateWpT3 = True
264  if debug:
265  print ""
266  print "T5_pt = ",event.t5_pt[t5]
267  print "simTrk_pt = ",event.sim_pt[event.t5_matched_simIdx[t5][j]]
268  for pT3 in range(len(event.pT3_pt)):
269  for k in range(len(event.pT3_matched_simIdx[pT3])):
270  if event.t5_matched_simIdx[t5][j] == event.pT3_matched_simIdx[pT3][k]:
271  print ""
272  print "pT3_pt = ",event.pT3_pt[pT3]
273  print "simTrk_pt = ",event.sim_pt[event.pT3_matched_simIdx[pT3][k]]
274 
275  if isDuplicateWpT5:
276  if isDuplicateWpT3:
277  if isDuplicateWT5:
278  dict_["Ndup_Wall"] = dict_["Ndup_Wall"] + 1
279  else:
280  dict_["Ndup_WpT5ApT3"] = dict_["Ndup_WpT5ApT3"] + 1
281  else:
282  if isDuplicateWT5:
283  dict_["Ndup_WpT5AT5"] = dict_["Ndup_WpT5AT5"] + 1
284  else:
285  dict_["Ndup_WpT5"] = dict_["Ndup_WpT5"] + 1
286  else:
287  if isDuplicateWpT3:
288  if isDuplicateWT5:
289  dict_["Ndup_WpT3AT5"] = dict_["Ndup_WpT3AT5"] + 1
290  else:
291  dict_["Ndup_WpT3"] = dict_["Ndup_WpT3"] + 1
292  else:
293  if isDuplicateWT5:
294  dict_["Ndup_WT5"] = dict_["Ndup_WT5"] + 1
295 
296  return dict_
297 
298 
def dupOfT5(event, dict_, debug=False)
Definition: dupObjEff.py:232

◆ dupOfTC()

def dupObjEff.dupOfTC (   event,
  dict_,
  debug = False 
)

Definition at line 88 of file dupObjEff.py.

References dupOfTCObj(), and isotrackApplyRegressor.range.

88 def dupOfTC(event,dict_,debug=False):
89  for tc in range(len(event.tc_pt)):
90  if event.tc_type[tc] == 7: dict_ = dupOfTCObj(tc,"pT5",event,dict_,debug=debug)
91  if event.tc_type[tc] == 5: dict_ = dupOfTCObj(tc,"pT3",event,dict_,debug=debug)
92  if event.tc_type[tc] == 4: dict_ = dupOfTCObj(tc,"T5",event,dict_,debug=debug)
93  if event.tc_type[tc] == 8: dict_ = dupOfTCObj(tc,"pLS",event,dict_,debug=debug)
94 
95  return dict_
96 
97 
def dupOfTC(event, dict_, debug=False)
Definition: dupObjEff.py:88
def dupOfTCObj(tc, objType, event, dict_, debug=False)
Definition: dupObjEff.py:52

◆ dupOfTCObj()

def dupObjEff.dupOfTCObj (   tc,
  objType,
  event,
  dict_,
  debug = False 
)

Definition at line 52 of file dupObjEff.py.

References isotrackApplyRegressor.range.

Referenced by dupOfTC().

52 def dupOfTCObj(tc,objType,event,dict_,debug=False):
53  isDuplicate = False
54  isDuplicateWpT5 = False
55  isDuplicateWpT3 = False
56  isDuplicateWT5 = False
57  isDuplicateWpLS = False
58 
59  dict_["N_"+objType] = dict_["N_"+objType] + 1
60 
61  if event.tc_isFake[tc] == 1: dict_["N_"+objType+"fakes"] = dict_["N_"+objType+"fakes"] + 1
62  for simIdx in range(len(event.tc_matched_simIdx[tc])):
63  for tcOther in range(len(event.tc_pt)):
64  if tc==tcOther: continue
65  for simIdxOther in range(len(event.tc_matched_simIdx[tcOther])):
66  if event.tc_matched_simIdx[tc][simIdx] == event.tc_matched_simIdx[tcOther][simIdxOther]:
67  isDuplicate = True
68  if debug:
69  print ""
70  print "TC_"+objType+"[%d] pt = %.2f, eta = %.2f, phi = %.2f" %( tc, event.tc_pt[tc], event.tc_eta[tc], event.tc_phi[tc] )
71  print "Matched simTrk pt = %.2f" %event.sim_pt[event.tc_matched_simIdx[tc][simIdx]]
72  print "Duplicate of type %d:" %event.tc_type[tcOther]
73  print "\tTC_[%d] pt = %.2f, eta = %.2f, phi = %.2f" %( tcOther, event.tc_pt[tcOther], event.tc_eta[tcOther], event.tc_phi[tcOther] )
74  if event.tc_type[tcOther] == 7: isDuplicateWpT5 = True
75  if event.tc_type[tcOther] == 5: isDuplicateWpT3 = True
76  if event.tc_type[tcOther] == 4: isDuplicateWT5 = True
77  if event.tc_type[tcOther] == 8: isDuplicateWpLS = True
78 
79  if isDuplicate: dict_["Ndup_"+objType+"Total"] = dict_["Ndup_"+objType+"Total"] + 1
80  if isDuplicateWpT5: dict_["Ndup_"+objType+"WpT5"] = dict_["Ndup_"+objType+"WpT5"] + 1
81  if isDuplicateWpT3: dict_["Ndup_"+objType+"WpT3"] = dict_["Ndup_"+objType+"WpT3"] + 1
82  if isDuplicateWT5: dict_["Ndup_"+objType+"WT5"] = dict_["Ndup_"+objType+"WT5"] + 1
83  if isDuplicateWpLS: dict_["Ndup_"+objType+"WpLS"] = dict_["Ndup_"+objType+"WpLS"] + 1
84 
85  return dict_
86 
87 
def dupOfTCObj(tc, objType, event, dict_, debug=False)
Definition: dupObjEff.py:52

◆ printObjComp()

def dupObjEff.printObjComp (   objType,
  dict_ 
)

Definition at line 345 of file dupObjEff.py.

References ALCARECOEcalPhiSym_cff.float.

345 def printObjComp(objType,dict_):
346  if dict_["N"] == 0:
347  print "No "+objType+" object found!"
348  return
349  dict_["Ndup_Total"] = dict_["Ndup_WpT5"]+dict_["Ndup_WpT3"]+dict_["Ndup_WT5"]+dict_["Ndup_WpT5ApT3"]+dict_["Ndup_WpT5AT5"]+dict_["Ndup_WpT3AT5"]+dict_["Ndup_Wall"]
350  dict_["NsingleMatched"] = dict_["N"]-dict_["Nfakes"]-dict_["Ndup_Total"]
351 
352  print ""
353  print "Total "+objType+" multiplicity = %d" %dict_["N"]
354  print objType+" Fakes = %d (%.2f%%)" %( dict_["Nfakes"], float(dict_["Nfakes"])/float(dict_["N"])*100 )
355  print objType+" Duplicates with pT5 only = %d (%.2f%%)" %( dict_["Ndup_WpT5"], float(dict_["Ndup_WpT5"])/float(dict_["N"])*100 )
356  print objType+" Duplicates with pT3 only = %d (%.2f%%)" %( dict_["Ndup_WpT3"], float(dict_["Ndup_WpT3"])/float(dict_["N"])*100 )
357  print objType+" Duplicates with T5 only = %d (%.2f%%)" %( dict_["Ndup_WT5"], float(dict_["Ndup_WT5"])/float(dict_["N"])*100 )
358  print objType+" Duplicates with pT5 and pT3 only = %d (%.2f%%)" %( dict_["Ndup_WpT5ApT3"], float(dict_["Ndup_WpT5ApT3"])/float(dict_["N"])*100 )
359  print objType+" Duplicates with pT5 and T5 only = %d (%.2f%%)" %( dict_["Ndup_WpT5AT5"], float(dict_["Ndup_WpT5AT5"])/float(dict_["N"])*100 )
360  print objType+" Duplicates with pT3 and T5 only = %d (%.2f%%)" %( dict_["Ndup_WpT3AT5"], float(dict_["Ndup_WpT3AT5"])/float(dict_["N"])*100 )
361  print objType+" Duplicates with all = %d (%.2f%%)" %( dict_["Ndup_Wall"], float(dict_["Ndup_Wall"])/float(dict_["N"])*100 )
362  print objType+" Total duplicates = %d (%.2f%%)" %( dict_["Ndup_Total"], float(dict_["Ndup_Total"])/float(dict_["N"])*100 )
363  print objType+" Single matched non-fakes = %d (%.2f%%)" %( dict_["NsingleMatched"], float(dict_["NsingleMatched"])/float(dict_["N"])*100 )
364  print ""
365  return
366 
367 
def printObjComp(objType, dict_)
Definition: dupObjEff.py:345

◆ printSimComp()

def dupObjEff.printSimComp (   dict_)

Definition at line 299 of file dupObjEff.py.

References ALCARECOEcalPhiSym_cff.float.

299 def printSimComp(dict_):
300  if dict_["N"] == 0:
301  print "No sim object found!"
302  return
303 
304  print ""
305  print "Total sim multiplicity = %d" %dict_["N"]
306  print "Matched sim = %d (%.2f%%)" %( dict_["N_matched"], float(dict_["N_matched"])/float(dict_["N"])*100 )
307  print "Single matched sim = %d (%.2f%%)" %( dict_["N_singleMatched"], float(dict_["N_singleMatched"])/float(dict_["N"])*100 )
308  print "Duplicate sim = %d (%.2f%%)" %( dict_["N_dup"], float(dict_["N_dup"])/float(dict_["N"])*100 )
309  print "Matched with pT5 = %d (%.2f%%)" %( dict_["N_matchedWpT5"], float(dict_["N_matchedWpT5"])/float(dict_["N"])*100 )
310  print "Matched with pT3 = %d (%.2f%%)" %( dict_["N_matchedWpT3"], float(dict_["N_matchedWpT3"])/float(dict_["N"])*100 )
311  print "Matched with T5 = %d (%.2f%%)" %( dict_["N_matchedWT5"], float(dict_["N_matchedWT5"])/float(dict_["N"])*100 )
312  print "Matched with pLS = %d (%.2f%%)" %( dict_["N_matchedWpLS"], float(dict_["N_matchedWpLS"])/float(dict_["N"])*100 )
313  print ""
314  print "Good sim = %d (%.2f%%)" %( dict_["N_good"], float(dict_["N_good"])/float(dict_["N"])*100 )
315  print "Matched good sim = %d (%.2f%%)" %( dict_["N_goodMatched"], float(dict_["N_goodMatched"])/float(dict_["N_good"])*100 )
316  print "Single matched good sim = %d (%.2f%%)" %( dict_["N_goodSingleMatched"], float(dict_["N_goodSingleMatched"])/float(dict_["N_good"])*100 )
317  print "Duplicate good sim = %d (%.2f%%)" %( dict_["N_goodDup"], float(dict_["N_goodDup"])/float(dict_["N_good"])*100 )
318  print "Good sim matched with pT5 = %d (%.2f%%)" %( dict_["N_goodMatchedWpT5"], float(dict_["N_goodMatchedWpT5"])/float(dict_["N_good"])*100 )
319  print "Good sim matched with pT3 = %d (%.2f%%)" %( dict_["N_goodMatchedWpT3"], float(dict_["N_goodMatchedWpT3"])/float(dict_["N_good"])*100 )
320  print "Good sim matched with T5 = %d (%.2f%%)" %( dict_["N_goodMatchedWT5"], float(dict_["N_goodMatchedWT5"])/float(dict_["N_good"])*100 )
321  print "Good sim matched with pLS = %d (%.2f%%)" %( dict_["N_goodMatchedWpLS"], float(dict_["N_goodMatchedWpLS"])/float(dict_["N_good"])*100 )
322  print ""
323  return
324 
325 
def printSimComp(dict_)
Definition: dupObjEff.py:299

◆ printTCComp()

def dupObjEff.printTCComp (   objType,
  dict_ 
)

Definition at line 326 of file dupObjEff.py.

References ALCARECOEcalPhiSym_cff.float.

326 def printTCComp(objType,dict_):
327  if dict_["N_"+objType] == 0:
328  print "No "+objType+" object found in TC collection!"
329  return
330  dict_["N_"+objType+"singleMatched"] = dict_["N_"+objType]-dict_["N_"+objType+"fakes"]-dict_["Ndup_"+objType+"Total"]
331 
332  print ""
333  print "Total "+objType+" multiplicity in TC collection = %d" %dict_["N_"+objType]
334  print objType+" Fakes = %d (%.2f%%)" %( dict_["N_"+objType+"fakes"], float(dict_["N_"+objType+"fakes"])/float(dict_["N_"+objType])*100 )
335  print objType+" Duplicates with pT5 = %d (%.2f%%)" %( dict_["Ndup_"+objType+"WpT5"], float(dict_["Ndup_"+objType+"WpT5"])/float(dict_["N_"+objType])*100 )
336  print objType+" Duplicates with pT3 = %d (%.2f%%)" %( dict_["Ndup_"+objType+"WpT3"], float(dict_["Ndup_"+objType+"WpT3"])/float(dict_["N_"+objType])*100 )
337  print objType+" Duplicates with T5 = %d (%.2f%%)" %( dict_["Ndup_"+objType+"WT5"], float(dict_["Ndup_"+objType+"WT5"])/float(dict_["N_"+objType])*100 )
338  print objType+" Duplicates with pLS = %d (%.2f%%)" %( dict_["Ndup_"+objType+"WpLS"], float(dict_["Ndup_"+objType+"WpLS"])/float(dict_["N_"+objType])*100 )
339  print objType+" Total duplicates = %d (%.2f%%)" %( dict_["Ndup_"+objType+"Total"], float(dict_["Ndup_"+objType+"Total"])/float(dict_["N_"+objType])*100 )
340  print objType+" Single matched non-fakes = %d (%.2f%%)" %( dict_["N_"+objType+"singleMatched"], float(dict_["N_"+objType+"singleMatched"])/float(dict_["N_"+objType])*100 )
341  print ""
342  return
343 
344 
def printTCComp(objType, dict_)
Definition: dupObjEff.py:326

◆ simTrkInfo()

def dupObjEff.simTrkInfo (   event,
  dict_ 
)

Definition at line 17 of file dupObjEff.py.

References isotrackApplyRegressor.range.

17 def simTrkInfo(event,dict_):
18  dict_["N"] = dict_["N"] + len(event.sim_pt)
19  for simTrk in range(len(event.sim_pt)):
20  isGood = False
21  if event.sim_isGood[simTrk]:
22  isGood = True
23  dict_["N_good"] = dict_["N_good"] + 1
24  if event.sim_TC_matched[simTrk] > 0:
25  dict_["N_matched"] = dict_["N_matched"] + 1
26  if isGood: dict_["N_goodMatched"] = dict_["N_goodMatched"] + 1
27  if event.sim_TC_matched[simTrk] == 1:
28  dict_["N_singleMatched"] = dict_["N_singleMatched"] + 1
29  if isGood: dict_["N_goodSingleMatched"] = dict_["N_goodSingleMatched"] + 1
30  if event.sim_TC_matched[simTrk] > 1:
31  dict_["N_dup"] = dict_["N_dup"] + 1
32  if isGood: dict_["N_goodDup"] = dict_["N_goodDup"] + 1
33  for tc in range(len(event.tc_matched_simIdx)):
34  for simIdxOther in range(len(event.tc_matched_simIdx[tc])):
35  if event.tc_matched_simIdx[tc][simIdxOther] == simTrk:
36  if event.tc_type[tc] == 7:
37  dict_["N_matchedWpT5"] = dict_["N_matchedWpT5"] + 1
38  if isGood: dict_["N_goodMatchedWpT5"] = dict_["N_goodMatchedWpT5"] + 1
39  if event.tc_type[tc] == 5:
40  dict_["N_matchedWpT3"] = dict_["N_matchedWpT3"] + 1
41  if isGood: dict_["N_goodMatchedWpT3"] = dict_["N_goodMatchedWpT3"] + 1
42  if event.tc_type[tc] == 4:
43  dict_["N_matchedWT5"] = dict_["N_matchedWT5"] + 1
44  if isGood: dict_["N_goodMatchedWT5"] = dict_["N_goodMatchedWT5"] + 1
45  if event.tc_type[tc] == 8:
46  dict_["N_matchedWpLS"] = dict_["N_matchedWpLS"] + 1
47  if isGood: dict_["N_goodMatchedWpLS"] = dict_["N_goodMatchedWpLS"] + 1
48 
49  return dict_
50 
51 
def simTrkInfo(event, dict_)
Definition: dupObjEff.py:17

Variable Documentation

◆ action

dupObjEff.action

Definition at line 7 of file dupObjEff.py.

◆ args

dupObjEff.args

Definition at line 10 of file dupObjEff.py.

◆ choices

dupObjEff.choices

Definition at line 9 of file dupObjEff.py.

◆ debug

dupObjEff.debug

Definition at line 379 of file dupObjEff.py.

◆ default

dupObjEff.default

Definition at line 5 of file dupObjEff.py.

◆ dict_pT3

dupObjEff.dict_pT3

Definition at line 376 of file dupObjEff.py.

◆ dict_pT5

dupObjEff.dict_pT5

Definition at line 375 of file dupObjEff.py.

◆ dict_sim

dupObjEff.dict_sim

Definition at line 368 of file dupObjEff.py.

◆ dict_T5

dupObjEff.dict_T5

Definition at line 377 of file dupObjEff.py.

◆ dict_TC

dupObjEff.dict_TC

Definition at line 371 of file dupObjEff.py.

◆ dict_TCTot

dupObjEff.dict_TCTot

Definition at line 370 of file dupObjEff.py.

◆ event

dupObjEff.event

Definition at line 387 of file dupObjEff.py.

◆ False

dupObjEff.False

Definition at line 7 of file dupObjEff.py.

◆ help

dupObjEff.help

Definition at line 5 of file dupObjEff.py.

◆ infile

dupObjEff.infile

Definition at line 13 of file dupObjEff.py.

◆ int

dupObjEff.int

Definition at line 6 of file dupObjEff.py.

◆ intree

dupObjEff.intree

Definition at line 14 of file dupObjEff.py.

Referenced by APVValidationPlots.endJob().

◆ parser

dupObjEff.parser

Definition at line 4 of file dupObjEff.py.

◆ str

dupObjEff.str

Definition at line 5 of file dupObjEff.py.

◆ type

dupObjEff.type

Definition at line 5 of file dupObjEff.py.