Fork me on GitHub

source: git/external/TrackCovariance/ObsTrk.h@ 3b3071a

3.4.3pre11
Last change on this file since 3b3071a was a617744, checked in by michele <michele.selvaggi@…>, 4 years ago

adding latest TrackCovariance libraries (F. Bedeschi)

  • Property mode set to 100644
File size: 3.7 KB
Line 
1//
2#ifndef G__OBSTRK_H
3#define G__OBSTRK_H
4#include <TVector3.h>
5#include <TVectorD.h>
6#include <TMatrixDSym.h>
7#include <TDecompChol.h>
8#include "TrkUtil.h"
9#include "SolGridCov.h"
10//
11// Class to handle smearing of generated charged particle tracks
12//
13// Author: F. Bedeschi
14// INFN - Sezione di Pisa, Italy
15//
16class ObsTrk: public TrkUtil
17{
18 //
19 // Class to handle simulation of tracking resolution
20 // Prefix Obs marks variables after resolution smearing
21 // Prefix Gen marks variables before resolution smearing
22 //
23private:
24 Double_t fB; // Solenoid magnetic field
25 SolGridCov *fGC; // Covariance matrix grid
26 Double_t fGenQ; // Generated track charge
27 Double_t fObsQ; // Observed track charge
28 TVector3 fGenX; // Generated track origin (x,y,z)
29 TVector3 fObsX; // Observed track origin (x,y,z) @ track min. approach
30 TVector3 fGenP; // Generated track momentum at track origin
31 TVector3 fObsP; // Observed track momentum @ track minimum approach
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
34 TVectorD fGenParACTS; // Generated helix track parameters (D, z0, phi0, th, q/p, time
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
38 TVectorD fObsParACTS; // Observed helix track parameters (D, z0, phi0, th, q/p, time
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
42 TMatrixDSym fCovACTS; // Covariance of track parameters in ACTS format
43 // (D, z0, phi0, theta, q/p, time)
44 TMatrixDSym fCovILC; // Covariance of track parameters in ILC format
45 // (d0, phi0, w, z0, tan(lambda))
46 //
47 // Service routines
48 //
49 TVectorD GenToObsPar(TVectorD gPar, SolGridCov* GC);
50 //
51public:
52 //
53 // Constructors
54 // x(3) track origin, p(3) track momentum at origin, Q charge, B magnetic field in Tesla
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
57 // Destructor
58 ~ObsTrk();
59 //
60 // Accessors
61 //
62 // Generator level:
63 // X, P, Q
64 Double_t GetGenQ() { return fGenQ; }
65 TVector3 GetGenX() { return fGenX; }
66 TVector3 GetGenP() { return fGenP; }
67 // D, phi0, C, z0, cot(th)
68 TVectorD GetGenPar() { return fGenPar; } // in meters
69 TVectorD GetGenParMm() { return fGenParMm; } // in mm
70 // D, z0, phi0, theta, q/p, time
71 TVectorD GetGenParACTS() { return fGenParACTS; }
72 // d0, phi0, w, z0, tan(lambda)
73 TVectorD GetGenParILC() { return fGenParILC; }
74 // Observed level X, P, Q
75 Double_t GetObsQ() { return fObsQ; }
76 TVector3 GetObsX() { return fObsX; }
77 TVector3 GetObsP() { return fObsP; }
78 // D, phi0, C, z0, cot(th)
79 TVectorD GetObsPar() { return fObsPar; } // in meters
80 TVectorD GetObsParMm() { return fObsParMm; } // In mm
81 // D, z0, phi0, theta, q/p, time
82 TVectorD GetObsParACTS() { return fObsParACTS; }
83 // d0, phi0, w, z0, tan(lambda)
84 TVectorD GetObsParILC() { return fObsParILC; }
85 // Covariances
86 TMatrixDSym GetCov() { return fCov; } // in meters
87 TMatrixDSym GetCovMm() { return fCov; } // in mm
88 TMatrixDSym GetCovACTS(){ return fCovACTS; }
89 TMatrixDSym GetCovILC(){ return fCovILC; }
90 //
91};
92
93#endif
Note: See TracBrowser for help on using the repository browser.