ROOT logo
/*************************************************************************
* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* 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.                  *
**************************************************************************/

////////////////////////////////////////////////////
// AliAnalysisTaskFlowEvent:
//
// analysis task for filling the flow event
// from MCEvent, ESD, AOD ....
// and put it in an output stream so it can
// be used by the various flow analysis methods
// for cuts the correction framework is used
// which also outputs QA histograms to view
// the effects of the cuts
////////////////////////////////////////////////////

#include "Riostream.h" //needed as include
#include "TChain.h"
#include "TTree.h"
#include "TFile.h" //needed as include
#include "TList.h"
#include "TF1.h"
#include "TH2F.h"
#include "TRandom3.h"
#include "TTimeStamp.h"

// ALICE Analysis Framework
#include "AliAnalysisManager.h"
#include "AliAnalysisTaskSE.h"
#include "AliESDtrackCuts.h"

// ESD interface
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"

// AOD interface
#include "AliAODEvent.h"
#include "AliAODInputHandler.h"

// Monte Carlo Event
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"

// ALICE Correction Framework
#include "AliCFManager.h"

// Interface to Event generators to get Reaction Plane Angle
#include "AliGenCocktailEventHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenGeVSimEventHeader.h"
#include "AliGenEposEventHeader.h"

// Interface to Load short life particles
#include "TObjArray.h"
#include "AliFlowCandidateTrack.h"

// Interface to make the Flow Event Simple used in the flow analysis methods
#include "AliFlowEvent.h"
#include "AliFlowTrackCuts.h"
#include "AliFlowEventCuts.h"
#include "AliFlowCommonConstants.h"
#include "AliAnalysisTaskFlowEvent.h"

#include "AliLog.h"

using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskFlowEvent)

//________________________________________________________________________
AliAnalysisTaskFlowEvent::AliAnalysisTaskFlowEvent() :
  AliAnalysisTaskSE(),
  //  fOutputFile(NULL),
  fAnalysisType("AUTOMATIC"),
  fRPType("Global"),
  fCFManager1(NULL),
  fCFManager2(NULL),
  fCutsEvent(NULL),
  fCutsRP(NULL),
  fCutsPOI(NULL),
  fCutContainer(NULL),
  fQAList(NULL),
  fMinMult(0),
  fMaxMult(10000000),
  fMinA(-1.0),
  fMaxA(-0.01),
  fMinB(0.01),
  fMaxB(1.0),
  fQAon(kFALSE),
  fLoadCandidates(kFALSE),
  fNbinsMult(10000),
  fNbinsPt(100),   
  fNbinsPhi(100),
  fNbinsEta(200),
  fNbinsQ(500),
  fNbinsMass(1),
  fMultMin(0.),            
  fMultMax(10000.),
  fPtMin(0.),	     
  fPtMax(10.),
  fPhiMin(0.),	     
  fPhiMax(TMath::TwoPi()),
  fEtaMin(-5.),	     
  fEtaMax(5.),	     
  fQMin(0.),	     
  fQMax(3.),
  fMassMin(-1.),	     
  fMassMax(0.),
  fHistWeightvsPhiMin(0.),
  fHistWeightvsPhiMax(3.),
  fExcludedEtaMin(0.), 
  fExcludedEtaMax(0.), 
  fExcludedPhiMin(0.),
  fExcludedPhiMax(0.),
  fAfterburnerOn(kFALSE),
  fNonFlowNumberOfTrackClones(0),
  fV1(0.),
  fV2(0.),
  fV3(0.),
  fV4(0.),
  fV5(0.),
  fDifferentialV2(0),
  fFlowEvent(NULL),
  fShuffleTracks(kFALSE),
  fMyTRandom3(NULL)
{
  // Constructor
  AliDebug(2,"AliAnalysisTaskFlowEvent::AliAnalysisTaskFlowEvent()");
}

//________________________________________________________________________
AliAnalysisTaskFlowEvent::AliAnalysisTaskFlowEvent(const char *name, TString RPtype, Bool_t on, UInt_t iseed, Bool_t bCandidates) :
  AliAnalysisTaskSE(name),
  //  fOutputFile(NULL),
  fAnalysisType("AUTOMATIC"),
  fRPType(RPtype),
  fCFManager1(NULL),
  fCFManager2(NULL),
  fCutsEvent(NULL),
  fCutsRP(NULL),
  fCutsPOI(NULL),
  fCutContainer(new TList()),
  fQAList(NULL),
  fMinMult(0),
  fMaxMult(10000000),
  fMinA(-1.0),
  fMaxA(-0.01),
  fMinB(0.01),
  fMaxB(1.0),
  fQAon(on),
  fLoadCandidates(bCandidates),
  fNbinsMult(10000),
  fNbinsPt(100),   
  fNbinsPhi(100),
  fNbinsEta(200),
  fNbinsQ(500),
  fNbinsMass(1),
  fMultMin(0.),            
  fMultMax(10000.),
  fPtMin(0.),	     
  fPtMax(10.),
  fPhiMin(0.),	     
  fPhiMax(TMath::TwoPi()),
  fEtaMin(-5.),	     
  fEtaMax(5.),	     
  fQMin(0.),	     
  fQMax(3.),
  fMassMin(-1.),	     
  fMassMax(0.),
  fHistWeightvsPhiMin(0.),
  fHistWeightvsPhiMax(3.),
  fExcludedEtaMin(0.), 
  fExcludedEtaMax(0.), 
  fExcludedPhiMin(0.),
  fExcludedPhiMax(0.),
  fAfterburnerOn(kFALSE),
  fNonFlowNumberOfTrackClones(0),
  fV1(0.),
  fV2(0.),
  fV3(0.),
  fV4(0.),
  fV5(0.),
  fDifferentialV2(0),
  fFlowEvent(NULL),
  fShuffleTracks(kFALSE),
  fMyTRandom3(NULL)
{
  // Constructor
  AliDebug(2,"AliAnalysisTaskFlowEvent::AliAnalysisTaskFlowEvent(const char *name, Bool_t on, UInt_t iseed)");
  fMyTRandom3 = new TRandom3(iseed);
  gRandom->SetSeed(fMyTRandom3->Integer(65539));

  int availableINslot=1;
  //FMD input slot
  if (strcmp(RPtype,"FMD")==0) {
    DefineInput(availableINslot++, TList::Class());
  }
  //Candidates input slot
  if( fLoadCandidates )
    DefineInput(availableINslot, TObjArray::Class());

  // Define output slots here
  // Define here the flow event output
  DefineOutput(1, AliFlowEventSimple::Class());
  DefineOutput(2, TList::Class());

  // and for testing open an output file
  //  fOutputFile = new TFile("FlowEvents.root","RECREATE");

}

//________________________________________________________________________
AliAnalysisTaskFlowEvent::~AliAnalysisTaskFlowEvent()
{
  //
  // Destructor
  //
  delete fMyTRandom3;
  delete fFlowEvent;
  delete fCutsEvent;
  delete fQAList;
  if (fCutContainer) fCutContainer->Delete(); delete fCutContainer;
  // objects in the output list are deleted
  // by the TSelector dtor (I hope)

}

//________________________________________________________________________
void AliAnalysisTaskFlowEvent::NotifyRun()
{
  //at the beginning of each new run
  if (fCutsRP)   fCutsRP->SetRunsMuon(fInputHandler);  // XZhang 20120604
  if (fCutsPOI) fCutsPOI->SetRunsMuon(fInputHandler);  // XZhang 20120604
	AliESDEvent* fESD = dynamic_cast<AliESDEvent*> (InputEvent());
  if (!fESD) return;

  Int_t run = fESD->GetRunNumber();  
  AliInfo(Form("Stariting run #%i",run));
}

//________________________________________________________________________
void AliAnalysisTaskFlowEvent::UserCreateOutputObjects()
{
  // Called at every worker node to initialize
  AliDebug(2,"AliAnalysisTaskFlowEvent::CreateOutputObjects()");

  if (!(fAnalysisType == "AOD" || fAnalysisType == "ESD" || fAnalysisType == "ESDMCkineESD"  || fAnalysisType == "ESDMCkineMC" || fAnalysisType == "MC" || fAnalysisType == "AUTOMATIC"))
  {
    AliError("WRONG ANALYSIS TYPE! only ESD, ESDMCkineESD, ESDMCkineMC, AOD, MC and AUTOMATIC are allowed.");
    exit(1);
  }

  //set the common constants
  AliFlowCommonConstants* cc = AliFlowCommonConstants::GetMaster();
  cc->SetNbinsMult(fNbinsMult);
  cc->SetNbinsPt(fNbinsPt);
  cc->SetNbinsPhi(fNbinsPhi); 
  cc->SetNbinsEta(fNbinsEta);
  cc->SetNbinsQ(fNbinsQ);
  cc->SetNbinsMass(fNbinsMass);
  cc->SetMultMin(fMultMin);
  cc->SetMultMax(fMultMax);
  cc->SetPtMin(fPtMin);
  cc->SetPtMax(fPtMax);
  cc->SetPhiMin(fPhiMin);
  cc->SetPhiMax(fPhiMax);
  cc->SetEtaMin(fEtaMin);
  cc->SetEtaMax(fEtaMax);
  cc->SetQMin(fQMin);
  cc->SetQMax(fQMax);
  cc->SetMassMin(fMassMin);
  cc->SetMassMax(fMassMax);
  cc->SetHistWeightvsPhiMax(fHistWeightvsPhiMax);
  cc->SetHistWeightvsPhiMin(fHistWeightvsPhiMin);

  fFlowEvent = new AliFlowEvent(10000);

  if (fQAon)
  {
    fQAList=new TList();
    fQAList->SetOwner();
    fQAList->SetName(Form("%s QA",GetName()));
    if (fCutsEvent->GetQA()) fQAList->Add(fCutsEvent->GetQA()); //0
    if (fCutsRP->GetQA()) fQAList->Add(fCutsRP->GetQA());  //1
    if (fCutsPOI->GetQA())fQAList->Add(fCutsPOI->GetQA()); //2
    fQAList->Add(new TH1F("event plane angle","event plane angle;angle [rad];",100,0.,TMath::TwoPi())); //3
    PostData(2,fQAList);
  }
}

//________________________________________________________________________
void AliAnalysisTaskFlowEvent::UserExec(Option_t *)
{
  // Main loop
  // Called for each event
  //delete fFlowEvent;
  AliMCEvent*  mcEvent = MCEvent();                              // from TaskSE
  AliESDEvent* myESD = dynamic_cast<AliESDEvent*>(InputEvent()); // from TaskSE
  AliAODEvent* myAOD = dynamic_cast<AliAODEvent*>(InputEvent()); // from TaskSE
  AliMultiplicity* myTracklets = NULL;
  AliESDPmdTrack* pmdtracks = NULL;//pmd      

  int availableINslot=1;

  if (!(fCutsRP&&fCutsPOI&&fCutsEvent))
  {
    AliError("cuts not set");
    return;
  }

  //DEFAULT - automatically takes care of everything
  if (fAnalysisType == "AUTOMATIC")
  {
    //check event cuts
    if (InputEvent() && !fCutsEvent->IsSelected(InputEvent(),MCEvent())) 
      return;

    //first attach all possible information to the cuts
    fCutsRP->SetEvent( InputEvent(), MCEvent() );  //attach event
    fCutsPOI->SetEvent( InputEvent(), MCEvent() );

    //then make the event
    fFlowEvent->Fill( fCutsRP, fCutsPOI );
    //fFlowEvent = new AliFlowEvent( fCutsRP, fCutsPOI );

    //    if (myESD)
    fFlowEvent->SetReferenceMultiplicity(fCutsEvent->GetReferenceMultiplicity(InputEvent(),mcEvent));
    fFlowEvent->SetCentrality(fCutsEvent->GetCentrality(InputEvent(),mcEvent));
    if (mcEvent && mcEvent->GenEventHeader()) fFlowEvent->SetMCReactionPlaneAngle(mcEvent);
  }

  // Make the FlowEvent for MC input
  else if (fAnalysisType == "MC")
  {
    // Process MC truth, therefore we receive the AliAnalysisManager and ask it for the AliMCEventHandler
    // This handler can return the current MC event
    if (!(fCFManager1&&fCFManager2))
    {
      AliError("ERROR: No pointer to correction framework cuts! ");
      return;
    }
    if (!mcEvent)
    {
      AliError("ERROR: Could not retrieve MC event");
      return;
    }

    fCFManager1->SetMCEventInfo(mcEvent);
    fCFManager2->SetMCEventInfo(mcEvent);
    
    AliInfo(Form("Number of MC particles: %d", mcEvent->GetNumberOfTracks()));

    //check multiplicity 
    if (!fCFManager1->CheckEventCuts(AliCFManager::kEvtGenCuts,mcEvent))
    {
      AliWarning("Event does not pass multiplicity cuts"); return;
    }
    //make event
    fFlowEvent = new AliFlowEvent(mcEvent,fCFManager1,fCFManager2);
  }

  // Make the FlowEvent for ESD input
  else if (fAnalysisType == "ESD")
  {
    if (!(fCFManager1&&fCFManager2))
    {
      AliError("ERROR: No pointer to correction framework cuts!");
      return;
    }
    if (!myESD)
    {
      AliError("ERROR: ESD not available");
      return;
    }

    //check the offline trigger (check if the event has the correct trigger)
    AliInfo(Form("ESD has %d tracks", fInputEvent->GetNumberOfTracks()));

    //check multiplicity
    if (!fCFManager1->CheckEventCuts(AliCFManager::kEvtRecCuts,myESD))
    {
      AliWarning("Event does not pass multiplicity cuts"); return;
    }

    //make event
    if (fRPType == "Global") {
      fFlowEvent = new AliFlowEvent(myESD,fCFManager1,fCFManager2);
    }
    else if (fRPType == "TPCOnly") {
      fFlowEvent = new AliFlowEvent(myESD,fCFManager2,kFALSE);
    }
    else if (fRPType == "TPCHybrid") {
      fFlowEvent = new AliFlowEvent(myESD,fCFManager2,kTRUE);
    }
    else if (fRPType == "Tracklet"){
      fFlowEvent = new AliFlowEvent(myESD,myTracklets,fCFManager2);
    }
    else if (fRPType == "FMD"){
      TList* dataFMD = dynamic_cast<TList*>(GetInputData(availableINslot++));
      if(!dataFMD) {
        cout<<" No dataFMD "<<endl;
        return;
      }
      TH2F* histFMD = dynamic_cast<TH2F*>(dataFMD->FindObject("dNdetadphiHistogramTrVtx"));
      if (!histFMD) {
        cout<< "No histFMD"<<endl;
        return;
      }
      fFlowEvent = new AliFlowEvent(myESD,histFMD,fCFManager2);
    }
    else if (fRPType == "PMD"){
      fFlowEvent = new AliFlowEvent(myESD,pmdtracks,fCFManager2);
    }
    else return;
    
    // if monte carlo event get reaction plane from monte carlo (depends on generator)
    if (mcEvent && mcEvent->GenEventHeader()) fFlowEvent->SetMCReactionPlaneAngle(mcEvent);
    //set reference multiplicity, TODO: maybe move it to the constructor?
    fFlowEvent->SetReferenceMultiplicity(AliESDtrackCuts::GetReferenceMultiplicity(myESD,kTRUE));
  }

  // Make the FlowEvent for ESD input combined with MC info
  else if (fAnalysisType == "ESDMCkineESD" || fAnalysisType == "ESDMCkineMC" )
  {
    if (!(fCFManager1&&fCFManager2))
    {
      AliError("ERROR: No pointer to correction framework cuts! ");
      return;
    }
    if (!myESD)
    {
      AliError("ERROR: ESD not available");
      return;
    }
    AliInfo(Form("There are %d tracks in this event", fInputEvent->GetNumberOfTracks()));

    if (!mcEvent)
    {
      AliError("ERROR: Could not retrieve MC event");
      return;
    }

    fCFManager1->SetMCEventInfo(mcEvent);
    fCFManager2->SetMCEventInfo(mcEvent);

    //check multiplicity
    if (!fCFManager1->CheckEventCuts(AliCFManager::kEvtRecCuts,myESD))
    {
      AliWarning("Event does not pass multiplicity cuts"); return;
    }

    //make event
    if (fAnalysisType == "ESDMCkineESD")
    {
      fFlowEvent = new AliFlowEvent(myESD, mcEvent, AliFlowEvent::kESDkine, fCFManager1, fCFManager2 );
    }
    else if (fAnalysisType == "ESDMCkineMC")
    {
      fFlowEvent = new AliFlowEvent(myESD, mcEvent, AliFlowEvent::kMCkine, fCFManager1, fCFManager2 );
    }
    if (!fFlowEvent) return;
    // if monte carlo event get reaction plane from monte carlo (depends on generator)
    if (mcEvent && mcEvent->GenEventHeader()) fFlowEvent->SetMCReactionPlaneAngle(mcEvent);
    //set reference multiplicity, TODO: maybe move it to the constructor?
    fFlowEvent->SetReferenceMultiplicity(AliESDtrackCuts::GetReferenceMultiplicity(myESD,kTRUE));
  }
  // Make the FlowEventSimple for AOD input
  else if (fAnalysisType == "AOD")
  {
    if (!myAOD)
    {
      AliError("ERROR: AOD not available");
      return;
    }
    AliInfo(Form("AOD has %d tracks", myAOD->GetNumberOfTracks()));
    fFlowEvent = new AliFlowEvent(myAOD);
  }

  //inject candidates
  if(fLoadCandidates) {
    TObjArray* candidates = dynamic_cast<TObjArray*>(GetInputData(availableINslot++));
    //if(candidates->GetEntriesFast()) 
    //  printf("I received %d candidates\n",candidates->GetEntriesFast());
    if (candidates)
    {
      for(int iCand=0; iCand!=candidates->GetEntriesFast(); ++iCand ) {
        AliFlowCandidateTrack *cand = dynamic_cast<AliFlowCandidateTrack*>(candidates->At(iCand));
        if (!cand) continue;
        //printf(" - Checking at candidate %d with %d daughters: mass %f\n",iCand,cand->GetNDaughters(),cand->Mass());
        for(int iDau=0; iDau!=cand->GetNDaughters(); ++iDau) {
          //printf("    - Daughter %d with fID %d", iDau, cand->GetIDDaughter(iDau) );
          for(int iRPs=0; iRPs!=fFlowEvent->NumberOfTracks(); ++iRPs ) {
            AliFlowTrack *iRP = dynamic_cast<AliFlowTrack*>(fFlowEvent->GetTrack( iRPs ));
            if (!iRP) continue;
            if( !iRP->InRPSelection() )
              continue;
            if( cand->GetIDDaughter(iDau) == iRP->GetID() ) {
              //printf(" was in RP set");
              //cand->SetDaughter( iDau, iRP );
              //temporarily untagging all daugters
              iRP->SetForRPSelection(kFALSE);
	      fFlowEvent->SetNumberOfRPs( fFlowEvent->GetNumberOfRPs() -1 );
            }
          }
          //printf("\n");
        }
	cand->SetForPOISelection(kTRUE);
	fFlowEvent->InsertTrack( ((AliFlowTrack*) cand) );
      }
    }
  }

  if (!fFlowEvent) return; //shuts up coverity

  //check final event cuts
  Int_t mult = fFlowEvent->NumberOfTracks();
  //  AliInfo(Form("FlowEvent has %i tracks",mult));
  if (mult<fMinMult || mult>fMaxMult)
  {
    AliWarning("FlowEvent cut on multiplicity"); return;
  }

  //define dead zone
  fFlowEvent->DefineDeadZone(fExcludedEtaMin, fExcludedEtaMax, fExcludedPhiMin, fExcludedPhiMax );


  //////////////////////////////////////////////////////////////////////////////
  ///////////////////////////AFTERBURNER
  if (fAfterburnerOn)
  {
    //if reaction plane not set from elsewhere randomize it before adding flow
    if (!fFlowEvent->IsSetMCReactionPlaneAngle())
      fFlowEvent->SetMCReactionPlaneAngle(gRandom->Uniform(0.0,TMath::TwoPi()));

    if(fDifferentialV2)
      fFlowEvent->AddV2(fDifferentialV2);
    else 
      fFlowEvent->AddFlow(fV1,fV2,fV3,fV4,fV5);     //add flow
    fFlowEvent->CloneTracks(fNonFlowNumberOfTrackClones); //add nonflow by cloning tracks
  }
  //////////////////////////////////////////////////////////////////////////////

  //tag subEvents
  fFlowEvent->TagSubeventsInEta(fMinA,fMaxA,fMinB,fMaxB);

  //QA
  if (fQAon)
  {
    TH1* h1 = static_cast<TH1*>(fQAList->FindObject("event plane angle"));
    h1->Fill(fFlowEvent->GetMCReactionPlaneAngle());
  }

  //do we want to serve shullfed tracks to everybody?
  fFlowEvent->SetShuffleTracks(fShuffleTracks);

  // associate the mother particles to their daughters in the flow event (if any)
  fFlowEvent->FindDaughters();

  //fListHistos->Print();
  //fOutputFile->WriteObject(fFlowEvent,"myFlowEventSimple");
  PostData(1,fFlowEvent);
}

//________________________________________________________________________
void AliAnalysisTaskFlowEvent::Terminate(Option_t *)
{
  // Called once at the end of the query -- do not call in case of CAF
}

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