X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=CORRFW%2FAliCFTrackCutPid.cxx;h=7d94b0efc4c43a599b96544322edb6f052abffd9;hb=a29bc20812657add22236407409112505c4093b7;hp=39607355edfe9d165f750c7294e87c819b7c3a67;hpb=39f34d57c02f63a049a17a6beb931b1577ccde97;p=u%2Fmrichter%2FAliRoot.git diff --git a/CORRFW/AliCFTrackCutPid.cxx b/CORRFW/AliCFTrackCutPid.cxx index 39607355edf..7d94b0efc4c 100644 --- a/CORRFW/AliCFTrackCutPid.cxx +++ b/CORRFW/AliCFTrackCutPid.cxx @@ -92,9 +92,10 @@ AliCFTrackCutPid::AliCFTrackCutPid() : // for(Int_t j=0; j< AliPID::kSPECIES; j++) { fPriors[j]=0.2; + } + for(Int_t j=0; j< AliPID::kSPECIES; j++) { fPriorsFunc[j]=0x0; } - for(Int_t jDet=0; jDet< kNdets; jDet++) { fDets[jDet]=kFALSE; fDetsInAnd[jDet]=kFALSE; @@ -128,9 +129,10 @@ AliCFTrackCutPid::AliCFTrackCutPid(const Char_t* name, const Char_t* title) : // for(Int_t j=0; j< AliPID::kSPECIES; j++) { fPriors[j]=0.2; + } + for(Int_t j=0; j< AliPID::kSPECIES; j++) { fPriorsFunc[j]=0x0; } - for(Int_t jDet=0; jDet< kNdets; jDet++) { fDets[jDet]=kFALSE; fDetsInAnd[jDet]=kFALSE; @@ -172,6 +174,8 @@ AliCFTrackCutPid::AliCFTrackCutPid(const AliCFTrackCutPid& c) : } for(Int_t j=0; j< AliPID::kSPECIES; j++){ fPriors[j]=c.fPriors[j]; + } + for(Int_t j=0; j< AliPID::kSPECIES; j++){ fPriorsFunc[j]=c.fPriorsFunc[j]; fhCombResp[j]=c.fhCombResp[j]; fhCombProb[j]=c.fhCombProb[j]; @@ -213,6 +217,8 @@ AliCFTrackCutPid& AliCFTrackCutPid::operator=(const AliCFTrackCutPid& c) for(Int_t j=0; j< AliPID::kSPECIES; j++){ this->fPriors[j]=c.fPriors[j]; + } + for(Int_t j=0; j< AliPID::kSPECIES; j++){ this->fhCombResp[j]=c.fhCombResp[j]; this->fhCombProb[j]=c.fhCombProb[j]; this-> fPriorsFunc[j]=c.fPriorsFunc[j]; @@ -350,7 +356,7 @@ void AliCFTrackCutPid::SetPPriors(AliESDtrack *pTrk) for(Int_t i=0; i< AliPID::kSPECIES; i++) { if(pTrk->P()>fPriorsFunc[i]->GetXmin() && pTrk->P() < fPriorsFunc[i]->GetXmax()) fPriors[i]=fPriorsFunc[i]->Eval(pTrk->P()); - else {AliInfo("the track momentum is not in the function range. Priors are equal") fPriors[i] = 0.2;} + else {AliInfo("the track momentum is not in the function range. Priors are equal"); fPriors[i] = 0.2;} } } //______________________________________ @@ -520,7 +526,8 @@ Int_t AliCFTrackCutPid::IdentifyQA(const Double_t pid[AliPID::kSPECIES], Int_t i fhProb[idets][iP]->Fill(probability[iP]); } - AliPID toresp(pid,kTRUE); Double_t qapriors[5]={0.2,0.2,0.2,0.2,0.2}; + AliPID toresp(pid,kTRUE); + Double_t qapriors[10]={0.2,0.2,0.2,0.2,0.2,0,0,0,0,0}; toresp.SetPriors(qapriors); for(Int_t iPr=0; iPrFill(toresp.GetProbability((AliPID::EParticleType)iPr)); @@ -542,6 +549,7 @@ Bool_t AliCFTrackCutPid::IsSelected(TObject *track){ TString className(track->ClassName()); if (className.CompareTo("AliESDtrack") == 0) { AliESDtrack *esdTrack = dynamic_cast(track); + if (!esdTrack) return kFALSE; ULong_t status[kNdets+1]={0,0,0,0,0,0}; Double_t pid[kNdets+1][AliPID::kSPECIES]; TrackInfo(esdTrack,status,pid); @@ -551,6 +559,7 @@ Bool_t AliCFTrackCutPid::IsSelected(TObject *track){ if (className.CompareTo("AliAODTrack") == 0) { AliAODTrack *aodtrack = dynamic_cast(track); + if (!aodtrack) return kFALSE ; if(GetAODID(aodtrack) == fgParticleType) sel = kTRUE; }