* 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 <TF1.h>
#include <TFile.h>
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");
if(fPionFunction) delete fPionFunction;
if(fKaonFunction) delete fKaonFunction;
if(fProtonFunction) delete fProtonFunction;
+
}
if(!track){
printf("AliAnalysisCentralCutESD:IsSelected ->Can't get track!\n");
- exit(1);
+ return kFALSE;
}
if(fReqCharge){
}
if(fReqPID){
- if(!IsA(track, fPartType)) return kFALSE;
+ if(!IsA(track, fPartType)) return kFALSE;
}
return kTRUE;
-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;
if(fPIDtype.Contains("Bayesian")) {
partType = TMath::LocMax(AliPID::kSPECIES,w);
+ if(partType<0.) return kFALSE;
}
else if(fPIDtype.Contains("Custom")){
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;
}