11def iterate_runlist(runlist: list[tuple[int, int]]):
12 """Helper to iterate through runlist. The format is:
13 runlist: [[run1,run2], [run3,run4], ... ]
14 In addition each "run" can be a tuple of format (run,LB)
15 """
16 def makeRunLumi(rl):
17 """Create (Run,Lumi) tuple"""
18 return rl if isinstance(rl,tuple) else (rl,0)
19
20 for (a,b) in runlist:
21 (r1,l1) = makeRunLumi(a)
22 (r2,l2) = makeRunLumi(b)
23
24 limmin = (r1 << 32) + l1
25 if isinstance(b,tuple):
26 limmax = (r2 << 32) + l2
27 else:
28 limmax = ((r2+1) << 32) - 1
29
30 yield (limmin, limmax)
31
32