Changeset a617744 in git for external/TrackCovariance/ObsTrk.h
- Timestamp:
- Mar 1, 2021, 4:01:37 PM (3 years ago)
- Branches:
- master
- Children:
- 40e890c
- Parents:
- 3f8466a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
external/TrackCovariance/ObsTrk.h
r3f8466a ra617744 6 6 #include <TMatrixDSym.h> 7 7 #include <TDecompChol.h> 8 #include "TrkUtil.h" 8 9 #include "SolGridCov.h" 9 10 // … … 13 14 // INFN - Sezione di Pisa, Italy 14 15 // 15 class ObsTrk{ 16 class ObsTrk: public TrkUtil 17 { 16 18 // 17 19 // Class to handle simulation of tracking resolution … … 19 21 // Prefix Gen marks variables before resolution smearing 20 22 // 21 private: 22 Double_t fB; 23 SolGridCov *fGC; 23 private: 24 Double_t fB; // Solenoid magnetic field 25 SolGridCov *fGC; // Covariance matrix grid 24 26 Double_t fGenQ; // Generated track charge 25 27 Double_t fObsQ; // Observed track charge 26 28 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 28 30 TVector3 fGenP; // Generated track momentum at track origin 29 31 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 31 34 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 34 38 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 37 42 TMatrixDSym fCovACTS; // Covariance of track parameters in ACTS format 38 43 // (D, z0, phi0, theta, q/p, time) 39 TMatrixDSym fCovILC; 44 TMatrixDSym fCovILC; // Covariance of track parameters in ILC format 40 45 // (d0, phi0, w, z0, tan(lambda)) 41 46 // 42 // Conversion to ACTS parametrization47 // Service routines 43 48 // 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); 51 50 // 52 51 public: … … 54 53 // Constructors 55 54 // 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 track55 ObsTrk(TVector3 x, TVector3 p, Double_t Q, Double_t B, SolGridCov *GC); // Initialize and generate smeared 57 56 ObsTrk(Double_t *x, Double_t *p, Double_t Q, Double_t B, SolGridCov* GC); // Initialize and generate smeared track 58 57 // Destructor 59 58 ~ObsTrk(); 60 //61 // Service routines62 //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);68 59 // 69 60 // Accessors … … 75 66 TVector3 GetGenP() { return fGenP; } 76 67 // 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 78 70 // D, z0, phi0, theta, q/p, time 79 71 TVectorD GetGenParACTS() { return fGenParACTS; } … … 85 77 TVector3 GetObsP() { return fObsP; } 86 78 // 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 88 81 // D, z0, phi0, theta, q/p, time 89 82 TVectorD GetObsParACTS() { return fObsParACTS; } … … 91 84 TVectorD GetObsParILC() { return fObsParILC; } 92 85 // Covariances 93 TMatrixDSym GetCov(){ return fCov; } 86 TMatrixDSym GetCov() { return fCov; } // in meters 87 TMatrixDSym GetCovMm() { return fCov; } // in mm 94 88 TMatrixDSym GetCovACTS(){ return fCovACTS; } 95 89 TMatrixDSym GetCovILC(){ return fCovILC; } 90 // 96 91 }; 97 92
Note:
See TracChangeset
for help on using the changeset viewer.