102 def GetCorrection(self, receiver, layer_corr, layer_names):
104 coolid = self.geometry_convertor.getPPMfromReceiver(receiver)
106 eta_bin = self.geometry_convertor.getEtaBin(coolid)
113 if self.geometry_convertor.isCoolEm (coolid):
115 is_overlap = self.geometry_convertor.isPPMOverlap(coolid)
119 for n
in range(len(layer_names)):
121 layer = layer_names[n]
125 hv_coef += layer_corr[n] * self.layer_weights_em [eta_bin][0]
126 normalisation += self.layer_weights_em [eta_bin][0]
130 hv_coef += layer_corr[n] * self.layer_weights_em [eta_bin][1]
131 normalisation += self.layer_weights_em [eta_bin][1]
135 hv_coef += layer_corr[n] * self.layer_weights_em [eta_bin][2]
136 normalisation += self.layer_weights_em [eta_bin][2]
140 hv_coef += layer_corr[n] * self.layer_weights_em [eta_bin][3]
141 normalisation += self.layer_weights_em [eta_bin][3]
145 hv_coef += layer_corr[n] * self.layer_weights_em [eta_bin][4]
146 normalisation += self.layer_weights_em [eta_bin][4]
150 if self.geometry_convertor.isCoolHad(coolid):
152 regions =
"EmbFcalHighEta"
156 for n
in range(len(layer_names)):
158 layer = layer_names[n]
162 hv_coef += layer_corr[n] * self.layer_weights_had[eta_bin][0]
163 normalisation += self.layer_weights_had[eta_bin][0]
167 hv_coef += layer_corr[n] * self.layer_weights_had[eta_bin][1]
168 normalisation += self.layer_weights_had[eta_bin][1]
172 hv_coef += layer_corr[n] * self.layer_weights_had[eta_bin][2]
173 normalisation += self.layer_weights_had[eta_bin][2]
177 hv_coef += layer_corr[n] * self.layer_weights_had[eta_bin][3]
178 normalisation += self.layer_weights_had[eta_bin][3]
180 totalCorrection = hv_coef / normalisation
182 return totalCorrection