Changeset 3a105e5 in git for external/TrackCovariance/SolTrack.cc
- Timestamp:
- Feb 24, 2022, 4:15:47 PM (3 years ago)
- Branches:
- master
- Children:
- 2a2f310
- Parents:
- 56fb0be
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
external/TrackCovariance/SolTrack.cc
r56fb0be r3a105e5 176 176 { 177 177 // 178 // Return lists of hits associated to a track including all scattering layers. 178 // Return lists of hits associated to a track including all scattering layers. 179 179 // Return value is the total number of measurement hits 180 180 // kmh = total number of measurement layers hit for given type … … 190 190 { 191 191 Double_t R; Double_t phi; Double_t zz; 192 if (HitLayer(i, R, phi, zz)) 192 if (HitLayer(i, R, phi, zz)) 193 193 { 194 194 zhh[kh] = zz; … … 207 207 { 208 208 // 209 // Return lists of hits associated to a track for all measurement layers. 209 // Return lists of hits associated to a track for all measurement layers. 210 210 // Return value is the total number of measurement hits 211 211 // kmh = total number of measurement layers hit for given type … … 236 236 Int_t SolTrack::FirstHit(Double_t &Xfirst, Double_t &Yfirst, Double_t &Zfirst) 237 237 { 238 Int_t iFirst = -1; 238 Int_t iFirst = -1; 239 239 Int_t iFirstLay = -1; // Default return with no hits 240 240 Xfirst = 0.; … … 249 249 Double_t *dh = new Double_t[Nmh]; 250 250 // 251 Int_t n = HitListXYZ(ih, Xh, Yh, Zh); 251 Int_t n = HitListXYZ(ih, Xh, Yh, Zh); 252 252 // 253 253 for(Int_t i=0; i<Nmh; i++){ 254 Double_t rr = TMath::Sqrt(Xh[i]*Xh[i]+Yh[i]*Yh[i]); // Hit radius 254 Double_t rr = TMath::Sqrt(Xh[i]*Xh[i]+Yh[i]*Yh[i]); // Hit radius 255 255 dh[i] = TMath::ASin(C() * TMath::Sqrt((rr * rr - D() * D()) / (1. + 2 * C() * D()))) / C(); // Arc length traveled 256 256 } … … 327 327 // 328 328 // 329 // Input flags: 329 // Input flags: 330 330 // Res = .TRUE. turn on resolution effects/Use standard resolutions 331 331 // .FALSE. set all resolutions to 0 … … 410 410 nz = 1.0; 411 411 } 412 Double_t corr = TMath::Abs(pxi*nx + pyi * ny + pzi * nz) / p(); 412 Double_t corr = TMath::Abs(pxi*nx + pyi * ny + pzi * nz) / p(); 413 413 Double_t Rlf = fG->lTh(i) / (corr*fG->lX0(i)); // Rad. length fraction 414 414 thms[ii] = 0.0136*TMath::Sqrt(Rlf)*(1.0 + 0.038*TMath::Log(Rlf)) / p(); // MS angle … … 438 438 Int_t ityp = fG->lTyp(i); // Layer type Barrel or Z 439 439 Int_t nmeai = fG->lND(i); // # measurements in layer 440 440 441 441 if (fG->isMeasure(i)) 442 442 { … … 470 470 Rm(im, 2) = csa * dRphi(2) - ssa * dRz(2); // C derivative 471 471 Rm(im, 3) = csa * dRphi(3) - ssa * dRz(3); // z0 derivative 472 Rm(im, 4) = csa * dRphi(4) - ssa * dRz(4); // cot(theta) derivative 472 Rm(im, 4) = csa * dRphi(4) - ssa * dRz(4); // cot(theta) derivative 473 473 } 474 474 if (ityp == 2) // Z type layer (Measure R-phi at const. Z) … … 531 531 { 532 532 Double_t strk = 0; 533 if (nmk + 1 == 1) strk = fG->lStU(k); // Stereo angle upper 533 if (nmk + 1 == 1) strk = fG->lStU(k); // Stereo angle upper 534 534 if (nmk + 1 == 2) strk = fG->lStL(k); // Stereo angle lower 535 535 //if (im == km && Res) Sm(im, km) += sig*sig; // Detector resolution on diagonal … … 542 542 // 543 543 // Loop on all layers below for MS contributions 544 for (Int_t jj = 0; jj < kk; jj++) 544 for (Int_t jj = 0; jj < kk; jj++) 545 545 { 546 546 Double_t di = dik(ii, jj);
Note:
See TracChangeset
for help on using the changeset viewer.