ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: Boris Polishchuk (Boris.Polishchuk@cern.ch)                    *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------// 
// Class used to do omega(782) -> pi0 pi+ pi- analysis.                   //
//------------------------------------------------------------------------//
////////////////////////////////////////////////////////////////////////////

#include "AliAnalysisTaskOmegaPi0PiPi.h"
#include "TList.h"
#include "TH1.h"
#include "TH2.h"
#include "AliESDEvent.h"
#include "TRefArray.h"
#include "TLorentzVector.h"
#include "AliESDCaloCluster.h"
#include "AliESDv0.h"
#include "AliESDtrack.h"
#include "AliLog.h"
#include "TString.h"
#include "AliPHOSGeoUtils.h"

ClassImp(AliAnalysisTaskOmegaPi0PiPi)

AliAnalysisTaskOmegaPi0PiPi::AliAnalysisTaskOmegaPi0PiPi() :
  AliAnalysisTaskSE(),fOutputContainer(0x0),fhM2piSel(0x0),fhDxy(0x0),fhMggSel(0x0),
  fhImpXY(0x0),fhM3pi0to2(0x0),fhM3pi2to4(0x0),fhM3pi4to6(0x0),fhM3pi6to8(0x0),
  fhM3pi8to10(0x0),fhM3pi10to12(0x0),fhM3pi12(0x0),fhM3pi0to8(0x0),fModules("123")
{
  //Default constructor.
}


AliAnalysisTaskOmegaPi0PiPi::AliAnalysisTaskOmegaPi0PiPi(const char* name) :
  AliAnalysisTaskSE(name),fOutputContainer(0x0),fhM2piSel(0x0),fhDxy(0x0),fhMggSel(0x0),
  fhImpXY(0x0),fhM3pi0to2(0x0),fhM3pi2to4(0x0),fhM3pi4to6(0x0),fhM3pi6to8(0x0),
  fhM3pi8to10(0x0),fhM3pi10to12(0x0),fhM3pi12(0x0),fhM3pi0to8(0x0),fModules("123")
{
  //Constructor used to create a named task.

  DefineOutput(1,TList::Class());
}


AliAnalysisTaskOmegaPi0PiPi::~AliAnalysisTaskOmegaPi0PiPi()
{
  //Destructor
  
  if(fOutputContainer){
    fOutputContainer->Delete() ; 
    delete fOutputContainer ;
  }
}


void AliAnalysisTaskOmegaPi0PiPi::UserCreateOutputObjects()
{
  //Allocates histograms and puts it to the output container.
  
  fOutputContainer = new TList();
  
  fhM2piSel = new TH1F("hM2pi_sel","V0 inv. mass, Dxy<2cm",100,0.,1.);
  fOutputContainer->Add(fhM2piSel);

  fhDxy = new TH1F("hDxy","Distance from V0 to primary vertex in XY-plane", 500, 0.,500.);
  fOutputContainer->Add(fhDxy);

  fhMggSel = new TH1F("hMgg_sel","Inv. mass of two clusters, pT>1GeV",100,0.,0.3);
  fOutputContainer->Add(fhMggSel);

  fhImpXY = new TH1F("hImpXY","Impact parameters in XY-plane",1000,0.,1.);
  fOutputContainer->Add(fhImpXY);


  //M(3pi) vs pT(3pi), ptrack < 2GeV
  fhM3pi0to2 = new TH2F("hM3pi_0_2","pTrack: 0-2GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi0to2);

  //M(3pi) vs pT(3pi), 2GeV < ptrack < 4GeV
  fhM3pi2to4 = new TH2F("hM3pi_2_4","pTrack: 2-4GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi2to4);

  //M(3pi) vs pT(3pi), 4GeV < ptrack < 6GeV
  fhM3pi4to6 = new TH2F("hM3pi_4_6","pTrack: 4-6GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi4to6);

  //M(3pi) vs pT(3pi), 6GeV < ptrack < 8GeV
  fhM3pi6to8 = new TH2F("hM3pi_6_8","pTrack: 6-8GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi6to8);

  //M(3pi) vs pT(3pi), 8GeV < ptrack < 10GeV
  fhM3pi8to10 = new TH2F("hM3pi_8_10","pTrack: 8-10GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi8to10);

  //M(3pi) vs pT(3pi), 10GeV < ptrack < 12GeV
  fhM3pi10to12 = new TH2F("hM3pi_10_12","pTrack: 10-12GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi10to12);

  //M(3pi) vs pT(3pi), ptrack > 12GeV
  fhM3pi12 = new TH2F("hM3pi_12","pTrack>12GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi12);

  //M(3pi) vs pT(3pi), ptrack < 8GeV
  fhM3pi0to8 = new TH2F("hM3pi_0_8","pTrack: 0-8GeV",100,0.,10., 200,0.4,1.);
  fOutputContainer->Add(fhM3pi0to8);

}


void AliAnalysisTaskOmegaPi0PiPi::UserExec(Option_t* /* option */)
{
  //Main function that does all the job.
  
  AliVEvent* event = InputEvent();
  AliESDEvent* esd = (AliESDEvent*)event ;

  Double_t v[3] ; //vertex ;
  esd->GetVertex()->GetXYZ(v) ;
  TVector3 vtx(v);

  AliDebug(2,Form("Vertex: (%.3f,%.3f,%.3f)\n",vtx.X(),vtx.Y(),vtx.Z()));
  
  TRefArray * caloClustersArr  = new TRefArray();
  esd->GetPHOSClusters(caloClustersArr);

  const Int_t kNumberOfTracks = esd->GetNumberOfTracks();
  const Int_t kNumberOfV0s = esd->GetNumberOfV0s();

  AliDebug(2,Form("Tracks: %d. V0s: %d\n",kNumberOfTracks,kNumberOfV0s));
  
  Float_t xyImp,zImp,imp1,imp2;
  
  const Int_t kNumberOfPhosClusters   = caloClustersArr->GetEntries() ;
  AliDebug(2,Form("CaloClusters: %d\n", kNumberOfPhosClusters));
  if(kNumberOfPhosClusters<2){
    delete caloClustersArr;
    return;
  }  
  TLorentzVector pc1; //4-momentum of PHOS cluster 1
  TLorentzVector pc2; //4-momentum of PHOS cluster 2
  TLorentzVector pc12;

  TLorentzVector ppos; //4-momentum of positive track
  TLorentzVector pneg; //4-momentum of negative track
  TLorentzVector ptr12;

  TLorentzVector pomega;
  Double_t etrack;
  Double_t p1,p2; // 3-momentum of tracks
  
  Int_t relid[4] ;
  UShort_t *absIds;

  Int_t minCells=3; //Ncells>2
  const Double_t kMpi = 0.1396;
  AliPHOSGeoUtils* geom = new AliPHOSGeoUtils("IHEP","");
  
  for(Int_t iClu=0; iClu<kNumberOfPhosClusters; iClu++) {
    AliESDCaloCluster *c1 = (AliESDCaloCluster *) caloClustersArr->At(iClu);
    if(c1->GetNCells()<minCells) continue;
 
    absIds = c1->GetCellsAbsId();
    geom->AbsToRelNumbering(absIds[0], relid) ;
    TString phosMod1;
    phosMod1 += relid[0];

    if(!fModules.Contains(phosMod1.Data())) continue;
    c1->GetMomentum(pc1,v);

    for (Int_t jClu=iClu; jClu<kNumberOfPhosClusters; jClu++) {
      AliESDCaloCluster *c2 = (AliESDCaloCluster *) caloClustersArr->At(jClu);
      if(c2->IsEqual(c1)) continue;
      if(c2->GetNCells()<minCells) continue;

      absIds = c2->GetCellsAbsId();
      geom->AbsToRelNumbering(absIds[0], relid) ; 
      TString phosMod2;
      phosMod2 += relid[0];

      if(!fModules.Contains(phosMod2.Data())) continue;
      c2->GetMomentum(pc2,v);

      pc12 = pc1+pc2;
      AliDebug(2,Form("pc12.M(): %.3f\n",pc12.M()));

      if(pc12.M()<0.100 || pc12.M()>0.160) continue; //not a pi0 candidate!
      if(pc12.Pt()<1.5) continue; //pT(pi0) > 1.5GeV
      
      fhMggSel->Fill(pc12.M());
      
      for(Int_t iTrack=0; iTrack<kNumberOfTracks; iTrack++) {
	AliESDtrack* tr1 = esd->GetTrack(iTrack);
	p1 = tr1->P();
	tr1->GetImpactParameters(xyImp,zImp);
	imp1 = TMath::Abs(xyImp);
	fhImpXY->Fill(imp1);
	Short_t charge = tr1->Charge();
	if(imp1>0.004) continue; // not from the primary vertex!

	etrack = TMath::Sqrt(p1*p1 + kMpi*kMpi);
	ppos.SetPxPyPzE(tr1->Px(),tr1->Py(),tr1->Pz(),etrack);
	
	for(Int_t jTrack=iTrack; jTrack<kNumberOfTracks; jTrack++) {
	  AliESDtrack* tr2 = esd->GetTrack(jTrack);
	  p2 = tr2->P();
	  if(tr2->Charge()==charge) continue; //same sign track (WRONG!!)
	  tr2->GetImpactParameters(xyImp,zImp);
	  imp2=TMath::Abs(xyImp);
	  if(imp2>0.004) continue; // not from the primary vertex!
	  
	  etrack = TMath::Sqrt(p2*p2 + kMpi*kMpi);
	  pneg.SetPxPyPzE(tr2->Px(),tr2->Py(),tr2->Pz(),etrack);

	  ptr12 = ppos + pneg;

// 	  printf("ptr12.M()=%.3f, xyImp1=%f, xyImp2=%f, ch1=%d, ch2=%d, 
//                  p1=%.3f, p2=%.3f, m1=%.3f, m2=%.3f\n",
// 		 ptr12.M(),imp1,imp2,tr1->Charge(),tr2->Charge(),
// 		 tr1->P(),tr2->P(),tr1->M(),tr2->M());
	  
	  pomega = pc12 + ptr12;
	  AliDebug(2,Form("pomega.M(): %f\n",pomega.M()));

	  if( p1<2. && p2<2. )
	    fhM3pi0to2->Fill(pomega.Pt(),pomega.M());
	  
	  if( (p1>=2. && p1<4.) && (p2>=2. && p2<4.) ) 
	    fhM3pi2to4->Fill(pomega.Pt(),pomega.M());	  
	  
	  if( (p1>=4. && p1<6.) && (p2>=4. && p2<6.) ) 
	    fhM3pi4to6->Fill(pomega.Pt(),pomega.M());
	  
	  if( (p1>=6. && p1<8.) && (p2>=6. && p2<8.) ) 
	    fhM3pi6to8->Fill(pomega.Pt(),pomega.M());
	  
	  if( (p1>=8. && p1<10.) && (p2>=8. && p2<10.) ) 
	    fhM3pi8to10->Fill(pomega.Pt(),pomega.M());
	  
	  if( (p1>=10. && p1<12.) && (p2>=10. && p2<12.) ) 
	    fhM3pi10to12->Fill(pomega.Pt(),pomega.M());
	  
	  if( (p1>=12.) && (p2>=12.) ) 
	    fhM3pi12->Fill(pomega.Pt(),pomega.M());
	  
	  if( p1<8. && p2<8. )
	    fhM3pi0to8->Fill(pomega.Pt(),pomega.M());

	}
      }
      
      for(Int_t iVert=0; iVert<kNumberOfV0s; iVert++) {
	AliESDv0* v0 = esd->GetV0(iVert);
	AliESDtrack* ptrack = esd->GetTrack(v0->GetPindex()); //positive track
	AliESDtrack* ntrack = esd->GetTrack(v0->GetNindex()); //negative track

	etrack = TMath::Sqrt(ptrack->P()*ptrack->P() + kMpi*kMpi);
	ppos.SetPxPyPzE(ptrack->Px(),ptrack->Py(),ptrack->Pz(),etrack);

	etrack = TMath::Sqrt(ntrack->P()*ntrack->P() + kMpi*kMpi);
	pneg.SetPxPyPzE(ntrack->Px(),ntrack->Py(),ntrack->Pz(),etrack);

	ptr12 = ppos + pneg;

	Double_t dx = vtx.X() - v0->Xv();
	Double_t dy = vtx.Y() - v0->Yv();
	Double_t dxy = TMath::Sqrt(dx*dx + dy*dy);
	fhDxy->Fill(dxy);

	AliDebug(2,Form("V0: dxy=%.3f\n",dxy));

	if(dxy<2.) fhM2piSel->Fill(ptr12.M());
      } 
    
    }
  }
  
  delete caloClustersArr;
  PostData(1,fOutputContainer);
}
 AliAnalysisTaskOmegaPi0PiPi.cxx:1
 AliAnalysisTaskOmegaPi0PiPi.cxx:2
 AliAnalysisTaskOmegaPi0PiPi.cxx:3
 AliAnalysisTaskOmegaPi0PiPi.cxx:4
 AliAnalysisTaskOmegaPi0PiPi.cxx:5
 AliAnalysisTaskOmegaPi0PiPi.cxx:6
 AliAnalysisTaskOmegaPi0PiPi.cxx:7
 AliAnalysisTaskOmegaPi0PiPi.cxx:8
 AliAnalysisTaskOmegaPi0PiPi.cxx:9
 AliAnalysisTaskOmegaPi0PiPi.cxx:10
 AliAnalysisTaskOmegaPi0PiPi.cxx:11
 AliAnalysisTaskOmegaPi0PiPi.cxx:12
 AliAnalysisTaskOmegaPi0PiPi.cxx:13
 AliAnalysisTaskOmegaPi0PiPi.cxx:14
 AliAnalysisTaskOmegaPi0PiPi.cxx:15
 AliAnalysisTaskOmegaPi0PiPi.cxx:16
 AliAnalysisTaskOmegaPi0PiPi.cxx:17
 AliAnalysisTaskOmegaPi0PiPi.cxx:18
 AliAnalysisTaskOmegaPi0PiPi.cxx:19
 AliAnalysisTaskOmegaPi0PiPi.cxx:20
 AliAnalysisTaskOmegaPi0PiPi.cxx:21
 AliAnalysisTaskOmegaPi0PiPi.cxx:22
 AliAnalysisTaskOmegaPi0PiPi.cxx:23
 AliAnalysisTaskOmegaPi0PiPi.cxx:24
 AliAnalysisTaskOmegaPi0PiPi.cxx:25
 AliAnalysisTaskOmegaPi0PiPi.cxx:26
 AliAnalysisTaskOmegaPi0PiPi.cxx:27
 AliAnalysisTaskOmegaPi0PiPi.cxx:28
 AliAnalysisTaskOmegaPi0PiPi.cxx:29
 AliAnalysisTaskOmegaPi0PiPi.cxx:30
 AliAnalysisTaskOmegaPi0PiPi.cxx:31
 AliAnalysisTaskOmegaPi0PiPi.cxx:32
 AliAnalysisTaskOmegaPi0PiPi.cxx:33
 AliAnalysisTaskOmegaPi0PiPi.cxx:34
 AliAnalysisTaskOmegaPi0PiPi.cxx:35
 AliAnalysisTaskOmegaPi0PiPi.cxx:36
 AliAnalysisTaskOmegaPi0PiPi.cxx:37
 AliAnalysisTaskOmegaPi0PiPi.cxx:38
 AliAnalysisTaskOmegaPi0PiPi.cxx:39
 AliAnalysisTaskOmegaPi0PiPi.cxx:40
 AliAnalysisTaskOmegaPi0PiPi.cxx:41
 AliAnalysisTaskOmegaPi0PiPi.cxx:42
 AliAnalysisTaskOmegaPi0PiPi.cxx:43
 AliAnalysisTaskOmegaPi0PiPi.cxx:44
 AliAnalysisTaskOmegaPi0PiPi.cxx:45
 AliAnalysisTaskOmegaPi0PiPi.cxx:46
 AliAnalysisTaskOmegaPi0PiPi.cxx:47
 AliAnalysisTaskOmegaPi0PiPi.cxx:48
 AliAnalysisTaskOmegaPi0PiPi.cxx:49
 AliAnalysisTaskOmegaPi0PiPi.cxx:50
 AliAnalysisTaskOmegaPi0PiPi.cxx:51
 AliAnalysisTaskOmegaPi0PiPi.cxx:52
 AliAnalysisTaskOmegaPi0PiPi.cxx:53
 AliAnalysisTaskOmegaPi0PiPi.cxx:54
 AliAnalysisTaskOmegaPi0PiPi.cxx:55
 AliAnalysisTaskOmegaPi0PiPi.cxx:56
 AliAnalysisTaskOmegaPi0PiPi.cxx:57
 AliAnalysisTaskOmegaPi0PiPi.cxx:58
 AliAnalysisTaskOmegaPi0PiPi.cxx:59
 AliAnalysisTaskOmegaPi0PiPi.cxx:60
 AliAnalysisTaskOmegaPi0PiPi.cxx:61
 AliAnalysisTaskOmegaPi0PiPi.cxx:62
 AliAnalysisTaskOmegaPi0PiPi.cxx:63
 AliAnalysisTaskOmegaPi0PiPi.cxx:64
 AliAnalysisTaskOmegaPi0PiPi.cxx:65
 AliAnalysisTaskOmegaPi0PiPi.cxx:66
 AliAnalysisTaskOmegaPi0PiPi.cxx:67
 AliAnalysisTaskOmegaPi0PiPi.cxx:68
 AliAnalysisTaskOmegaPi0PiPi.cxx:69
 AliAnalysisTaskOmegaPi0PiPi.cxx:70
 AliAnalysisTaskOmegaPi0PiPi.cxx:71
 AliAnalysisTaskOmegaPi0PiPi.cxx:72
 AliAnalysisTaskOmegaPi0PiPi.cxx:73
 AliAnalysisTaskOmegaPi0PiPi.cxx:74
 AliAnalysisTaskOmegaPi0PiPi.cxx:75
 AliAnalysisTaskOmegaPi0PiPi.cxx:76
 AliAnalysisTaskOmegaPi0PiPi.cxx:77
 AliAnalysisTaskOmegaPi0PiPi.cxx:78
 AliAnalysisTaskOmegaPi0PiPi.cxx:79
 AliAnalysisTaskOmegaPi0PiPi.cxx:80
 AliAnalysisTaskOmegaPi0PiPi.cxx:81
 AliAnalysisTaskOmegaPi0PiPi.cxx:82
 AliAnalysisTaskOmegaPi0PiPi.cxx:83
 AliAnalysisTaskOmegaPi0PiPi.cxx:84
 AliAnalysisTaskOmegaPi0PiPi.cxx:85
 AliAnalysisTaskOmegaPi0PiPi.cxx:86
 AliAnalysisTaskOmegaPi0PiPi.cxx:87
 AliAnalysisTaskOmegaPi0PiPi.cxx:88
 AliAnalysisTaskOmegaPi0PiPi.cxx:89
 AliAnalysisTaskOmegaPi0PiPi.cxx:90
 AliAnalysisTaskOmegaPi0PiPi.cxx:91
 AliAnalysisTaskOmegaPi0PiPi.cxx:92
 AliAnalysisTaskOmegaPi0PiPi.cxx:93
 AliAnalysisTaskOmegaPi0PiPi.cxx:94
 AliAnalysisTaskOmegaPi0PiPi.cxx:95
 AliAnalysisTaskOmegaPi0PiPi.cxx:96
 AliAnalysisTaskOmegaPi0PiPi.cxx:97
 AliAnalysisTaskOmegaPi0PiPi.cxx:98
 AliAnalysisTaskOmegaPi0PiPi.cxx:99
 AliAnalysisTaskOmegaPi0PiPi.cxx:100
 AliAnalysisTaskOmegaPi0PiPi.cxx:101
 AliAnalysisTaskOmegaPi0PiPi.cxx:102
 AliAnalysisTaskOmegaPi0PiPi.cxx:103
 AliAnalysisTaskOmegaPi0PiPi.cxx:104
 AliAnalysisTaskOmegaPi0PiPi.cxx:105
 AliAnalysisTaskOmegaPi0PiPi.cxx:106
 AliAnalysisTaskOmegaPi0PiPi.cxx:107
 AliAnalysisTaskOmegaPi0PiPi.cxx:108
 AliAnalysisTaskOmegaPi0PiPi.cxx:109
 AliAnalysisTaskOmegaPi0PiPi.cxx:110
 AliAnalysisTaskOmegaPi0PiPi.cxx:111
 AliAnalysisTaskOmegaPi0PiPi.cxx:112
 AliAnalysisTaskOmegaPi0PiPi.cxx:113
 AliAnalysisTaskOmegaPi0PiPi.cxx:114
 AliAnalysisTaskOmegaPi0PiPi.cxx:115
 AliAnalysisTaskOmegaPi0PiPi.cxx:116
 AliAnalysisTaskOmegaPi0PiPi.cxx:117
 AliAnalysisTaskOmegaPi0PiPi.cxx:118
 AliAnalysisTaskOmegaPi0PiPi.cxx:119
 AliAnalysisTaskOmegaPi0PiPi.cxx:120
 AliAnalysisTaskOmegaPi0PiPi.cxx:121
 AliAnalysisTaskOmegaPi0PiPi.cxx:122
 AliAnalysisTaskOmegaPi0PiPi.cxx:123
 AliAnalysisTaskOmegaPi0PiPi.cxx:124
 AliAnalysisTaskOmegaPi0PiPi.cxx:125
 AliAnalysisTaskOmegaPi0PiPi.cxx:126
 AliAnalysisTaskOmegaPi0PiPi.cxx:127
 AliAnalysisTaskOmegaPi0PiPi.cxx:128
 AliAnalysisTaskOmegaPi0PiPi.cxx:129
 AliAnalysisTaskOmegaPi0PiPi.cxx:130
 AliAnalysisTaskOmegaPi0PiPi.cxx:131
 AliAnalysisTaskOmegaPi0PiPi.cxx:132
 AliAnalysisTaskOmegaPi0PiPi.cxx:133
 AliAnalysisTaskOmegaPi0PiPi.cxx:134
 AliAnalysisTaskOmegaPi0PiPi.cxx:135
 AliAnalysisTaskOmegaPi0PiPi.cxx:136
 AliAnalysisTaskOmegaPi0PiPi.cxx:137
 AliAnalysisTaskOmegaPi0PiPi.cxx:138
 AliAnalysisTaskOmegaPi0PiPi.cxx:139
 AliAnalysisTaskOmegaPi0PiPi.cxx:140
 AliAnalysisTaskOmegaPi0PiPi.cxx:141
 AliAnalysisTaskOmegaPi0PiPi.cxx:142
 AliAnalysisTaskOmegaPi0PiPi.cxx:143
 AliAnalysisTaskOmegaPi0PiPi.cxx:144
 AliAnalysisTaskOmegaPi0PiPi.cxx:145
 AliAnalysisTaskOmegaPi0PiPi.cxx:146
 AliAnalysisTaskOmegaPi0PiPi.cxx:147
 AliAnalysisTaskOmegaPi0PiPi.cxx:148
 AliAnalysisTaskOmegaPi0PiPi.cxx:149
 AliAnalysisTaskOmegaPi0PiPi.cxx:150
 AliAnalysisTaskOmegaPi0PiPi.cxx:151
 AliAnalysisTaskOmegaPi0PiPi.cxx:152
 AliAnalysisTaskOmegaPi0PiPi.cxx:153
 AliAnalysisTaskOmegaPi0PiPi.cxx:154
 AliAnalysisTaskOmegaPi0PiPi.cxx:155
 AliAnalysisTaskOmegaPi0PiPi.cxx:156
 AliAnalysisTaskOmegaPi0PiPi.cxx:157
 AliAnalysisTaskOmegaPi0PiPi.cxx:158
 AliAnalysisTaskOmegaPi0PiPi.cxx:159
 AliAnalysisTaskOmegaPi0PiPi.cxx:160
 AliAnalysisTaskOmegaPi0PiPi.cxx:161
 AliAnalysisTaskOmegaPi0PiPi.cxx:162
 AliAnalysisTaskOmegaPi0PiPi.cxx:163
 AliAnalysisTaskOmegaPi0PiPi.cxx:164
 AliAnalysisTaskOmegaPi0PiPi.cxx:165
 AliAnalysisTaskOmegaPi0PiPi.cxx:166
 AliAnalysisTaskOmegaPi0PiPi.cxx:167
 AliAnalysisTaskOmegaPi0PiPi.cxx:168
 AliAnalysisTaskOmegaPi0PiPi.cxx:169
 AliAnalysisTaskOmegaPi0PiPi.cxx:170
 AliAnalysisTaskOmegaPi0PiPi.cxx:171
 AliAnalysisTaskOmegaPi0PiPi.cxx:172
 AliAnalysisTaskOmegaPi0PiPi.cxx:173
 AliAnalysisTaskOmegaPi0PiPi.cxx:174
 AliAnalysisTaskOmegaPi0PiPi.cxx:175
 AliAnalysisTaskOmegaPi0PiPi.cxx:176
 AliAnalysisTaskOmegaPi0PiPi.cxx:177
 AliAnalysisTaskOmegaPi0PiPi.cxx:178
 AliAnalysisTaskOmegaPi0PiPi.cxx:179
 AliAnalysisTaskOmegaPi0PiPi.cxx:180
 AliAnalysisTaskOmegaPi0PiPi.cxx:181
 AliAnalysisTaskOmegaPi0PiPi.cxx:182
 AliAnalysisTaskOmegaPi0PiPi.cxx:183
 AliAnalysisTaskOmegaPi0PiPi.cxx:184
 AliAnalysisTaskOmegaPi0PiPi.cxx:185
 AliAnalysisTaskOmegaPi0PiPi.cxx:186
 AliAnalysisTaskOmegaPi0PiPi.cxx:187
 AliAnalysisTaskOmegaPi0PiPi.cxx:188
 AliAnalysisTaskOmegaPi0PiPi.cxx:189
 AliAnalysisTaskOmegaPi0PiPi.cxx:190
 AliAnalysisTaskOmegaPi0PiPi.cxx:191
 AliAnalysisTaskOmegaPi0PiPi.cxx:192
 AliAnalysisTaskOmegaPi0PiPi.cxx:193
 AliAnalysisTaskOmegaPi0PiPi.cxx:194
 AliAnalysisTaskOmegaPi0PiPi.cxx:195
 AliAnalysisTaskOmegaPi0PiPi.cxx:196
 AliAnalysisTaskOmegaPi0PiPi.cxx:197
 AliAnalysisTaskOmegaPi0PiPi.cxx:198
 AliAnalysisTaskOmegaPi0PiPi.cxx:199
 AliAnalysisTaskOmegaPi0PiPi.cxx:200
 AliAnalysisTaskOmegaPi0PiPi.cxx:201
 AliAnalysisTaskOmegaPi0PiPi.cxx:202
 AliAnalysisTaskOmegaPi0PiPi.cxx:203
 AliAnalysisTaskOmegaPi0PiPi.cxx:204
 AliAnalysisTaskOmegaPi0PiPi.cxx:205
 AliAnalysisTaskOmegaPi0PiPi.cxx:206
 AliAnalysisTaskOmegaPi0PiPi.cxx:207
 AliAnalysisTaskOmegaPi0PiPi.cxx:208
 AliAnalysisTaskOmegaPi0PiPi.cxx:209
 AliAnalysisTaskOmegaPi0PiPi.cxx:210
 AliAnalysisTaskOmegaPi0PiPi.cxx:211
 AliAnalysisTaskOmegaPi0PiPi.cxx:212
 AliAnalysisTaskOmegaPi0PiPi.cxx:213
 AliAnalysisTaskOmegaPi0PiPi.cxx:214
 AliAnalysisTaskOmegaPi0PiPi.cxx:215
 AliAnalysisTaskOmegaPi0PiPi.cxx:216
 AliAnalysisTaskOmegaPi0PiPi.cxx:217
 AliAnalysisTaskOmegaPi0PiPi.cxx:218
 AliAnalysisTaskOmegaPi0PiPi.cxx:219
 AliAnalysisTaskOmegaPi0PiPi.cxx:220
 AliAnalysisTaskOmegaPi0PiPi.cxx:221
 AliAnalysisTaskOmegaPi0PiPi.cxx:222
 AliAnalysisTaskOmegaPi0PiPi.cxx:223
 AliAnalysisTaskOmegaPi0PiPi.cxx:224
 AliAnalysisTaskOmegaPi0PiPi.cxx:225
 AliAnalysisTaskOmegaPi0PiPi.cxx:226
 AliAnalysisTaskOmegaPi0PiPi.cxx:227
 AliAnalysisTaskOmegaPi0PiPi.cxx:228
 AliAnalysisTaskOmegaPi0PiPi.cxx:229
 AliAnalysisTaskOmegaPi0PiPi.cxx:230
 AliAnalysisTaskOmegaPi0PiPi.cxx:231
 AliAnalysisTaskOmegaPi0PiPi.cxx:232
 AliAnalysisTaskOmegaPi0PiPi.cxx:233
 AliAnalysisTaskOmegaPi0PiPi.cxx:234
 AliAnalysisTaskOmegaPi0PiPi.cxx:235
 AliAnalysisTaskOmegaPi0PiPi.cxx:236
 AliAnalysisTaskOmegaPi0PiPi.cxx:237
 AliAnalysisTaskOmegaPi0PiPi.cxx:238
 AliAnalysisTaskOmegaPi0PiPi.cxx:239
 AliAnalysisTaskOmegaPi0PiPi.cxx:240
 AliAnalysisTaskOmegaPi0PiPi.cxx:241
 AliAnalysisTaskOmegaPi0PiPi.cxx:242
 AliAnalysisTaskOmegaPi0PiPi.cxx:243
 AliAnalysisTaskOmegaPi0PiPi.cxx:244
 AliAnalysisTaskOmegaPi0PiPi.cxx:245
 AliAnalysisTaskOmegaPi0PiPi.cxx:246
 AliAnalysisTaskOmegaPi0PiPi.cxx:247
 AliAnalysisTaskOmegaPi0PiPi.cxx:248
 AliAnalysisTaskOmegaPi0PiPi.cxx:249
 AliAnalysisTaskOmegaPi0PiPi.cxx:250
 AliAnalysisTaskOmegaPi0PiPi.cxx:251
 AliAnalysisTaskOmegaPi0PiPi.cxx:252
 AliAnalysisTaskOmegaPi0PiPi.cxx:253
 AliAnalysisTaskOmegaPi0PiPi.cxx:254
 AliAnalysisTaskOmegaPi0PiPi.cxx:255
 AliAnalysisTaskOmegaPi0PiPi.cxx:256
 AliAnalysisTaskOmegaPi0PiPi.cxx:257
 AliAnalysisTaskOmegaPi0PiPi.cxx:258
 AliAnalysisTaskOmegaPi0PiPi.cxx:259
 AliAnalysisTaskOmegaPi0PiPi.cxx:260
 AliAnalysisTaskOmegaPi0PiPi.cxx:261
 AliAnalysisTaskOmegaPi0PiPi.cxx:262
 AliAnalysisTaskOmegaPi0PiPi.cxx:263
 AliAnalysisTaskOmegaPi0PiPi.cxx:264
 AliAnalysisTaskOmegaPi0PiPi.cxx:265
 AliAnalysisTaskOmegaPi0PiPi.cxx:266
 AliAnalysisTaskOmegaPi0PiPi.cxx:267
 AliAnalysisTaskOmegaPi0PiPi.cxx:268
 AliAnalysisTaskOmegaPi0PiPi.cxx:269
 AliAnalysisTaskOmegaPi0PiPi.cxx:270
 AliAnalysisTaskOmegaPi0PiPi.cxx:271
 AliAnalysisTaskOmegaPi0PiPi.cxx:272
 AliAnalysisTaskOmegaPi0PiPi.cxx:273
 AliAnalysisTaskOmegaPi0PiPi.cxx:274
 AliAnalysisTaskOmegaPi0PiPi.cxx:275
 AliAnalysisTaskOmegaPi0PiPi.cxx:276
 AliAnalysisTaskOmegaPi0PiPi.cxx:277
 AliAnalysisTaskOmegaPi0PiPi.cxx:278
 AliAnalysisTaskOmegaPi0PiPi.cxx:279
 AliAnalysisTaskOmegaPi0PiPi.cxx:280
 AliAnalysisTaskOmegaPi0PiPi.cxx:281
 AliAnalysisTaskOmegaPi0PiPi.cxx:282
 AliAnalysisTaskOmegaPi0PiPi.cxx:283
 AliAnalysisTaskOmegaPi0PiPi.cxx:284
 AliAnalysisTaskOmegaPi0PiPi.cxx:285
 AliAnalysisTaskOmegaPi0PiPi.cxx:286
 AliAnalysisTaskOmegaPi0PiPi.cxx:287
 AliAnalysisTaskOmegaPi0PiPi.cxx:288
 AliAnalysisTaskOmegaPi0PiPi.cxx:289
 AliAnalysisTaskOmegaPi0PiPi.cxx:290
 AliAnalysisTaskOmegaPi0PiPi.cxx:291