4 #include "FairTrackParH.h"
6 #include "FairRunSim.h"
7 #include "FairRunAna.h"
11 #include "TDatabasePDG.h"
29 TVector3 momentum, startpos;
33 FairTrackParH *helix =
new FairTrackParH(&par, ierr);
34 fRes=
new FairTrackParH();
42 TVector3 ex1(0.,0.,-50.);
43 TVector3 ex2(0.,0.,100.);
49 std::cout <<
"-W- PndPidCorrelator::GetTrackInfo :: Failed backward propagation" << std::endl;
57 fRes =
new FairTrackParH(&par, ierr);
59 startpos.SetXYZ(fRes->GetX(), fRes->GetY(), fRes->GetZ());
60 momentum = fRes->GetMomentum();
63 TVector3 di = momentum;
65 TVector3 dj = di.Orthogonal();
66 TVector3 dk = di.Cross(dj);
67 FairTrackParP *fParab =
new FairTrackParP(fRes, dj, dk, ierr);
73 fParab->GetMARSCov(globalCov);
77 for (ii=0;ii<6;ii++)
for(jj=0;jj<6;jj++) err[ii][jj]=globalCov[ii][jj];
82 lv.SetVectM(momentum, TDatabasePDG::Instance()->GetParticle(
fPidHyp)->
Mass());
101 if(FairRun::Instance()->IsAna()){
102 FairRunAna::Instance()->GetField()->GetFieldValue(pnt, Bf);
104 FairRunSim::Instance()->GetField()->GetFieldValue(pnt, Bf);
113 helixparams[0]=fRes->GetY_sc() ;
115 helixparams[1]=fRes->GetMomentum().Phi();
116 helixparams[2]=qBc/(fRes->GetMomentum().Perp());
118 helixparams[3]=fRes->GetZ_sc()*icL;
119 helixparams[4]=tan(fRes->GetLambda());
122 fRes->GetCov(fairhelixcov);
125 rhohelixcov[0] = fairhelixcov[12];
126 rhohelixcov[1] = fairhelixcov[10];
127 rhohelixcov[2] = fairhelixcov[3] * qBc * icL;
128 rhohelixcov[3] = fairhelixcov[13] * icL;
129 rhohelixcov[4] = fairhelixcov[7] * icLs;
130 rhohelixcov[5] = fairhelixcov[9];
131 rhohelixcov[6] = fairhelixcov[2] * qBc * icL;
132 rhohelixcov[7] = fairhelixcov[11] * icL;
133 rhohelixcov[8] = fairhelixcov[6] * icLs;
134 rhohelixcov[9] = fairhelixcov[0] * qBc * qBc * icLs;
135 rhohelixcov[10] = fairhelixcov[4] * qBc * icLs;
136 rhohelixcov[11] = fairhelixcov[1] * qBc * icL * icLs;
137 rhohelixcov[12] = fairhelixcov[14] * icLs;
138 rhohelixcov[13] = fairhelixcov[8] * icL * icLs;
139 rhohelixcov[14] = fairhelixcov[5] * icLs * icLs;
void SetMomentum(TVector3 &mom)
friend F32vec4 cos(const F32vec4 &a)
void SetPosition(TVector3 &pos)
void SetCov7(const TMatrixD &cov7)
void SetHelixCov(Double_t *cov)
void SetFirstHit(TVector3 &pos)
void SetEnergy(Double_t en)
void SetHelixParams(Double_t *par)
FairTrackParP GetParamLast()
void SetChiSquared(Double_t val)
FairGeanePro * fGeanePropagator
Refitter for MDT tracks.
void SetCharge(Int_t charge)
void SetFitStatus(Int_t val)
void SetLastHit(TVector3 &pos)
Bool_t GetTrackInfo(PndTrack *track, PndPidCandidate *pid)
void SetDegreesOfFreedom(Int_t val)
FairTrackParP GetParamFirst()
TMatrixT< double > TMatrixD