GetRunNumber(),
GetTriggerMask(),
GetMagneticField() );
- printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
- fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
- fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
- fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
+ if (fPrimaryVertex)
+ printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
+ fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
+ fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
+ fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
printf("Event from reconstruction version %d \n",fRecoVersion);
printf("Number of tracks: \n");
printf(" charged %d\n", GetNumberOfTracks());
fRICHmipX(track.fRICHmipX),
fRICHmipY(track.fRICHmipY),
fPoints(0),
- fFriendTrack(new AliESDfriendTrack(*(track.fFriendTrack)))
+ fFriendTrack(0)
{
//
//copy constructor
if (track.fOp) fOp=new AliExternalTrackParam(*track.fOp);
if (track.fPoints) fPoints=new AliTrackPointArray(*(track.fPoints));
+ if (track.fFriendTrack) fFriendTrack=new AliESDfriendTrack(*(track.fFriendTrack));
}
//_______________________________________________________________________
// fD: Impact parameter in XY-plane
// fZ: Impact parameter in Z
// fR[AliPID::kSPECIES]: combined "detector response probability"
- // Running track parameters
- // fRalpha: track rotation angle
- // fRx: X-coordinate of the track reference plane
- // fRp[5]: external track parameters
- // fRc[15]: external cov. matrix of the track parameters
+ // Running track parameters in the base class (AliExternalTrackParam)
fTrackLength = 0;
for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrackTime[i] = 0;
fRICHphi = 0;
fRICHdx = 0;
fRICHdy = 0;
+ fRICHmipX = 0;
+ fRICHmipY = 0;
delete fFriendTrack; fFriendTrack = 0;
delete fPoints; fPoints = 0;
esdOut->SetRunNumber(esdIn->GetRunNumber());
// Trigger
- esdOut->SetTrigger(esdIn->GetTrigger());
+ esdOut->SetTriggerMask(esdIn->GetTriggerMask());
// Magnetic field
esdOut->SetMagneticField(esdIn->GetMagneticField());
// Copy ESD vertex
const AliESDVertex * vtxIn = esdIn->GetVertex();
- Double_t pos[3];
- vtxIn->GetXYZ(pos);
- Double_t cov[6];
- vtxIn->GetCovMatrix(cov);
+ AliESDVertex * vtxOut = 0x0;
+ if (vtxIn) {
+ Double_t pos[3];
+ vtxIn->GetXYZ(pos);
+ Double_t cov[6];
+ vtxIn->GetCovMatrix(cov);
- AliESDVertex * vtxOut = new AliESDVertex(pos,cov,
- vtxIn->GetChi2(),
- vtxIn->GetNContributors());
- Double_t tp[3];
- vtxIn->GetTruePos(tp);
- vtxOut->SetTruePos(tp);
+ vtxOut = new AliESDVertex(pos,cov,
+ vtxIn->GetChi2(),
+ vtxIn->GetNContributors());
+ Double_t tp[3];
+ vtxIn->GetTruePos(tp);
+ vtxOut->SetTruePos(tp);
+ }
+ else
+ vtxOut = new AliESDVertex();
esdOut->SetVertex(vtxOut);
}
// Copy the general information
copyGeneralESDInfo(esdIn, esdOut);
-
+
// Select tracks
Int_t ntrk = esdIn->GetNumberOfTracks();