89 Error(
"BmnDchHitProducer::Exec()",
" !!! Unknown branch name !!! ");
94 cout <<
"======================== DCH hit finder exec started ====================" << endl;
100 Int_t track_id = dchPoint->GetTrackID();
109 Int_t dchId = (z < 600.) ? 1 : 2;
111 Double_t charge = px * px + py * py + pz * pz;
115 if (
fabs(px * px + py * py + pz * pz) < .25)
143 wire_pos = x_loc + owdist;
145 wire_pos = y_loc + owdist;
147 wire_pos = v_loc + owdist;
149 wire_pos = u_loc + owdist;
154 if (wire_pos -
Int_t(wire_pos) < 0.5) {
155 nearest_wire =
Int_t(wire_pos);
158 nearest_wire =
Int_t(wire_pos) + 1;
166 Double_t sigm_err = (wdist < 0.02) ? 0.08
167 : (wdist >= 0.02 && wdist < 0.1) ? 0.06
168 : (wdist >= 0.1 && wdist < 0.4) ? 0.015
169 : (wdist >= 0.4 && wdist < 0.41) ? 0.08
173 Double_t wdist_smeared = wdist + dev;
175 if (wdist_smeared > .5) {
177 wdist_smeared = 1. - wdist_smeared;
181 if (wdist_smeared < 0) {
184 wdist_smeared = -wdist_smeared;
200 x1_smeared = -(x_loc - dev) + x_shift;
201 y1_smeared = y_loc + y_shift;
202 x2_smeared = (x1_smeared - 2 * wdist_smeared) + x_shift;
203 y2_smeared = y1_smeared;
205 x1_smeared = -(x_loc + dev) + x_shift;
206 y1_smeared = y_loc + y_shift;
207 x2_smeared = (x1_smeared + 2 * wdist_smeared) + x_shift;
208 y2_smeared = y1_smeared;
214 x1_smeared = -x_loc + x_shift;
215 y1_smeared = y_loc + y_shift - dev;
216 x2_smeared = x1_smeared;
217 y2_smeared = y1_smeared + 2 * wdist_smeared + y_shift;
219 x1_smeared = -x_loc + x_shift;
220 y1_smeared = y_loc + y_shift + dev;
221 x2_smeared = x1_smeared;
222 y2_smeared = y1_smeared - 2 * wdist_smeared + y_shift;
228 x1_smeared = -(((v_loc - dev) - u_loc) /
TMath::Sqrt2()) + x_shift;
229 y1_smeared = (((v_loc - dev) + u_loc) /
TMath::Sqrt2()) + y_shift;
230 x2_smeared = -(((v_loc + 2 * wdist_smeared) - u_loc) /
TMath::Sqrt2()) + x_shift;
231 y2_smeared = (((v_loc + 2 * wdist_smeared) + u_loc) /
TMath::Sqrt2()) + y_shift;
233 x1_smeared = -(((v_loc + dev) - u_loc) /
TMath::Sqrt2()) + x_shift;
234 y1_smeared = (((v_loc + dev) + u_loc) /
TMath::Sqrt2()) + y_shift;
235 x2_smeared = -(((v_loc - 2 * wdist_smeared) - u_loc) /
TMath::Sqrt2()) + x_shift;
236 y2_smeared = (((v_loc - 2 * wdist_smeared) + u_loc) /
TMath::Sqrt2()) + y_shift;
242 x1_smeared = -((v_loc - (u_loc - dev)) /
TMath::Sqrt2()) + x_shift;
243 y1_smeared = ((v_loc + (u_loc - dev)) /
TMath::Sqrt2()) + y_shift;
244 x2_smeared = -((v_loc - (u_loc + 2 * wdist_smeared)) /
TMath::Sqrt2()) + x_shift;
245 y2_smeared = ((v_loc + (u_loc + 2 * wdist_smeared)) /
TMath::Sqrt2()) + y_shift;
247 x1_smeared = -((v_loc - (u_loc + dev)) /
TMath::Sqrt2()) + x_shift;
248 y1_smeared = ((v_loc + (u_loc + dev)) /
TMath::Sqrt2()) + y_shift;
249 x2_smeared = -((v_loc - (u_loc - 2 * wdist_smeared)) /
TMath::Sqrt2()) + x_shift;
250 y2_smeared = ((v_loc + (u_loc - 2 * wdist_smeared)) /
TMath::Sqrt2()) + y_shift;
257 cout <<
"(x:y:z) = ( " << x <<
" : " << y <<
" : " << z <<
" )\n";
258 cout <<
" pdg code " << dchPoint->
GetPdgId() <<
" \n";
259 cout <<
" charge " << dchPoint->
GetCharge() <<
" \n";
261 cout <<
" currentPlaneNum = " << currentPlaneNum <<
"\n";
262 cout <<
" PlaneType = " <<
fPlaneTypes[currentPlaneNum][0] <<
"\n";
263 cout <<
" dev " << dev <<
" wdist_smeared = " << wdist_smeared <<
"\n";
264 cout <<
" smeared1(x:y:z) = ( " << x1_smeared <<
" : " << y1_smeared <<
" : " << z1_smeared <<
" )\n";
265 cout <<
" smeared2(x:y:z) = ( " << x2_smeared <<
" : " << y2_smeared <<
" : " << z2_smeared <<
" )\n";
266 cout <<
" wdist = " << wdist <<
"\n";
267 cout <<
" wire_pos = " << wire_pos <<
"\n";
268 cout <<
" nearest_wire = " << nearest_wire <<
"\n";
269 cout <<
" sigm_err = " << sigm_err <<
"\n";
270 cout <<
" left = " << left <<
"\n";
271 cout <<
" dchId = " << dchId <<
"\n";
282 currentPlaneNum += (dchId == 1) ? 0 : 8;
294 cout <<
"======================== DCH hit finder exec finished ===================" << endl;