15 def __init__(self, geometry='Default', cabling='RUN2'):
16
17
18 self._geometry=geometry
19 self._cabling=cabling
20 if geometry == "UpgradeABC":
21 self._cellNames=[
22 ["A-1","A-2","A-3","B-1","C-1","A-4","A-5","A-6","A-7","B-2","C-2","A-8","A-9","D-1","A-10","A-11","B-3","C-3","A-12","A-13","A-14","A-15","B-4","C-4",
23 "A-16","A-17","D-2","A-18","A-19","B-5","C-5","A-20","A-21","A-22","A-23","B-6","C-6","A-24","A-25","D-3","A-26","A-27","B-7","C-7","A-28","A-29","A-30",
24 "A-31","B-8","C-8","A-32","A-33","A-34","A-35","B-9","A-36","A-37","A-38","A-39","A-40"],
25 ["A+1","D*0","A+2","A+3","B+1","C+1","A+4","A+5","A+6","A+7","B+2","C+2","A+8","A+9","D+1","A+10","A+11","B+3","C+3","A+12","A+13","A+14","A+15","B+4","C+4",
26 "A+16","A+17","D+2","A+18","A+19","B+5","C+5","A+20","A+21","A+22","A+23","B+6","C+6","A+24","A+25","D+3","A+26","A+27","B+7","C+7","A+28","A+29","A+30",
27 "A+31","B+8","C+8","A+32","A+33","A+34","A+35","B+9","A+36","A+37","A+38","A+39","A+40"],
28 ["D-5","A-42","B-11","A-44","A-45","A-46","A-47","B-12","A-48","A-49","D-6","A-50","A-51","B-13","A-52","A-53","A-54","A-55","B-14","A-56","A-57","A-58","A-59","B-15",
29 "A-60","A-61","A-62","A-63","A-64"],
30 ["D+5","A+42","B+11","A+44","A+45","A+46","A+47","B+12","A+48","A+49","D+6","A+50","A+51","B+13","A+52","A+53","A+54","A+55","B+14","A+56","A+57","A+58","A+59","B+15",
31 "A+60","A+61","A+62","A+63","A+64"],
32 ["D-4","C-10","E-1","E-2","E-3","E-4","spD-4","spC-10","spD-40","spE-1","mbE-1","e4E-1"],
33 ["D+4","C+10","E+1","E+2","E+3","E+4","spD+4","spC+10","spD+40","spE+1","mbE+1","e4E+1"]
34 ]
35 self._nCellsModule = [60,61,29,29,6,6]
36
37 elif geometry == "UpgradeBC":
38 self._cellNames=[
39 ["A-1","B-1","C-1","A-2","B-2","C-2","A-3","B-3","C-3","D-1","A-4","B-4","C-4","A-5","B-5","C-5","D-2","A-6","B-6","C-6","A-7","B-7","C-7",
40 "D-3","A-8","B-8","C-8","A-9","B-9","A-10"],
41 ["A+1","B+1","C+1","D*0","A+2","B+2","C+2","A+3","B+3","C+3","D+1","A+4","B+4","C+4","A+5","B+5","C+5","D+2","A+6","B+6","C+6","A+7","B+7","C+7",
42 "D+3","A+8","B+8","C+8","A+9","B+9","A+10"],
43 ["B-11","D-5","A-12","B-12","A-13","B-13","D-6","A-14","B-14","A-15","B-15","A-16"],
44 ["B+11","D+5","A+12","B+12","A+13","B+13","D+6","A+14","B+14","A+15","B+15","A+16"],
45 ["D-4","C-10","E-1","E-2","E-3","E-4","spD-4","spC-10","spD-40","spE-1","mbE-1","e4E-1"],
46 ["D+4","C+10","E+1","E+2","E+3","E+4","spD+4","spC+10","spD+40","spE+1","mbE+1","e4E+1"]
47 ]
48 self._nCellsModule = [30,31,12,12,6,6]
49
50 elif geometry == "UpgradeA":
51 self._cellNames=[
52 ["A-1","A-2","A-3","B-1","A-4","A-5","A-6","A-7","B-2","A-8","A-9","D-1","A-10","A-11","B-3","A-12","A-13","A-14","A-15","B-4","A-16","A-17","D-2","A-18",
53 "A-19","B-5","A-20","A-21","A-22","A-23","B-6","A-24","A-25","D-3","A-26","A-27","B-7","A-28","A-29","A-30","A-31","B-8","A-32","A-33","A-34",
54 "A-35","B-9","A-36","A-37","A-38","A-39","A-40"],
55 ["A+1","D*0","A+2","A+3","B+1","A+4","A+5","A+6","A+7","B+2","A+8","A+9","D+1","A+10","A+11","B+3","A+12","A+13","A+14","A+15","B+4","A+16","A+17","D+2","A+18",
56 "A+19","B+5","A+20","A+21","A+22","A+23","B+6","A+24","A+25","D+3","A+26","A+27","B+7","A+28","A+29","A+30","A+31","B+8","A+32","A+33","A+34",
57 "A+35","B+9","A+36","A+37","A+38","A+39","A+40"],
58 ["D-5","A-42","B-11","A-44","A-45","A-46","A-47","B-12","A-48","A-49","D-6","A-50","A-51","B-13","A-52","A-53","A-54","A-55","B-14","A-56","A-57","A-58","A-59","B-15",
59 "A-60","A-61","A-62","A-63","A-64"],
60 ["D+5","A+42","B+11","A+44","A+45","A+46","A+47","B+12","A+48","A+49","D+6","A+50","A+51","B+13","A+52","A+53","A+54","A+55","B+14","A+56","A+57","A+58","A+59","B+15",
61 "A+60","A+61","A+62","A+63","A+64"],
62 ["D-4","C-10","E-1","E-2","E-3","E-4","spD-4","spC-10","spD-40","spE-1","mbE-1","e4E-1"],
63 ["D+4","C+10","E+1","E+2","E+3","E+4","spD+4","spC+10","spD+40","spE+1","mbE+1","e4E+1"]
64 ]
65 self._nCellsModule = [52,53,29,29,6,6]
66
67 else:
68 self._geometry="Default"
69 self._cellNames=[
70 ["A-1","B-1","A-2","B-2","A-3","B-3","D-1","A-4","B-4","A-5","B-5","D-2","A-6","B-6","A-7","B-7","D-3","A-8","B-8","A-9","B-9","A-10"],
71 ["A+1","B+1","D*0","A+2","B+2","A+3","B+3","D+1","A+4","B+4","A+5","B+5","D+2","A+6","B+6","A+7","B+7","D+3","A+8","B+8","A+9","B+9","A+10"],
72 ["B-11","D-5","A-12","B-12","A-13","B-13","D-6","A-14","B-14","A-15","B-15","A-16"],
73 ["B+11","D+5","A+12","B+12","A+13","B+13","D+6","A+14","B+14","A+15","B+15","A+16"],
74 ["D-4","C-10","E-1","E-2","E-3","E-4","spD-4","spC-10","spD-40","spE-1","mbE-1","e4E-1"],
75 ["D+4","C+10","E+1","E+2","E+3","E+4","spD+4","spC+10","spD+40","spE+1","mbE+1","e4E+1"]
76 ]
77 self._nCellsModule = [22,23,12,12,6,6]
78
79 self._partNames=["LBC","LBA","EBC","EBA","EBC","EBA"]
80 self._nModules = 64
81 self._nCellsPart = [0]
82 self._nHashMax=0
83 for p in range(6):
84 self._nHashMax+=self._nCellsModule[p]*self._nModules
85 self._nCellsPart.append(self._nHashMax)
86