ATLAS Offline Software
Loading...
Searching...
No Matches
LArHVGainsPredictor.GainPredictor Class Reference
Collaboration diagram for LArHVGainsPredictor.GainPredictor:

Public Member Functions

 __init__ (self, mapping)
 GetGain (self, receiver, orig_gain, layer_corr_ref, layer_corr_new, layer_names)

Public Attributes

 geometry_convertor = mapping
dict layer_weights_em = {}
dict layer_weights_had = {}

Detailed Description

Definition at line 74 of file LArHVGainsPredictor.py.

Constructor & Destructor Documentation

◆ __init__()

LArHVGainsPredictor.GainPredictor.__init__ ( self,
mapping )

Definition at line 76 of file LArHVGainsPredictor.py.

76 def __init__(self, mapping):
77
78 self.geometry_convertor = mapping
79
80 self.layer_weights_em = {} # per eta bin
81 self.layer_weights_had = {} # per eta bin
82
83 file_name= ROOT.PathResolver.find_calib_file("TrigT1Calo/HVcorrPhysicsWeights_v1.txt")
84
85
86
87 try:
88
89 file = open(file_name)
90
91 except IOError:
92
93 print ("\ncould not find file: %s ....exiting\n" % file_name)
94
95 sys.exit()
96
97 for line in file.readlines():
98
99 parts = line.split()
100
101 self.layer_weights_em [int(parts[0])] = [float(parts[1]),float(parts[2]),float(parts[3]),float(parts[4]),float(parts[5])]
102 self.layer_weights_had[int(parts[0])] = [float(parts[6]),float(parts[7]),float(parts[8]),float(parts[9])]
103
104 file.close()
105
106

Member Function Documentation

◆ GetGain()

LArHVGainsPredictor.GainPredictor.GetGain ( self,
receiver,
orig_gain,
layer_corr_ref,
layer_corr_new,
layer_names )

Definition at line 107 of file LArHVGainsPredictor.py.

107 def GetGain(self, receiver, orig_gain, layer_corr_ref, layer_corr_new, layer_names):
108
109 coolid = self.geometry_convertor.getPPMfromReceiver(receiver)
110
111 eta_bin = self.geometry_convertor.getEtaBin(coolid)
112
113 hv_coef_ref = 0. # ref hv coefficient
114 hv_coef_new = 0. # new hv coefficient
115
116
117
118 if self.geometry_convertor.isCoolEm (coolid):
119
120 is_overlap = self.geometry_convertor.isPPMOverlap(coolid)
121
122
123
124 for n in range(len(layer_names)):
125
126 layer = layer_names[n]
127
129
130 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_em [eta_bin][0]
131 hv_coef_new += layer_corr_new[n] * self.layer_weights_em [eta_bin][0]
132
133 if PlotCalibrationHV.isEmFront(layer,is_overlap):
134
135 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_em [eta_bin][1]
136 hv_coef_new += layer_corr_new[n] * self.layer_weights_em [eta_bin][1]
137
138 if PlotCalibrationHV.isEmMiddle(layer,is_overlap):
139
140 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_em [eta_bin][2]
141 hv_coef_new += layer_corr_new[n] * self.layer_weights_em [eta_bin][2]
142
143 if PlotCalibrationHV.isEmBack(layer,is_overlap):
144
145 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_em [eta_bin][3]
146 hv_coef_new += layer_corr_new[n] * self.layer_weights_em [eta_bin][3]
147
148 if PlotCalibrationHV.isEmOverlapBack(layer,is_overlap):
149
150 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_em [eta_bin][4]
151 hv_coef_new += layer_corr_new[n] * self.layer_weights_em [eta_bin][4]
152
153
154
155 if self.geometry_convertor.isCoolHad(coolid):
156
157 regions = "EmbFcalHighEta" # (?)
158
159
160
161 for n in range(len(layer_names)):
162
163 layer = layer_names[n]
164
165 if PlotCalibrationHV.isHadFirstLayer(layer,regions):
166
167 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_had[eta_bin][0]
168 hv_coef_new += layer_corr_new[n] * self.layer_weights_had[eta_bin][0]
169
170 if PlotCalibrationHV.isHadSecondLayer(layer,regions):
171
172 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_had[eta_bin][1]
173 hv_coef_new += layer_corr_new[n] * self.layer_weights_had[eta_bin][1]
174
175 if PlotCalibrationHV.isHadThirdLayer(layer,regions):
176
177 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_had[eta_bin][2]
178 hv_coef_new += layer_corr_new[n] * self.layer_weights_had[eta_bin][2]
179
180 if PlotCalibrationHV.isHadFourthLayer(layer,regions):
181
182 hv_coef_ref += layer_corr_ref[n] * self.layer_weights_had[eta_bin][3]
183 hv_coef_new += layer_corr_new[n] * self.layer_weights_had[eta_bin][3]
184
185 pred_gain = orig_gain * (hv_coef_new/hv_coef_ref) # predicted gain
186
187 return pred_gain
188
189
isEmMiddle(layerName, isOverlap)
isEmBack(layerName, isOverlap)
isHadFirstLayer(layerName, TT_part)
isHadSecondLayer(layerName, TT_part)
isEmFront(layerName, isOverlap)
isHadThirdLayer(layerName, TT_part)
isHadFourthLayer(layerName, TT_part)
isEmOverlapBack(layerName, isOverlap)

Member Data Documentation

◆ geometry_convertor

LArHVGainsPredictor.GainPredictor.geometry_convertor = mapping

Definition at line 78 of file LArHVGainsPredictor.py.

◆ layer_weights_em

dict LArHVGainsPredictor.GainPredictor.layer_weights_em = {}

Definition at line 80 of file LArHVGainsPredictor.py.

◆ layer_weights_had

dict LArHVGainsPredictor.GainPredictor.layer_weights_had = {}

Definition at line 81 of file LArHVGainsPredictor.py.


The documentation for this class was generated from the following file: