Fork me on GitHub

Ignore:
Timestamp:
Mar 1, 2021, 4:01:37 PM (3 years ago)
Author:
michele <michele.selvaggi@…>
Branches:
master
Children:
40e890c
Parents:
3f8466a
Message:

adding latest TrackCovariance libraries (F. Bedeschi)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • external/TrackCovariance/ObsTrk.h

    r3f8466a ra617744  
    66#include <TMatrixDSym.h>
    77#include <TDecompChol.h>
     8#include "TrkUtil.h"
    89#include "SolGridCov.h"
    910//
     
    1314//         INFN - Sezione di Pisa, Italy
    1415//
    15 class ObsTrk{
     16class ObsTrk: public TrkUtil
     17{
    1618        //
    1719        // Class to handle simulation of tracking resolution
     
    1921        // Prefix Gen marks variables before resolution smearing
    2022        //
    21 private:
    22         Double_t fB;                                            // Solenoid magnetic field
    23         SolGridCov *fGC;                                        // Covariance matrix grid
     23private:       
     24        Double_t fB;                                    // Solenoid magnetic field
     25        SolGridCov *fGC;                                // Covariance matrix grid
    2426        Double_t fGenQ;                                 // Generated track charge
    2527        Double_t fObsQ;                                 // Observed  track charge
    2628        TVector3 fGenX;                                 // Generated track origin (x,y,z)
    27         TVector3 fObsX;                                 // Observed  track origin (x,y,z) @ track min. approach
     29        TVector3 fObsX;                                 // Observed  track origin (x,y,z) @ track min. approach 
    2830        TVector3 fGenP;                                 // Generated track momentum at track origin
    2931        TVector3 fObsP;                                 // Observed  track momentum @ track minimum approach
    30         TVectorD fGenPar;                               // Generated helix track parameters (D, phi0, C, z0, cot(th))
     32        TVectorD fGenPar;                               // Generated helix track parameters (D, phi0, C, z0, cot(th)) in meters
     33        TVectorD fGenParMm;                             // Generated helix track parameters (D, phi0, C, z0, cot(th)) in mm
    3134        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))
    33         TVectorD fObsPar;                               // Observed  helix track parameters (D, phi0, C, z0, cot(th))
     35        TVectorD fGenParILC;                    // Generated helix track parameters (w, phi0, d0, z0, tan(lambda))
     36        TVectorD fObsPar;                               // Observed  helix track parameters (D, phi0, C, z0, cot(th)) in meters
     37        TVectorD fObsParMm;                             // Observed  helix track parameters (D, phi0, C, z0, cot(th)) in mm
    3438        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))
    36         TMatrixDSym fCov;                               // INterpolated covariance of track parameters
     39        TVectorD fObsParILC;                    // Observed  helix track parameters (d0, phi0, w, z0, tan(lambda))
     40        TMatrixDSym fCov;                               // Interpolated covariance of track in meters
     41        TMatrixDSym fCovMm;                             // Interpolated covariance of track parameters in mm
    3742        TMatrixDSym fCovACTS;                   // Covariance of track parameters in ACTS format
    3843                                                                        // (D, z0, phi0, theta, q/p, time)
    39         TMatrixDSym fCovILC;                            // Covariance of track parameters in ILC format
     44        TMatrixDSym fCovILC;                    // Covariance of track parameters in ILC format
    4045                                                                        // (d0, phi0, w, z0, tan(lambda))
    4146        //
    42         // Conversion to ACTS parametrization
     47        // Service routines
    4348        //
    44         TVectorD ParToACTS(TVectorD Par);               // Parameter 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
     49        TVectorD GenToObsPar(TVectorD gPar, SolGridCov* GC);
    5150        //
    5251public:
     
    5453        // Constructors
    5554        // x(3) track origin, p(3) track momentum at origin, Q charge, B magnetic field in Tesla
    56         ObsTrk(TVector3 x, TVector3 p, Double_t Q, Double_t B, SolGridCov *GC); // Initialize and generate smeared track
     55        ObsTrk(TVector3 x, TVector3 p, Double_t Q, Double_t B, SolGridCov *GC); // Initialize and generate smeared
    5756        ObsTrk(Double_t *x, Double_t *p, Double_t Q, Double_t B, SolGridCov* GC);       // Initialize and generate smeared track
    58   // Destructor
     57        // Destructor
    5958        ~ObsTrk();
    60         //
    61         // Service routines
    62         //
    63         TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
    64         TVectorD GenToObsPar(TVectorD gPar, SolGridCov *GC);
    65         TVector3 ParToX(TVectorD Par);
    66         TVector3 ParToP(TVectorD Par);
    67         Double_t ParToQ(TVectorD Par);
    6859        //
    6960        // Accessors
     
    7566        TVector3 GetGenP()      { return fGenP; }
    7667        // D, phi0, C, z0, cot(th)
    77         TVectorD GetGenPar()    { return fGenPar; }
     68        TVectorD GetGenPar()    { return fGenPar; }             // in meters
     69        TVectorD GetGenParMm()  { return fGenParMm; }           // in mm
    7870        // D, z0, phi0, theta, q/p, time
    7971        TVectorD GetGenParACTS()        { return fGenParACTS; }
     
    8577        TVector3 GetObsP()      { return fObsP; }
    8678        // D, phi0, C, z0, cot(th)
    87         TVectorD GetObsPar()    { return fObsPar; }
     79        TVectorD GetObsPar()    { return fObsPar; }             // in meters
     80        TVectorD GetObsParMm()  { return fObsParMm; }   // In mm
    8881        // D, z0, phi0, theta, q/p, time
    8982        TVectorD GetObsParACTS()        { return fObsParACTS; }
     
    9184        TVectorD GetObsParILC() { return fObsParILC; }
    9285        // Covariances
    93         TMatrixDSym GetCov(){ return fCov; }
     86        TMatrixDSym GetCov()    { return fCov; }        // in meters
     87        TMatrixDSym GetCovMm()  { return fCov; }        // in mm
    9488        TMatrixDSym GetCovACTS(){ return fCovACTS; }
    9589        TMatrixDSym GetCovILC(){ return fCovILC; }
     90        //
    9691};
    9792
Note: See TracChangeset for help on using the changeset viewer.