fTPCminNClusters(0),
fTPCmaxChi2(1E20),
fCutMaxChi2TPCConstrainedVsGlobal(1E20),
+ fIsUseCrossedRowsCut(kFALSE),
fTPCminNCrossedRows(0),
fTPCminCrossedRowsOverFindableCls(0),
+ fIsUseLengthActiveVolumeTPCCut(kFALSE),
fCutMinLengthActiveVolumeTPC(0),
fAODTestFilterBit(-1),
fCheckOnlyFilterBit(kTRUE),
fTPCminNClusters(copy.fTPCminNClusters),
fTPCmaxChi2(copy.fTPCmaxChi2),
fCutMaxChi2TPCConstrainedVsGlobal(copy.fCutMaxChi2TPCConstrainedVsGlobal),
+ fIsUseCrossedRowsCut(copy.fIsUseCrossedRowsCut),
fTPCminNCrossedRows(copy.fTPCminNCrossedRows),
fTPCminCrossedRowsOverFindableCls(copy.fTPCminCrossedRowsOverFindableCls),
+ fIsUseLengthActiveVolumeTPCCut(copy.fIsUseLengthActiveVolumeTPCCut),
fCutMinLengthActiveVolumeTPC(copy.fCutMinLengthActiveVolumeTPC),
fAODTestFilterBit(copy.fAODTestFilterBit),
fCheckOnlyFilterBit(copy.fCheckOnlyFilterBit),
fTPCminNClusters = copy.fTPCminNClusters;
fTPCmaxChi2 = copy.fTPCmaxChi2;
fCutMaxChi2TPCConstrainedVsGlobal = copy.fCutMaxChi2TPCConstrainedVsGlobal;
+ fIsUseCrossedRowsCut=copy.fIsUseCrossedRowsCut;
fTPCminNCrossedRows = copy.fTPCminNCrossedRows;
fTPCminCrossedRowsOverFindableCls = copy.fTPCminCrossedRowsOverFindableCls;
+ fIsUseLengthActiveVolumeTPCCut=copy.fIsUseLengthActiveVolumeTPCCut;
fCutMinLengthActiveVolumeTPC = copy.fCutMinLengthActiveVolumeTPC;
fAODTestFilterBit = copy.fAODTestFilterBit;
fTPCmaxChi2 = 1E20;
fAODTestFilterBit = -1;
fCutMaxChi2TPCConstrainedVsGlobal = 1E20;
+ fIsUseCrossedRowsCut = 0;
fTPCminNCrossedRows = 0;
fTPCminCrossedRowsOverFindableCls = 0;
+ fIsUseLengthActiveVolumeTPCCut = 0;
fCutMinLengthActiveVolumeTPC = 0.0;
if (fESDtrackCuts) {
Double_t b[2], cov[3];
if (vertex) {
if ( !((track->GetStatus() & AliESDtrack::kTPCin) == 0) && !((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) && !((track->GetStatus() & AliESDtrack::kITSrefit) == 0) ){
- track->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b, cov);
- fDCA = b[0];
+ if (track->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b, cov))
+ fDCA = b[0];
}
}
}
Double_t b[2], cov[3];
if (vertex) {
if ( !((track->GetStatus() & AliESDtrack::kTPCin) == 0) && !((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) && !((track->GetStatus() & AliESDtrack::kITSrefit) == 0) ){
- track->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b, cov);
- fDCA = b[0];
+ if (track->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b, cov))
+ fDCA = b[0];
}
}
}
AliAODTrack *track1 = (AliAODTrack*)fDaughter[0]->Ref2AODtrack();
AliAODTrack *track2 = (AliAODTrack*)fDaughter[1]->Ref2AODtrack();
AliVVertex *vertex = aodEvent->GetPrimaryVertex();
- if (!vertex || !track1 || track2) return 0.0;
+ if (!vertex || !track1 || !track2) return 0.0;
Double_t b1[2], cov1[3], b2[2], cov2[3];
- track1->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b1, cov1);
- track2->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b2, cov2);
- fDCAproduct = b1[0]*b2[0];
+ if ( track1->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b1, cov1) &&
+ track2->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b2, cov2) )
+ fDCAproduct = b1[0]*b2[0];
+ else fDCAproduct = 0.0;
} else {
AliESDEvent *esdEvent = (AliESDEvent*)event1->GetRefESD();
if (!esdEvent) return 0.0;
AliESDtrack *track1 = (AliESDtrack*)fDaughter[0]->Ref2ESDtrack();
AliESDtrack *track2 = (AliESDtrack*)fDaughter[1]->Ref2ESDtrack();
const AliVVertex *vertex = esdEvent->GetPrimaryVertex();
- if (!vertex || !track1 || track2) return 0.0;
+ if (!vertex || !track1 || !track2) return 0.0;
Double_t b1[2], cov1[3], b2[2], cov2[3];
- track1->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b1, cov1);
- track2->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b2, cov2);
- fDCAproduct = b1[0]*b2[0];
+ if ( track1->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b1, cov1) &&
+ track2->PropagateToDCA(vertex, esdEvent->GetMagneticField(), kVeryBig, b2, cov2) )
+ fDCAproduct = b1[0]*b2[0];
+ else fDCAproduct = 0.0;
}
return fDCAproduct;
}