1 |
< |
//================================================================================================== |
2 |
< |
// $Id $ |
1 |
> |
//-------------------------------------------------------------------------------------------------- |
2 |
> |
// $Id$ |
3 |
|
// |
4 |
|
// Description: class TrackParameters |
5 |
|
// |
27 |
|
// fullCurvature = 1 / Rc = 0.0029979 * q * B / pT = - 0.0029979 * B / pT. |
28 |
|
// |
29 |
|
// see the conventions for the MultiVertexFitter in its own header file. |
30 |
< |
//================================================================================================== |
30 |
> |
// |
31 |
> |
// Author: C.Paus |
32 |
> |
//-------------------------------------------------------------------------------------------------- |
33 |
|
|
34 |
< |
#ifndef _VERTEXFITINTERFACE_TRACKPARAMETERS_H_ |
35 |
< |
#define _VERTEXFITINTERFACE_TRACKPARAMETERS_H_ |
34 |
> |
#ifndef MITEDM_VERTEXFITINTERFACE_TRACKPARAMETERS_H |
35 |
> |
#define MITEDM_VERTEXFITINTERFACE_TRACKPARAMETERS_H |
36 |
|
|
37 |
< |
#include "TMatrixDSym.h" |
38 |
< |
#include "TVectorD.h" |
37 |
> |
#include <TMatrixDSym.h> |
38 |
> |
#include <TVectorD.h> |
39 |
|
#include "DataFormats/TrackReco/interface/Track.h" |
40 |
|
|
41 |
|
namespace mitedm |
42 |
|
{ |
43 |
< |
// Define existing track parameter conventions |
44 |
< |
enum TrackConvention { iCms, iMvf }; |
43 |
> |
enum TrackConvention { // Define existing track parameter conventions |
44 |
> |
iCms, |
45 |
> |
iMvf |
46 |
> |
}; |
47 |
|
|
48 |
|
// Declare the track parameter class |
49 |
|
class TrackParameters |
50 |
|
{ |
51 |
|
public: |
48 |
– |
// *structors |
52 |
|
TrackParameters() {} |
53 |
< |
TrackParameters(const reco::Track *trk, TrackConvention tcv = iCms, double bField = 3.8); |
53 |
> |
TrackParameters(const reco::Track *trk, TrackConvention tcv = iCms, double bField = 3.8); |
54 |
|
TrackParameters(const TrackParameters &trk); |
55 |
|
~TrackParameters() {}; |
56 |
|
|
57 |
|
// Access the specific contents |
58 |
< |
const TVectorD *pars () const { return &pars_; }; |
59 |
< |
double pars (int i) const { return pars_[i]; }; |
60 |
< |
const TMatrixDSym *cMat () const { return &cMat_; }; |
61 |
< |
double cMat (int i, int j) const { return cMat_(i,j); }; |
58 |
> |
const TVectorD *pars() const { return &pars_; }; |
59 |
> |
double pars(int i) const { return pars_[i]; }; |
60 |
> |
const TMatrixDSym *cMat() const { return &cMat_; }; |
61 |
> |
double cMat(int i, int j) const { return cMat_(i,j); }; |
62 |
|
|
63 |
|
// Access the different parametrizations independently of the local storage |
64 |
|
TrackParameters cmsTrack() const; |
65 |
|
TrackParameters mvfTrack() const; |
66 |
|
|
67 |
< |
void setPars (int i, double v) { pars_(i) = v; } |
68 |
< |
void setCMat (int i, int j, double v) { cMat_(i,j) = v; } |
69 |
< |
void addCMat (int i, int j, double v) { cMat_(i,j) += v; } |
67 |
> |
void setPars(int i, double v) { pars_(i) = v; } |
68 |
> |
void setCMat(int i, int j, double v) { cMat_(i,j) = v; } |
69 |
> |
void addCMat(int i, int j, double v) { cMat_(i,j) += v; } |
70 |
|
|
71 |
|
// Utilities |
72 |
< |
void print () const; |
72 |
> |
void print() const; |
73 |
|
|
74 |
|
private: |
75 |
< |
TrackConvention iConvention_; // track parameter convention (def. CMS) |
76 |
< |
double bField_; // magnetic field in Tesla |
77 |
< |
double fCurv_; // combined curvature constant |
78 |
< |
TVectorD pars_; // track paramters (helix) |
79 |
< |
TMatrixDSym cMat_; // corresponding covariance matrix (sig_i * sig_j) |
75 |
> |
TrackConvention iConvention_; //track parameter convention (def. CMS) |
76 |
> |
double bField_; //magnetic field in Tesla |
77 |
> |
double fCurv_; //combined curvature constant |
78 |
> |
TVectorD pars_; //track paramters (helix) |
79 |
> |
TMatrixDSym cMat_; //corresponding covariance matrix (sig_i * sig_j) |
80 |
|
}; |
81 |
|
} |
82 |
|
#endif |