ROOT logo
//------------------------------------------------------
// AliAnalysisTaskFemto - A task for the analysis framework
// from the FEMTOSCOPY analysis of PWG2. Creates the necessary
// connection between the ESD or AOD input and the femtoscopic
// code.
// Author: Adam Kisiel, OSU; Adam.Kisiel@cern.ch
//------------------------------------------------------
#include "TROOT.h"
#include "TChain.h"
#include "TH1.h"
#include "TCanvas.h"
#include "TSystem.h"
#include "TFile.h"
#include "TInterpreter.h"

//#include "AliAnalysisTask.h"
#include "AliAnalysisTaskSE.h"

#include "AliESDEvent.h"

#include "AliFemtoAnalysis.h"
#include "AliAnalysisTaskFemto.h"
#include "AliVHeader.h"
#include "AliGenEventHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenCocktailEventHeader.h"

ClassImp(AliAnalysisTaskFemto)

// Default name for the setup macro of femto analysis  
// This function MUST be defined in the separate file !!!
// extern AliFemtoManager *ConfigFemtoAnalysis();

//________________________________________________________________________
AliAnalysisTaskFemto::AliAnalysisTaskFemto(TString name, TString aConfigMacro, TString aConfigParams, Bool_t aVerbose):
AliAnalysisTaskSE(name), //AliAnalysisTask(name,""), 
  fESD(0), 
  fESDpid(0),
  fAOD(0),
  fAODpidUtil(0),
  fAODheader(0),
  fStack(0),
  fOutputList(0), 
  fReader(0x0),
  fManager(0x0),
  fAnalysisType(0),
    fConfigMacro(aConfigMacro),
    fConfigParams(aConfigParams),
    fVerbose(aVerbose)
{
  // Constructor.
  // Input slot #0 works with an Ntuple
  //DefineInput(0, TChain::Class());
  // Output slot #0 writes into a TH1 container
  DefineOutput(0, TList::Class());

}
//________________________________________________________________________
AliAnalysisTaskFemto::AliAnalysisTaskFemto(TString name, TString aConfigMacro="ConfigFemtoAnalysis.C", Bool_t aVerbose): 
    AliAnalysisTaskSE(name), //AliAnalysisTask(name,""), 
    fESD(0), 
    fESDpid(0),
    fAOD(0),
    fAODpidUtil(0),
    fAODheader(0),
    fStack(0),
    fOutputList(0), 
    fReader(0x0),
    fManager(0x0),
    fAnalysisType(0),
    fConfigMacro(aConfigMacro),
    fConfigParams(""),
    fVerbose(aVerbose)
{
  // Constructor.
  // Input slot #0 works with an Ntuple
  //DefineInput(0, TChain::Class());
  // Output slot #0 writes into a TH1 container
  DefineOutput(0, TList::Class());

}

AliAnalysisTaskFemto::AliAnalysisTaskFemto(const AliAnalysisTaskFemto& aFemtoTask):
    AliAnalysisTaskSE(aFemtoTask), //AliAnalysisTask(aFemtoTask), 
    fESD(0), 
    fESDpid(0),
    fAOD(0),
    fAODpidUtil(0),
    fAODheader(0),
    fStack(0),
    fOutputList(0), 
    fReader(0x0),
    fManager(0x0),
    fAnalysisType(0),
    fConfigMacro(0),
    fConfigParams(0),
    fVerbose(kFALSE)
{
  // copy constructor
  fESD = aFemtoTask.fESD; 
  fESDpid = aFemtoTask.fESDpid; 
  fAOD = aFemtoTask.fAOD; 
  fAODpidUtil = aFemtoTask.fAODpidUtil;
  fAODheader = aFemtoTask.fAODheader;
  fStack = aFemtoTask.fStack;
  fOutputList = aFemtoTask.fOutputList;   
  fReader = aFemtoTask.fReader;       
  fManager = aFemtoTask.fManager;      
  fAnalysisType = aFemtoTask.fAnalysisType; 

  fConfigMacro = aFemtoTask.fConfigMacro;
  fConfigParams = aFemtoTask.fConfigParams;

    fVerbose = aFemtoTask.fVerbose;
}


AliAnalysisTaskFemto& AliAnalysisTaskFemto::operator=(const AliAnalysisTaskFemto& aFemtoTask){
  // assignment operator
  if (this == &aFemtoTask)
    return *this;

  fESD = aFemtoTask.fESD; 
  fESDpid = aFemtoTask.fESDpid;
  fAOD = aFemtoTask.fAOD; 
  fAODpidUtil = aFemtoTask.fAODpidUtil;
  fAODheader = aFemtoTask.fAODheader;
  fStack = aFemtoTask.fStack;
  fOutputList = aFemtoTask.fOutputList;   
  fReader = aFemtoTask.fReader;       
  fManager = aFemtoTask.fManager;      
  fAnalysisType = aFemtoTask.fAnalysisType; 

  fConfigMacro = aFemtoTask.fConfigMacro;
  fConfigParams = aFemtoTask.fConfigParams;
    fVerbose = aFemtoTask.fVerbose;


  return *this;
}

AliAnalysisTaskFemto::~AliAnalysisTaskFemto() 
{
}


//________________________________________________________________________
void AliAnalysisTaskFemto::ConnectInputData(Option_t *) {
  AliInfo(Form("   ConnectInputData %s\n", GetName()));

  fESD = 0;
  fESDpid = 0;
  fAOD = 0;
  fAODpidUtil = 0;
  fAODheader=0;
  fAnalysisType = 0;

  TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
  if (!tree) {
    AliWarning("Could not read chain from input slot 0");
    return;
  } 

  AliFemtoEventReaderESDChain *femtoReader = dynamic_cast<AliFemtoEventReaderESDChain *> (fReader);
  if ((dynamic_cast<AliFemtoEventReaderESDChain *> (fReader))) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if(esdH) {
      if (fVerbose)
	AliInfo("Selected ESD analysis");
      fAnalysisType = 1;
      
      fESD = esdH->GetEvent();
      fESDpid = esdH->GetESDpid();
      femtoReader->SetESDPid(fESDpid);
    }
  }
  else if ((dynamic_cast<AliFemtoEventReaderKinematicsChain *> (fReader))) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if(esdH) {
      if (fVerbose)
	AliInfo("Selected ESD analysis");
      fAnalysisType = 1;
      fESD = esdH->GetEvent();
    }
  }
 else if ((dynamic_cast<AliFemtoEventReaderKinematicsChainESD *> (fReader))) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    if(esdH) {
      if (fVerbose)
	AliInfo("Selected ESD analysis");
      fAnalysisType = 1;
      fESD = esdH->GetEvent();
    }
  }

  AliFemtoEventReaderESDChainKine *femtoReaderESDKine = dynamic_cast<AliFemtoEventReaderESDChainKine *> (fReader);
  if ((dynamic_cast<AliFemtoEventReaderESDChainKine *> (fReader))) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if(esdH) {
      if (fVerbose)           
	AliInfo("Selected ESD analysis");
      fAnalysisType = 1;
      fESD = esdH->GetEvent();
      fESDpid = esdH->GetESDpid();
      femtoReaderESDKine->SetESDPid(fESDpid);

    }
  }

  //  AliFemtoEventReaderKinematicsChain *femtoReaderKine = dynamic_cast<AliFemtoEventReaderKinematicsChain *> (fReader);
  if ((dynamic_cast<AliFemtoEventReaderKinematicsChain *> (fReader))) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if(esdH) {
            if (fVerbose)
      AliInfo("Selected ESD analysis");
      fAnalysisType = 1;
      
      //       if (!esdH) {
      // 	AliWarning("Could not get ESDInputHandler");
      //       } 
      //       else {
      fESD = esdH->GetEvent();
      //fESDpid = esdH->GetESDpid();
      //femtoReader->SetESDPid(fESDpid);
      //       }
    }
  }
  
  
  AliFemtoEventReaderAODChain *femtoReaderAOD = dynamic_cast<AliFemtoEventReaderAODChain *> (fReader);
  if (dynamic_cast<AliFemtoEventReaderAODChain *> (fReader)) {
    AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if (!aodH) {
      TObject *handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
            if (fVerbose)
      AliInfo("Has output handler ");
      if( handler && handler->InheritsFrom("AliAODHandler") ) {
                if (fVerbose)
	AliInfo("Selected AOD analysis");
	
	fAOD = ((AliAODHandler*)handler)->GetAOD();
	fAnalysisType = 2;
      }
      else {
                if (fVerbose)
	AliWarning("Selected AOD reader but no AOD handler found");
      }
    } 
    else {
            if (fVerbose)
      AliInfo("Selected AOD analysis");
      fAnalysisType = 2;
      
      fAOD = aodH->GetEvent();

      fAODpidUtil = aodH->GetAODpidUtil(); //correct way
      //fAODpidUtil = new AliAODpidUtil(); //not correct way
      //      printf("aodH->GetAODpidUtil(): %x",aodH->GetAODpidUtil());
            if (fVerbose)
      cout<<"AliAnalysisTaskFemto::AodpidUtil:"<<fAODpidUtil<<endl;
      femtoReaderAOD->SetAODpidUtil(fAODpidUtil);

      fAODheader = dynamic_cast<AliAODHeader*>(fAOD->GetHeader());
      if(!fAODheader) AliFatal("Not a standard AOD");
      femtoReaderAOD->SetAODheader(fAODheader);
   
    }
  }

  if ((!fAOD) && (!fESD)) {
        if (fVerbose)
    AliWarning("Wrong analysis type: Only ESD and AOD types are allowed!");
  }
}

//________________________________________________________________________
void AliAnalysisTaskFemto::CreateOutputObjects() {
    if (fVerbose)
  AliInfo("Creating Femto Analysis objects\n");

  gSystem->SetIncludePath("-I$ROOTSYS/include -I./STEERBase/ -I./ESD/ -I./AOD/ -I./ANALYSIS/ -I./ANALYSISalice/ -I./PWG2AOD/AOD -I./PWG2femtoscopy/FEMTOSCOPY/AliFemto -I./PWG2femtoscopyUser/FEMTOSCOPY/AliFemtoUser");
  //  char fcm[2000];
//   sprintf(fcm, "%s++", fConfigMacro);
//   gROOT->LoadMacro(fcm);
  gROOT->LoadMacro(fConfigMacro);
  //  fJetFinder = (AliJetFinder*) gInterpreter->ProcessLine("ConfigJetAnalysis()");
  if (!fConfigParams)
    SetFemtoManager((AliFemtoManager *) gInterpreter->ProcessLine("ConfigFemtoAnalysis()"));
  else
      SetFemtoManager((AliFemtoManager *) gInterpreter->ProcessLine(Form("ConfigFemtoAnalysis(%s)", fConfigParams.Data())));

  TList *tOL;
  fOutputList = fManager->Analysis(0)->GetOutputList();

  for (unsigned int ian = 1; ian<fManager->AnalysisCollection()->size(); ian++) {
    tOL = fManager->Analysis(ian)->GetOutputList();

    TIter nextListCf(tOL);
    while (TObject *obj = nextListCf()) {
      fOutputList->Add(obj);
    }

    delete tOL;
  }

  PostData(0, fOutputList);
}

//________________________________________________________________________
void AliAnalysisTaskFemto::Exec(Option_t *) {
  // Task making a femtoscopic analysis.
  if(fOfflineTriggerMask){
    Bool_t isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fOfflineTriggerMask);
    if(!isSelected) {
      if (fVerbose)
	cout << "AliAnalysisTaskFemto: is not selected" << endl; 
      return;
    }
  }
  if (fAnalysisType==1) {
    if (!fESD) {
      if (fVerbose)
	AliWarning("fESD not available");
      return;
    }
    //Get MC data
    AliMCEventHandler*    mctruth = (AliMCEventHandler*) 
      ((AliAnalysisManager::GetAnalysisManager())->GetMCtruthEventHandler());
    
    AliGenHijingEventHeader *hdh = 0;
    if(mctruth) {
      fStack = mctruth->MCEvent()->Stack();

      AliGenCocktailEventHeader *hd = dynamic_cast<AliGenCocktailEventHeader *> (mctruth->MCEvent()->GenEventHeader());
      
      if (hd) {
	
	//	AliInfo ("Got MC cocktail event header %p\n", (void *) hd);
	TList *lhd = hd->GetHeaders();
	//	AliInfo ("Got list of headers %d\n", lhd->GetEntries());
	
	for (int iterh=0; iterh<lhd->GetEntries(); iterh++) 
	  {
	    hdh = dynamic_cast<AliGenHijingEventHeader *> (lhd->At(iterh));
	    //	    AliInfo ("HIJING header at %i is %p\n", iterh, (void *) hdh);
	  }
      }    
    }

    // Get ESD
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if (!esdH) {
      if (fVerbose)
	AliWarning("Could not get ESDInputHandler");
      return;
    } 
    else {
      fESD = esdH->GetEvent();
      fESDpid = esdH->GetESDpid();   
     }

    if (fVerbose)
      AliInfo(Form("Tracks in ESD: %d \n",fESD->GetNumberOfTracks()));

    if (fESD->GetNumberOfTracks() >= 0) {
    
      if (!fReader) {
	if (fVerbose)
	  AliWarning("No ESD reader for ESD analysis !\n");
      }
      
      AliFemtoEventReaderESDChain* fesdc = dynamic_cast<AliFemtoEventReaderESDChain *> (fReader);
      if (fesdc)
	{
	  // Process the event with no Kine information
	  fesdc->SetESDSource(fESD);
	  fManager->ProcessEvent();
	}
    }
    AliFemtoEventReaderKinematicsChain* fkinec = dynamic_cast<AliFemtoEventReaderKinematicsChain *> (fReader);
    if (fkinec)
      {
	// Process the event with Kine information only
	fkinec->SetStackSource(fStack);
	fManager->ProcessEvent();
      }


    AliFemtoEventReaderESDChainKine* fesdck = dynamic_cast<AliFemtoEventReaderESDChainKine *> (fReader);
    if (fesdck) 
      {
	// Process the event with Kine information
	fesdck->SetESDSource(fESD);
	fesdck->SetStackSource(fStack);
	cout<<"Set Stack:"<<fStack<<endl;
	fesdck->SetGenEventHeader(hdh);
	fManager->ProcessEvent();
      }

     
    AliFemtoEventReaderKinematicsChainESD* fkcesd = dynamic_cast<AliFemtoEventReaderKinematicsChainESD *> (fReader);
    if (fkcesd)
      {
	// Process the event with Kine information
	fkcesd->SetESDSource(fESD);
	fkcesd->SetStackSource(fStack);
	fkcesd->SetGenEventHeader(hdh);
	fManager->ProcessEvent();
      }

    AliFemtoEventReaderStandard* fstd = dynamic_cast<AliFemtoEventReaderStandard *> (fReader);
    if (fstd) 
      {
	// Process the event with Kine information
	fstd->SetESDSource(fESD);
	if (mctruth) {
	  fstd->SetStackSource(fStack);
	  fstd->SetGenEventHeader(hdh);
	  fstd->SetInputType(AliFemtoEventReaderStandard::kESDKine);
	}
	else
	  fstd->SetInputType(AliFemtoEventReaderStandard::kESD);
	fManager->ProcessEvent();
      }
  

    // Post the output histogram list
    PostData(0, fOutputList);
  }

  if (fAnalysisType==2) {    
    if (!fAOD) {
            if (fVerbose)
      AliWarning("fAOD not available");
      return;
    }

    // Get AOD
//     AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
      
//     if (!aodH) {
//       AliWarning("Could not get AODInputHandler");
//       return;
//     } 
//     else {

//       fAOD = aodH->GetEvent();
//     }




    if (fVerbose)
      AliInfo(Form("Tracks in AOD: %d \n",fAOD->GetNumberOfTracks()));
    
    if (fAOD->GetNumberOfTracks() > 0) {
      if (!fReader) {
	if (fVerbose)
	  AliWarning("No AOD reader for AOD analysis! \n");
      }
      else {
	AliFemtoEventReaderAODChain* faodc = dynamic_cast<AliFemtoEventReaderAODChain *> (fReader);

	if (faodc) {
	  // Process the event
	  faodc->SetAODSource(fAOD);
	  fManager->ProcessEvent();
	}
	AliFemtoEventReaderStandard* fstd = dynamic_cast<AliFemtoEventReaderStandard *> (fReader);

	if (fstd) {
	  // Process the event
	  fstd->SetAODSource(fAOD);
	  fstd->SetInputType(AliFemtoEventReaderStandard::kAOD);
	  fManager->ProcessEvent();
	}
      }
    } 

    // Post the output histogram list
    PostData(0, fOutputList);
  }
}      

//________________________________________________________________________
void AliAnalysisTaskFemto::Terminate(Option_t *) {
  // Do the final processing
  if (fManager) {
    fManager->Finish();
  }
}
//________________________________________________________________________
void AliAnalysisTaskFemto:: FinishTaskOutput() {
  // Do the final processing
  if (fManager) {
    fManager->Finish();
  }
}
//________________________________________________________________________
void AliAnalysisTaskFemto::SetFemtoReaderESD(AliFemtoEventReaderESDChain *aReader)
{
    if (fVerbose)
  AliInfo("Selecting Femto reader for ESD\n");
  fReader = aReader;
}
//________________________________________________________________________
void AliAnalysisTaskFemto::SetFemtoReaderESDKine(AliFemtoEventReaderESDChainKine *aReader)
{
    if (fVerbose)
  AliInfo("Selecting Femto reader for ESD with Kinematics information\n");
  fReader = aReader;
}
//________________________________________________________________________
void AliAnalysisTaskFemto::SetFemtoReaderAOD(AliFemtoEventReaderAODChain *aReader)
{
    if (fVerbose)
  AliInfo("Selecting Femto reader for AOD\n");
  fReader = aReader;
}
void AliAnalysisTaskFemto::SetFemtoReaderStandard(AliFemtoEventReaderStandard *aReader)
{
    if (fVerbose)
  AliInfo("Selecting Standard all-purpose Femto reader\n");
  fReader = aReader;
}
void AliAnalysisTaskFemto::SetFemtoReaderKinematics(AliFemtoEventReaderKinematicsChain *aReader)
{
    if (fVerbose)
  printf("Selecting Femto reader for Kinematics (Monte Carlo) information\n");
  fReader = aReader;
}
void AliAnalysisTaskFemto::SetFemtoReaderKinematicsESD(AliFemtoEventReaderKinematicsChainESD *aReader)
{
  if (fVerbose)
    printf("Selecting Femto reader for Kinematics (Monte Carlo) information + ESD\n");
  fReader = aReader;
}
//________________________________________________________________________
void AliAnalysisTaskFemto::SetFemtoManager(AliFemtoManager *aManager)
{
  fManager = aManager;
    if (fVerbose)
  AliInfo(Form("Got reader %p\n", (void *) aManager->EventReader()));
  AliFemtoEventReaderESDChain     *tReaderESDChain     = dynamic_cast<AliFemtoEventReaderESDChain *> (aManager->EventReader());
  AliFemtoEventReaderESDChainKine *tReaderESDChainKine = dynamic_cast<AliFemtoEventReaderESDChainKine *> (aManager->EventReader());
  AliFemtoEventReaderAODChain     *tReaderAODChain     = dynamic_cast<AliFemtoEventReaderAODChain *> (aManager->EventReader());
  AliFemtoEventReaderStandard     *tReaderStandard     = dynamic_cast<AliFemtoEventReaderStandard *> (aManager->EventReader());
  AliFemtoEventReaderKinematicsChain *tReaderKineChain = dynamic_cast<AliFemtoEventReaderKinematicsChain *> (aManager->EventReader());
  AliFemtoEventReaderKinematicsChainESD *tReaderKineChainESD = dynamic_cast<AliFemtoEventReaderKinematicsChainESD *> (aManager->EventReader());

 if ((!tReaderESDChain) && (!tReaderESDChainKine) && (!tReaderAODChain) && (!tReaderStandard) && (!tReaderKineChain)  && (!tReaderKineChainESD)) {
        if (fVerbose)
    AliWarning("No AliFemto event reader created. Will not run femto analysis.\n");
    return;
  }
  if (tReaderESDChain) SetFemtoReaderESD(tReaderESDChain);
  if (tReaderESDChainKine) SetFemtoReaderESDKine(tReaderESDChainKine);
  if (tReaderAODChain) SetFemtoReaderAOD(tReaderAODChain);
  if (tReaderStandard) SetFemtoReaderStandard(tReaderStandard);
  if (tReaderKineChain) SetFemtoReaderKinematics(tReaderKineChain);
  if (tReaderKineChainESD) SetFemtoReaderKinematicsESD(tReaderKineChainESD);
}

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