Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • external/TrackCovariance/ObsTrk.h

    ra0f5d71 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
     
    2022        //
    2123private:       
    22         Double_t fB;                                            // Solenoid magnetic field
    23         SolGridCov *fGC;                                        // Covariance matrix grid
     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
     
    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
     56        ObsTrk(Double_t *x, Double_t *p, Double_t Q, Double_t B, SolGridCov* GC);       // Initialize and generate smeared track
    5757        // Destructor
    5858        ~ObsTrk();
    59         //
    60         // Service routines
    61         //
    62         TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
    63         TVectorD GenToObsPar(TVectorD gPar, SolGridCov *GC);
    64         TVector3 ParToX(TVectorD Par);
    65         TVector3 ParToP(TVectorD Par);
    66         Double_t ParToQ(TVectorD Par);
    6759        //
    6860        // Accessors
     
    7466        TVector3 GetGenP()      { return fGenP; }
    7567        // D, phi0, C, z0, cot(th)
    76         TVectorD GetGenPar()    { return fGenPar; }
     68        TVectorD GetGenPar()    { return fGenPar; }             // in meters
     69        TVectorD GetGenParMm()  { return fGenParMm; }           // in mm
    7770        // D, z0, phi0, theta, q/p, time
    7871        TVectorD GetGenParACTS()        { return fGenParACTS; }
     
    8477        TVector3 GetObsP()      { return fObsP; }
    8578        // D, phi0, C, z0, cot(th)
    86         TVectorD GetObsPar()    { return fObsPar; }
     79        TVectorD GetObsPar()    { return fObsPar; }             // in meters
     80        TVectorD GetObsParMm()  { return fObsParMm; }   // In mm
    8781        // D, z0, phi0, theta, q/p, time
    8882        TVectorD GetObsParACTS()        { return fObsParACTS; }
     
    9084        TVectorD GetObsParILC() { return fObsParILC; }
    9185        // Covariances
    92         TMatrixDSym GetCov(){ return fCov; }
     86        TMatrixDSym GetCov()    { return fCov; }        // in meters
     87        TMatrixDSym GetCovMm()  { return fCov; }        // in mm
    9388        TMatrixDSym GetCovACTS(){ return fCovACTS; }
    9489        TMatrixDSym GetCovILC(){ return fCovILC; }
     90        //
    9591};
    9692
Note: See TracChangeset for help on using the changeset viewer.