Fork me on GitHub

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

Last change on this file since a07b54c was ff9fb2d9, checked in by Pavel Demin <pavel.demin@…>, 5 years ago

add TrackCovariance

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#ifndef G__OBSTRK_H
2#define G__OBSTRK_H
3
4#include <TVector3.h>
5#include <TVectorD.h>
6#include <TMatrixDSym.h>
7
8class SolGridCov;
9
10// Class to handle smearing of generated charged particle tracks
11
12// Author: F. Bedeschi
13// INFN - Sezione di Pisa, Italy
14//
15class ObsTrk{
16 // Class to handle simulation of tracking resolution
17 // Prefix Obs marks variables after resolution smearing
18 // Prefix Gen marks variables before resolution smearing
19private:
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
31public:
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; }
55};
56
57#endif
Note: See TracBrowser for help on using the repository browser.