Changes in external/TrackCovariance/VertexFit.cc [7bca620:b750b0a] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
external/TrackCovariance/VertexFit.cc
r7bca620 rb750b0a 17 17 { 18 18 fNtr = 0; 19 fR start= -1.0;19 fRold = -1.0; 20 20 fVtxDone = kFALSE; 21 21 fVtxCst = kFALSE; … … 31 31 { 32 32 fNtr = Ntr; 33 fR start= -1.0;33 fRold = -1.0; 34 34 fVtxDone = kFALSE; 35 35 fVtxCst = kFALSE; … … 55 55 { 56 56 fNtr = Ntr; 57 fR start= -1.0;57 fRold = -1.0; 58 58 fVtxDone = kFALSE; 59 59 fVtxCst = kFALSE; … … 220 220 std::vector<TVectorD*> x0i; // Tracks at ma 221 221 std::vector<TVectorD*> ni; // Track derivative wrt phase 222 std::vector<TMatrixDSym*> Ci; 222 std::vector<TMatrixDSym*> Ci; // Position error matrix at fixed phase 223 223 std::vector<TVectorD*> wi; // Ci*ni 224 std::vector<Double_t> s_in; // Starting phase225 //226 //227 224 // 228 225 // Track loop 229 226 for (Int_t i = 0; i < fNtr; i++) 230 227 { 228 Double_t s = 0.; 231 229 TVectorD par = *fPar[i]; 232 230 TMatrixDSym Cov = *fCov[i]; 233 Double_t s = 0.; 234 // Case when starting radius is provided 235 if(fRstart > TMath::Abs(par(0))){ 236 s = 2.*TMath::ASin(par(2)*TMath::Sqrt((fRstart*fRstart-par(0)*par(0))/(1.+2.*par(2)*par(0)))); 237 } 238 // 239 x0i.push_back(new TVectorD(Fill_x(par, s))); 231 x0i.push_back(new TVectorD(Fill_x0(par))); 240 232 ni.push_back(new TVectorD(derXds(par, s))); 241 233 TMatrixD A = derXdPar(par, s); … … 243 235 TMatrixDSym Cinv = RegInv(*Ci[i]); 244 236 wi.push_back(new TVectorD(Cinv * (*ni[i]))); 245 s_in.push_back(s);246 237 } 247 238 //std::cout << "Vtx init completed. fNtr = "<<fNtr << std::endl; … … 271 262 for (Int_t i = 0; i < fNtr; i++){ 272 263 Double_t si = Dot(*wi[i], fXv - (*x0i[i])) / Ci[i]->Similarity(*wi[i]); 273 ffi.push_back(si +s_in[i]);264 ffi.push_back(si); 274 265 //TVectorD xvi = Fill_x(*fPar[i],si); 275 266 //std::cout << "Fast vertex "<<i<<": xvi = "<<xvi(0)<<", "<<xvi(1)<<", "<<xvi(2) … … 289 280 Ci.clear(); 290 281 wi.clear(); 291 s_in.clear();292 282 } 293 283 // … … 412 402 // 413 403 fVtxDone = kTRUE; // Set fit completion flag 414 //fRstart= TMath::Sqrt(fXv(0)*fXv(0) + fXv(1)*fXv(1)); // Store fit404 fRold = TMath::Sqrt(fXv(0)*fXv(0) + fXv(1)*fXv(1)); // Store fit 415 405 //std::cout << "Found vertex " << fXv(0) << ", " << fXv(1) << ", " << fXv(2) 416 406 // << ", after "<<Ntry<<" iterations"<<std::endl;
Note:
See TracChangeset
for help on using the changeset viewer.