// loop over events and fill them\r
// Multiplicity information needed by the header (to be revised!)\r
Int_t nTracks = esd->GetNumberOfTracks();\r
+ for (Int_t iTrack=0; iTrack<nTracks; ++iTrack) esd->GetTrack(iTrack)->SetESDEvent(esd);\r
+\r
// if (fDebug > 0) printf("-------------------Bo: Number of ESD tracks %d \n",nTracks);\r
\r
Int_t nPosTracks = 0;\r
AliAODVertex(pos, covVtx, vtx->GetChi2toNDF(), NULL, -1, AliAODVertex::kPrimary);\r
primary->SetName(vtx->GetName());\r
primary->SetTitle(vtx->GetTitle());\r
- \r
- if (!strcmp(vtx->GetTitle(), "vertexer: 3D")) primary->SetNContributors(vtx->GetNContributors());\r
+\r
+ TString vtitle = vtx->GetTitle();\r
+ if (!vtitle.Contains("VertexerTracks")) \r
+ primary->SetNContributors(vtx->GetNContributors());\r
\r
if (fDebug > 0) primary->Print();\r
\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdCascadeBach->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdCascadeBach->GetTPCSharedMap());\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeBach));\r
aodTrackRefs->AddAt(aodTrack,idxBachFromCascade);\r
\r
if (esdCascadeBach->GetSign() > 0) nPosTracks++;\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdCascadePos->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdCascadePos->GetTPCSharedMap());\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadePos));\r
aodTrackRefs->AddAt(aodTrack,idxPosFromV0Dghter);\r
- \r
+\r
if (esdCascadePos->GetSign() > 0) nPosTracks++;\r
aodTrack->ConvertAliPIDtoAODPID();\r
aodTrack->SetFlags(esdCascadePos->GetStatus());\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdCascadeNeg->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdCascadeNeg->GetTPCSharedMap());\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeNeg));\r
aodTrackRefs->AddAt(aodTrack,idxNegFromV0Dghter);\r
\r
if (esdCascadeNeg->GetSign() > 0) nPosTracks++;\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdV0Pos->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdV0Pos->GetTPCSharedMap());\r
-\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Pos));\r
aodTrackRefs->AddAt(aodTrack,posFromV0);\r
// if (fDebug > 0) printf("-------------------Bo: pos track from original pt %.3f \n",aodTrack->Pt());\r
if (esdV0Pos->GetSign() > 0) nPosTracks++;\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdV0Neg->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdV0Neg->GetTPCSharedMap());\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Neg));\r
\r
aodTrackRefs->AddAt(aodTrack,negFromV0);\r
// if (fDebug > 0) printf("-------------------Bo: neg track from original pt %.3f \n",aodTrack->Pt());\r
selectInfo);\r
mother->SetTPCClusterMap(esdTrackM->GetTPCClusterMap());\r
mother->SetTPCSharedMap (esdTrackM->GetTPCSharedMap());\r
+ mother->SetChi2perNDF(Chi2perNDF(esdTrackM));\r
+\r
aodTrackRefs->AddAt(mother, imother);\r
\r
if (esdTrackM->GetSign() > 0) nPosTracks++;\r
);\r
aodTrack->SetTPCClusterMap(esdTrack->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdTrack->GetTPCSharedMap());\r
+ aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));\r
+\r
aodTrackRefs->AddAt(aodTrack, nTrack);\r
\r
\r
\r
}\r
\r
+Double_t AliAnalysisTaskESDfilter::Chi2perNDF(AliESDtrack* track)\r
+{\r
+ // Calculate chi2 per ndf for track\r
+ Int_t nClustersTPC = track->GetTPCNcls();\r
+\r
+ if ( nClustersTPC > 5) {\r
+ return (track->GetTPCchi2()/Float_t(nClustersTPC - 5));\r
+ } else {\r
+ return (-1.);\r
+ }\r
+ }\r
+\r
+\r
+\r
void AliAnalysisTaskESDfilter::Terminate(Option_t */*option*/)\r
{\r
// Terminate analysis\r