fEvent(0x0),
fESD(0x0),
fVtx(0x0),
+ fVtxAOD(0x0),
fTrackCuts(0x0),
fTrackCutsITSLoose(0x0),
fTrackCutsTPConly(0x0),
fEvent(0x0),
fESD(0x0),
fVtx(0x0),
+ fVtxAOD(0x0),
fTrackCuts(0x0),
fTrackCutsITSLoose(0x0),
fTrackCutsTPConly(0x0),
}
}
else if(fDataType==kAOD&&dynamic_cast<AliAODEvent*>(fEvent)) {
- const AliAODVertex *vtx = ((AliAODEvent*)fEvent)->GetPrimaryVertexSPD();
- if(!vtx) {
+ fVtxAOD = ((AliAODEvent*)fEvent)->GetPrimaryVertex();
+ if(!fVtxAOD) {
fNEventReject->Fill("noVTX",1);
selectEvent = kFALSE;
return selectEvent;
}
// Need vertex cut
- if(vtx->GetNContributors()<2) {
+ if(fVtxAOD->GetNContributors()<2) {
fNEventReject->Fill("NCont<2",1);
selectEvent = kFALSE;
return selectEvent;
//Check if z-vertex < 10 cm
double primVtx[3];
- vtx->GetXYZ(primVtx);
+ fVtxAOD->GetXYZ(primVtx);
if(TMath::Sqrt(primVtx[0]*primVtx[0] + primVtx[1]*primVtx[1])>1. || TMath::Abs(primVtx[2]>10.)){
fNEventReject->Fill("ZVTX>10",1);
selectEvent = kFALSE;
for (Int_t iTrack = 0; iTrack < fEvent->GetNumberOfTracks(); iTrack++) {
AliAODTrack *aodtrack = aod->GetTrack(iTrack);
- // if(aodtrack->GetFilterMap()>128 && aodtrack->GetFilterMap()<1333)
- // Printf("filterMask = %d",aodtrack->GetFilterMap());
- // if(aodtrack->IsHybridGlobalConstrainedGlobal()) {
- // Printf("hybrid filterMask = %d",aodtrack->GetFilterMap());
- // if(aodtrack->IsGlobalConstrained())
- // Printf("global constrained filterMask = %d",aodtrack->GetFilterMap());
- // }
if( !aodtrack->TestFilterMask(fFilterMask) ) {
fh1NTracksReject->Fill("noHybridTrack",1);
continue;
fVariables->SetAt(aodtrack->Phi(),1);
fVariables->SetAt(aodtrack->Eta(),2);
- Double_t dca[2] = {1e6,1e6};
- Double_t covar[3] = {1e6,1e6,1e6};
- if(aodtrack->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),100.,dca,covar)) {
- fVariables->SetAt(dca[0],3);
- fVariables->SetAt(dca[1],4);
+ Double_t dca[2] = {0.,0.};
+ if(aodtrack->IsGlobalConstrained()) {
+ dca[0] = aodtrack->DCA();
+ dca[1] = aodtrack->ZAtDCA();
+ } else {
+ Double_t v[3] = {0};
+ Double_t pos[3] = {0};
+ fVtxAOD->GetXYZ(v);
+ aodtrack->GetXYZ(pos);
+ dca[0] = pos[0] - v[0];
+ dca[1] = pos[1] - v[1];
}
-
+ fVariables->SetAt(dca[0],3);
+ fVariables->SetAt(dca[1],4);
fVariables->SetAt((float)aodtrack->GetTPCNcls(),5);
fVariables->SetAt((float)aodtrack->GetITSNcls(),6);
fVariables->SetAt(aodtrack->Chi2perNDF(),7);
fPtAll->Fill(fVariables->At(0));
FillHistograms();
-
}
-
}
//________________________________________________________________________