ATLAS Offline Software
Functions | Variables
module_driven_slicing Namespace Reference

Functions

def transformNodes (tree, func)
 
def getHist (name, makehist)
 
def parseKeyLayer (keystring)
 
def getLayer (trk, hit_idx)
 
def getRow (trk, hit_idx)
 
def isKeyLayer (trk, hit_idx, key)
 
def findKeyLayerMod (trk, key)
 
def trackToModules (trk)
 
def parseGeometry ()
 
def divideKeyLayerModulesIntoSlices (eta_vals_for_key_layer)
 
def getModuleToSliceMap (mod_slice_map)
 
def trimSlice (slice_modules, slice_tracks)
 
def writeRMap (slice_modules, sliceid2int)
 
def printOccupancies (slice_modules)
 
def plotSlices (sliceid2int, slice_modules)
 

Variables

 parser
 
 description
 
 metavar
 
 type
 
 str
 
 nargs
 
 help
 
 action
 
 default
 
 args
 
 defaultdictlambda
 
 int2det
 
 det2int
 
 int2reg
 
 reg2int
 
 striprows
 
 abcchipsperrow
 
 stripsperabc
 
 stripsperrow
 
 rowbounds
 
 geom
 
 layers
 
 hists
 
 fileList
 
 Data
 
 num_entries
 
 t0
 
 key1
 
 key2
 
 min_eta
 
 max_eta
 
 histfile
 
 eta_vals_for_key_layer
 
 nslices
 
 mod_slice_map
 
 slice_modules
 
 sliceid2int
 
 slice_tracks
 

Function Documentation

◆ divideKeyLayerModulesIntoSlices()

def module_driven_slicing.divideKeyLayerModulesIntoSlices (   eta_vals_for_key_layer)

Definition at line 323 of file module_driven_slicing.py.

323 def divideKeyLayerModulesIntoSlices(eta_vals_for_key_layer):
324  key_modules_per_slice = float(len(eta_vals_for_key_layer))/nslices
325  key_modules_for_slices=[[]]
326 
327  for i,row in enumerate(sorted(eta_vals_for_key_layer)):
328  if i >= len(key_modules_for_slices)*key_modules_per_slice:
329  key_modules_for_slices.append([])
330  key_modules_for_slices[-1].append(row)
331 
332  msg.info("Modules in slices %d", key_modules_for_slices)
333 
334 
335 
336  # make a map of modules to slices
337  return {m:i for i,s in enumerate(key_modules_for_slices) for m in s }
338 
339 
340 
341 #--------------------------------------------------------------------------------
342 # Build List of Modules in Slices
343 #--------------------------------------------------------------------------------
344 

◆ findKeyLayerMod()

def module_driven_slicing.findKeyLayerMod (   trk,
  key 
)

Definition at line 232 of file module_driven_slicing.py.

232 def findKeyLayerMod(trk,key):
233  # return None for events with two hits in keylayer
234  mixedrows=False
235  row=None
236  for hit_idx in range(len(trk.SensitivePosX)):
237  if isKeyLayer(trk,hit_idx,key):
238  rownew= getRow(trk,hit_idx)[1]
239  if row and (rownew!=row):
240  mixedrows=True
241  row = rownew
242  return row if not mixedrows else None
243 
244 
245 
246 

◆ getHist()

def module_driven_slicing.getHist (   name,
  makehist 
)

Definition at line 120 of file module_driven_slicing.py.

120 def getHist(name,makehist):
121  if name not in hists:
122  hists[name]=makehist(name)
123  return hists[name]
124 
125 
126 #----------------------------------------------------------------------
127 # Open file(s) for reading
128 #----------------------------------------------------------------------
129 # get list of files
130 fileList=args.inname

◆ getLayer()

def module_driven_slicing.getLayer (   trk,
  hit_idx 
)

Definition at line 171 of file module_driven_slicing.py.

171 def getLayer(trk,hit_idx):
172  if trk.SensitiveIsPixel[hit_idx] == 0: #strip
173  layer = 2*trk.SensitiveLayerDisc[hit_idx]+trk.SensitiveSide[hit_idx]
174  else: #pixel
175  layer = trk.SensitiveLayerDisc[hit_idx]
176  return layer
177 

◆ getModuleToSliceMap()

def module_driven_slicing.getModuleToSliceMap (   mod_slice_map)

Definition at line 345 of file module_driven_slicing.py.

345 def getModuleToSliceMap(mod_slice_map):
346  slice_modules=defaultdict(lambda :
347  { det:{
348  reg:{
349  lyr:{
350  d:defaultdict(lambda:0) for d in dirs}
351  for lyr in range(layers[det][reg]) }
352  for reg in regs }
353  for det in dets })
354 
355  slice_hists={}
356  slice_tracks=defaultdict(lambda:0)
357  sliceid2int={}
358 
359  events=0
360  tracks_used=0
361  missing_keylayer_hit=0
362  for trk in Data:
363  events = events + 1
364  if events>args.evts:
365  break
366 
367  # only process tracks in region
368  if trk.StartEta > max_eta or trk.StartEta < min_eta:
369  continue
370 
371  modules = trackToModules(trk)
372 
373  if not key1["lyr"] in modules[key1["det"]][key1["reg"]]:
374  missing_keylayer_hit+=1
375  continue
376  mod1 = modules[key1["det"]][key1["reg"]][key1["lyr"]][0]
377  slicenum = mod_slice_map[mod1]
378  if args.test1slice and slicenum!=0:
379  continue
380 
381  if key2:
382  if not key2["lyr"] in modules[key2["det"]][key2["reg"]]:
383  missing_keylayer_hit+=1
384  continue
385  mod2 = modules[key2["det"]][key2["reg"]][key2["lyr"]][0]
386  slicenum=(slicenum,mod2)
387 
388 
389 
390  # add other modules to slice
391  for det in modules:
392  for reg in modules[det]:
393  for lyr in modules[det][reg]:
394  modidxs=modules[det][reg][lyr]
395  slice_modules[slicenum][int2det[det]][int2reg[reg]][lyr]["eta"][modidxs[0]]+=1
396  slice_modules[slicenum][int2det[det]][int2reg[reg]][lyr]["phi"][modidxs[1]]+=1
397 
398  hit_idx = modidxs[2]
399 
400  if slicenum not in slice_hists:
401  sliceid2int[slicenum]=len(slice_modules)-1
402  slice_hists[slicenum]=ROOT.TH2D("rz"+str(sliceid2int[slicenum]),"rz"+str(slicenum)+"; z[mm]; r[mm]",800,-200,+600,1000,0,1000)
403  slice_hists[slicenum].Fill(trk.SensitivePosZ[hit_idx],trk.SensitivePosR[hit_idx])
404 
405  hname=int2det[det]+"_"+int2reg[reg]+"_"+str(lyr)+"_"+str(modidxs[0])
406  if hname not in slice_hists:
407  slice_hists[hname]=ROOT.TH1D(hname,hname+"; z[mm]",800,-200,+600)
408  slice_hists[hname].Fill(trk.SensitivePosZ[hit_idx])
409 
410 
411  tracks_used+=1
412  slice_tracks[slicenum]+=1
413 
414  msg.info("Tracks Used=%d" %(tracks_used))
415  msg.info("%d tracks with no keylayer hit found or multiple hits in keylayer" %(int(str(missing_keylayer_hit))))
416 
417  for hist in slice_hists.values():
418  hist.Write()
419 
420  return slice_modules,sliceid2int,slice_tracks
421 
422 
423 
424 #--------------------------------------------------------------------------------
425 # Trimming
426 #--------------------------------------------------------------------------------
427 

◆ getRow()

def module_driven_slicing.getRow (   trk,
  hit_idx 
)

Definition at line 178 of file module_driven_slicing.py.

178 def getRow(trk,hit_idx): # returns localrow,globalrow
179 
180  strip = trk.SensitivePhiIndex[hit_idx]
181  bec=int2reg[abs(trk.SensitiveBarrelEndcap[hit_idx])]
182  layer=getLayer(trk,hit_idx)
183  etamod=trk.SensitiveEtaModule[hit_idx]
184  localrow,globalrow=None,None
185  r=trk.SensitivePosR[hit_idx]
186  z=trk.SensitivePosZ[hit_idx]
187 
188  # calculate row from strip
189  if trk.SensitiveIsPixel[hit_idx] == 0:
190 
191  if "strip_number" not in hists:
192  hists["strip_number"]=ROOT.TH2D("strip_number_hist",";module;strip",500,0,500,800,0,8000)
193  hists["strip_number"].Fill(reg2int[bec]*100+layer*10+etamod,strip)
194 
195  # this is a binned lookup to get the row number
196  localrow = bisect.bisect_left(rowbounds[bec][abs(etamod)],strip)
197 
198  rows_in_module=striprows[bec][layer][abs(etamod)]
199 
200  if localrow > rows_in_module:
201  msg.error("Error row(%d) greater than number of rows in module %d" %(localrow,rows_in_module))
202  globalrow=rows_in_module*etamod+localrow
203 
204 
205  if globalrow==6:
206  if "z_mod6" not in hists:
207  hists["z_mod6"]=ROOT.TH2D("z_mod6",";z;lyr",2500,0,500,10,0,10)
208  hists["z_mod6"].Fill(z,layer)
209 
210  else:
211  localrow=trk.SensitiveEtaModule[hit_idx]
212  globalrow=localrow
213  getHist("pixel_rz_layer"+str(layer),
214  lambda n: ROOT.TH2D(n,";z[mm]; r[mm]",3000,0,+3000,1000,0,1000)).Fill(z,r)
215 
216  return localrow,globalrow
217 
218 #--------------------------------------------------------------------------------
219 # Find module of track in key layer
220 #--------------------------------------------------------------------------------
221 

◆ isKeyLayer()

def module_driven_slicing.isKeyLayer (   trk,
  hit_idx,
  key 
)

Definition at line 222 of file module_driven_slicing.py.

222 def isKeyLayer(trk,hit_idx,key):
223  if key["det"]!=trk.SensitiveIsPixel[hit_idx]:
224  return False
225  if key["reg"]!=abs(trk.SensitiveBarrelEndcap[hit_idx]):
226  return False
227  if getLayer(trk,hit_idx)!=key["lyr"]:
228  return False
229  return True
230 
231 

◆ parseGeometry()

def module_driven_slicing.parseGeometry ( )

Definition at line 291 of file module_driven_slicing.py.

291 def parseGeometry():
292  eta_vals_for_key_layer=set()
293  events=0
294  tracks_used=0
295  for trk in Data:
296  events = events + 1
297  if events>args.evts:
298  break
299 
300  # only process tracks in region
301  if trk.StartEta > max_eta or trk.StartEta < min_eta:
302  continue
303 
304  modules = trackToModules(trk)
305  if not key1["lyr"] in modules[key1["det"]][key1["reg"]]:
306  # no hit in layer
307  continue
308 
309  eta_vals_for_key_layer.add(modules[key1["det"]][key1["reg"]][key1["lyr"]][0])
310 
311  tracks_used+=1
312 
313  msg.info("%d eta rows:",len(eta_vals_for_key_layer))
314  msg.info(sorted(eta_vals_for_key_layer))
315  msg.info("Tracks Used = %d", tracks_used)
316  return eta_vals_for_key_layer
317 
318 
319 
320 #--------------------------------------------------------------------------------
321 # Define key layer in terms of modules
322 #--------------------------------------------------------------------------------

◆ parseKeyLayer()

def module_driven_slicing.parseKeyLayer (   keystring)

Definition at line 149 of file module_driven_slicing.py.

149 def parseKeyLayer(keystring):
150  key={}
151  key_det,key_reg,key_lyr = keystring.split(",")
152  key["lyr"]=int(key_lyr)
153  key["det"]=det2int[key_det]
154  key["reg"]=reg2int[key_reg]
155  return key
156 

◆ plotSlices()

def module_driven_slicing.plotSlices (   sliceid2int,
  slice_modules 
)

Definition at line 541 of file module_driven_slicing.py.

541 def plotSlices(sliceid2int,slice_modules):
542 
543  events=0
544  for trk in Data:
545  events = events + 1
546  if events>args.evts:
547  break
548 
549  for hit_idx in range(len(trk.SensitivePosX)):
550  det = trk.SensitiveIsPixel[hit_idx]
551  reg = abs(trk.SensitiveBarrelEndcap[hit_idx])
552  lyr = getLayer(trk,hit_idx)
553  row = getRow(trk,hit_idx)[1]
554  r=trk.SensitivePosR[hit_idx]
555  z=trk.SensitivePosZ[hit_idx]
556 
557  for sliceid,modules in slice_modules.items():
558  hist = getHist("slice_{}_rz".format(sliceid2int[sliceid]),
559  lambda n: ROOT.TH2D(n,"; z[mm]; r[mm]",3500,-500,+3000,1000,0,1000))
560 
561  if row in modules[int2det[det]][int2reg[reg]][lyr]["eta"]:
562  hist.Fill(z,r)
563 
564 
565 
566 #--------------------------------------------------------------------------------
567 # Main
568 #--------------------------------------------------------------------------------
569 

◆ printOccupancies()

def module_driven_slicing.printOccupancies (   slice_modules)

Definition at line 480 of file module_driven_slicing.py.

480 def printOccupancies(slice_modules):
481 
482  duplication_count={
483  det:{
484  reg:{
485  lyr:defaultdict(lambda: 0) for lyr in range(layers[det][reg]) }
486  for reg in regs }
487  for det in dets }
488 
489  for sliceid in slice_modules:
490  for det in slice_modules[sliceid].keys():
491  for reg in slice_modules[sliceid][det].keys():
492  for lyr in slice_modules[sliceid][det][reg].keys():
493  for etamod in slice_modules[sliceid][det][reg][lyr]["eta"].keys():
494  duplication_count[det][reg][lyr][etamod]+=1
495 
496 
497  barrel_occupancies_4mrad_100mm={"pixel": [2.5,1.2,0.9,0.75,0.6],
498  "strip": [0.4,0.4,0.3,0.3,0.2,0.2,0.2,0.2]}
499  barrel_lengths={"pixel": [20,40,40,40,40],
500  "strip": [25,25,25,25,50,50,50,50]}
501  occupancies_per_module = {det:{reg: [] for reg in regs} for det in dets}
502  for det in dets:
503  for i in range(len(barrel_lengths[det])):
504  occupancies_per_module[det]['barrel'].append(barrel_occupancies_4mrad_100mm[det][i]*barrel_lengths[det][i]/float(100))
505 
506  occupancies_per_module[det]['endcap']=[0 for i in range(layers[det][reg])]
507 
508  layer_options = { "FPGATrackSimlike" : { "pixel" : [4], "strip":[0,2,3,4,5,6,7]},
509  "Outer5" : { "pixel" : [4], "strip":[0,2,4,6]},
510  "Inner5" : { "pixel" : [0,1,2,4,5], "strip":[]},
511  "Mid5" : { "pixel" : [2,4,5], "strip":[0,2]}}
512 
513  layer_options_occ = defaultdict(lambda:1)
514 
515  msg.info("%-5s %-6s %-5s %-12s %-10s %-10s" % ("","","","","min/max","min/max",))
516  msg.info("%-5s %-6s %-5s %-12s %-10s %-10s" % ("det","reg","lyr","duplication","modules","occupancy",))
517  for det in dets:
518  for reg in regs:
519  for lyr in range(layers[det][reg]):
520  dup=-1
521  if len(duplication_count[det][reg][lyr])!=0:
522  dup = sum(duplication_count[det][reg][lyr].values())/float(len(duplication_count[det][reg][lyr]))
523  occs = [occupancies_per_module[det][reg][lyr]*len(slice_modules[sliceid][det][reg][lyr]["eta"]) for sliceid in slice_modules]
524  lens = [len(slice_modules[sliceid][det][reg][lyr]["eta"]) for sliceid in slice_modules]
525 
526  for opt,config in layer_options.items():
527  if lyr in config[det]:
528  layer_options_occ[opt]*=sum(occs)/float(len(occs))
529 
530  msg.info("%5s %5s %-5d %2.2f [%2d,%2d] [%2.2f,%2.2f]" % (det,reg,lyr,dup,min(lens),max(lens),min(occs),max(occs)))
531 
532  msg.info("\nOccupancies:\n")
533  for opt,occ in layer_options_occ.items():
534  msg.info(opt,occ)
535 
536 
537 
538 #--------------------------------------------------------------------------------
539 # Plot Slices
540 #--------------------------------------------------------------------------------

◆ trackToModules()

def module_driven_slicing.trackToModules (   trk)

Definition at line 247 of file module_driven_slicing.py.

247 def trackToModules(trk):
248  modules = defaultdict(defaultdictlambda) # indexed on layer
249 
250  for hit_idx in range(len(trk.SensitivePosX)):
251  det = trk.SensitiveIsPixel[hit_idx]
252  reg = abs(trk.SensitiveBarrelEndcap[hit_idx])
253  lyr = getLayer(trk,hit_idx)
254  row = getRow(trk,hit_idx)[1]
255  phimod = trk.SensitivePhiModule[hit_idx]
256  r=trk.SensitivePosR[hit_idx]
257  z=trk.SensitivePosZ[hit_idx]
258  if reg==reg2int['barrel']:
259  if lyr not in modules[det][reg] or r < modules[det][reg][lyr][3]:
260  modules[det][reg][lyr]=(row,phimod,hit_idx,r,z)
261  else:
262  if lyr not in modules[det][reg] or z < modules[det][reg][lyr][4]:
263  modules[det][reg][lyr]=(row,phimod,hit_idx,r,z)
264 
265  for reg in modules[det2int['strip']]:
266  if reg==reg2int['barrel']:
267  varidx=3
268  else:
269  varidx=4
270 
271  varlast=10000 # large value
272  lastlyr=10000 # large value
273  for lyr in sorted(modules[det][reg].keys(),reverse=True):
274  if varlast < modules[det][reg][lyr][varidx]:
275  del modules[det][reg][lyr]
276  elif lyr+1==lastlyr and lyr%2==0 and (varlast-modules[det][reg][lyr][varidx]) > 10.0:
277  del modules[det][reg][lyr+1] # remove outer hit
278  else:
279  lastlyr=lyr
280  varlast=modules[det][reg][lyr][varidx]
281 
282 
283  return modules
284 
285 
286 #--------------------------------------------------------------------------------
287 # Parse Geometry
288 #--------------------------------------------------------------------------------
289 
290 

◆ transformNodes()

def module_driven_slicing.transformNodes (   tree,
  func 
)

Definition at line 47 of file module_driven_slicing.py.

47 def transformNodes(tree,func):
48  retv={}
49  for key,val in tree.items():
50  if 'dict' in type(val).__name__:
51  retv[key]=transformNodes(val,func)
52  else:
53  if 'list' in type(val).__name__:
54  retv[key]=[func(subval) for subval in val]
55  else:
56  retv[key]=func(val)
57  return retv
58 
59 
60 #----------------------------------------------------------------------
61 # Constants
62 #----------------------------------------------------------------------
63 dets=["pixel","strip"]
64 regs=["barrel","endcap"]
65 dirs=["phi","eta"]
66 

◆ trimSlice()

def module_driven_slicing.trimSlice (   slice_modules,
  slice_tracks 
)

Definition at line 428 of file module_driven_slicing.py.

428 def trimSlice(slice_modules,slice_tracks):
429 
430  for sliceid in slice_modules:
431  for det in dets:
432  for reg in regs:
433  for lyr in slice_modules[sliceid][det][reg]:
434  for mod in list(slice_modules[sliceid][det][reg][lyr]["eta"]):
435  if slice_modules[sliceid][det][reg][lyr]["eta"][mod]/float(slice_tracks[sliceid]) < args.trim:
436  del slice_modules[sliceid][det][reg][lyr]["eta"][mod]
437 
438 
439 #--------------------------------------------------------------------------------
440 # Write RMap File
441 #--------------------------------------------------------------------------------

◆ writeRMap()

def module_driven_slicing.writeRMap (   slice_modules,
  sliceid2int 
)

Definition at line 442 of file module_driven_slicing.py.

442 def writeRMap(slice_modules,sliceid2int):
443  nslices=len(sliceid2int)
444  rmap = open(args.outfilelabel+'_KeyLayer-%s%s%s_NSlices-%d.rmap' % (
445  args.keylayer.replace(",","_"),
446  "_KeyLayer2-"+args.keylayer2.replace(",","_") if args.keylayer2 else "",
447  ("_trim_%1.3f" % (args.trim,)).replace(".","_") if args.trim else "",
448  nslices), 'w')
449 
450  rmap.write("towers "+str(nslices)+" phi 16\n\n")
451 
452  int2sliceid={v:k for k,v in sliceid2int.items()}
453  for i in range(len(slice_modules)):
454  rmap.write("\n%d \n" % i)
455  sliceid=int2sliceid[i]
456 
457  mindefault = lambda x,default=0: min(x) if len(x) else default
458  maxdefault = lambda x,default=0: max(x) if len(x) else default
459 
460  for det in dets:
461  for reg in regs:
462  for lyr in range(layers[det][reg]):
463  rmap.write("%d %d %d %d %d %d %d %d %d\n" % (
464  1 if det=="pixel" else 0,
465  1 if reg=="endcap" else 0,
466  lyr,
467  mindefault(slice_modules[sliceid][det][reg][lyr]["phi"].keys(),default=0),
468  maxdefault(slice_modules[sliceid][det][reg][lyr]["phi"].keys(),default=0),
469  len(slice_modules[sliceid][det][reg][lyr]["phi"]),
470  mindefault(slice_modules[sliceid][det][reg][lyr]["eta"].keys(),default=0),
471  maxdefault(slice_modules[sliceid][det][reg][lyr]["eta"].keys(),default=0),
472  len(slice_modules[sliceid][det][reg][lyr]["eta"])))
473 
474 
475  rmap.close()
476 
477 #--------------------------------------------------------------------------------
478 # Estimate duplication
479 #--------------------------------------------------------------------------------

Variable Documentation

◆ abcchipsperrow

module_driven_slicing.abcchipsperrow

Definition at line 87 of file module_driven_slicing.py.

◆ action

module_driven_slicing.action

Definition at line 9 of file module_driven_slicing.py.

◆ args

module_driven_slicing.args

Definition at line 26 of file module_driven_slicing.py.

◆ Data

module_driven_slicing.Data

Definition at line 135 of file module_driven_slicing.py.

◆ default

module_driven_slicing.default

Definition at line 10 of file module_driven_slicing.py.

◆ defaultdictlambda

module_driven_slicing.defaultdictlambda

Definition at line 45 of file module_driven_slicing.py.

◆ description

module_driven_slicing.description

Definition at line 6 of file module_driven_slicing.py.

◆ det2int

module_driven_slicing.det2int

Definition at line 68 of file module_driven_slicing.py.

◆ eta_vals_for_key_layer

module_driven_slicing.eta_vals_for_key_layer

Definition at line 572 of file module_driven_slicing.py.

◆ fileList

module_driven_slicing.fileList

Definition at line 132 of file module_driven_slicing.py.

◆ geom

module_driven_slicing.geom

Definition at line 106 of file module_driven_slicing.py.

◆ help

module_driven_slicing.help

Definition at line 8 of file module_driven_slicing.py.

◆ histfile

module_driven_slicing.histfile

Definition at line 570 of file module_driven_slicing.py.

◆ hists

module_driven_slicing.hists

Definition at line 117 of file module_driven_slicing.py.

◆ int2det

module_driven_slicing.int2det

Definition at line 67 of file module_driven_slicing.py.

◆ int2reg

module_driven_slicing.int2reg

Definition at line 69 of file module_driven_slicing.py.

◆ key1

module_driven_slicing.key1

Definition at line 157 of file module_driven_slicing.py.

◆ key2

module_driven_slicing.key2

Definition at line 158 of file module_driven_slicing.py.

◆ layers

module_driven_slicing.layers

Definition at line 113 of file module_driven_slicing.py.

◆ max_eta

module_driven_slicing.max_eta

Definition at line 165 of file module_driven_slicing.py.

◆ metavar

module_driven_slicing.metavar

Definition at line 7 of file module_driven_slicing.py.

◆ min_eta

module_driven_slicing.min_eta

Definition at line 165 of file module_driven_slicing.py.

◆ mod_slice_map

module_driven_slicing.mod_slice_map

Definition at line 579 of file module_driven_slicing.py.

◆ nargs

module_driven_slicing.nargs

Definition at line 7 of file module_driven_slicing.py.

◆ nslices

module_driven_slicing.nslices

Definition at line 574 of file module_driven_slicing.py.

◆ num_entries

module_driven_slicing.num_entries

Definition at line 141 of file module_driven_slicing.py.

◆ parser

module_driven_slicing.parser

Definition at line 6 of file module_driven_slicing.py.

◆ reg2int

module_driven_slicing.reg2int

Definition at line 70 of file module_driven_slicing.py.

◆ rowbounds

module_driven_slicing.rowbounds

Definition at line 98 of file module_driven_slicing.py.

◆ slice_modules

module_driven_slicing.slice_modules

Definition at line 581 of file module_driven_slicing.py.

◆ slice_tracks

module_driven_slicing.slice_tracks

Definition at line 581 of file module_driven_slicing.py.

◆ sliceid2int

module_driven_slicing.sliceid2int

Definition at line 581 of file module_driven_slicing.py.

◆ str

module_driven_slicing.str

Definition at line 7 of file module_driven_slicing.py.

◆ striprows

module_driven_slicing.striprows

Definition at line 74 of file module_driven_slicing.py.

◆ stripsperabc

module_driven_slicing.stripsperabc

Definition at line 95 of file module_driven_slicing.py.

◆ stripsperrow

module_driven_slicing.stripsperrow

Definition at line 96 of file module_driven_slicing.py.

◆ t0

module_driven_slicing.t0

Definition at line 143 of file module_driven_slicing.py.

◆ type

module_driven_slicing.type

Definition at line 7 of file module_driven_slicing.py.

module_driven_slicing.trackToModules
def trackToModules(trk)
Definition: module_driven_slicing.py:247
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename R::value_type > sorted(const R &r, PROJ proj={})
Helper function to create a sorted vector from an unsorted range.
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
module_driven_slicing.findKeyLayerMod
def findKeyLayerMod(trk, key)
Definition: module_driven_slicing.py:232
module_driven_slicing.type
type
Definition: module_driven_slicing.py:7
vtune_athena.format
format
Definition: vtune_athena.py:14
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
module_driven_slicing.getRow
def getRow(trk, hit_idx)
Definition: module_driven_slicing.py:178
module_driven_slicing.transformNodes
def transformNodes(tree, func)
Definition: module_driven_slicing.py:47
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
module_driven_slicing.getLayer
def getLayer(trk, hit_idx)
Definition: module_driven_slicing.py:171
module_driven_slicing.divideKeyLayerModulesIntoSlices
def divideKeyLayerModulesIntoSlices(eta_vals_for_key_layer)
Definition: module_driven_slicing.py:323
module_driven_slicing.isKeyLayer
def isKeyLayer(trk, hit_idx, key)
Definition: module_driven_slicing.py:222
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:808
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
module_driven_slicing.parseGeometry
def parseGeometry()
Definition: module_driven_slicing.py:291
module_driven_slicing.plotSlices
def plotSlices(sliceid2int, slice_modules)
Definition: module_driven_slicing.py:541
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
module_driven_slicing.getModuleToSliceMap
def getModuleToSliceMap(mod_slice_map)
Definition: module_driven_slicing.py:345
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
module_driven_slicing.printOccupancies
def printOccupancies(slice_modules)
Definition: module_driven_slicing.py:480
module_driven_slicing.getHist
def getHist(name, makehist)
Definition: module_driven_slicing.py:120
Trk::open
@ open
Definition: BinningType.h:40
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
module_driven_slicing.writeRMap
def writeRMap(slice_modules, sliceid2int)
Definition: module_driven_slicing.py:442
module_driven_slicing.trimSlice
def trimSlice(slice_modules, slice_tracks)
Definition: module_driven_slicing.py:428
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
module_driven_slicing.parseKeyLayer
def parseKeyLayer(keystring)
Definition: module_driven_slicing.py:149
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65