Fork me on GitHub

source: git/external/TrackCovariance/ObsTrk.h@ a0db751

Last change on this file since a0db751 was 170a11d, checked in by michele <michele.selvaggi@…>, 4 years ago

included acceptance and hits in TrackCovariance

  • Property mode set to 100644
File size: 3.6 KB
RevLine 
[942a705]1//
[ff9fb2d9]2#ifndef G__OBSTRK_H
3#define G__OBSTRK_H
4#include <TVector3.h>
5#include <TVectorD.h>
6#include <TMatrixDSym.h>
[942a705]7#include <TDecompChol.h>
8#include "SolGridCov.h"
9//
[ff9fb2d9]10// Class to handle smearing of generated charged particle tracks
[942a705]11//
[ff9fb2d9]12// Author: F. Bedeschi
13// INFN - Sezione di Pisa, Italy
14//
15class ObsTrk{
[942a705]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 //
[170a11d]21private:
[942a705]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)
[170a11d]27 TVector3 fObsX; // Observed track origin (x,y,z) @ track min. approach
[942a705]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))
[a0f5d71]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))
[942a705]33 TVectorD fObsPar; // Observed helix track parameters (D, phi0, C, z0, cot(th))
[a0f5d71]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))
[942a705]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)
[a0f5d71]39 TMatrixDSym fCovILC; // Covariance of track parameters in ILC format
40 // (d0, phi0, w, z0, tan(lambda))
[942a705]41 //
42 // Conversion to ACTS parametrization
43 //
44 TVectorD ParToACTS(TVectorD Par); // Parameter conversion
[170a11d]45 TMatrixDSym CovToACTS(TMatrixDSym Cov); // Covariance
[a0f5d71]46 //
47 // Conversion to ILC parametrization
48 //
49 TVectorD ParToILC(TVectorD Par); // Parameter conversion
50 TMatrixDSym CovToILC(TMatrixDSym Cov); // Covariance conversion
[942a705]51 //
[ff9fb2d9]52public:
[942a705]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
[170a11d]57 ObsTrk(Double_t *x, Double_t *p, Double_t Q, Double_t B, SolGridCov* GC); // Initialize and generate smeared track
58 // Destructor
[942a705]59 ~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);
68 //
69 // Accessors
70 //
71 // Generator level:
72 // X, P, Q
73 Double_t GetGenQ() { return fGenQ; }
74 TVector3 GetGenX() { return fGenX; }
75 TVector3 GetGenP() { return fGenP; }
76 // D, phi0, C, z0, cot(th)
77 TVectorD GetGenPar() { return fGenPar; }
78 // D, z0, phi0, theta, q/p, time
79 TVectorD GetGenParACTS() { return fGenParACTS; }
[a0f5d71]80 // d0, phi0, w, z0, tan(lambda)
81 TVectorD GetGenParILC() { return fGenParILC; }
[942a705]82 // Observed level X, P, Q
83 Double_t GetObsQ() { return fObsQ; }
84 TVector3 GetObsX() { return fObsX; }
85 TVector3 GetObsP() { return fObsP; }
86 // D, phi0, C, z0, cot(th)
87 TVectorD GetObsPar() { return fObsPar; }
88 // D, z0, phi0, theta, q/p, time
89 TVectorD GetObsParACTS() { return fObsParACTS; }
[a0f5d71]90 // d0, phi0, w, z0, tan(lambda)
91 TVectorD GetObsParILC() { return fObsParILC; }
[942a705]92 // Covariances
93 TMatrixDSym GetCov(){ return fCov; }
[a0f5d71]94 TMatrixDSym GetCovACTS(){ return fCovACTS; }
95 TMatrixDSym GetCovILC(){ return fCovILC; }
[ff9fb2d9]96};
97
98#endif
Note: See TracBrowser for help on using the repository browser.