Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • external/TrackCovariance/VertexFit.cc

    r7bca620 rb750b0a  
    1717{
    1818        fNtr = 0;
    19         fRstart = -1.0;
     19        fRold = -1.0;
    2020        fVtxDone = kFALSE;
    2121        fVtxCst = kFALSE;
     
    3131{
    3232        fNtr = Ntr;
    33         fRstart = -1.0;
     33        fRold = -1.0;
    3434        fVtxDone = kFALSE;
    3535        fVtxCst = kFALSE;
     
    5555{
    5656        fNtr = Ntr;
    57         fRstart = -1.0;
     57        fRold = -1.0;
    5858        fVtxDone = kFALSE;
    5959        fVtxCst = kFALSE;
     
    220220        std::vector<TVectorD*> x0i;                             // Tracks at ma
    221221        std::vector<TVectorD*> ni;                              // Track derivative wrt phase
    222         std::vector<TMatrixDSym*> Ci;                           // Position error matrix at fixed phase
     222        std::vector<TMatrixDSym*> Ci;                   // Position error matrix at fixed phase
    223223        std::vector<TVectorD*> wi;                              // Ci*ni
    224         std::vector<Double_t> s_in;                             // Starting phase
    225         //
    226         //
    227224        //
    228225        // Track loop
    229226        for (Int_t i = 0; i < fNtr; i++)
    230227        {
     228                Double_t s = 0.;
    231229                TVectorD par = *fPar[i];
    232230                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)));
    240232                ni.push_back(new TVectorD(derXds(par, s)));
    241233                TMatrixD A = derXdPar(par, s);
     
    243235                TMatrixDSym Cinv = RegInv(*Ci[i]);
    244236                wi.push_back(new TVectorD(Cinv * (*ni[i])));
    245                 s_in.push_back(s);
    246237        }
    247238        //std::cout << "Vtx init completed. fNtr = "<<fNtr << std::endl;
     
    271262        for (Int_t i = 0; i < fNtr; i++){
    272263                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);
    274265                //TVectorD xvi = Fill_x(*fPar[i],si);
    275266                //std::cout << "Fast vertex "<<i<<": xvi = "<<xvi(0)<<", "<<xvi(1)<<", "<<xvi(2)
     
    289280        Ci.clear();
    290281        wi.clear();
    291         s_in.clear();
    292282}
    293283//
     
    412402        //
    413403        fVtxDone = kTRUE;               // Set fit completion flag
    414         //fRstart = TMath::Sqrt(fXv(0)*fXv(0) + fXv(1)*fXv(1)); // Store fit
     404        fRold = TMath::Sqrt(fXv(0)*fXv(0) + fXv(1)*fXv(1));     // Store fit
    415405        //std::cout << "Found vertex " << fXv(0) << ", " << fXv(1) << ", " << fXv(2)
    416406        //      << ", after "<<Ntry<<" iterations"<<std::endl;
Note: See TracChangeset for help on using the changeset viewer.