From Francesco: Updated AliFlowVZERO task
authoriseliouj <iseliouj@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 7 Mar 2012 19:01:28 +0000 (19:01 +0000)
committeriseliouj <iseliouj@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 7 Mar 2012 19:01:28 +0000 (19:01 +0000)
PWG/FLOW/Tasks/AliAnalysisTaskVnV0.cxx
PWG/FLOW/Tasks/AliFlowVZEROResults.cxx
PWGCF/FLOW/macros/AddTaskVZERO.C

index 71a689a..053ec75 100644 (file)
@@ -489,7 +489,7 @@ void AliAnalysisTaskVnV0::UserCreateOutputObjects()
    fList4->Add(fQA2v3);
   }
 
-  fList->Add(fTree); // comment if not needed
+  //  fList->Add(fTree); // comment if not needed
 
   printf("Output creation ok!!\n\n\n\n");
 
@@ -899,7 +899,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[2]) < 5){ // TPC 5 sigma extra cut to accept the track
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,1);
            if(fV2) contV0[iV0]->Fill(1,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(1,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(1,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[3] > 0.6){ // K
@@ -909,7 +909,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[3]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,2);
            if(fV2) contV0[iV0]->Fill(2,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(2,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(2,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[4] > 0.6){ // p
@@ -919,7 +919,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[4]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,3);
            if(fV2) contV0[iV0]->Fill(3,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(3,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(3,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[0] > 0.6){ // e
@@ -929,7 +929,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[0]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,4);
            if(fV2) contV0[iV0]->Fill(4,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(4,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(4,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[1] > 0.6){ // mu
@@ -938,7 +938,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[1]) < 5){
            if(fV2) contV0[iV0]->Fill(8,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(8,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(8,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[5] > 0.6){ // d
@@ -948,7 +948,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[5]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,5);
            if(fV2) contV0[iV0]->Fill(5,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(5,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(5,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[6] > 0.6){ // t
@@ -958,7 +958,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[6]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,6);
            if(fV2) contV0[iV0]->Fill(6,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(6,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(6,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(prob[7] > 0.6){ // He3
@@ -969,7 +969,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          if(TMath::Abs(nsigmaTPC[7]) < 5){
            if(iV0 && fQAsw) fPhiTracks->Fill(phi,7);
            if(fV2) contV0[iV0]->Fill(7,aodTrack->Pt()*2,v2V0,x);
-           if(fV3) contV0[iV0]->Fill(7,aodTrack->Pt()*2,v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(7,aodTrack->Pt()*2,v3V0,x3);
          }
          phi[1] *= 0.5;
        }
@@ -994,7 +994,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[2]) < 5){
            if(fV2) contV0[iV0]->Fill(1,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(1,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(1,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[3] > 0.6){ // K
@@ -1002,7 +1002,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[3]) < 5){
            if(fV2) contV0[iV0]->Fill(2,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(2,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(2,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[4] > 0.6){ // p
@@ -1010,7 +1010,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[4]) < 5){
            if(fV2) contV0[iV0]->Fill(3,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(3,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(3,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[0] > 0.6){ // e
@@ -1018,7 +1018,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[0]) < 5){
            if(fV2) contV0[iV0]->Fill(4,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(4,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(4,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[1] > 0.6){ // mu
@@ -1026,7 +1026,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[1]) < 5){
            if(fV2) contV0[iV0]->Fill(8,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(8,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(8,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[5] > 0.6){ // d
@@ -1034,7 +1034,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[5]) < 5){
            if(fV2) contV0[iV0]->Fill(5,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(5,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(5,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[6] > 0.6){ // t
@@ -1042,7 +1042,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[6]) < 5){
            if(fV2) contV0[iV0]->Fill(6,aodTrack->Pt(),v2V0,x);
-           if(fV3) contV0[iV0]->Fill(6,aodTrack->Pt(),v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(6,aodTrack->Pt(),v3V0,x3);
          }
        }
        else if(probTPC[7] > 0.6){ // He3
@@ -1050,7 +1050,7 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
          x3[2] = x[2];
          if(TMath::Abs(nsigmaTPC[7]) < 5){
            if(fV2) contV0[iV0]->Fill(7,aodTrack->Pt()*2,v2V0,x);
-           if(fV3) contV0[iV0]->Fill(7,aodTrack->Pt()*2,v3V0,x3);
+           if(fV3) contV0v3[iV0]->Fill(7,aodTrack->Pt()*2,v3V0,x3);
          }
        }
       } // end side loop
index 9223ad1..08c3416 100644 (file)
@@ -1,6 +1,6 @@
 #include<stdio.h>
 #include "AliFlowVZEROResults.h"
-
+#include "TList.h"
 
 ClassImp(AliFlowVZEROResults);
 
@@ -200,7 +200,7 @@ void AliFlowVZEROResults::SetVarRange(Int_t ivar,Float_t xMin,Float_t xMax){
 
 void AliFlowVZEROResults::Fill(Int_t species,Float_t pt,Float_t v2,Float_t x[]){
   Int_t ncomb = 1;
-  Int_t histo = 1;
+  Int_t histo = 0;
  
   for(Int_t i=0;i < GetNvar();i++){
     Int_t ibin = GetBin(i,x[i]);
@@ -217,7 +217,7 @@ void AliFlowVZEROResults::Fill(Int_t species,Float_t pt,Float_t v2,Float_t x[]){
 
 TProfile *AliFlowVZEROResults::GetV2(Int_t species,Float_t x[]) const{
   Int_t ncomb = 1;
-  Int_t histo = 1;
+  Int_t histo = 0;
  
   for(Int_t i=0;i < GetNvar();i++){
     Int_t ibin = GetBin(i,x[i]);
@@ -238,6 +238,7 @@ TProfile *AliFlowVZEROResults::GetV2(Int_t species,Float_t x[]) const{
 TProfile *AliFlowVZEROResults::GetV2(Int_t species,Float_t xMin[],Float_t xMax[]) const{
   if(GetNvar()){
     char title[300];
+    char title2[300];
     Int_t ncomb = 1;
     for(Int_t i=0;i < GetNvar();i++){
       ncomb *= (*fNbinVar)[i];
@@ -247,7 +248,7 @@ TProfile *AliFlowVZEROResults::GetV2(Int_t species,Float_t xMin[],Float_t xMax[]
     TProfile *temp = new TProfile(*htemplate);
     temp->SetName("histo");
     temp->Reset();
-    snprintf(title,300,"%i_",species);
+    snprintf(title,300,"%i",species);
     for(Int_t i=0;i < GetNvar();i++){
       Int_t imin = GetBin(i,xMin[i]);
       if(imin < 0) imin = 0;
@@ -255,7 +256,8 @@ TProfile *AliFlowVZEROResults::GetV2(Int_t species,Float_t xMin[],Float_t xMax[]
       Int_t imax = GetBin(i,xMax[i]);
       if(imax < imin) imax = imin;
       else if(imax >= (*fNbinVar)[i]) imax = (*fNbinVar)[i]-1;
-      snprintf(title,300,"%s_%04.1f<%s<%04.1f",title,
+      snprintf(title2,300,"%s",title);
+      snprintf(title,300,"%s_%04.1f<%s<%04.1f",title2,
                 (*fXmin)[i] + ((*fXmax)[i]-(*fXmin)[i])/(*fNbinVar)[i]*imin,
                 fNameVar->At(i)->GetName(),
                 (*fXmin)[i] + ((*fXmax)[i]-(*fXmin)[i])/(*fNbinVar)[i]*(imax+1));
@@ -295,9 +297,14 @@ Long64_t AliFlowVZEROResults::Merge(TCollection* list){
   Long64_t res=0;
   if (!list) return 0;
   if (list->IsEmpty()) return 0;
-  
-  for(Int_t i=0;i < GetNhistos();i++){
-    res = GetV2(i)->Merge(list);
+
+  TList *listObj = new TList();
+  listObj->AddAll(list);
+
+  for(Int_t i=0;i < listObj->GetEntries();i++){
+    AliFlowVZEROResults *obj = (AliFlowVZEROResults *) listObj->At(i);
+    Add(obj);
+    res++;
   }
   return res;
 }
index efab56c..2e1beee 100644 (file)
@@ -1,10 +1,10 @@
-AliAnalysisTask *AddTaskVZERO(AliAnalysisManager *mgr,Bool_t ismc=kFALSE,Bool_t kV2=kTRUE,Bool_t kV3=kTRUE,Bool_t qa=kTRUE){
+AliAnalysisTask *AddTaskVZERO(AliAnalysisManager *mgr,Bool_t ismc=kFALSE,Bool_t kV2=kTRUE,Bool_t kV3=kTRUE,Bool_t qa=kFALSE){
   char fileout[100];
-  snprintf(fileout,100,"outVZEROv2.root");
+  snprintf(fileout,100,"outVZEROres.root");
   char fileout2[100];
-  snprintf(fileout2,100,"outVZEROv3.root");
+  snprintf(fileout2,100,"outVZEROres.root");
   char fileout3[100];
-  snprintf(fileout3,100,"outVZEROmc.root");
+  snprintf(fileout3,100,"outVZEROres.root");
   char fileout4[100];
   snprintf(fileout4,100,"outVZEROqa.root");