Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / ANALYSIS / AliVZEROEPSelectionTask.cxx
index 8ee3a43..19f6370 100644 (file)
@@ -50,7 +50,7 @@ AliAnalysisTaskSE(),
   // Default constructor
   // Initialize pointers
   AliInfo("VZERO Event Plane Selection enabled.");
-  for(Int_t i = 0; i < 8; ++i) fX2In[i] = fY2In[i] = fX2Y2In[i] = fCos8PsiIn[i] = NULL;
+  for(Int_t i = 0; i < 11; ++i) fX2In[i] = fY2In[i] = fX2Y2In[i] = fCos8PsiIn[i] = NULL;
 }   
 
 //________________________________________________________________________
@@ -64,7 +64,7 @@ AliVZEROEPSelectionTask::AliVZEROEPSelectionTask(const char *name):
   // Default constructor
   // Initialize pointers
   AliInfo("Event Plane Selection enabled.");
-  for(Int_t i = 0; i < 8; ++i) fX2In[i] = fY2In[i] = fX2Y2In[i] = fCos8PsiIn[i] = NULL;
+  for(Int_t i = 0; i < 11; ++i) fX2In[i] = fY2In[i] = fX2Y2In[i] = fCos8PsiIn[i] = NULL;
 }
  
 //________________________________________________________________________
@@ -73,7 +73,7 @@ AliVZEROEPSelectionTask::~AliVZEROEPSelectionTask()
   // Destructor
   // ...
   if (fUserParams) {
-    for(Int_t i = 0; i < 8; ++i) {
+    for(Int_t i = 0; i < 11; ++i) {
       delete fX2In[i];
       fX2In[i] = NULL;
       delete fY2In[i];
@@ -126,7 +126,7 @@ void AliVZEROEPSelectionTask::UserExec(Option_t */*option*/)
   AliCentrality *centrality = event->GetCentrality();
   Float_t percentile = (fUseVZEROCentrality) ? centrality->GetCentralityPercentile("V0M") : centrality->GetCentralityPercentile("CL1");
   AliEventplane *esdEP = event->GetEventplane();
-  SetEventplaneParams(esdEP,percentile);
+  if(esdEP) SetEventplaneParams(esdEP,percentile);
 }
 
 //________________________________________________________________________
@@ -146,11 +146,11 @@ void AliVZEROEPSelectionTask::SetEventplaneParams(AliEventplane *esdEP,Float_t p
     AliFatal("No event plane received");
 
   if (percentile < 0 || percentile > 100) {
-    for(Int_t ring = 0; ring < 8; ++ring) esdEP->SetVZEROEPParams(ring,0.,0.,1.,1.,0.,0.,0.);
+    for(Int_t ring = 0; ring < 11; ++ring) esdEP->SetVZEROEPParams(ring,0.,0.,1.,1.,0.,0.,0.);
     return;
   }
 
-  for(Int_t ring = 0; ring < 8; ++ring) {
+  for(Int_t ring = 0; ring < 11; ++ring) {
     Int_t ibin = fX2In[ring]->FindBin(percentile);
     if (fX2In[ring]->GetBinEntries(ibin) == 0) {
       esdEP->SetVZEROEPParams(ring,0.,0.,1.,1.,0.,0.,0.);
@@ -208,13 +208,17 @@ void AliVZEROEPSelectionTask::SetHistograms(TList *list)
   // Set the flatenning parameters
   // histograms from a given list
 
-  for(Int_t i = 0; i < 8; ++i) {
+  for(Int_t i = 0; i < 11; ++i) {
+    if (fX2In[i]) delete fX2In[i];
     fX2In[i] = (TProfile*)list->FindObject(Form("fX2_%d",i))->Clone(Form("fX2In_%d",i));
     fX2In[i]->SetDirectory(0);
+    if (fY2In[i]) delete fY2In[i];
     fY2In[i] = (TProfile*)list->FindObject(Form("fY2_%d",i))->Clone(Form("fY2In_%d",i));
     fY2In[i]->SetDirectory(0);
+    if (fX2Y2In[i]) delete fX2Y2In[i];
     fX2Y2In[i] = (TProfile*)list->FindObject(Form("fX2Y2_%d",i))->Clone(Form("fX2Y2In_%d",i));
     fX2Y2In[i]->SetDirectory(0);
+    if (fCos8PsiIn[i]) delete fCos8PsiIn[i];
     fCos8PsiIn[i] = (TProfile*)list->FindObject(Form("fCos8Psi_%d",i))->Clone(Form("fCos8PsiIn_%d",i));
     fCos8PsiIn[i]->SetDirectory(0);
   }