Double_t covR[7]/*, cov[3]*/;
if(DebugLevel()>=1){
- TVectorD dX(12), dY(12), dZ(12), dPt(12), cCOV(12*15);
- fkMC->PropagateKalman(&dX, &dY, &dZ, &dPt, &cCOV);
+ TVectorD dX(12), dY(12), dZ(12), Pt(12), dPt(12), cCOV(12*15);
+ fkMC->PropagateKalman(&dX, &dY, &dZ, &Pt, &dPt, &cCOV);
(*DebugStream()) << "MCkalman"
<< "pdg=" << pdg
<< "dx=" << &dX
<< "dy=" << &dY
<< "dz=" << &dZ
+ << "pt=" << &Pt
<< "dpt=" << &dPt
<< "cov=" << &cCOV
<< "\n";
ClassImp(AliTRDtrackInfo)
ClassImp(AliTRDtrackInfo::AliMCinfo)
ClassImp(AliTRDtrackInfo::AliESDinfo)
+Double_t AliTRDtrackInfo::AliMCinfo::fgKalmanStep = 2.;
//___________________________________________________
AliTRDtrackInfo::AliTRDtrackInfo():
}
//___________________________________________________
-void AliTRDtrackInfo::AliMCinfo::PropagateKalman(TVectorD *dx, TVectorD *dy, TVectorD *dz, TVectorD *dpt, TVectorD *c, Double_t step) const
+void AliTRDtrackInfo::AliMCinfo::PropagateKalman(TVectorD *dx, TVectorD *dy, TVectorD *dz, TVectorD *pt, TVectorD *dpt, TVectorD *c) const
{
// Propagate Kalman from the first TRD track reference to
// last one and save residuals in the y, z and pt.
const Double_t *cc(NULL);
for(Int_t ip=0; itr<fNTrackRefs; itr++){
if(!(tr = fTrackRefs[itr])) continue;
- if(!AliTRDtrackerV1::PropagateToX(tt, tr->LocalX(), step)) continue;
+ if(!AliTRDtrackerV1::PropagateToX(tt, tr->LocalX(), fgKalmanStep)) continue;
//if(update) ...
(*dx)[ip] = tt.GetX() - x0;
(*dy)[ip] = tt.GetY() - tr->LocalY();
(*dz)[ip] = tt.GetZ() - tr->Z();
+ (*pt)[ip] = tr->Pt();
(*dpt)[ip] = tt.Pt()- tr->Pt();
cc = tt.GetCovariance();
c->Use(ip*15, (ip+1)*15, cc);
Int_t GetPDG() const {return fPDG;}
Bool_t GetDirections(Float_t &x0, Float_t &y0, Float_t &z0, Float_t &dydx, Float_t &dzdx, Float_t &pt, UChar_t &s) const;
AliTrackReference const* GetTrackRef(Int_t ref=0) const {return fTrackRefs[ref];}
+ static Int_t GetKalmanStep() {return fgKalmanStep;}
void PropagateKalman(
TVectorD *dx, TVectorD *dy, TVectorD *dz,
- TVectorD *dpt, TVectorD *c, Double_t step = 2.) const;
-
+ TVectorD *pt, TVectorD *dpt, TVectorD *c) const;
+ static void SetKalmanStep(Double_t s) {fgKalmanStep = s;}
protected:
- Int_t fLabel; // MC label
- Int_t fPDG; // particle code
- Int_t fNTrackRefs; // number of track refs
+ Int_t fLabel; // MC label
+ Int_t fPDG; // particle code
+ Int_t fNTrackRefs; // number of track refs
+ static Double_t fgKalmanStep; // Kalman step propagation
AliTrackReference *fTrackRefs[kNTrackRefs]; // track refs array
- ClassDef(AliMCinfo, 1) // MC info related to TRD
+
+ ClassDef(AliMCinfo, 2) // MC info related to TRD
};
AliTRDtrackInfo();