ROOT logo
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// AliFemtoAnalysisReactionPlane - Femtoscopic analysis which mixes event //
// with respect to the z position of the primary vertex and event total   //
// multiplicity and uses only events in certain reaction plane angle bin  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include "AliFemtoAnalysisAzimuthal.h"
#include <TMath.h>
#include <string>
#include <cstdio>
#include "AliFemtoParticleCollection.h"
#include "AliFemtoTrackCut.h"
#include "AliFemtoV0Cut.h"
#include "AliFemtoPairCut.h"
#include "TVector2.h"
#include "AliFemtoKinkCut.h"
#include "AliFemtoPicoEventCollectionVector.h"
#include "AliFemtoPicoEventCollectionVectorHideAway.h"

#ifdef __ROOT__ 
ClassImp(AliFemtoAnalysisAzimuthal)
#endif

extern void FillHbtParticleCollection(AliFemtoParticleCut*         partCut,
				      AliFemtoEvent*               hbtEvent,
				      AliFemtoParticleCollection*  partCollection);


//____________________________
AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(unsigned int binsVertex, double minVertex, double maxVertex,
						       unsigned int binsMult, double minMult, double maxMult, unsigned short binsRP) 
  : 
  fFemtoParticleCut(0),
  fFlowParticleCut(0),
  fVertexZBins(binsVertex), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(binsMult) ,
  fOverFlowMult(0),    
  fUnderFlowMult(0),
  fRPBins(binsRP),
  fPsi(0)
{
  //  mControlSwitch     = 0;
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexZ[0] = minVertex;
  fVertexZ[1] = maxVertex;
  fMult[0] = minMult;
  fMult[1] = maxMult;
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										     fMultBins,fMult[0],fMult[1],
										     fRPBins,0.0,TMath::Pi());
}

//____________________________

AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) : 
  AliFemtoSimpleAnalysis(),
  fFemtoParticleCut(0),
  fFlowParticleCut(0),
  fVertexZBins(a.fVertexZBins), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(a.fMultBins) ,
  fOverFlowMult(0),    
  fUnderFlowMult(0),
  fRPBins(a.fRPBins),
  fPsi(0)

{
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexZ[0] = a.fVertexZ[0]; 
  fVertexZ[1] = a.fVertexZ[1];
  fMult[0] = a.fMult[0]; 
  fMult[1] = a.fMult[1];
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										     fMultBins,fMult[0],fMult[1],
										     fRPBins,0.0,TMath::Pi());
  // find the right event cut
  fEventCut = a.fEventCut->Clone();
  // find the right femto particle cut
  fFemtoParticleCut = a.fFemtoParticleCut->Clone();
  // find the right flow particle cut
  fFlowParticleCut = a.fFlowParticleCut->Clone();
  // find the right pair cut
  fPairCut = a.fPairCut->Clone();
  
  if ( fEventCut ) {
      SetEventCut(fEventCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - event cut set " << endl;
  }
  if ( fFemtoParticleCut ) {
      SetFirstParticleCut(fFemtoParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - femto particle cut set " << endl;
  }
  if ( fFlowParticleCut ) {
      SetSecondParticleCut(fFlowParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - flow particle cut set " << endl;
  }
  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - pair cut set " << endl;
  }

  AliFemtoCorrFctnIterator iter;
  for (iter=a.fCorrFctnCollection->begin(); iter!=a.fCorrFctnCollection->end();iter++){
    cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - looking for correlation functions " << endl;
    AliFemtoCorrFctn* fctn = (*iter)->Clone();
    if (fctn) AddCorrFctn(fctn);
    else cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - correlation function not found " << endl;
  }
  fNumEventsToMix = a.fNumEventsToMix;
  cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - analysis copied " << endl;
}

AliFemtoAnalysisAzimuthal& AliFemtoAnalysisAzimuthal::operator=(const AliFemtoAnalysisAzimuthal& a)
{
  // Assignment operator
  if (this == &a)
    return *this;

  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexZ[0] = a.fVertexZ[0]; 
  fVertexZ[1] = a.fVertexZ[1];
  fMult[0] = a.fMult[0]; 
  fMult[1] = a.fMult[1];
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										     fMultBins,fMult[0],fMult[1],
										     fRPBins,0.0,TMath::Pi());
  // find the right event cut
  fEventCut = a.fEventCut->Clone();
  // find the right femto particle cut
  fFemtoParticleCut = a.fFemtoParticleCut->Clone();
  // find the right flow particle cut
  fFlowParticleCut = a.fFlowParticleCut->Clone();
  // find the right pair cut
  fPairCut = a.fPairCut->Clone();
  
  if ( fEventCut ) {
      SetEventCut(fEventCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - event cut set " << endl;
  }
  if ( fFemtoParticleCut ) {
      SetFirstParticleCut(fFemtoParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - femto particle cut set " << endl;
  }
  if ( fFlowParticleCut ) {
      SetSecondParticleCut(fFlowParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - flow particle cut set " << endl;
  }
  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - pair cut set " << endl;
  }

  AliFemtoCorrFctnIterator iter;
  for (iter=a.fCorrFctnCollection->begin(); iter!=a.fCorrFctnCollection->end();iter++){
    cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - looking for correlation functions " << endl;
    AliFemtoCorrFctn* fctn = (*iter)->Clone();
    if (fctn) AddCorrFctn(fctn);
    else cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - correlation function not found " << endl;
  }
  fNumEventsToMix = a.fNumEventsToMix;
  cout << " AliFemtoAnalysisAzimuthal::AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& a) - analysis copied " << endl;

  return *this;
  
}

//____________________________
AliFemtoAnalysisAzimuthal::~AliFemtoAnalysisAzimuthal(){
  // now delete every PicoEvent in the EventMixingBuffer and then the Buffer itself
  delete fPicoEventCollectionVectorHideAway;
}

//_________________________
void AliFemtoAnalysisAzimuthal::ProcessEvent(const AliFemtoEvent* hbtEvent) {
  // Perform event processing in bins of z vertex, multiplicity and Reaction Plane angle
  // cout << " AliFemtoAnalysisAzimuthal::ProcessEvent(const AliFemtoEvent* hbtEvent) " << endl;

  //****from AliFemtoSimpleAnalysis****

  fPicoEvent=0; // we will get a new pico event, if not prevent corr. fctn to access old pico event
  fNeventsProcessed++;

  // startup for EbyE 
  fFemtoParticleCut->EventBegin(hbtEvent);
  fFlowParticleCut->EventBegin(hbtEvent);
  fPairCut->EventBegin(hbtEvent);

  for (AliFemtoCorrFctnIterator iter=fCorrFctnCollection->begin(); iter!=fCorrFctnCollection->end();iter++){
    (*iter)->EventBegin(hbtEvent);
  }

  // event cut and event cut monitor
  bool tmpPassEvent = fEventCut->Pass(hbtEvent);
  if (!tmpPassEvent) 
    fEventCut->FillCutMonitor(hbtEvent, tmpPassEvent);
  if (tmpPassEvent) {
    fPicoEvent = new AliFemtoPicoEvent; // this is what we will make pairs from and put in Mixing Buffer, no memory leak. we will delete picoevents when they come out of the mixing buffer
    FillHbtParticleCollection(fFemtoParticleCut,(AliFemtoEvent*)hbtEvent,fPicoEvent->FirstParticleCollection());
    FillHbtParticleCollection(fFlowParticleCut,(AliFemtoEvent*)hbtEvent,fPicoEvent->SecondParticleCollection());
    
      // get right mixing buffer
  double vertexZ = hbtEvent->PrimVertPos().z();
  double mult = hbtEvent->UncorrectedNumberOfPrimaries();
  TVector2 tQ = GetQVector(fPicoEvent->SecondParticleCollection());
  double tPsi=tQ.Phi()/2.;
  if (tPsi > TMath::Pi()) tPsi -= TMath::Pi();
      
   fMixingBuffer = fPicoEventCollectionVectorHideAway->PicoEventCollection(vertexZ,mult,fPsi); 
  if (!fMixingBuffer) {
    if ( vertexZ < fVertexZ[0] ) fUnderFlowVertexZ++;
    if ( vertexZ > fVertexZ[1] ) fOverFlowVertexZ++;
    if ( mult < fMult[0] ) fUnderFlowMult++;
    if ( mult > fMult[1] ) fOverFlowMult++;
    return;
  }   
    
    //cout << "#particles in Collection: " << fPicoEvent->FirstParticleCollection()->size() << endl;
    
    //switch which allows only using events with ParticleCollections containing a minimum number of entries
    if (fPicoEvent->FirstParticleCollection()->size() >= fMinSizePartCollection ) {
      fEventCut->FillCutMonitor(hbtEvent, tmpPassEvent);
    }

      //------ Make real pairs (assume identical) ------//
      MakePairs("real", fPicoEvent->FirstParticleCollection() );
      //cout << "AliFemtoAnalysisAzimuthal::ProcessEvent() - reals done ";

      //---- Make pairs for mixed events, looping over events in mixingBuffer ----//
      AliFemtoPicoEvent* storedEvent;
      AliFemtoPicoEventIterator fPicoEventIter;
      for (fPicoEventIter=MixingBuffer()->begin();fPicoEventIter!=MixingBuffer()->end();fPicoEventIter++){
        storedEvent = *fPicoEventIter;
        MakePairs("mixed",fPicoEvent->FirstParticleCollection(),
                            storedEvent->FirstParticleCollection() );
      }
      //cout << " - mixed done   " << endl;

      //--------- If mixing buffer is full, delete oldest event ---------//
      if ( MixingBufferFull() ) {
        delete MixingBuffer()->back();
        MixingBuffer()->pop_back();
      }

      //-------- Add current event (fPicoEvent) to mixing buffer --------//
      MixingBuffer()->push_front(fPicoEvent);

    }  // if ParticleCollections are big enough (mal jun2002)
    else{
      fEventCut->FillCutMonitor(hbtEvent, !tmpPassEvent);
      delete fPicoEvent;
    }

  // if currentEvent is accepted by currentAnalysis cleanup for EbyE 
  fFemtoParticleCut->EventEnd(hbtEvent);
  fFlowParticleCut->EventEnd(hbtEvent);
  fPairCut->EventEnd(hbtEvent);
  for (AliFemtoCorrFctnIterator iter=fCorrFctnCollection->begin(); iter!=fCorrFctnCollection->end();iter++){
    (*iter)->EventEnd(hbtEvent);
  } 
}

//_______________________________________________________________________________
void AliFemtoAnalysisAzimuthal::MakePairs(const char* typeIn, AliFemtoParticleCollection *partCollection1,
				       AliFemtoParticleCollection *partCollection2){
// Build pairs, check pair cuts, and call CFs' AddRealPair() or AddMixedPair() methods. 
// If no second particle collection is specfied, make pairs within first particle collection.

  string type = typeIn;

  //  int swpart = ((long int) partCollection1) % 2;
  int swpart = fNeventsProcessed % 2;

  AliFemtoPair* tPair = new AliFemtoPair;
  AliFemtoCorrFctnIterator tCorrFctnIter;
  AliFemtoParticleIterator tPartIter1, tPartIter2;

  AliFemtoParticleIterator tStartOuterLoop = partCollection1->begin();  // always
  AliFemtoParticleIterator tEndOuterLoop   = partCollection1->end();    // will be one less if identical
  AliFemtoParticleIterator tStartInnerLoop;
  AliFemtoParticleIterator tEndInnerLoop;
  if (partCollection2) {                         //   Two collections:
    tStartInnerLoop = partCollection2->begin();  //   Full inner & outer loops
    tEndInnerLoop   = partCollection2->end();    
  }
  else {                                         //   One collection:
    tEndOuterLoop--;                             //   Outer loop goes to next-to-last particle
    tEndInnerLoop = partCollection1->end() ;     //   Inner loop goes to last particle
  }
  for (tPartIter1=tStartOuterLoop;tPartIter1!=tEndOuterLoop;tPartIter1++) {
    if (!partCollection2){
      tStartInnerLoop = tPartIter1;
      tStartInnerLoop++;
    }
    tPair->SetTrack1(*tPartIter1);
    for (tPartIter2 = tStartInnerLoop; tPartIter2!=tEndInnerLoop;tPartIter2++) {
      tPair->SetTrack2(*tPartIter2);

//For getting the pair angle wrt EP
  if (type == "real"){
	TVector2 tQ, tQVector;
	float tPsi=0, mQx=0, mQy=0, PairAngleEP=0;
	tQ = GetQVector(partCollection1);

	mQx = tQ.X() - cos(2*(tPair->Track1()->FourMomentum().Phi()))*(tPair->Track1()->Track()->Pt()) - cos(2*(tPair->Track2()->FourMomentum().Phi()))*(tPair->Track2()->Track()->Pt());
	mQy = tQ.Y() - sin(2*(tPair->Track1()->FourMomentum().Phi()))*(tPair->Track1()->Track()->Pt()) - sin(2*(tPair->Track2()->FourMomentum().Phi()))*(tPair->Track2()->Track()->Pt());
  
	tQVector.Set(mQx,mQy);

	tPsi=tQVector.Phi()/2.;
	if (tPsi > TMath::Pi()) tPsi -= TMath::Pi();

	PairAngleEP = (tPair->EmissionAngle() - tPsi);
	tPair->SetPairAngleEP(PairAngleEP);
  }

  if (type == "mixed"){
	float tPsi1=0, tPsi2=0, mQx1=0, mQx2=0,mQy1=0, mQy2=0, px1=0, px2=0, py1=0, py2=0, PairAngleEP=0;
	TVector2 tQ1, tQ2, tQVector1, tQVector2, tP;

	tQ1 = GetQVector(partCollection1);
	tQ2 = GetQVector(partCollection2);

	mQx1 = tQ1.X() - cos(2*(tPair->Track1()->FourMomentum().Phi()))*(tPair->Track1()->Track()->Pt());
	mQx2 = tQ2.X() - cos(2*(tPair->Track2()->FourMomentum().Phi()))*(tPair->Track2()->Track()->Pt());
	mQy1 = tQ1.Y() - sin(2*(tPair->Track1()->FourMomentum().Phi()))*(tPair->Track1()->Track()->Pt());
	mQy2 = tQ2.Y() - sin(2*(tPair->Track2()->FourMomentum().Phi()))*(tPair->Track2()->Track()->Pt());
  
	tQVector1.Set(mQx1,mQy1);
	tQVector2.Set(mQx2,mQy2);

	tPsi1=tQVector1.Phi()/2.;
	if (tPsi1 > TMath::Pi()) tPsi1 -= TMath::Pi();

	tPsi2=tQVector2.Phi()/2.;
	if (tPsi2 > TMath::Pi()) tPsi2 -= TMath::Pi();

	px1 = (tPair->Track1()->Track()->Pt())*cos(tPair->Track1()->FourMomentum().Phi() - tPsi1);
	px2 = (tPair->Track2()->Track()->Pt())*cos(tPair->Track2()->FourMomentum().Phi() - tPsi2);
	py1 = (tPair->Track1()->Track()->Pt())*sin(tPair->Track1()->FourMomentum().Phi() - tPsi1);
	py2 = (tPair->Track2()->Track()->Pt())*sin(tPair->Track2()->FourMomentum().Phi() - tPsi2);

	tP.Set(px1+px2, py1+py2);
	PairAngleEP = tP.Phi();

	tPair->SetPairAngleEP(PairAngleEP);
  }

      // The following lines have to be uncommented if you want pairCutMonitors
      // they are not in for speed reasons
      // bool tmpPassPair = fPairCut->Pass(tPair);
      // fPairCut->FillCutMonitor(tPair, tmpPassPair);
      // if ( tmpPassPair )

      //---- If pair passes cut, loop over CF's and add pair to real/mixed ----//

      if (!partCollection2) {
	if (swpart) {
 	  tPair->SetTrack1(*tPartIter2);
 	  tPair->SetTrack2(*tPartIter1);
 	  swpart = 0;
 	}
 	else {
 	  tPair->SetTrack1(*tPartIter1);
 	  tPair->SetTrack2(*tPartIter2);
 	  swpart = 1;
	}
      }


      if (fPairCut->Pass(tPair)){
        for (tCorrFctnIter=fCorrFctnCollection->begin();
             tCorrFctnIter!=fCorrFctnCollection->end();tCorrFctnIter++){
          AliFemtoCorrFctn* tCorrFctn = *tCorrFctnIter;
          if(type == "real")
            tCorrFctn->AddRealPair(tPair);
	  else if(type == "mixed")
            tCorrFctn->AddMixedPair(tPair);
          else
            cout << "Problem with pair type, type = " << type.c_str() << endl;
        }
      }
    }    // loop over second particle
  }      // loop over first particle

  delete tPair;
}

//_____________________________________________
TVector2 AliFemtoAnalysisAzimuthal::GetQVector(AliFemtoParticleCollection* particlecollection){
  
  TVector2 mQ;
  float mQx=0, mQy=0;

  if (!particlecollection) {
    mQ.Set(0.0, 0.0);
    return mQ;
  }

  AliFemtoParticle* flowparticle;
  AliFemtoParticleIterator pIter;
  AliFemtoParticleIterator startLoop = particlecollection->begin();
  AliFemtoParticleIterator endLoop   = particlecollection->end();
  for (pIter=startLoop;pIter!=endLoop;pIter++){
    flowparticle = *pIter;
    mQx += (cos(2*flowparticle->FourMomentum().Phi()))*(flowparticle->Track()->Pt());
    mQy += (sin(2*flowparticle->FourMomentum().Phi()))*(flowparticle->Track()->Pt());
  }
  
  mQ.Set(mQx,mQy);
  return mQ;
}

//__________________________________________________
double AliFemtoAnalysisAzimuthal::GetCurrentReactionPlane()
{
  return fPsi;
}

//_________________________
TList* AliFemtoAnalysisAzimuthal::GetOutputList()
{
  // Collect the list of output objects to be written

  TList *tOutputList = new TList();
  TList *p1Cut = fFemtoParticleCut->GetOutputList();

  TListIter nextp1(p1Cut);
  while (TObject *obj = nextp1.Next()) {
    tOutputList->Add(obj);
  }

  TList *pairCut = fPairCut->GetOutputList();

  TIter nextpair(pairCut);
  while (TObject *obj = nextpair()) {
    tOutputList->Add(obj);
  }

  TList *eventCut = fEventCut->GetOutputList();

  TIter nextevent(eventCut);
  while (TObject *obj = nextevent()) {
    tOutputList->Add(obj);
  }

  AliFemtoCorrFctnIterator iter;
  for (iter=fCorrFctnCollection->begin(); iter!=fCorrFctnCollection->end();iter++){
    TList *tListCf = (*iter)->GetOutputList();
    
    TIter nextListCf(tListCf);
    while (TObject *obj = nextListCf()) {
      tOutputList->Add(obj);
    }
  }

  return tOutputList;
  
}
 AliFemtoAnalysisAzimuthal.cxx:1
 AliFemtoAnalysisAzimuthal.cxx:2
 AliFemtoAnalysisAzimuthal.cxx:3
 AliFemtoAnalysisAzimuthal.cxx:4
 AliFemtoAnalysisAzimuthal.cxx:5
 AliFemtoAnalysisAzimuthal.cxx:6
 AliFemtoAnalysisAzimuthal.cxx:7
 AliFemtoAnalysisAzimuthal.cxx:8
 AliFemtoAnalysisAzimuthal.cxx:9
 AliFemtoAnalysisAzimuthal.cxx:10
 AliFemtoAnalysisAzimuthal.cxx:11
 AliFemtoAnalysisAzimuthal.cxx:12
 AliFemtoAnalysisAzimuthal.cxx:13
 AliFemtoAnalysisAzimuthal.cxx:14
 AliFemtoAnalysisAzimuthal.cxx:15
 AliFemtoAnalysisAzimuthal.cxx:16
 AliFemtoAnalysisAzimuthal.cxx:17
 AliFemtoAnalysisAzimuthal.cxx:18
 AliFemtoAnalysisAzimuthal.cxx:19
 AliFemtoAnalysisAzimuthal.cxx:20
 AliFemtoAnalysisAzimuthal.cxx:21
 AliFemtoAnalysisAzimuthal.cxx:22
 AliFemtoAnalysisAzimuthal.cxx:23
 AliFemtoAnalysisAzimuthal.cxx:24
 AliFemtoAnalysisAzimuthal.cxx:25
 AliFemtoAnalysisAzimuthal.cxx:26
 AliFemtoAnalysisAzimuthal.cxx:27
 AliFemtoAnalysisAzimuthal.cxx:28
 AliFemtoAnalysisAzimuthal.cxx:29
 AliFemtoAnalysisAzimuthal.cxx:30
 AliFemtoAnalysisAzimuthal.cxx:31
 AliFemtoAnalysisAzimuthal.cxx:32
 AliFemtoAnalysisAzimuthal.cxx:33
 AliFemtoAnalysisAzimuthal.cxx:34
 AliFemtoAnalysisAzimuthal.cxx:35
 AliFemtoAnalysisAzimuthal.cxx:36
 AliFemtoAnalysisAzimuthal.cxx:37
 AliFemtoAnalysisAzimuthal.cxx:38
 AliFemtoAnalysisAzimuthal.cxx:39
 AliFemtoAnalysisAzimuthal.cxx:40
 AliFemtoAnalysisAzimuthal.cxx:41
 AliFemtoAnalysisAzimuthal.cxx:42
 AliFemtoAnalysisAzimuthal.cxx:43
 AliFemtoAnalysisAzimuthal.cxx:44
 AliFemtoAnalysisAzimuthal.cxx:45
 AliFemtoAnalysisAzimuthal.cxx:46
 AliFemtoAnalysisAzimuthal.cxx:47
 AliFemtoAnalysisAzimuthal.cxx:48
 AliFemtoAnalysisAzimuthal.cxx:49
 AliFemtoAnalysisAzimuthal.cxx:50
 AliFemtoAnalysisAzimuthal.cxx:51
 AliFemtoAnalysisAzimuthal.cxx:52
 AliFemtoAnalysisAzimuthal.cxx:53
 AliFemtoAnalysisAzimuthal.cxx:54
 AliFemtoAnalysisAzimuthal.cxx:55
 AliFemtoAnalysisAzimuthal.cxx:56
 AliFemtoAnalysisAzimuthal.cxx:57
 AliFemtoAnalysisAzimuthal.cxx:58
 AliFemtoAnalysisAzimuthal.cxx:59
 AliFemtoAnalysisAzimuthal.cxx:60
 AliFemtoAnalysisAzimuthal.cxx:61
 AliFemtoAnalysisAzimuthal.cxx:62
 AliFemtoAnalysisAzimuthal.cxx:63
 AliFemtoAnalysisAzimuthal.cxx:64
 AliFemtoAnalysisAzimuthal.cxx:65
 AliFemtoAnalysisAzimuthal.cxx:66
 AliFemtoAnalysisAzimuthal.cxx:67
 AliFemtoAnalysisAzimuthal.cxx:68
 AliFemtoAnalysisAzimuthal.cxx:69
 AliFemtoAnalysisAzimuthal.cxx:70
 AliFemtoAnalysisAzimuthal.cxx:71
 AliFemtoAnalysisAzimuthal.cxx:72
 AliFemtoAnalysisAzimuthal.cxx:73
 AliFemtoAnalysisAzimuthal.cxx:74
 AliFemtoAnalysisAzimuthal.cxx:75
 AliFemtoAnalysisAzimuthal.cxx:76
 AliFemtoAnalysisAzimuthal.cxx:77
 AliFemtoAnalysisAzimuthal.cxx:78
 AliFemtoAnalysisAzimuthal.cxx:79
 AliFemtoAnalysisAzimuthal.cxx:80
 AliFemtoAnalysisAzimuthal.cxx:81
 AliFemtoAnalysisAzimuthal.cxx:82
 AliFemtoAnalysisAzimuthal.cxx:83
 AliFemtoAnalysisAzimuthal.cxx:84
 AliFemtoAnalysisAzimuthal.cxx:85
 AliFemtoAnalysisAzimuthal.cxx:86
 AliFemtoAnalysisAzimuthal.cxx:87
 AliFemtoAnalysisAzimuthal.cxx:88
 AliFemtoAnalysisAzimuthal.cxx:89
 AliFemtoAnalysisAzimuthal.cxx:90
 AliFemtoAnalysisAzimuthal.cxx:91
 AliFemtoAnalysisAzimuthal.cxx:92
 AliFemtoAnalysisAzimuthal.cxx:93
 AliFemtoAnalysisAzimuthal.cxx:94
 AliFemtoAnalysisAzimuthal.cxx:95
 AliFemtoAnalysisAzimuthal.cxx:96
 AliFemtoAnalysisAzimuthal.cxx:97
 AliFemtoAnalysisAzimuthal.cxx:98
 AliFemtoAnalysisAzimuthal.cxx:99
 AliFemtoAnalysisAzimuthal.cxx:100
 AliFemtoAnalysisAzimuthal.cxx:101
 AliFemtoAnalysisAzimuthal.cxx:102
 AliFemtoAnalysisAzimuthal.cxx:103
 AliFemtoAnalysisAzimuthal.cxx:104
 AliFemtoAnalysisAzimuthal.cxx:105
 AliFemtoAnalysisAzimuthal.cxx:106
 AliFemtoAnalysisAzimuthal.cxx:107
 AliFemtoAnalysisAzimuthal.cxx:108
 AliFemtoAnalysisAzimuthal.cxx:109
 AliFemtoAnalysisAzimuthal.cxx:110
 AliFemtoAnalysisAzimuthal.cxx:111
 AliFemtoAnalysisAzimuthal.cxx:112
 AliFemtoAnalysisAzimuthal.cxx:113
 AliFemtoAnalysisAzimuthal.cxx:114
 AliFemtoAnalysisAzimuthal.cxx:115
 AliFemtoAnalysisAzimuthal.cxx:116
 AliFemtoAnalysisAzimuthal.cxx:117
 AliFemtoAnalysisAzimuthal.cxx:118
 AliFemtoAnalysisAzimuthal.cxx:119
 AliFemtoAnalysisAzimuthal.cxx:120
 AliFemtoAnalysisAzimuthal.cxx:121
 AliFemtoAnalysisAzimuthal.cxx:122
 AliFemtoAnalysisAzimuthal.cxx:123
 AliFemtoAnalysisAzimuthal.cxx:124
 AliFemtoAnalysisAzimuthal.cxx:125
 AliFemtoAnalysisAzimuthal.cxx:126
 AliFemtoAnalysisAzimuthal.cxx:127
 AliFemtoAnalysisAzimuthal.cxx:128
 AliFemtoAnalysisAzimuthal.cxx:129
 AliFemtoAnalysisAzimuthal.cxx:130
 AliFemtoAnalysisAzimuthal.cxx:131
 AliFemtoAnalysisAzimuthal.cxx:132
 AliFemtoAnalysisAzimuthal.cxx:133
 AliFemtoAnalysisAzimuthal.cxx:134
 AliFemtoAnalysisAzimuthal.cxx:135
 AliFemtoAnalysisAzimuthal.cxx:136
 AliFemtoAnalysisAzimuthal.cxx:137
 AliFemtoAnalysisAzimuthal.cxx:138
 AliFemtoAnalysisAzimuthal.cxx:139
 AliFemtoAnalysisAzimuthal.cxx:140
 AliFemtoAnalysisAzimuthal.cxx:141
 AliFemtoAnalysisAzimuthal.cxx:142
 AliFemtoAnalysisAzimuthal.cxx:143
 AliFemtoAnalysisAzimuthal.cxx:144
 AliFemtoAnalysisAzimuthal.cxx:145
 AliFemtoAnalysisAzimuthal.cxx:146
 AliFemtoAnalysisAzimuthal.cxx:147
 AliFemtoAnalysisAzimuthal.cxx:148
 AliFemtoAnalysisAzimuthal.cxx:149
 AliFemtoAnalysisAzimuthal.cxx:150
 AliFemtoAnalysisAzimuthal.cxx:151
 AliFemtoAnalysisAzimuthal.cxx:152
 AliFemtoAnalysisAzimuthal.cxx:153
 AliFemtoAnalysisAzimuthal.cxx:154
 AliFemtoAnalysisAzimuthal.cxx:155
 AliFemtoAnalysisAzimuthal.cxx:156
 AliFemtoAnalysisAzimuthal.cxx:157
 AliFemtoAnalysisAzimuthal.cxx:158
 AliFemtoAnalysisAzimuthal.cxx:159
 AliFemtoAnalysisAzimuthal.cxx:160
 AliFemtoAnalysisAzimuthal.cxx:161
 AliFemtoAnalysisAzimuthal.cxx:162
 AliFemtoAnalysisAzimuthal.cxx:163
 AliFemtoAnalysisAzimuthal.cxx:164
 AliFemtoAnalysisAzimuthal.cxx:165
 AliFemtoAnalysisAzimuthal.cxx:166
 AliFemtoAnalysisAzimuthal.cxx:167
 AliFemtoAnalysisAzimuthal.cxx:168
 AliFemtoAnalysisAzimuthal.cxx:169
 AliFemtoAnalysisAzimuthal.cxx:170
 AliFemtoAnalysisAzimuthal.cxx:171
 AliFemtoAnalysisAzimuthal.cxx:172
 AliFemtoAnalysisAzimuthal.cxx:173
 AliFemtoAnalysisAzimuthal.cxx:174
 AliFemtoAnalysisAzimuthal.cxx:175
 AliFemtoAnalysisAzimuthal.cxx:176
 AliFemtoAnalysisAzimuthal.cxx:177
 AliFemtoAnalysisAzimuthal.cxx:178
 AliFemtoAnalysisAzimuthal.cxx:179
 AliFemtoAnalysisAzimuthal.cxx:180
 AliFemtoAnalysisAzimuthal.cxx:181
 AliFemtoAnalysisAzimuthal.cxx:182
 AliFemtoAnalysisAzimuthal.cxx:183
 AliFemtoAnalysisAzimuthal.cxx:184
 AliFemtoAnalysisAzimuthal.cxx:185
 AliFemtoAnalysisAzimuthal.cxx:186
 AliFemtoAnalysisAzimuthal.cxx:187
 AliFemtoAnalysisAzimuthal.cxx:188
 AliFemtoAnalysisAzimuthal.cxx:189
 AliFemtoAnalysisAzimuthal.cxx:190
 AliFemtoAnalysisAzimuthal.cxx:191
 AliFemtoAnalysisAzimuthal.cxx:192
 AliFemtoAnalysisAzimuthal.cxx:193
 AliFemtoAnalysisAzimuthal.cxx:194
 AliFemtoAnalysisAzimuthal.cxx:195
 AliFemtoAnalysisAzimuthal.cxx:196
 AliFemtoAnalysisAzimuthal.cxx:197
 AliFemtoAnalysisAzimuthal.cxx:198
 AliFemtoAnalysisAzimuthal.cxx:199
 AliFemtoAnalysisAzimuthal.cxx:200
 AliFemtoAnalysisAzimuthal.cxx:201
 AliFemtoAnalysisAzimuthal.cxx:202
 AliFemtoAnalysisAzimuthal.cxx:203
 AliFemtoAnalysisAzimuthal.cxx:204
 AliFemtoAnalysisAzimuthal.cxx:205
 AliFemtoAnalysisAzimuthal.cxx:206
 AliFemtoAnalysisAzimuthal.cxx:207
 AliFemtoAnalysisAzimuthal.cxx:208
 AliFemtoAnalysisAzimuthal.cxx:209
 AliFemtoAnalysisAzimuthal.cxx:210
 AliFemtoAnalysisAzimuthal.cxx:211
 AliFemtoAnalysisAzimuthal.cxx:212
 AliFemtoAnalysisAzimuthal.cxx:213
 AliFemtoAnalysisAzimuthal.cxx:214
 AliFemtoAnalysisAzimuthal.cxx:215
 AliFemtoAnalysisAzimuthal.cxx:216
 AliFemtoAnalysisAzimuthal.cxx:217
 AliFemtoAnalysisAzimuthal.cxx:218
 AliFemtoAnalysisAzimuthal.cxx:219
 AliFemtoAnalysisAzimuthal.cxx:220
 AliFemtoAnalysisAzimuthal.cxx:221
 AliFemtoAnalysisAzimuthal.cxx:222
 AliFemtoAnalysisAzimuthal.cxx:223
 AliFemtoAnalysisAzimuthal.cxx:224
 AliFemtoAnalysisAzimuthal.cxx:225
 AliFemtoAnalysisAzimuthal.cxx:226
 AliFemtoAnalysisAzimuthal.cxx:227
 AliFemtoAnalysisAzimuthal.cxx:228
 AliFemtoAnalysisAzimuthal.cxx:229
 AliFemtoAnalysisAzimuthal.cxx:230
 AliFemtoAnalysisAzimuthal.cxx:231
 AliFemtoAnalysisAzimuthal.cxx:232
 AliFemtoAnalysisAzimuthal.cxx:233
 AliFemtoAnalysisAzimuthal.cxx:234
 AliFemtoAnalysisAzimuthal.cxx:235
 AliFemtoAnalysisAzimuthal.cxx:236
 AliFemtoAnalysisAzimuthal.cxx:237
 AliFemtoAnalysisAzimuthal.cxx:238
 AliFemtoAnalysisAzimuthal.cxx:239
 AliFemtoAnalysisAzimuthal.cxx:240
 AliFemtoAnalysisAzimuthal.cxx:241
 AliFemtoAnalysisAzimuthal.cxx:242
 AliFemtoAnalysisAzimuthal.cxx:243
 AliFemtoAnalysisAzimuthal.cxx:244
 AliFemtoAnalysisAzimuthal.cxx:245
 AliFemtoAnalysisAzimuthal.cxx:246
 AliFemtoAnalysisAzimuthal.cxx:247
 AliFemtoAnalysisAzimuthal.cxx:248
 AliFemtoAnalysisAzimuthal.cxx:249
 AliFemtoAnalysisAzimuthal.cxx:250
 AliFemtoAnalysisAzimuthal.cxx:251
 AliFemtoAnalysisAzimuthal.cxx:252
 AliFemtoAnalysisAzimuthal.cxx:253
 AliFemtoAnalysisAzimuthal.cxx:254
 AliFemtoAnalysisAzimuthal.cxx:255
 AliFemtoAnalysisAzimuthal.cxx:256
 AliFemtoAnalysisAzimuthal.cxx:257
 AliFemtoAnalysisAzimuthal.cxx:258
 AliFemtoAnalysisAzimuthal.cxx:259
 AliFemtoAnalysisAzimuthal.cxx:260
 AliFemtoAnalysisAzimuthal.cxx:261
 AliFemtoAnalysisAzimuthal.cxx:262
 AliFemtoAnalysisAzimuthal.cxx:263
 AliFemtoAnalysisAzimuthal.cxx:264
 AliFemtoAnalysisAzimuthal.cxx:265
 AliFemtoAnalysisAzimuthal.cxx:266
 AliFemtoAnalysisAzimuthal.cxx:267
 AliFemtoAnalysisAzimuthal.cxx:268
 AliFemtoAnalysisAzimuthal.cxx:269
 AliFemtoAnalysisAzimuthal.cxx:270
 AliFemtoAnalysisAzimuthal.cxx:271
 AliFemtoAnalysisAzimuthal.cxx:272
 AliFemtoAnalysisAzimuthal.cxx:273
 AliFemtoAnalysisAzimuthal.cxx:274
 AliFemtoAnalysisAzimuthal.cxx:275
 AliFemtoAnalysisAzimuthal.cxx:276
 AliFemtoAnalysisAzimuthal.cxx:277
 AliFemtoAnalysisAzimuthal.cxx:278
 AliFemtoAnalysisAzimuthal.cxx:279
 AliFemtoAnalysisAzimuthal.cxx:280
 AliFemtoAnalysisAzimuthal.cxx:281
 AliFemtoAnalysisAzimuthal.cxx:282
 AliFemtoAnalysisAzimuthal.cxx:283
 AliFemtoAnalysisAzimuthal.cxx:284
 AliFemtoAnalysisAzimuthal.cxx:285
 AliFemtoAnalysisAzimuthal.cxx:286
 AliFemtoAnalysisAzimuthal.cxx:287
 AliFemtoAnalysisAzimuthal.cxx:288
 AliFemtoAnalysisAzimuthal.cxx:289
 AliFemtoAnalysisAzimuthal.cxx:290
 AliFemtoAnalysisAzimuthal.cxx:291
 AliFemtoAnalysisAzimuthal.cxx:292
 AliFemtoAnalysisAzimuthal.cxx:293
 AliFemtoAnalysisAzimuthal.cxx:294
 AliFemtoAnalysisAzimuthal.cxx:295
 AliFemtoAnalysisAzimuthal.cxx:296
 AliFemtoAnalysisAzimuthal.cxx:297
 AliFemtoAnalysisAzimuthal.cxx:298
 AliFemtoAnalysisAzimuthal.cxx:299
 AliFemtoAnalysisAzimuthal.cxx:300
 AliFemtoAnalysisAzimuthal.cxx:301
 AliFemtoAnalysisAzimuthal.cxx:302
 AliFemtoAnalysisAzimuthal.cxx:303
 AliFemtoAnalysisAzimuthal.cxx:304
 AliFemtoAnalysisAzimuthal.cxx:305
 AliFemtoAnalysisAzimuthal.cxx:306
 AliFemtoAnalysisAzimuthal.cxx:307
 AliFemtoAnalysisAzimuthal.cxx:308
 AliFemtoAnalysisAzimuthal.cxx:309
 AliFemtoAnalysisAzimuthal.cxx:310
 AliFemtoAnalysisAzimuthal.cxx:311
 AliFemtoAnalysisAzimuthal.cxx:312
 AliFemtoAnalysisAzimuthal.cxx:313
 AliFemtoAnalysisAzimuthal.cxx:314
 AliFemtoAnalysisAzimuthal.cxx:315
 AliFemtoAnalysisAzimuthal.cxx:316
 AliFemtoAnalysisAzimuthal.cxx:317
 AliFemtoAnalysisAzimuthal.cxx:318
 AliFemtoAnalysisAzimuthal.cxx:319
 AliFemtoAnalysisAzimuthal.cxx:320
 AliFemtoAnalysisAzimuthal.cxx:321
 AliFemtoAnalysisAzimuthal.cxx:322
 AliFemtoAnalysisAzimuthal.cxx:323
 AliFemtoAnalysisAzimuthal.cxx:324
 AliFemtoAnalysisAzimuthal.cxx:325
 AliFemtoAnalysisAzimuthal.cxx:326
 AliFemtoAnalysisAzimuthal.cxx:327
 AliFemtoAnalysisAzimuthal.cxx:328
 AliFemtoAnalysisAzimuthal.cxx:329
 AliFemtoAnalysisAzimuthal.cxx:330
 AliFemtoAnalysisAzimuthal.cxx:331
 AliFemtoAnalysisAzimuthal.cxx:332
 AliFemtoAnalysisAzimuthal.cxx:333
 AliFemtoAnalysisAzimuthal.cxx:334
 AliFemtoAnalysisAzimuthal.cxx:335
 AliFemtoAnalysisAzimuthal.cxx:336
 AliFemtoAnalysisAzimuthal.cxx:337
 AliFemtoAnalysisAzimuthal.cxx:338
 AliFemtoAnalysisAzimuthal.cxx:339
 AliFemtoAnalysisAzimuthal.cxx:340
 AliFemtoAnalysisAzimuthal.cxx:341
 AliFemtoAnalysisAzimuthal.cxx:342
 AliFemtoAnalysisAzimuthal.cxx:343
 AliFemtoAnalysisAzimuthal.cxx:344
 AliFemtoAnalysisAzimuthal.cxx:345
 AliFemtoAnalysisAzimuthal.cxx:346
 AliFemtoAnalysisAzimuthal.cxx:347
 AliFemtoAnalysisAzimuthal.cxx:348
 AliFemtoAnalysisAzimuthal.cxx:349
 AliFemtoAnalysisAzimuthal.cxx:350
 AliFemtoAnalysisAzimuthal.cxx:351
 AliFemtoAnalysisAzimuthal.cxx:352
 AliFemtoAnalysisAzimuthal.cxx:353
 AliFemtoAnalysisAzimuthal.cxx:354
 AliFemtoAnalysisAzimuthal.cxx:355
 AliFemtoAnalysisAzimuthal.cxx:356
 AliFemtoAnalysisAzimuthal.cxx:357
 AliFemtoAnalysisAzimuthal.cxx:358
 AliFemtoAnalysisAzimuthal.cxx:359
 AliFemtoAnalysisAzimuthal.cxx:360
 AliFemtoAnalysisAzimuthal.cxx:361
 AliFemtoAnalysisAzimuthal.cxx:362
 AliFemtoAnalysisAzimuthal.cxx:363
 AliFemtoAnalysisAzimuthal.cxx:364
 AliFemtoAnalysisAzimuthal.cxx:365
 AliFemtoAnalysisAzimuthal.cxx:366
 AliFemtoAnalysisAzimuthal.cxx:367
 AliFemtoAnalysisAzimuthal.cxx:368
 AliFemtoAnalysisAzimuthal.cxx:369
 AliFemtoAnalysisAzimuthal.cxx:370
 AliFemtoAnalysisAzimuthal.cxx:371
 AliFemtoAnalysisAzimuthal.cxx:372
 AliFemtoAnalysisAzimuthal.cxx:373
 AliFemtoAnalysisAzimuthal.cxx:374
 AliFemtoAnalysisAzimuthal.cxx:375
 AliFemtoAnalysisAzimuthal.cxx:376
 AliFemtoAnalysisAzimuthal.cxx:377
 AliFemtoAnalysisAzimuthal.cxx:378
 AliFemtoAnalysisAzimuthal.cxx:379
 AliFemtoAnalysisAzimuthal.cxx:380
 AliFemtoAnalysisAzimuthal.cxx:381
 AliFemtoAnalysisAzimuthal.cxx:382
 AliFemtoAnalysisAzimuthal.cxx:383
 AliFemtoAnalysisAzimuthal.cxx:384
 AliFemtoAnalysisAzimuthal.cxx:385
 AliFemtoAnalysisAzimuthal.cxx:386
 AliFemtoAnalysisAzimuthal.cxx:387
 AliFemtoAnalysisAzimuthal.cxx:388
 AliFemtoAnalysisAzimuthal.cxx:389
 AliFemtoAnalysisAzimuthal.cxx:390
 AliFemtoAnalysisAzimuthal.cxx:391
 AliFemtoAnalysisAzimuthal.cxx:392
 AliFemtoAnalysisAzimuthal.cxx:393
 AliFemtoAnalysisAzimuthal.cxx:394
 AliFemtoAnalysisAzimuthal.cxx:395
 AliFemtoAnalysisAzimuthal.cxx:396
 AliFemtoAnalysisAzimuthal.cxx:397
 AliFemtoAnalysisAzimuthal.cxx:398
 AliFemtoAnalysisAzimuthal.cxx:399
 AliFemtoAnalysisAzimuthal.cxx:400
 AliFemtoAnalysisAzimuthal.cxx:401
 AliFemtoAnalysisAzimuthal.cxx:402
 AliFemtoAnalysisAzimuthal.cxx:403
 AliFemtoAnalysisAzimuthal.cxx:404
 AliFemtoAnalysisAzimuthal.cxx:405
 AliFemtoAnalysisAzimuthal.cxx:406
 AliFemtoAnalysisAzimuthal.cxx:407
 AliFemtoAnalysisAzimuthal.cxx:408
 AliFemtoAnalysisAzimuthal.cxx:409
 AliFemtoAnalysisAzimuthal.cxx:410
 AliFemtoAnalysisAzimuthal.cxx:411
 AliFemtoAnalysisAzimuthal.cxx:412
 AliFemtoAnalysisAzimuthal.cxx:413
 AliFemtoAnalysisAzimuthal.cxx:414
 AliFemtoAnalysisAzimuthal.cxx:415
 AliFemtoAnalysisAzimuthal.cxx:416
 AliFemtoAnalysisAzimuthal.cxx:417
 AliFemtoAnalysisAzimuthal.cxx:418
 AliFemtoAnalysisAzimuthal.cxx:419
 AliFemtoAnalysisAzimuthal.cxx:420
 AliFemtoAnalysisAzimuthal.cxx:421
 AliFemtoAnalysisAzimuthal.cxx:422
 AliFemtoAnalysisAzimuthal.cxx:423
 AliFemtoAnalysisAzimuthal.cxx:424
 AliFemtoAnalysisAzimuthal.cxx:425
 AliFemtoAnalysisAzimuthal.cxx:426
 AliFemtoAnalysisAzimuthal.cxx:427
 AliFemtoAnalysisAzimuthal.cxx:428
 AliFemtoAnalysisAzimuthal.cxx:429
 AliFemtoAnalysisAzimuthal.cxx:430
 AliFemtoAnalysisAzimuthal.cxx:431
 AliFemtoAnalysisAzimuthal.cxx:432
 AliFemtoAnalysisAzimuthal.cxx:433
 AliFemtoAnalysisAzimuthal.cxx:434
 AliFemtoAnalysisAzimuthal.cxx:435
 AliFemtoAnalysisAzimuthal.cxx:436
 AliFemtoAnalysisAzimuthal.cxx:437
 AliFemtoAnalysisAzimuthal.cxx:438
 AliFemtoAnalysisAzimuthal.cxx:439
 AliFemtoAnalysisAzimuthal.cxx:440
 AliFemtoAnalysisAzimuthal.cxx:441
 AliFemtoAnalysisAzimuthal.cxx:442
 AliFemtoAnalysisAzimuthal.cxx:443
 AliFemtoAnalysisAzimuthal.cxx:444
 AliFemtoAnalysisAzimuthal.cxx:445
 AliFemtoAnalysisAzimuthal.cxx:446
 AliFemtoAnalysisAzimuthal.cxx:447
 AliFemtoAnalysisAzimuthal.cxx:448
 AliFemtoAnalysisAzimuthal.cxx:449
 AliFemtoAnalysisAzimuthal.cxx:450
 AliFemtoAnalysisAzimuthal.cxx:451
 AliFemtoAnalysisAzimuthal.cxx:452
 AliFemtoAnalysisAzimuthal.cxx:453
 AliFemtoAnalysisAzimuthal.cxx:454
 AliFemtoAnalysisAzimuthal.cxx:455
 AliFemtoAnalysisAzimuthal.cxx:456
 AliFemtoAnalysisAzimuthal.cxx:457
 AliFemtoAnalysisAzimuthal.cxx:458
 AliFemtoAnalysisAzimuthal.cxx:459
 AliFemtoAnalysisAzimuthal.cxx:460
 AliFemtoAnalysisAzimuthal.cxx:461
 AliFemtoAnalysisAzimuthal.cxx:462
 AliFemtoAnalysisAzimuthal.cxx:463
 AliFemtoAnalysisAzimuthal.cxx:464
 AliFemtoAnalysisAzimuthal.cxx:465
 AliFemtoAnalysisAzimuthal.cxx:466
 AliFemtoAnalysisAzimuthal.cxx:467
 AliFemtoAnalysisAzimuthal.cxx:468
 AliFemtoAnalysisAzimuthal.cxx:469