Fork me on GitHub

source: git/external/TrackCovariance/SolGridCov.h@ d612dec

Last change on this file since d612dec was ebf40fd, checked in by Franco BEDESCHI <bed@…>, 3 years ago

Major update to handle highly displaced tracks

  • Property mode set to 100644
File size: 1.8 KB
Line 
1#ifndef G__SOLGRIDCOV_H
2#define G__SOLGRIDCOV_H
3
4#include <TVectorD.h>
5#include <TMatrixDSym.h>
6#include "AcceptanceClx.h"
7
8class SolGeom;
9
10// Class to create geometry for solenoid geometry
11
12class SolGridCov{
13 // Class to handle storing and retrieving/interpolation of covariance matrices
14private:
15 Int_t fNpt; // Number of pt points in grid
16 TVectorD fPta; // Array of pt points in GeV
17 Int_t fNang; // Number of angle points in grid
18 TVectorD fAnga; // Array of angle points in degrees
19 TMatrixDSym *fCov; // Pointers to grid of covariance matrices
20 AcceptanceClx *fAcc; // Pointer to acceptance class
21 Int_t fNminHits; // Minimum number of hits to accept track
22 // Service routines
23 Int_t GetMinIndex(Double_t xval, Int_t N, TVectorD x); // Find bin
24 TMatrixDSym MakePosDef(TMatrixDSym NormMat); // Force positive definitness
25public:
26 SolGridCov();
27 ~SolGridCov();
28
29 void Calc(SolGeom *G);
30
31 // Covariance interpolation
32 Double_t GetMinPt() { return fPta(0); }
33 Double_t GetMaxPt() { return fPta(fNpt - 1); }
34 Double_t GetMinAng() { return fAnga(0); }
35 Double_t GetMaxAng() { return fAnga(fNang - 1); }
36 TMatrixDSym GetCov(Double_t pt, Double_t ang);
37
38 // Acceptance related methods
39 AcceptanceClx* AccPnt() { return fAcc; }; // Return Acceptance class pointer
40 void SetMinHits(Int_t MinHits) { fNminHits = MinHits; }; // Set minimum number of hits to accept (default = 6)
41 Int_t GetMinHits() { return fNminHits; };
42 Bool_t IsAccepted(Double_t pt, Double_t Theta); // From pt (GeV) and theta (degrees)
43 Bool_t IsAccepted(Double_t *p); // From momentum components (GeV)
44 Bool_t IsAccepted(TVector3 p); // As above in Vector3 format
45 Bool_t IsAccepted(TVector3 x, TVector3 p, SolGeom *G); // As above checking track origin
46
47};
48
49#endif
Note: See TracBrowser for help on using the repository browser.