Fork me on GitHub

Changeset a0f5d71 in git


Ignore:
Timestamp:
Jul 13, 2020, 5:20:43 PM (4 years ago)
Author:
Michele Selvaggi <michele.selvaggi@…>
Branches:
master
Children:
97ef971, d192152
Parents:
3051ea17
Message:

added latest version of ObsTrk class

Location:
external/TrackCovariance
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • external/TrackCovariance/ObsTrk.cc

    r3051ea17 ra0f5d71  
    2020        fGenPar.ResizeTo(5);
    2121        fGenParACTS.ResizeTo(6);
     22        fGenParILC.ResizeTo(5);
    2223        fObsPar.ResizeTo(5);
    2324        fObsParACTS.ResizeTo(6);
     25        fObsParILC.ResizeTo(5);
    2426        fCov.ResizeTo(5, 5);
    2527        fCovACTS.ResizeTo(6, 6);
     28        fCovILC.ResizeTo(5, 5);
    2629        fGenPar = XPtoPar(x,p,Q);
    2730        fGenParACTS = ParToACTS(fGenPar);
     31        fGenParILC = ParToILC(fGenPar);
    2832        /*
    2933        std::cout << "ObsTrk::ObsTrk: fGenPar";
     
    3337        fObsPar = GenToObsPar(fGenPar, fGC);
    3438        fObsParACTS = ParToACTS(fObsPar);
     39        fObsParILC = ParToILC(fObsPar);
    3540        fObsX = ParToX(fObsPar);
    3641        fObsP = ParToP(fObsPar);
    3742        fObsQ = ParToQ(fObsPar);
    3843        fCovACTS = CovToACTS(fCov);
     44        fCovILC = CovToILC(fCov);
    3945}
    4046//
     
    206212}
    207213
     214// Parameter conversion to ILC format
     215TVectorD ObsTrk::ParToILC(TVectorD Par)
     216{
     217        TVectorD pILC(5);       // Return vector
     218        //
     219        pILC(0) = Par(0)*1.0e3;                 // d0 in mm
     220        pILC(1) = Par(1);                               // phi0 is unchanged
     221        pILC(2) = -2 * Par(2)*1.0e-3;   // w in mm^-1
     222        pILC(3) = Par(3)*1.0e3;                 // z0 in mm
     223        pILC(4) = Par(4);                               // tan(lambda) = cot(theta)
     224        //
     225        return pILC;
     226}
     227// Covariance conversion to ILC format
     228TMatrixDSym ObsTrk::CovToILC(TMatrixDSym Cov)
     229{
     230        TMatrixDSym cILC(5); cILC.Zero();
     231        //
     232        // Fill derivative matrix
     233        TMatrixD A(5, 5);       A.Zero();
     234        //
     235        A(0, 0) = 1.0e3;                // D-d0 in mm
     236        A(1, 1) = 1.0;          // phi0-phi0
     237        A(2, 2) = -2.0e-3;      // w-C
     238        A(3, 3) = 1.0e3;                // z0-z0 conversion to mm
     239        A(4, 4) = 1.0;          // tan(lambda) - cot(theta)
     240        //
     241        TMatrixDSym Cv = Cov;
     242        TMatrixD At(5, 5);
     243        At.Transpose(A);
     244        Cv.Similarity(At);
     245        cILC = Cv;
     246        //
     247        return cILC;
     248}
     249
    208250
    209251
  • external/TrackCovariance/ObsTrk.h

    r3051ea17 ra0f5d71  
    2929        TVector3 fObsP;                                 // Observed  track momentum @ track minimum approach
    3030        TVectorD fGenPar;                               // Generated helix track parameters (D, phi0, C, z0, cot(th))
    31         TVectorD fGenParACTS;                   // Generated helix track parameters (D, z0, phi0, th, q/p, time)
     31        TVectorD fGenParACTS;                   // Generated helix track parameters (D, z0, phi0, th, q/p, time
     32        TVectorD fGenParILC;                            // Generated helix track parameters (w, phi0, d0, z0, tan(lambda))
    3233        TVectorD fObsPar;                               // Observed  helix track parameters (D, phi0, C, z0, cot(th))
    33         TVectorD fObsParACTS;                   // Observed  helix track parameters (D, z0, phi0, th, q/p, time)
     34        TVectorD fObsParACTS;                   // Observed  helix track parameters (D, z0, phi0, th, q/p, time
     35        TVectorD fObsParILC;                            // Observed  helix track parameters (d0, phi0, w, z0, tan(lambda))
    3436        TMatrixDSym fCov;                               // INterpolated covariance of track parameters
    3537        TMatrixDSym fCovACTS;                   // Covariance of track parameters in ACTS format
    3638                                                                        // (D, z0, phi0, theta, q/p, time)
     39        TMatrixDSym fCovILC;                            // Covariance of track parameters in ILC format
     40                                                                        // (d0, phi0, w, z0, tan(lambda))
    3741        //
    3842        // Conversion to ACTS parametrization
    3943        //
    4044        TVectorD ParToACTS(TVectorD Par);               // Parameter conversion
    41         TMatrixDSym CovToACTS(TMatrixDSym Cov); // Covariance conversion
     45        TMatrixDSym CovToACTS(TMatrixDSym Cov); // Covariance
     46        //
     47        // Conversion to ILC parametrization
     48        //
     49        TVectorD ParToILC(TVectorD Par);                // Parameter conversion
     50        TMatrixDSym CovToILC(TMatrixDSym Cov);  // Covariance conversion
    4251        //
    4352public:
     
    6877        // D, z0, phi0, theta, q/p, time
    6978        TVectorD GetGenParACTS()        { return fGenParACTS; }
     79        // d0, phi0, w, z0, tan(lambda)
     80        TVectorD GetGenParILC() { return fGenParILC; }
    7081        // Observed level X, P, Q
    7182        Double_t GetObsQ()      { return fObsQ; }
     
    7687        // D, z0, phi0, theta, q/p, time
    7788        TVectorD GetObsParACTS()        { return fObsParACTS; }
     89        // d0, phi0, w, z0, tan(lambda)
     90        TVectorD GetObsParILC() { return fObsParILC; }
    7891        // Covariances
    7992        TMatrixDSym GetCov(){ return fCov; }
    80         TMatrixDSym GetCovACTS(){ return fCovACTS; };
     93        TMatrixDSym GetCovACTS(){ return fCovACTS; }
     94        TMatrixDSym GetCovILC(){ return fCovILC; }
    8195};
    8296
Note: See TracChangeset for help on using the changeset viewer.