X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWG2%2FSPECTRA%2FAliAnalysisCentralCutESD.cxx;h=fc212ad4e865644b32f6e8a2855a2ff8771ce088;hb=1a26066e6e9a2697e3919d2854e9c921b583ced7;hp=5c378ffd020bdde90d894b73cd5fae1e1c2d3cba;hpb=bde49c8a232629f89117ca74ec5e3bfe1da02713;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx b/PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx index 5c378ffd020..fc212ad4e86 100644 --- a/PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx +++ b/PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx @@ -13,12 +13,12 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ -// ******************************************* -// * particle level cuts for azimuthal isotropic * -// * expansion in highly central collisions analysis * -// * author: Cristian Andrei * -// * acristian@niham.nipne.ro * -// * ***************************************** +// ----------------------------------------------- +// particle level cuts for azimuthal isotropic +// expansion in highly central collisions analysis +// author: Cristian Andrei +// acristian@niham.nipne.ro +// ------------------------------------------------ #include #include @@ -61,7 +61,7 @@ AliAnalysisCentralCutESD::AliAnalysisCentralCutESD(const Char_t* name, const Cha TFile *f = TFile::Open("$ALICE_ROOT/PWG2/data/PriorProbabilities.root "); if(!f){ printf("Can't open PWG2 prior probabilities file!\n Exiting ...\n"); - exit(1); + return; } fElectronFunction = (TF1 *)f->Get("fitElectrons"); fMuonFunction = (TF1 *)f->Get("fitMuons"); @@ -83,6 +83,7 @@ AliAnalysisCentralCutESD::~AliAnalysisCentralCutESD() { if(fPionFunction) delete fPionFunction; if(fKaonFunction) delete fKaonFunction; if(fProtonFunction) delete fProtonFunction; + } @@ -93,7 +94,7 @@ Bool_t AliAnalysisCentralCutESD::IsSelected(TObject *obj){ if(!track){ printf("AliAnalysisCentralCutESD:IsSelected ->Can't get track!\n"); - exit(1); + return kFALSE; } if(fReqCharge){ @@ -101,7 +102,7 @@ Bool_t AliAnalysisCentralCutESD::IsSelected(TObject *obj){ } if(fReqPID){ - if(!IsA(track, fPartType)) return kFALSE; + if(!IsA(track, fPartType)) return kFALSE; } return kTRUE; @@ -128,11 +129,19 @@ Double_t priors=0; -Bool_t AliAnalysisCentralCutESD::IsA(AliESDtrack *track, PDG_t fPartType){ +Bool_t AliAnalysisCentralCutESD::IsA(AliESDtrack *track, PDG_t reqPartType){ // Determines the type of the particle + Int_t charge; + + if(reqPartType < 0){ + charge = -1; + } + else{ + charge = 1; + } - Double_t probability[5]; - Double_t w[5]; + Double_t probability[5] = {0.0,0.0,0.0,0.0,0.0}; + Double_t w[5] = {0.0,0.0,0.0,0.0,0.0}; Long64_t partType = 0; @@ -156,6 +165,7 @@ Bool_t AliAnalysisCentralCutESD::IsA(AliESDtrack *track, PDG_t fPartType){ if(fPIDtype.Contains("Bayesian")) { partType = TMath::LocMax(AliPID::kSPECIES,w); + if(partType<0.) return kFALSE; } else if(fPIDtype.Contains("Custom")){ @@ -168,22 +178,23 @@ Bool_t AliAnalysisCentralCutESD::IsA(AliESDtrack *track, PDG_t fPartType){ else{ printf("Unknown PID method!\n"); - exit(1); + return kFALSE; } - if((AliPID::ParticleCode(partType)) != fPartType){ + if((AliPID::ParticleCode(partType)) != reqPartType){ return kFALSE; } + if(track->Charge() != charge) return kFALSE; return kTRUE; } Bool_t AliAnalysisCentralCutESD::IsCharged(AliESDtrack* const track) const{ - + if(track->Charge() == 0) return kFALSE; - + return kTRUE; }