]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliESDpidCuts.cxx
Fix for #92528: port to Release and AN-tag patch to T0 part of AliTriggerSelection
[u/mrichter/AliRoot.git] / ANALYSIS / AliESDpidCuts.cxx
index c2f0c23efda4575d8b572b2c047b4ea1d131f21d..2970b5a815b278305ed857de02c2b4be3554007e 100644 (file)
@@ -51,8 +51,8 @@ AliESDpidCuts::AliESDpidCuts(const Char_t *name, const Char_t *title):
   //\r
   \r
   fESDpid = new AliESDpid;\r
-  memset(fCutTPCnSigma, 0, sizeof(Float_t) * 2);\r
-  memset(fCutTOFnSigma, 0, sizeof(Float_t) * 2);\r
+  memset(fCutTPCnSigma, 0, sizeof(Float_t)* AliPID::kSPECIES * 2);\r
+  memset(fCutTOFnSigma, 0, sizeof(Float_t)* AliPID::kSPECIES * 2);\r
 \r
   memset(fHclusterRatio, 0, sizeof(TH1F *) * 2);\r
   memset(fHnSigmaTPC, 0, sizeof(TH1F *) * AliPID::kSPECIES * 2);\r
@@ -126,7 +126,7 @@ Bool_t AliESDpidCuts::IsSelected(TObject *obj){
     AliError("Provided object is not AliESDtrack!");\r
     return kFALSE;\r
   }\r
-  AliESDEvent* evt = trk->GetESDEvent();\r
+  const AliESDEvent* evt = trk->GetESDEvent();\r
   if(!evt){\r
     AliError("No AliESDEvent!");\r
     return kFALSE;\r
@@ -160,7 +160,7 @@ void AliESDpidCuts::Copy(TObject &c) const {
   }\r
  \r
   memcpy(target.fCutTPCnSigma, fCutTPCnSigma, sizeof(Float_t) * AliPID::kSPECIES * 2);\r
-  memcpy(target.fCutTOFnSigma, fCutTOFnSigma, sizeof(Float_t) * AliPID::kSPECIES);\r
+  memcpy(target.fCutTOFnSigma, fCutTOFnSigma, sizeof(Float_t) * AliPID::kSPECIES * 2);\r
  \r
   AliESDpidCuts::Copy(c);\r
 }\r
@@ -170,8 +170,8 @@ Long64_t AliESDpidCuts::Merge(TCollection *coll){
   //\r
   // Merge Cut objects\r
   //\r
-  if(coll) return 0;\r
-  if(coll->IsEmpty()) return 1;\r
+  if(!coll) return 0;\r
+  if(coll->IsEmpty())   return 1;\r
   if(!HasHistograms())  return 0;\r
   \r
   TIterator *iter = coll->MakeIterator();\r
@@ -214,15 +214,15 @@ void AliESDpidCuts::DefineHistograms(Color_t color){
   }\r
   Char_t hname[256], htitle[256];\r
   for(Int_t imode = 0; imode < 2; imode++){\r
-    sprintf(hname, "fHclusterRatio%s", imode ? "After" : "Before");\r
-    sprintf(htitle, "TPC cluster Ratio %s cuts;Ratio;Entries", imode ? "after" : "before");\r
+    snprintf(hname, 256, "fHclusterRatio%s", imode ? "After" : "Before");\r
+    snprintf(htitle, 256, "TPC cluster Ratio %s cuts;Ratio;Entries", imode ? "after" : "before");\r
     fHclusterRatio[imode] = new TH1F(hname, htitle, 20, 0., 1.);\r
     for(Int_t ispec = 0; ispec < AliPID::kSPECIES; ispec++){\r
-      sprintf(hname, "fHnSigma%sTPC%s", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
-      sprintf(htitle, "TPC sigma for %s %s cuts;sigma;Entries", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
+      snprintf(hname, 256, "fHnSigma%sTPC%s", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
+      snprintf(htitle, 256, "TPC sigma for %s %s cuts;sigma;Entries", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
       fHnSigmaTPC[ispec][imode] = new TH1F(hname, htitle, 200, -10., 10.);\r
-      sprintf(hname, "fHnSigma%sTOF%s", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
-      sprintf(htitle, "TOF sigma for %s %s cuts;sigma;Entries", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
+      snprintf(hname, 256, "fHnSigma%sTOF%s", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
+      snprintf(htitle, 256, "TOF sigma for %s %s cuts;sigma;Entries", AliPID::ParticleName(ispec), imode ? "after" : "before");\r
       fHnSigmaTOF[ispec][imode] = new TH1F(hname, htitle, 200, -10., 10.);\r
     }\r
   }\r
@@ -239,8 +239,10 @@ Bool_t AliESDpidCuts::AcceptTrack(const AliESDtrack *track, const AliESDEvent *e
     kCutNsigmaTOF\r
   };\r
   Long64_t cutRequired=0, cutFullfiled = 0;\r
-  if(fTOFsigmaCutRequired && event == 0) \r
+  if(fTOFsigmaCutRequired && event == 0)  {\r
     AliError("No event pointer. Need event pointer for T0 for TOF cut");\r
+    return (0);\r
+  }\r
   Double_t clusterRatio = track->GetTPCNclsF() ? static_cast<Float_t>(track->GetTPCNcls())/static_cast<Float_t>(track->GetTPCNclsF()) : 1.;\r
   if(fCutTPCclusterRatio > 0.){\r
     SETBIT(cutRequired, kCutClusterRatioTPC);\r
@@ -262,7 +264,7 @@ Bool_t AliESDpidCuts::AcceptTrack(const AliESDtrack *track, const AliESDEvent *e
   track->GetIntegratedTimes(times);\r
   for(Int_t ispec = 0; ispec < AliPID::kSPECIES; ispec++){\r
     \r
-    if(hasTOFpid) nsigmaTOF[ispec] = nsigma = fESDpid->NumberOfSigmasTOF(track,(AliPID::EParticleType)ispec, event->GetT0());\r
+    if(hasTOFpid && event) nsigmaTOF[ispec] = nsigma = fESDpid->NumberOfSigmasTOF(track,(AliPID::EParticleType)ispec, event->GetT0());\r
     if(!(fTOFsigmaCutRequired && 1 << ispec)) continue;\r
     SETBIT(cutRequired, kCutNsigmaTOF);\r
     if(track->GetOuterParam()->P() >= fMinMomentumTOF){\r