25 if (channel>0 && channel<=1024)
return 1;
26 if (channel>1024 && channel<=2048)
return 2;
27 if (channel>2048 && channel<=3072)
return 3;
28 if (channel>3072 && channel<=4096)
return 4;
29 if (channel>4096 && channel<=5120)
return 5;
31 throw std::invalid_argument(
"channel is not valid!" );
37 if (channel>0 && channel<=512)
return 1;
38 if (channel>512 && channel<=1024)
return 2;
40 if (channel>1024 && channel<=1536)
return 3;
41 if (channel>1536 && channel<=2048)
return 4;
43 if (channel>2048 && channel<=2560)
return 5;
44 if (channel>2560 && channel<=3072)
return 6;
46 if (channel>3072 && channel<=3584)
return 7;
47 if (channel>3584 && channel<=4096)
return 8;
49 if (channel>4096 && channel<=4608)
return 9;
50 if (channel>4608 && channel<=5120)
return 10;
51 }
else if(fabs(stEta)==2){
52 if (channel>0 && channel<=512)
return 11;
53 if (channel>512 && channel<=1024)
return 12;
55 if (channel>1024 && channel<=1536)
return 13;
56 if (channel>1536 && channel<=2048)
return 14;
58 if (channel>2048 && channel<=2560)
return 15;
59 if (channel>2560 && channel<=3072)
return 16;
61 throw std::invalid_argument(
"channel is not valid!" );
66 if (stationPhi==1 && stName==
"MML")
return 1;
67 if (stationPhi==1 && stName==
"MMS")
return 2;
68 if (stationPhi==2 && stName==
"MML")
return 3;
69 if (stationPhi==2 && stName==
"MMS")
return 4;
70 if (stationPhi==3 && stName==
"MML")
return 5;
71 if (stationPhi==3 && stName==
"MMS")
return 6;
72 if (stationPhi==4 && stName==
"MML")
return 7;
73 if (stationPhi==4 && stName==
"MMS")
return 8;
74 if (stationPhi==5 && stName==
"MML")
return 9;
75 if (stationPhi==5 && stName==
"MMS")
return 10;
76 if (stationPhi==6 && stName==
"MML")
return 11;
77 if (stationPhi==6 && stName==
"MMS")
return 12;
78 if (stationPhi==7 && stName==
"MML")
return 13;
79 if (stationPhi==7 && stName==
"MMS")
return 14;
80 if (stationPhi==8 && stName==
"MML")
return 15;
81 if (stationPhi==8 && stName==
"MMS")
return 16;
83 throw std::invalid_argument(
"stationPhi and stName are not valid!" );
90 if (std::abs(stationEta)==1)
return 0;
91 if (std::abs(stationEta)==2)
return 1;
99 static const int max_gas_gap = 4;
100 static const int max_multiplet = 2;
102 return (stationEta+2)*(max_gas_gap*max_multiplet)+(multiplet-1)*max_gas_gap +(gas_gap-1);
108 static const int max_gas_gap = 4;
109 static const int max_multiplet = 2;
111 return (stationEta-1)*(max_gas_gap*max_multiplet)+(multiplet-1)*max_gas_gap +(gas_gap-1);
118 static const int max_pcb = 3;
119 static const int max_gas_gap = 4;
120 if (stationEta != -2)
return -1;
122 return (multiplet-1)*max_gas_gap*max_pcb+ (gas_gap-1)*max_pcb + (PCB-1);
130 static const int max_pcb = 8;
132 return (gas_gap-1)*max_pcb + (PCB-1);
138 static const int max_feb = 16;
140 return (gas_gap-1)*max_feb + (FEB-1);
147 static const int max_pcb = 5;
148 static const int max_gas_gap = 4;
149 if (stationEta != -1)
return -1;
151 return (multiplet-1)*max_gas_gap*max_pcb+ (gas_gap-1)*max_pcb + (PCB-1);
158 static const int max_pcb = 3;
159 static const int max_gas_gap = 4;
160 if (stationEta != 2)
return -1;
162 return (multiplet-1)*max_gas_gap*max_pcb+ (gas_gap-1)*max_pcb + (PCB-1);
169 static const int max_pcb = 5;
170 static const int max_gas_gap = 4;
171 if (stationEta != 1)
return -1;
173 return (multiplet-1)*max_gas_gap*max_pcb+ (gas_gap-1)*max_pcb + (PCB-1);
179 static const int max_pcb = 3;
180 static const int max_gas_gap = 4;
181 static const int max_isector = 2;
182 if (stationEta != -2)
return -1;
184 return (multiplet-1)*max_gas_gap*max_pcb*max_isector+ (gas_gap-1)*max_pcb*max_isector + isector*max_pcb+ (PCB-1);
191 static const int max_pcb = 5;
192 static const int max_gas_gap = 4;
193 static const int max_isector = 2;
194 if (stationEta != -1)
return -1;
196 return (multiplet-1)*max_gas_gap*max_pcb*max_isector+ (gas_gap-1)*max_pcb*max_isector + isector*max_pcb + (PCB-1);
202 static const int max_pcb = 5;
203 static const int max_gas_gap = 4;
204 static const int max_isector = 2;
205 if (stationEta != 1)
return -1;
207 return (multiplet-1)*max_gas_gap*max_pcb*max_isector+ (gas_gap-1)*max_pcb*max_isector + isector*max_pcb + (PCB-1);
213 static const int max_pcb = 3;
214 static const int max_gas_gap = 4;
215 static const int max_isector = 2;
216 if (stationEta != 2)
return -1;
218 return (multiplet-1)*max_gas_gap*max_pcb*max_isector+ (gas_gap-1)*max_pcb*max_isector + isector*max_pcb + (PCB-1);
224 static const int max_pcb = 8;
225 static const int max_gas_gap = 4;
227 return (multiplet-1)*max_gas_gap*max_pcb + (gas_gap-1)*max_pcb + (PCB-1);
int get_bin_for_occ_lb_pcb_hist(const int multiplet, const int gas_gap, const int PCB) const
int get_bin_for_occ(const int gas_gap, const int PCB) const
int get_bin_for_occ_ASide_hist(const int stationEta, const int multiplet, const int gas_gap) const
int get_FEB_from_channel(const int channel, const int stEta) const
int get_bin_for_occ_lb_ASide_pcb_eta1_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB, int isector) const
int get_bin_for_occ_CSide_hist(const int stationEta, const int multiplet, const int gas_gap) const
int get_bin_for_occ_CSide_pcb_eta1_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB) const
int get_sectorEta_from_stationEta(const int stationEta) const
int get_sectorPhi_from_stationPhi_stName(const int stationPhi, const std::string &stName) const
int get_bin_for_feb_occ(const int gas_gap, const int FEB) const
int get_bin_for_occ_lb_CSide_pcb_eta2_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB, const int isector) const
int get_bin_for_occ_lb_CSide_pcb_eta1_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB, int isector) const
int get_bin_for_occ_CSide_pcb_eta2_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB) const
int get_bin_for_occ_lb_ASide_pcb_eta2_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB, const int isector) const
int get_PCB_from_channel(const int channel) const
int get_bin_for_occ_ASide_pcb_eta1_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB) const
int get_bin_for_occ_ASide_pcb_eta2_hist(const int stationEta, const int multiplet, const int gas_gap, const int PCB) const