Changes in external/TrackCovariance/ObsTrk.h [a0f5d71:ff9fb2d9] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
external/TrackCovariance/ObsTrk.h
ra0f5d71 rff9fb2d9 1 //2 1 #ifndef G__OBSTRK_H 3 2 #define G__OBSTRK_H 3 4 4 #include <TVector3.h> 5 5 #include <TVectorD.h> 6 6 #include <TMatrixDSym.h> 7 #include <TDecompChol.h> 8 #include "SolGridCov.h" 9 // 7 8 class SolGridCov; 9 10 10 // Class to handle smearing of generated charged particle tracks 11 // 11 12 12 // Author: F. Bedeschi 13 13 // INFN - Sezione di Pisa, Italy 14 14 // 15 15 class ObsTrk{ 16 // 17 // Class to handle simulation of tracking resolution 18 // Prefix Obs marks variables after resolution smearing 19 // Prefix Gen marks variables before resolution smearing 20 // 21 private: 22 Double_t fB; // Solenoid magnetic field 23 SolGridCov *fGC; // Covariance matrix grid 24 Double_t fGenQ; // Generated track charge 25 Double_t fObsQ; // Observed track charge 26 TVector3 fGenX; // Generated track origin (x,y,z) 27 TVector3 fObsX; // Observed track origin (x,y,z) @ track min. approach 28 TVector3 fGenP; // Generated track momentum at track origin 29 TVector3 fObsP; // Observed track momentum @ track minimum approach 30 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 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)) 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)) 36 TMatrixDSym fCov; // INterpolated covariance of track parameters 37 TMatrixDSym fCovACTS; // Covariance of track parameters in ACTS format 38 // (D, z0, phi0, theta, q/p, time) 39 TMatrixDSym fCovILC; // Covariance of track parameters in ILC format 40 // (d0, phi0, w, z0, tan(lambda)) 41 // 42 // Conversion to ACTS parametrization 43 // 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 51 // 16 // Class to handle simulation of tracking resolution 17 // Prefix Obs marks variables after resolution smearing 18 // Prefix Gen marks variables before resolution smearing 19 private: 20 Double_t fB; // Solenoid magnetic field 21 SolGridCov *fGC; // Covariance matrix grid 22 Double_t fGenQ; // Generated track charge 23 Double_t fObsQ; // Observed track charge 24 TVector3 fGenX; // Generated track origin (x,y,z) 25 TVector3 fObsX; // Observed track origin (x,y,z) @ track min. approach 26 TVector3 fGenP; // Generated track momentum at track origin 27 TVector3 fObsP; // Observed track momentum @ track minimum approach 28 TVectorD fGenPar; // Generated helix track parameters (D, phi0, C, z0, cot(th)) 29 TVectorD fObsPar; // Observed helix track parameters (D, phi0, C, z0, cot(th)) 30 TMatrixDSym fCov; // INterpolated covariance of track parameters 52 31 public: 53 // 54 // Constructors 55 // 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 57 // Destructor 58 ~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); 67 // 68 // Accessors 69 // 70 // Generator level: 71 // X, P, Q 72 Double_t GetGenQ() { return fGenQ; } 73 TVector3 GetGenX() { return fGenX; } 74 TVector3 GetGenP() { return fGenP; } 75 // D, phi0, C, z0, cot(th) 76 TVectorD GetGenPar() { return fGenPar; } 77 // D, z0, phi0, theta, q/p, time 78 TVectorD GetGenParACTS() { return fGenParACTS; } 79 // d0, phi0, w, z0, tan(lambda) 80 TVectorD GetGenParILC() { return fGenParILC; } 81 // Observed level X, P, Q 82 Double_t GetObsQ() { return fObsQ; } 83 TVector3 GetObsX() { return fObsX; } 84 TVector3 GetObsP() { return fObsP; } 85 // D, phi0, C, z0, cot(th) 86 TVectorD GetObsPar() { return fObsPar; } 87 // D, z0, phi0, theta, q/p, time 88 TVectorD GetObsParACTS() { return fObsParACTS; } 89 // d0, phi0, w, z0, tan(lambda) 90 TVectorD GetObsParILC() { return fObsParILC; } 91 // Covariances 92 TMatrixDSym GetCov(){ return fCov; } 93 TMatrixDSym GetCovACTS(){ return fCovACTS; } 94 TMatrixDSym GetCovILC(){ return fCovILC; } 32 // x(3) track origin, p(3) track momentum at origin, Q charge, B magnetic field in Tesla 33 ObsTrk(TVector3 x, TVector3 p, Double_t Q, Double_t B, SolGridCov *GC); // Initialize and generate smeared track 34 ~ObsTrk(); 35 // Service routines 36 TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q); 37 TVectorD GenToObsPar(TVectorD gPar, SolGridCov *GC); 38 TVector3 ParToX(TVectorD Par); 39 TVector3 ParToP(TVectorD Par); 40 Double_t ParToQ(TVectorD Par); 41 // Accessors 42 // Generator level X, P, Q 43 Double_t GetGenQ() { return fGenQ; } 44 TVector3 GetGenX() { return fGenX; } 45 TVector3 GetGenP() { return fGenP; } 46 // D, phi0, C, z0, cot(th) 47 TVectorD GetGenPar() { return fGenPar; } 48 // Observed level X, P, Q 49 Double_t GetObsQ() { return fObsQ; } 50 TVector3 GetObsX() { return fObsX; } 51 TVector3 GetObsP() { return fObsP; } 52 // D, phi0, C, z0, cot(th) 53 TVectorD GetObsPar() { return fObsPar; } 54 TMatrixDSym GetCov() { return fCov; } 95 55 }; 96 56
Note:
See TracChangeset
for help on using the changeset viewer.