fAliPID(AliPID::kPion)
{
//io constructor
+ SetPriors(); //init arrays
}
//-----------------------------------------------------------------------
5.04114e-11,
2.12543e+00,
4.88663e+00 );
-
+ SetPriors(); //init arrays
}
//-----------------------------------------------------------------------
if (that.fTPCpidCuts) fTPCpidCuts = new TMatrixF(*(that.fTPCpidCuts));
if (that.fTOFpidCuts) fTOFpidCuts = new TMatrixF(*(that.fTOFpidCuts));
if (that.fAliESDtrackCuts) fAliESDtrackCuts = new AliESDtrackCuts(*(that.fAliESDtrackCuts));
+ SetPriors(); //init arrays
}
//-----------------------------------------------------------------------
void AliFlowTrackCuts::HandleESDtrack(AliESDtrack* track)
{
//handle esd track
+ AliExternalTrackParam* ip=NULL;
switch (fParamType)
{
case kGlobal:
fTrackLabel=-1;
return;
}
+ ip = const_cast<AliExternalTrackParam*>(fTPCtrack.GetInnerParam());
+ if (!ip) { ip = new AliExternalTrackParam(*(track->GetInnerParam())); }
+ else { *ip = *(track->GetInnerParam()); }
fTrack = &fTPCtrack;
//recalculate the label and mc particle, they may differ as TPClabel != global label
fTrackLabel = (fFakesAreOK)?TMath::Abs(fTrack->GetLabel()):fTrack->GetLabel();
}
//-----------------------------------------------------------------------
-AliFlowTrack* AliFlowTrackCuts::MakeFlowTrack(int index) const
+AliFlowTrack* AliFlowTrackCuts::MakeFlowTrack() const
{
//get a flow track constructed from whatever we applied cuts on
//caller is resposible for deletion
else if (dynamic_cast<AliMCParticle*>(fTrack)) flowtrack->SetSource(AliFlowTrack::kFromMC);
}
- if(flowtrack)
- flowtrack->SetIndexOnCollection(index);
return flowtrack;
}
}
//-----------------------------------------------------------------------
-Bool_t AliFlowTrackCuts::PassesTOFpidCut(AliESDtrack* t )
+Bool_t AliFlowTrackCuts::PassesTOFpidCut(AliESDtrack* track )
{
//check if passes PID cut using timing in TOF
- Bool_t goodtrack = (t) &&
- (t->GetStatus() & AliESDtrack::kTOFpid) &&
- (t->GetTOFsignal() > 12000) &&
- (t->GetTOFsignal() < 100000) &&
- (t->GetIntegratedLength() > 365) &&
- !(t->GetStatus() & AliESDtrack::kTOFmismatch);
+ Bool_t goodtrack = (track) &&
+ (track->GetStatus() & AliESDtrack::kTOFpid) &&
+ (track->GetTOFsignal() > 12000) &&
+ (track->GetTOFsignal() < 100000) &&
+ (track->GetIntegratedLength() > 365) &&
+ !(track->GetStatus() & AliESDtrack::kTOFmismatch);
if (!goodtrack) return kFALSE;
- Float_t pt = t->Pt();
- Float_t p = t->GetP();
+ Float_t pt = track->Pt();
+ Float_t p = track->GetP();
Float_t trackT0 = fESDpid.GetTOFResponse().GetStartTime(p);
- Float_t timeTOF = t->GetTOFsignal()- trackT0;
+ Float_t timeTOF = track->GetTOFsignal()- trackT0;
//2=pion 3=kaon 4=protons
Double_t inttimes[5] = {-1.0,-1.0,-1.0,-1.0,-1.0};
- t->GetIntegratedTimes(inttimes);
+ track->GetIntegratedTimes(inttimes);
//construct the pid index because it's screwed up in TOF
Int_t pid = 0;
switch (fAliPID)
return kFALSE;
}
- const AliExternalTrackParam* tpcparam = track->GetInnerParam();
+ const AliExternalTrackParam* tpcparam = track->GetInnerParam(); //tpc only params at the inner wall
if (!tpcparam) return kFALSE;
Float_t sigExp = fESDpid.GetTPCResponse().GetExpectedSignal(tpcparam->GetP(), fAliPID);
Float_t sigTPC = track->GetTPCsignal();
//-----------------------------------------------------------------------
// part added by F. Noferini (some methods)
Bool_t AliFlowTrackCuts::PassesTOFbayesianCut(AliESDtrack* track){
- SetPriors();
Bool_t goodtrack = track && (track->GetStatus() & AliESDtrack::kTOFpid) && (track->GetTOFsignal() > 12000) && (track->GetTOFsignal() < 100000) && (track->GetIntegratedLength() > 365) && !(track->GetStatus() & AliESDtrack::kTOFmismatch);