ROOT logo
#ifndef ALIANALYSISTASKDIMUONCFCONTAINERBUILDER_CXX
#define ALIANALYSISTASKDIMUONCFCONTAINERBUILDER_CXX

/* $Id$ */

#include "AliAnalysisTaskDimuonCFContainerBuilder.h"
#include "AliStack.h"
#include "TParticle.h"
#include "TString.h"
#include "TLorentzVector.h"
#include "TH2D.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliCFManager.h"
#include "AliCFContainer.h"
#include "AliESDMuonTrack.h"
#include "AliESDInputHandler.h"
#include "AliAODInputHandler.h"
#include "AliAODMCParticle.h"

//	Analysis task for the building of a dimuon CF container
//	Also some single-muon variables are stored
//	All the variable ranges and binning are set in the AddTask macro
//	
//	author: L. Bianchi - Universita' & INFN Torino


ClassImp(AliAnalysisTaskDimuonCFContainerBuilder)

//__________________________________________________________________________
AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder() :
  fReadAODData(0),
  fReadMCInfo(kTRUE),
  fIsAccProduction(kTRUE),
  fCFManager(0x0),
  fQAHistList(0x0),
  fNevt(0),
  fBeamEnergy(3500.),
  fOutput(0x0),
  fCutOnzVtxSPD(kFALSE),
  fCutOnNContributors(kFALSE),
  fTrigClassMuon(""),
  fTrigClassInteraction(""),
  fDistinguishTrigClass(kFALSE)
{
  
  //Default constructor
  fNContributors[0]=0;
  fNContributors[0]=10000;
  Double_t chilims[2]={0.,10000.};
  Double_t ptlims[2]={0.,100.};
  Double_t thetalims[2]={0.,180.};
  Double_t vtxlims[2]={-1000.,1000.};
  SetChi2Limits(chilims);
  SetChi2MatchLimits(chilims);
  SetPtSingMuLimits(ptlims);
  SetThetaSingMuLimits(thetalims);
  SetZprimVertLimits(vtxlims);
  SetTrigClassMuonName();
  SetTrigClassInteracName();
  TString namemuonside[4]={"CMUS1A-","CMUS1B-","CMUS1C-","CMUS1-E-"};
  TString nameinteractionside[4]={"CINT1A-","CINT1B-","CINT1C-","CINT1-E"};
  SetTrigClassMuonSideName(namemuonside);
  SetTrigClassInteracSideName(nameinteractionside);
}
//___________________________________________________________________________
AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder(const Char_t* name, Bool_t readaod, Bool_t readMC, Bool_t isaccept, Double_t beamEn) :
  AliAnalysisTaskSE(name),
  fReadAODData(0),
  fReadMCInfo(kTRUE),
  fIsAccProduction(kTRUE),
  fCFManager(0x0),
  fQAHistList(0x0),
  fNevt(0),
  fBeamEnergy(3500.),
  fOutput(0x0),
  fCutOnzVtxSPD(kFALSE),
  fCutOnNContributors(kFALSE),
  fTrigClassMuon(""),
  fTrigClassInteraction(""),
  fDistinguishTrigClass(kFALSE)
{
  //
  // Constructor. Initialization of Inputs and Outputs
  //
  Info("AliAnalysisTaskDimuonCFContainerBuilder","Calling Constructor");

  fNContributors[0]=0;
  fNContributors[0]=10000;

  SetReadAODData(readaod);
  SetReadMCinfo(readMC);
  SetIsAccProd(isaccept);
  SetBeamEnergy(beamEn);

  Double_t chilims[2]={0.,10000.};
  Double_t ptlims[2]={0.,100.};
  Double_t thetalims[2]={0.,180.};
  Double_t vtxlims[2]={-1000.,1000.};
  SetChi2Limits(chilims);
  SetChi2MatchLimits(chilims);
  SetPtSingMuLimits(ptlims);
  SetThetaSingMuLimits(thetalims);
  SetZprimVertLimits(vtxlims);
  SetTrigClassMuonName();
  SetTrigClassInteracName();
  TString namemuonside[4]={"CMUS1A-","CMUS1B-","CMUS1C-","CMUS1-E-"};
  TString nameinteractionside[4]={"CINT1A-","CINT1B-","CINT1C-","CINT1-E"};
  SetTrigClassMuonSideName(namemuonside);
  SetTrigClassInteracSideName(nameinteractionside);
  
  DefineOutput(1,TList::Class());
  DefineOutput(2,AliCFContainer::Class());

}

//___________________________________________________________________________
AliAnalysisTaskDimuonCFContainerBuilder& AliAnalysisTaskDimuonCFContainerBuilder::operator=(const AliAnalysisTaskDimuonCFContainerBuilder& c) 
{
  //
  // Assignment operator
  //
  if (this!=&c) {
    AliAnalysisTaskSE::operator=(c) ;
    fReadAODData = c.fReadAODData ;
    fCFManager  = c.fCFManager;
    fQAHistList = c.fQAHistList ;
    fNevt = c.fNevt ;
  }
  return *this;
}

//___________________________________________________________________________
AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder(const AliAnalysisTaskDimuonCFContainerBuilder& c) :
  AliAnalysisTaskSE(c),
  fReadAODData(c.fReadAODData),
  fReadMCInfo(c.fReadMCInfo),
  fIsAccProduction(c.fIsAccProduction),
  fCFManager(c.fCFManager),
  fQAHistList(c.fQAHistList),
  fNevt(c.fNevt),
  fBeamEnergy(c.fBeamEnergy),
  fOutput(c.fOutput),
  fCutOnzVtxSPD(c.fCutOnzVtxSPD),
  fCutOnNContributors(c.fCutOnNContributors),
  fTrigClassMuon(c.fTrigClassMuon),
  fTrigClassInteraction(c.fTrigClassInteraction),
  fDistinguishTrigClass(c.fDistinguishTrigClass)
{
  
  // Copy Constructor
  fNContributors[0]=0;
  fNContributors[0]=10000;


  Double_t chilims[2]={0.,10000.};
  Double_t ptlims[2]={0.,100.};
  Double_t thetalims[2]={0.,180.};
  Double_t vtxlims[2]={-1000.,1000.};
  SetChi2Limits(chilims);
  SetChi2MatchLimits(chilims);
  SetPtSingMuLimits(ptlims);
  SetThetaSingMuLimits(thetalims);
  SetZprimVertLimits(vtxlims);
  
}

//___________________________________________________________________________
AliAnalysisTaskDimuonCFContainerBuilder::~AliAnalysisTaskDimuonCFContainerBuilder() {
  //
  //destructor
  //
  Info("~AliAnalysisTaskDimuonCFContainerBuilder","Calling Destructor");
  if (fCFManager)           delete fCFManager ;
  if (fQAHistList) {fQAHistList->Clear(); delete fQAHistList;}
}

//___________________________________________________________________________
void AliAnalysisTaskDimuonCFContainerBuilder::UserCreateOutputObjects(){
 //	UserCreateOutputObjects
 fOutput = new TList();
 fOutput->SetOwner(); 
 
 TH1D *hnevts	= new TH1D("hnevts","hnevts",1,0,1);					// Stat check histos
 TH1D *jpsiMult = new TH1D("jpsiMult","jpsiMult",20,0,20);	

 TH1D *ptdimuREC    = new TH1D("ptdimuREC","ptdimuREC",200,0,20);			// Dimu check histos
 TH1D *ydimuREC     = new TH1D("ydimuREC","ydimuREC",200,-10.,10.);	
 TH1D *ydimuFail     = new TH1D("ydimuFail","ydimuFail",10,660,670);
 TH1D *costHEdimuREC= new TH1D("costHEdimuREC","costHEdimuREC",200,-1.,1.);	
 TH1D *costCSdimuREC= new TH1D("costCSdimuREC","costCSdimuREC",200,-1.,1.);	
 TH1D *costHEdimuFail= new TH1D("costHEdimuFail","costHEdimuFail",10,660.,670.);	
 TH1D *costCSdimuFail= new TH1D("costCSdimuFail","costCSdimuFail",10,660.,670.);	
 TH1D *phiHEdimuREC = new TH1D("phiHEdimuREC","phiHEdimuREC",100,0.,TMath::Pi());	
 TH1D *phiCSdimuREC = new TH1D("phiCSdimuREC","phiCSdimuREC",100,0.,TMath::Pi());	
 TH1D *phiHEdimuFail = new TH1D("phiHEdimuFail","phiHEdimuFail",10,660.,670.);	
 TH1D *phiCSdimuFail = new TH1D("phiCSdimuFail","phiCSdimuFail",10,660.,670.);	
 TH1D *imassTot     = new TH1D("imassTot","imassTot",100,0,8);	
 TH1D *trigCond     = new TH1D("trigCond","trigCond",40,0,4);	

 TH1D *emuonREC	= new TH1D("emuonREC","emuonREC",200,0.,20.);				// Mu check histos
 TH1D *ptmuonREC= new TH1D("ptmuonREC","ptmuonREC",200,0.,20.);
 TH1D *ymuonREC	= new TH1D("ymuonREC","ymuonREC",200,-10.,10.);	
 TH1D *hdca	= new TH1D("hdca","hdca",20,0,200);
 TH2D *hdcay	= new TH2D("hdcay","hdcay",200,0,200,20,-5,0);

 TH1D *zvSPD 	= new TH1D("zvSPD","zvSPD",100,-50,50.);				// Event check histos
 TH1D *zvSPDcut	= new TH1D("zvSPDcut","zvSPDcut",100,-50,50.);
 TH1D *nContrib	= new TH1D("nContrib","nContrib",100,0,100);


 fOutput->Add(hnevts);
 fOutput->Add(jpsiMult); 

 fOutput->Add(ptdimuREC); 
 fOutput->Add(ydimuREC); 
 fOutput->Add(ydimuFail); 
 fOutput->Add(costHEdimuREC);
 fOutput->Add(costCSdimuREC);
 fOutput->Add(costHEdimuFail);
 fOutput->Add(costCSdimuFail);
 fOutput->Add(phiHEdimuREC);
 fOutput->Add(phiCSdimuREC);
 fOutput->Add(phiHEdimuFail);
 fOutput->Add(phiCSdimuFail);
 fOutput->Add(imassTot); 
 fOutput->Add(trigCond); 

 fOutput->Add(emuonREC); 
 fOutput->Add(ptmuonREC);
 fOutput->Add(ymuonREC);
 fOutput->Add(hdca);
 fOutput->Add(hdcay);
 
 fOutput->Add(zvSPD); 
 fOutput->Add(zvSPDcut); 
 fOutput->Add(nContrib); 

	
 fOutput->ls();
 

} 


//_________________________________________________
void AliAnalysisTaskDimuonCFContainerBuilder::UserExec(Option_t *)
{
  
  
  //Info("UserExec","");
  fNevt++;
  ((TH1D*)(fOutput->FindObject("hnevts")))->Fill(0.5);

  Double_t containerInput[15]={666,666,666,666,666,666,666,666,666,666,666,666,666,666,666};   //y, pT, costHE, phiHE, costCS, phiCS, mass, TrigCond
  Int_t cutAccept =1;
  Int_t numbJpsis =0;
   
  if (!fReadAODData){     // ESD-based ANALYSIS

    if (fReadMCInfo){

      if (!fMCEvent) {
	Error("UserExec","NO MC EVENT FOUND!");
	//return;
      }
 
      // MC part  ---------------------------------------------------------------------------------------------------

      //fCFManager->SetEventInfo(fMCEvent);					CHANGES IN NEW VERSIONS - MANUAL CUT ON PDG
      AliStack* stack = fMCEvent->Stack();
 
      // loop on the MC event
      for (Int_t ipart=0; ipart<fMCEvent->GetNumberOfTracks(); ipart++) { 

	AliMCParticle *mcPart  = (AliMCParticle*) fMCEvent->GetTrack(ipart);
  
	TParticle *part = mcPart->Particle(); 

	// Mother kinematics
	Double_t e = part->Energy();
	Double_t pz = part->Pz();		     
	Double_t rapmc = Rap(e,pz);

	// Selection of the resonance
	//if (!fCFManager->CheckParticleCuts(0,mcPart)) continue;
	if (part->GetPdgCode()!=443) continue;					// MANUAL CUT ON PDG
	numbJpsis++;
	
	// Decays kinematics
	Int_t p0 = part->GetDaughter(0);
	TParticle *part0 = stack->Particle(p0); 
	Int_t pdg0 = part0->GetPdgCode();
 
	Int_t p1 = part->GetDaughter(1);
	TParticle *part1 = stack->Particle(p1);
	Int_t pdg1 = part1->GetPdgCode();
  
	Double_t e0 = part0->Energy();
	Double_t pz0 = part0->Pz();
	Double_t py0 = part0->Py();
	Double_t px0 = part0->Px();
	Double_t charge0 = part0->GetPDG()->Charge()/3;
	Double_t theta0 = (180./TMath::Pi())*TMath::ATan2(TMath::Sqrt(px0*px0+py0*py0),pz0);
	Double_t pt0 = TMath::Sqrt(px0*px0+py0*py0);
	Double_t mom0 = part0->P();

	Double_t e1 = part1->Energy();
	Double_t pz1 = part1->Pz();
	Double_t py1 = part1->Py();
	Double_t px1 = part1->Px();
	//Double_t charge1 = part1->GetPDG()->Charge()/3;
	Double_t theta1 = (180./TMath::Pi())*TMath::ATan2(TMath::Sqrt(px1*px1+py1*py1),pz1);
	Double_t pt1 = TMath::Sqrt(px1*px1+py1*py1);
	Double_t mom1 = part1->P();

     
	if(pdg0==13 || pdg1==13) { 
 
	  Double_t ptmc = TMath::Sqrt((px0+px1)*(px0+px1)+(py0+py1)*(py0+py1));
	  Double_t imassmc = Imass(e0,px0,py0,pz0,e1,px1,py1,pz1);
      
	  Double_t costCS = CostCS(px0,py0,pz0,e0,charge0,px1,py1,pz1,e1);
	  Double_t costHE = CostHE(px0,py0,pz0,e0,charge0,px1,py1,pz1,e1);
	  Double_t phiCS  = PhiCS(px0,py0,pz0,e0,charge0,px1,py1,pz1,e1);
	  Double_t phiHE  = PhiHE(px0,py0,pz0,e0,charge0,px1,py1,pz1,e1);
 
	  containerInput[0]  = rapmc ;   
	  containerInput[1]  = ptmc;
	  containerInput[2]  = costHE;    
	  containerInput[3]  = TMath::Abs(phiHE);     
	  containerInput[4]  = costCS;	
	  containerInput[5]  = TMath::Abs(phiCS);
	  containerInput[6]  = imassmc;      
	  containerInput[7]  = 1.;		//for generated no trigger condition
	  if (pt0<pt1) {
	    containerInput[8]=pt0; 
	    containerInput[9]=pt1;
	  } else {
	    containerInput[8]=pt1; 
	    containerInput[9]=pt0;
	  }
	  if (theta0<theta1) {
	    containerInput[10]=theta0; 
	    containerInput[11]=theta1;
	  } else {
	    containerInput[10]=theta1; 
	    containerInput[11]=theta0;
	  }
	  if (mom0<mom1) {
	    containerInput[12]=mom0; 
	    containerInput[13]=mom1;
	  } else {
	    containerInput[12]=mom1; 
	    containerInput[13]=mom0;
	  }
	  containerInput[14]=1.;
 
	  // fill the container at the first step
	  fCFManager->GetParticleContainer()->Fill(containerInput,0);
	  	
	  if(fIsAccProduction){
	    // acceptance cuts on single mu
	    if(theta0<fThetaSingMuCut[0]||theta0>fThetaSingMuCut[1]||theta1<fThetaSingMuCut[0]||theta1>fThetaSingMuCut[1]) cutAccept=0;
	    if(pt0<fPtSingMuCut[0] || pt0>fPtSingMuCut[1] || pt1<fPtSingMuCut[0] || pt1>fPtSingMuCut[1]) cutAccept=0;
	    if (cutAccept ==1) fCFManager->GetParticleContainer()->Fill(containerInput,2);
	  }
	}
      } 
    } //fReadMCInfo


      // ESD part  ---------------------------------------------------------------------------------------------------
  
      AliESDEvent *fESD; 
      AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
      if ( ! esdH ) {
        AliError("Cannot get input event handler");
        return;
      }  
      fESD = esdH->GetEvent();
      Int_t mult1 = fESD->GetNumberOfMuonTracks() ;

      Int_t trigfired=-1;
      Int_t trigside=-1;
      if(fDistinguishTrigClass){
	//aod->GetHeader()->SetFiredTriggerClasses("CMU");
	TString trigclass = fESD->GetFiredTriggerClasses();
	printf("TrigClass: %s\n",trigclass.Data());
        if(trigclass.Contains(fTrigClassMuon)) trigfired = 1;
        else if (trigclass.Contains(fTrigClassInteraction)) trigfired = 0;
	printf("Muon container: %d\n",trigfired);
	for(Int_t i=0;i<4;i++){
	  if(trigfired==1 && trigclass.Contains(fTrigClassMuonSide[i])) {trigside=i;printf("Muon Side: %d\n",trigside);}
	  if(trigfired==0 && trigclass.Contains(fTrigClassInteractionSide[i])) {trigside=i;printf("Interaction Side: %d\n",trigside);}
	}
      }

      ((TH1D*)(fOutput->FindObject("zvSPD")))->Fill(fESD->GetPrimaryVertexSPD()->GetZ());
      ((TH1D*)(fOutput->FindObject("nContrib")))->Fill(fESD->GetPrimaryVertexSPD()->GetNContributors());
      if (!fCutOnzVtxSPD || (fCutOnzVtxSPD && (fESD->GetPrimaryVertexSPD()->GetZ()>fzPrimVertexSPD[0] && fESD->GetPrimaryVertexSPD()->GetZ()<fzPrimVertexSPD[1]))){
      ((TH1D*)(fOutput->FindObject("zvSPDcut")))->Fill(fESD->GetPrimaryVertexSPD()->GetZ());
      if (!fCutOnNContributors || (fCutOnNContributors && (fESD->GetPrimaryVertexSPD()->GetNContributors()>fNContributors[0] && fESD->GetPrimaryVertexSPD()->GetNContributors()<fNContributors[1]))){
      for (Int_t j = 0; j<mult1; j++) { 

	AliESDMuonTrack* mu1 = new AliESDMuonTrack(*(fESD->GetMuonTrack(j)));
	if (!mu1->ContainTrackerData()) continue;
	if (mu1->GetChi2()<fChi2Track[0] || mu1->GetChi2()>fChi2Track[1]) continue;
	if (mu1->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu1->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;
	Double_t zr1 = mu1->Charge();
	Double_t pxr1  = mu1->Px();
	Double_t pyr1  = mu1->Py();
	Double_t pzr1  = mu1->Pz();
        Double_t ptmu1 = TMath::Sqrt(pxr1*pxr1+pyr1*pyr1);
 	Double_t er1 = mu1->E();
	Double_t mom1 = mu1->P();
	Double_t theta1 = (180./TMath::Pi())*mu1->Theta();
	Double_t rapiditymu1 = Rap(er1,pzr1); 
	((TH1D*)(fOutput->FindObject("emuonREC")))->Fill(er1);
	((TH1D*)(fOutput->FindObject("ptmuonREC")))->Fill(ptmu1);
	((TH1D*)(fOutput->FindObject("ymuonREC")))->Fill(rapiditymu1);

	if(zr1<0){

	    for (Int_t jj = 0; jj<mult1; jj++) {

	      AliESDMuonTrack* mu2 = new AliESDMuonTrack(*(fESD->GetMuonTrack(jj)));
	      if (!mu2->ContainTrackerData()) continue;
	      if (mu2->GetChi2()<fChi2Track[0] || mu2->GetChi2()>fChi2Track[1]) continue;
	      if (mu2->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu2->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;
	      Double_t zr2 = mu2->Charge();

	      if(zr2>0){
		Double_t trigCondition=0;
		if (mu1->GetMatchTrigger()>=mu2->GetMatchTrigger()) trigCondition = mu1->GetMatchTrigger()+0.1*mu2->GetMatchTrigger();
		else trigCondition = mu2->GetMatchTrigger()+0.1*mu1->GetMatchTrigger();
		((TH1D*)(fOutput->FindObject("trigCond")))->Fill(trigCondition);
		Double_t pxr2 = mu2->Px();
		Double_t pyr2 = mu2->Py();
		Double_t pzr2 = mu2->Pz();
                Double_t ptmu2 = TMath::Sqrt(pxr2*pxr2+pyr2*pyr2);
		Double_t er2 = mu2->E();
		Double_t mom2 = mu2->P();
		Double_t theta2 = (180./TMath::Pi())*mu2->Theta();

		Double_t ptrec = TMath::Sqrt((pxr1+pxr2)*(pxr1+pxr2)+(pyr1+pyr2)*(pyr1+pyr2));
		((TH1D*)(fOutput->FindObject("ptdimuREC")))->Fill(ptrec);
		Double_t raprec= Rap((er1+er2),(pzr1+pzr2));
		((TH1D*)(fOutput->FindObject("ydimuREC")))->Fill(raprec);
		Double_t imassrec = Imass(er1,pxr1,pyr1,pzr1,er2,pxr2,pyr2,pzr2);
		((TH1D*)(fOutput->FindObject("imassTot")))->Fill(imassrec);

		if (imassrec>12.) continue;
		    
		Double_t costCSrec = CostCS(pxr1,pyr1,pzr1,er1,zr1,pxr2,pyr2,pzr2,er2);
		((TH1D*)(fOutput->FindObject("costCSdimuREC")))->Fill(costCSrec);
		if((Int_t)costCSrec==666) ((TH1D*)(fOutput->FindObject("costCSdimuFail")))->Fill(costCSrec);
		Double_t costHErec = CostHE(pxr1,pyr1,pzr1,er1,zr1,pxr2,pyr2,pzr2,er2);
		((TH1D*)(fOutput->FindObject("costHEdimuREC")))->Fill(costHErec);
		if((Int_t)costHErec==666) ((TH1D*)(fOutput->FindObject("costHEdimuFail")))->Fill(costHErec);
		Double_t phiCSrec  = PhiCS(pxr1,pyr1,pzr1,er1,zr1,pxr2,pyr2,pzr2,er2);
		((TH1D*)(fOutput->FindObject("phiCSdimuREC")))->Fill(phiCSrec);
		if((Int_t)phiCSrec==666) ((TH1D*)(fOutput->FindObject("phiCSdimuFail")))->Fill(phiCSrec);
		Double_t phiHErec  = PhiHE(pxr1,pyr1,pzr1,er1,zr1,pxr2,pyr2,pzr2,er2);
		((TH1D*)(fOutput->FindObject("phiHEdimuREC")))->Fill(phiHErec);
		if((Int_t)phiHErec==666) ((TH1D*)(fOutput->FindObject("phiHEdimuFail")))->Fill(phiHErec);

		containerInput[0] = raprec ;   
		containerInput[1] = ptrec;
		containerInput[2] = costHErec;	
		containerInput[3] = TMath::Abs(phiHErec);	
		containerInput[4] = costCSrec;	
		containerInput[5] = TMath::Abs(phiCSrec);
		containerInput[6] = imassrec;  
		containerInput[7] = trigCondition+0.05;
		if (ptmu1<ptmu2) {
		  containerInput[8]=ptmu1; 
		  containerInput[9]=ptmu2;
		} else {
		  containerInput[8]=ptmu2; 
		  containerInput[9]=ptmu1;
		}
		if (theta1<theta2) {
		  containerInput[10]=theta1; 
		  containerInput[11]=theta2;
		} else {
		  containerInput[10]=theta2; 
		  containerInput[11]=theta1;
		}
		if (mom1<mom2) {
		  containerInput[12]=mom1; 
		  containerInput[13]=mom2;
		} else {
		  containerInput[12]=mom2; 
		  containerInput[13]=mom1;
		}
		if (fDistinguishTrigClass && trigside==0) containerInput[14]=0.;
		else if (fDistinguishTrigClass && trigside==1) containerInput[14]=1.;
		else if (fDistinguishTrigClass && trigside==2) containerInput[14]=2.;
		else if (fDistinguishTrigClass && trigside==3) containerInput[14]=3.;
		else containerInput[14]=0.;
		    
		if(fDistinguishTrigClass){    
		  if (trigfired==1) fCFManager->GetParticleContainer()->Fill(containerInput,5);
		  else if (trigfired==0) fCFManager->GetParticleContainer()->Fill(containerInput,1);
		} else {
		  fCFManager->GetParticleContainer()->Fill(containerInput,1);
		  if(fIsAccProduction){
		    if(cutAccept==1) fCFManager->GetParticleContainer()->Fill(containerInput,3);
		  }
		}
	      }  // mu+ Selection

	    }      // second mu Loop
	 }          // mu- Selection
     }  
	}
      }
  } else {     // AOD-based ANALYSIS

    AliAODEvent *aod;
    AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    if ( ! aodH ) {
      AliError("Cannot get input event handler");
      return;
    }
    aod = aodH->GetEvent();
    Int_t ntracks=aod->GetNumberOfTracks(); 

    // MC part  ---------------------------------------------------------------------------------------------------

    if (fReadMCInfo){
      TClonesArray *mcarray = dynamic_cast<TClonesArray*> (aod->FindListObject(AliAODMCParticle::StdBranchName()));  //array of MC particles in this event
      if ( ! mcarray ) {
        AliError("Cannot associate MC branch");
        return;
      }
      for(int ii=0;ii<mcarray->GetEntries();ii++){
	AliAODMCParticle *mctrack = (AliAODMCParticle*) mcarray->At(ii);
	if(mctrack->GetPdgCode()!=13) continue;
	Int_t numbMother = mctrack->GetMother();
	if (numbMother==-1) continue;
	AliAODMCParticle *mother = (AliAODMCParticle*) mcarray->At(numbMother);
	if (mother->GetPdgCode()!=443) continue;
	numbJpsis++;
	Int_t daught0 = mother->GetDaughter(0);
	Int_t daught1 = mother->GetDaughter(1);
	AliAODMCParticle *mcDaughter0 = (AliAODMCParticle*) mcarray->At(daught0);
	Double_t pxmc0 = mcDaughter0->Px();
	Double_t pymc0 = mcDaughter0->Py();
	Double_t pzmc0 = mcDaughter0->Pz();
	Double_t ptmc0 = mcDaughter0->Pt();
	Double_t mommc0 = mcDaughter0->P();
	Double_t emc0  = mcDaughter0->E();
	Double_t thetamc0 = (180./TMath::Pi())*mcDaughter0->Theta();
	Int_t charge0 = (Int_t) mcDaughter0->Charge()/3;
	AliAODMCParticle *mcDaughter1 = (AliAODMCParticle*) mcarray->At(daught1);
	Double_t pxmc1 = mcDaughter1->Px();
	Double_t pymc1 = mcDaughter1->Py();
	Double_t pzmc1 = mcDaughter1->Pz();
	Double_t ptmc1 = mcDaughter1->Pt();
	Double_t mommc1 = mcDaughter1->P();
	Double_t emc1  = mcDaughter1->E();
	Double_t thetamc1 = (180./TMath::Pi())*mcDaughter1->Theta();
	Int_t charge1 = (Int_t) mcDaughter1->Charge()/3;
      
	if (charge0==charge1 || TMath::Abs(mcDaughter0->GetPdgCode())!=13 || TMath::Abs(mcDaughter1->GetPdgCode())!=13) continue;
	Double_t rapJpsi = Rap(mother->E(),mother->Pz());
	Double_t ptJpsi = mother->Pt();
	Double_t costHE = CostHE(pxmc0,pymc0,pzmc0,emc0,(Double_t)charge0,pxmc1,pymc1,pzmc1,emc1);
	Double_t phiHE  = PhiHE(pxmc0,pymc0,pzmc0,emc0,(Double_t)charge0,pxmc1,pymc1,pzmc1,emc1);
	Double_t costCS = CostCS(pxmc0,pymc0,pzmc0,emc0,(Double_t)charge0,pxmc1,pymc1,pzmc1,emc1);
	Double_t phiCS  = PhiCS(pxmc0,pymc0,pzmc0,emc0,(Double_t)charge0,pxmc1,pymc1,pzmc1,emc1);
	Double_t massJpsi = mother->M();
	containerInput[0] = rapJpsi;
	containerInput[1] = ptJpsi;
	containerInput[2] = costHE;
	containerInput[3] = TMath::Abs(phiHE);
	containerInput[4] = costCS;
	containerInput[5] = TMath::Abs(phiCS);
	containerInput[6] = massJpsi;
	containerInput[7] = 1.;		//for generated no trigger condition
	if (ptmc0<ptmc1) {
	  containerInput[8]=ptmc0; 
	  containerInput[9]=ptmc1;
	} else {
	  containerInput[8]=ptmc1; 
	  containerInput[9]=ptmc0;
	}
	if (thetamc0<thetamc1) {
	  containerInput[10]=thetamc0; 
	  containerInput[11]=thetamc1;
	} else {
	  containerInput[10]=thetamc1; 
	  containerInput[11]=thetamc0;
	}
	if (mommc0<mommc1) {
	  containerInput[12]=mommc0; 
	  containerInput[13]=mommc1;
	} else {
	  containerInput[12]=mommc1; 
	  containerInput[13]=mommc0;
	}
	containerInput[14]=1.;
      
	if((Int_t)rapJpsi!=666 && (Int_t)costHE!=666 && (Int_t)phiHE!=666 && (Int_t)costCS!=666 && (Int_t)phiCS!=666){
	  fCFManager->GetParticleContainer()->Fill(containerInput,0);
	  if(fIsAccProduction){
	    // acceptance cuts on single mu
	    if(thetamc0<fThetaSingMuCut[0]||thetamc0>fThetaSingMuCut[1]||thetamc1<fThetaSingMuCut[0]||thetamc1>fThetaSingMuCut[1]) cutAccept=0;
	    if(ptmc0<fPtSingMuCut[0] || ptmc0>fPtSingMuCut[1] || ptmc1<fPtSingMuCut[0] || ptmc1>fPtSingMuCut[1]) cutAccept=0;
	    if (cutAccept ==1) fCFManager->GetParticleContainer()->Fill(containerInput,2);
	  }
	  
	}

	}
      }
      
      
      // AOD part  ---------------------------------------------------------------------------------------------------
      
      Int_t trigfired=-1;
      Int_t trigside=-1;
      if(fDistinguishTrigClass){
	TString trigclass = aod->GetFiredTriggerClasses();
	printf("TrigClass: %s\n",trigclass.Data());
        if(trigclass.Contains(fTrigClassMuon)) trigfired = 1;
        else if (trigclass.Contains(fTrigClassInteraction)) trigfired = 0;
	printf("Muon container: %d\n",trigfired);
	for(Int_t i=0;i<4;i++){
	  if(trigfired==1 && trigclass.Contains(fTrigClassMuonSide[i])) {trigside=i;printf("Muon Side: %d\n",trigside);}
	  if(trigfired==0 && trigclass.Contains(fTrigClassInteractionSide[i])) {trigside=i;printf("Interaction Side: %d\n",trigside);}
	}
      }
      
      ((TH1D*)(fOutput->FindObject("zvSPD")))->Fill(aod->GetPrimaryVertex()->GetZ());
      Int_t ncontr = aod->GetPrimaryVertex()->GetNContributors();
      ((TH1D*)(fOutput->FindObject("nContrib")))->Fill(ncontr);
      if (!fCutOnzVtxSPD || (fCutOnzVtxSPD && (aod->GetPrimaryVertex()->GetZ()>fzPrimVertexSPD[0] && aod->GetPrimaryVertex()->GetZ()<fzPrimVertexSPD[1]))){	//NOT REALLY SPD VERTEX
      ((TH1D*)(fOutput->FindObject("zvSPDcut")))->Fill(aod->GetPrimaryVertex()->GetZ());
      if (!fCutOnNContributors || (fCutOnNContributors && (aod->GetPrimaryVertex()->GetNContributors()>fNContributors[0] && aod->GetPrimaryVertex()->GetNContributors()<fNContributors[1]))){
      for (Int_t j = 0; j<ntracks; j++) {
	AliAODTrack *mu1 = dynamic_cast<AliAODTrack*>(aod->GetTrack(j));
	if(!mu1) AliFatal("Not a standard AOD");
	if(!mu1->IsMuonTrack()) continue;
	if (mu1->Chi2perNDF()<fChi2Track[0] || mu1->Chi2perNDF()>fChi2Track[1]) continue;
	if (mu1->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu1->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;
	Double_t chargemu1 = mu1->Charge();
	Double_t pxmu1 = mu1->Px();
	Double_t pymu1 = mu1->Py();
	Double_t pzmu1 = mu1->Pz();
	Double_t emu1 = mu1->E();
	Double_t pmu1 = mu1->P();
	Double_t ptmu1 = mu1->Pt();
	Double_t rapiditymu1 = Rap(emu1,pzmu1); 
	Double_t thetamu1 = (180./TMath::Pi())*mu1->Theta();
	Double_t rdcamu1 = mu1->DCA();
	((TH1D*)(fOutput->FindObject("emuonREC")))->Fill(emu1);
	((TH1D*)(fOutput->FindObject("ptmuonREC")))->Fill(ptmu1);
	((TH1D*)(fOutput->FindObject("ymuonREC")))->Fill(rapiditymu1);
	if(chargemu1<0){
	  for (Int_t jj = 0; jj<ntracks; jj++) { 
	    AliAODTrack *mu2 = dynamic_cast<AliAODTrack*>(aod->GetTrack(jj));
	    if(!mu2) AliFatal("Not a standard AOD");
	    if(!mu2->IsMuonTrack()) continue;
	    if (mu2->Chi2perNDF()<fChi2Track[0] || mu2->Chi2perNDF()>fChi2Track[1]) continue;
	    if (mu2->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu2->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;
	    Double_t chargemu2 = mu2->Charge();
	    Double_t pxmu2 = mu2->Px();
	    Double_t pymu2 = mu2->Py();
	    Double_t pzmu2 = mu2->Pz();
	    Double_t emu2 = mu2->E();
	    Double_t pmu2 = mu2->P();
	    Double_t ptmu2 = mu2->Pt();
	    //Double_t rapiditymu2 = Rap(emu2,pzmu2); 
	    Double_t thetamu2 = (180./TMath::Pi())*mu2->Theta();
	    Double_t rdcamu2 = mu2->DCA();
	    if(chargemu2>0){
	    if (mu1->GetMatchTrigger()>0) printf("Mu1: charge: %f, match: %d\n",chargemu1,1);
	    else  printf("Mu1: charge: %f, match: %d\n",chargemu1,0);
	    if (mu2->GetMatchTrigger()>0) printf("Mu2: charge: %f, match: %d\n",chargemu2,1);
	    else printf("Mu2: charge: %f, match: %d\n",chargemu2,0);
	      ((TH1D*)(fOutput->FindObject("hdca")))->Fill(rdcamu2);
	      ((TH1D*)(fOutput->FindObject("hdca")))->Fill(rdcamu1);
	      Double_t trigCondition=0;
	      if (mu1->GetMatchTrigger()>=mu2->GetMatchTrigger()) trigCondition = mu1->GetMatchTrigger()+0.1*mu2->GetMatchTrigger();
		else trigCondition = mu2->GetMatchTrigger()+0.1*mu1->GetMatchTrigger();	    
	      containerInput[0] = (Double_t) Rap((emu1+emu2),(pzmu1+pzmu2));  
	      ((TH1D*)(fOutput->FindObject("ydimuREC")))->Fill(containerInput[0]);
	      ((TH2D*)(fOutput->FindObject("hdcay")))->Fill(TMath::Max(rdcamu1,rdcamu2),containerInput[0]);
	      //((TH2D*)(fOutput->FindObject("hdcay")))->Fill(Rdcamu2,containerInput[0]);
	      containerInput[1] = (Double_t) TMath::Sqrt((pxmu1+pxmu2)*(pxmu1+pxmu2)+(pymu1+pymu2)*(pymu1+pymu2));
	      ((TH1D*)(fOutput->FindObject("ptdimuREC")))->Fill(containerInput[1]);
	      containerInput[2] = CostHE(pxmu1,pymu1,pzmu1,emu1,chargemu1,pxmu2,pymu2,pzmu2,emu2);
	      ((TH1D*)(fOutput->FindObject("costHEdimuREC")))->Fill(containerInput[2]);
	      if(containerInput[2]==666) ((TH1D*)(fOutput->FindObject("costHEdimuFail")))->Fill(containerInput[2]);
	      containerInput[3] = TMath::Abs(PhiHE(pxmu1,pymu1,pzmu1,emu1,chargemu1,pxmu2,pymu2,pzmu2,emu2));
	      ((TH1D*)(fOutput->FindObject("phiHEdimuREC")))->Fill(containerInput[3]);
	      if(containerInput[3]==666) ((TH1D*)(fOutput->FindObject("phiHEdimuFail")))->Fill(containerInput[3]);
	      containerInput[4] = CostCS(pxmu1,pymu1,pzmu1,emu1,chargemu1,pxmu2,pymu2,pzmu2,emu2);
	      ((TH1D*)(fOutput->FindObject("costCSdimuREC")))->Fill(containerInput[4]);
	      if(containerInput[4]==666) ((TH1D*)(fOutput->FindObject("costCSdimuFail")))->Fill(containerInput[4]);
	      containerInput[5] = TMath::Abs(PhiCS(pxmu1,pymu1,pzmu1,emu1,chargemu1,pxmu2,pymu2,pzmu2,emu2));
	      ((TH1D*)(fOutput->FindObject("phiCSdimuREC")))->Fill(containerInput[5]);
	      if(containerInput[5]==666) ((TH1D*)(fOutput->FindObject("phiCSdimuFail")))->Fill(containerInput[5]);
	      containerInput[6] = Imass(emu1,pxmu1,pymu1,pzmu1,emu2,pxmu2,pymu2,pzmu2);
	      ((TH1D*)(fOutput->FindObject("imassTot")))->Fill(containerInput[6]);
	      containerInput[7] = trigCondition+0.05;
	      ((TH1D*)(fOutput->FindObject("trigCond")))->Fill(containerInput[7]);
	      if (ptmu1<ptmu2) {
		containerInput[8]=ptmu1; 
		containerInput[9]=ptmu2;
	      } else {
		containerInput[8]=ptmu2; 
		containerInput[9]=ptmu1;
	      }
	      if (thetamu1<thetamu2) {
		containerInput[10]=thetamu1; 
		containerInput[11]=thetamu2;
	      } else {
		containerInput[10]=thetamu2; 
		containerInput[11]=thetamu1;
	      }
	      if (pmu1<pmu2) {
		containerInput[12]=pmu1; 
		containerInput[13]=pmu2;
	      } else {
		containerInput[12]=pmu2; 
		containerInput[13]=pmu1;
	      }
	      if (fDistinguishTrigClass && trigside==0) containerInput[14]=0.;
	      else if (fDistinguishTrigClass && trigside==1) containerInput[14]=1.;
	      else if (fDistinguishTrigClass && trigside==2) containerInput[14]=2.;
	      else if (fDistinguishTrigClass && trigside==3) containerInput[14]=3.;
	      else containerInput[14]=0.;
 	      
	      if(containerInput[2]!=666 && containerInput[3]!=666 && containerInput[4]!=666 && containerInput[5]!=666){
		if(fDistinguishTrigClass){
		  if (trigfired==1) fCFManager->GetParticleContainer()->Fill(containerInput,5);
		  else if (trigfired==0) fCFManager->GetParticleContainer()->Fill(containerInput,1);
		} else {
		  fCFManager->GetParticleContainer()->Fill(containerInput,1);
		  if(fIsAccProduction){
		    if (cutAccept ==1) fCFManager->GetParticleContainer()->Fill(containerInput,3);
		  }
		}
	      } else if (containerInput[0]==666) ((TH1D*)(fOutput->FindObject("ydimuFail")))->Fill(containerInput[0]);
	    
	  }

	}

      }

    } 
    }
    }
   

  }


//  ----------
  if (fReadMCInfo) ((TH1D*)(fOutput->FindObject("jpsiMult")))->Fill(numbJpsis);

  PostData(1,fOutput) ;
  PostData(2,fCFManager->GetParticleContainer()) ;
  
  
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::Imass(Double_t e1, Double_t px1, Double_t py1, Double_t pz1,
				   Double_t e2, Double_t px2, Double_t py2, Double_t pz2) const
{
// invariant mass calculation
    Double_t imassrec = TMath::Sqrt((e1+e2)*(e1+e2)-((px1+px2)*(px1+px2)+
                                    (py1+py2)*(py1+py2)+(pz1+pz2)*(pz1+pz2)));
    return imassrec;
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::Rap(Double_t e, Double_t pz) const
{
// calculate rapidity
    Double_t rap;
    if(e>TMath::Abs(pz)){                         // in order to avoid problems with AODs
	rap = 0.5*TMath::Log((e+pz)/(e-pz));
	return rap;
    }
    else{
	rap = 666.;
	return rap;
    }
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::CostCS(Double_t px1, Double_t py1, Double_t pz1, Double_t e1,
Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2)
{
// Cosine of the theta decay angle (mu+) in the Collins-Soper frame

  TLorentzVector pMu1CM, pMu2CM, pProjCM, pTargCM, pDimuCM; // In the CM. frame
  TLorentzVector pMu1Dimu, pMu2Dimu, pProjDimu, pTargDimu; // In the dimuon rest frame
  TVector3 beta,zaxisCS;
  Double_t mp=0.93827231;
  //
  // --- Fill the Lorentz vector for projectile and target in the CM frame
  //
  pProjCM.SetPxPyPzE(0.,0.,-fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); 
  pTargCM.SetPxPyPzE(0.,0.,fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); 
  //
  // --- Get the muons parameters in the CM frame 
  //
  pMu1CM.SetPxPyPzE(px1,py1,pz1,e1);
  pMu2CM.SetPxPyPzE(px2,py2,pz2,e2);
  //
  // --- Obtain the dimuon parameters in the CM frame
  //
  pDimuCM=pMu1CM+pMu2CM;
  //
  // --- Translate the dimuon parameters in the dimuon rest frame
  //
  beta=(-1./pDimuCM.E())*pDimuCM.Vect();
  if(beta.Mag()>=1) return 666.;
  pMu1Dimu=pMu1CM;
  pMu2Dimu=pMu2CM;
  pProjDimu=pProjCM;
  pTargDimu=pTargCM;
  pMu1Dimu.Boost(beta);
  pMu2Dimu.Boost(beta);
  pProjDimu.Boost(beta);
  pTargDimu.Boost(beta);
  
  //Debugging part -------------------------------------
  Double_t debugProj[4]={0.,0.,0.,0.};
  Double_t debugTarg[4]={0.,0.,0.,0.};
  Double_t debugMu1[4]={0.,0.,0.,0.};
  Double_t debugMu2[4]={0.,0.,0.,0.};
  pMu1Dimu.GetXYZT(debugMu1);
  pMu2Dimu.GetXYZT(debugMu2);
  pProjDimu.GetXYZT(debugProj);
  pTargDimu.GetXYZT(debugTarg);
  if (debugProj[0]!=debugProj[0] ||debugProj[1]!=debugProj[1] || debugProj[2]!=debugProj[2] ||debugProj[3]!=debugProj[3]) return 666; 
  if (debugTarg[0]!=debugTarg[0] ||debugTarg[1]!=debugTarg[1] || debugTarg[2]!=debugTarg[2] ||debugTarg[3]!=debugTarg[3]) return 666; 
  if (debugMu1[0]!=debugMu1[0] ||debugMu1[1]!=debugMu1[1] || debugMu1[2]!=debugMu1[2] ||debugMu1[3]!=debugMu1[3]) return 666; 
  if (debugMu2[0]!=debugMu2[0] ||debugMu2[1]!=debugMu2[1] || debugMu2[2]!=debugMu2[2] ||debugMu2[3]!=debugMu2[3]) return 666; 
  //----------------------------------------------------

  // --- Determine the z axis for the CS angle 
  zaxisCS=(((pProjDimu.Vect()).Unit())-((pTargDimu.Vect()).Unit())).Unit();
  				     
  // --- Determine the CS angle (angle between mu+ and the z axis defined above)
  Double_t cost;
  
  if(charge1>0) {cost = zaxisCS.Dot((pMu1Dimu.Vect()).Unit());}
  else {cost = zaxisCS.Dot((pMu2Dimu.Vect()).Unit());}
  
  return cost;
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::CostHE(Double_t px1, Double_t py1, Double_t pz1, Double_t e1,
Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2)
{
// Cosine of the theta decay angle (mu+) in the Helicity frame
  
  TLorentzVector pMu1CM, pMu2CM, pDimuCM; // In the CM frame 
  TLorentzVector pMu1Dimu, pMu2Dimu; // In the dimuon rest frame
  TVector3 beta,zaxisCS;
  //
  // --- Get the muons parameters in the CM frame
  //
  pMu1CM.SetPxPyPzE(px1,py1,pz1,e1);
  pMu2CM.SetPxPyPzE(px2,py2,pz2,e2);
  //
  // --- Obtain the dimuon parameters in the CM frame
  //
  pDimuCM=pMu1CM+pMu2CM;
  //
  // --- Translate the muon parameters in the dimuon rest frame
  //
  beta=(-1./pDimuCM.E())*pDimuCM.Vect();
  if(beta.Mag()>=1) return 666.;
  pMu1Dimu=pMu1CM;
  pMu2Dimu=pMu2CM;
  pMu1Dimu.Boost(beta);
  pMu2Dimu.Boost(beta);
  
  //Debugging part -------------------------------------
  Double_t debugMu1[4]={0.,0.,0.,0.};
  Double_t debugMu2[4]={0.,0.,0.,0.};
  pMu1Dimu.GetXYZT(debugMu1);
  pMu2Dimu.GetXYZT(debugMu2);
  if (debugMu1[0]!=debugMu1[0] ||debugMu1[1]!=debugMu1[1] || debugMu1[2]!=debugMu1[2] ||debugMu1[3]!=debugMu1[3]) return 666; 
  if (debugMu2[0]!=debugMu2[0] ||debugMu2[1]!=debugMu2[1] || debugMu2[2]!=debugMu2[2] ||debugMu2[3]!=debugMu2[3]) return 666; 
  //----------------------------------------------------
 
  // --- Determine the z axis for the calculation of the polarization angle (i.e. the direction of the dimuon in the CM system)
  TVector3 zaxis;
  zaxis=(pDimuCM.Vect()).Unit();
  
  // --- Calculation of the polarization angle (angle between mu+ and the z axis defined above)
  Double_t cost;
  if(charge1>0) {cost = zaxis.Dot((pMu1Dimu.Vect()).Unit());} 
  else {cost = zaxis.Dot((pMu2Dimu.Vect()).Unit());} 
  return cost;
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::PhiCS(Double_t px1, Double_t py1, Double_t pz1, Double_t e1,
Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2)
{
// Phi decay angle (mu+) in the Collins-Soper frame

   TLorentzVector pMu1CM, pMu2CM, pProjCM, pTargCM, pDimuCM; // In the CM frame
   TLorentzVector pMu1Dimu, pMu2Dimu, pProjDimu, pTargDimu; // In the dimuon rest frame
   TVector3 beta,yaxisCS, xaxisCS, zaxisCS;
   Double_t mp=0.93827231;
   
   // --- Fill the Lorentz vector for projectile and target in the CM frame
   pProjCM.SetPxPyPzE(0.,0.,-fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); 
   pTargCM.SetPxPyPzE(0.,0.,fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); 
   
   // --- Get the muons parameters in the CM frame 
   pMu1CM.SetPxPyPzE(px1,py1,pz1,e1);
   pMu2CM.SetPxPyPzE(px2,py2,pz2,e2);
   
   // --- Obtain the dimuon parameters in the CM frame
   pDimuCM=pMu1CM+pMu2CM;
   
   // --- Translate the dimuon parameters in the dimuon rest frame
   beta=(-1./pDimuCM.E())*pDimuCM.Vect();
   if(beta.Mag()>=1) return 666.;
   pMu1Dimu=pMu1CM;
   pMu2Dimu=pMu2CM;
   pProjDimu=pProjCM;
   pTargDimu=pTargCM;
   pMu1Dimu.Boost(beta);
   pMu2Dimu.Boost(beta);
   pProjDimu.Boost(beta);
   pTargDimu.Boost(beta);

   //Debugging part -------------------------------------
   Double_t debugProj[4]={0.,0.,0.,0.};
   Double_t debugTarg[4]={0.,0.,0.,0.};
   Double_t debugMu1[4]={0.,0.,0.,0.};
   Double_t debugMu2[4]={0.,0.,0.,0.};
   pMu1Dimu.GetXYZT(debugMu1);
   pMu2Dimu.GetXYZT(debugMu2);
   pProjDimu.GetXYZT(debugProj);
   pTargDimu.GetXYZT(debugTarg);
   if (debugProj[0]!=debugProj[0] ||debugProj[1]!=debugProj[1] || debugProj[2]!=debugProj[2] ||debugProj[3]!=debugProj[3]) return 666; 
   if (debugTarg[0]!=debugTarg[0] ||debugTarg[1]!=debugTarg[1] || debugTarg[2]!=debugTarg[2] ||debugTarg[3]!=debugTarg[3]) return 666; 
   if (debugMu1[0]!=debugMu1[0] ||debugMu1[1]!=debugMu1[1] || debugMu1[2]!=debugMu1[2] ||debugMu1[3]!=debugMu1[3]) return 666; 
   if (debugMu2[0]!=debugMu2[0] ||debugMu2[1]!=debugMu2[1] || debugMu2[2]!=debugMu2[2] ||debugMu2[3]!=debugMu2[3]) return 666; 
   //----------------------------------------------------

   // --- Determine the z axis for the CS angle 
   zaxisCS=(((pProjDimu.Vect()).Unit())-((pTargDimu.Vect()).Unit())).Unit();
   yaxisCS=(((pProjDimu.Vect()).Unit()).Cross((pTargDimu.Vect()).Unit())).Unit();
   xaxisCS=(yaxisCS.Cross(zaxisCS)).Unit();
 
   Double_t phi=0.;
   if(charge1>0) {
       phi = TMath::ATan2((pMu1Dimu.Vect()).Dot(yaxisCS),((pMu1Dimu.Vect()).Dot(xaxisCS)));
   } else {
       phi = TMath::ATan2((pMu2Dimu.Vect()).Dot(yaxisCS),((pMu2Dimu.Vect()).Dot(xaxisCS)));
   }
   if (phi>TMath::Pi()) phi=phi-TMath::Pi();
   
   return phi;
}

//________________________________________________________________________
Double_t AliAnalysisTaskDimuonCFContainerBuilder::PhiHE(Double_t px1, Double_t py1, Double_t pz1, Double_t e1,
Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2)
{
// Phi decay angle (mu+) in the Helicity frame
  TLorentzVector pMu1Lab, pMu2Lab, pProjLab, pTargLab, pDimuLab; // In the lab. frame 
  TLorentzVector pMu1Dimu, pMu2Dimu, pProjDimu, pTargDimu; // In the dimuon rest frame
  TVector3 beta,xaxis, yaxis,zaxis;
  Double_t mp=0.93827231;

  // --- Get the muons parameters in the LAB frame
  pMu1Lab.SetPxPyPzE(px1,py1,pz1,e1);
  pMu2Lab.SetPxPyPzE(px2,py2,pz2,e2);
  
  // --- Obtain the dimuon parameters in the LAB frame
  pDimuLab=pMu1Lab+pMu2Lab;
  zaxis=(pDimuLab.Vect()).Unit();
  
  // --- Translate the muon parameters in the dimuon rest frame
  beta=(-1./pDimuLab.E())*pDimuLab.Vect();
  if(beta.Mag()>=1.) return 666.;

  pProjLab.SetPxPyPzE(0.,0.,-fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); // proiettile
  pTargLab.SetPxPyPzE(0.,0.,fBeamEnergy,TMath::Sqrt(fBeamEnergy*fBeamEnergy+mp*mp)); // bersaglio

  pProjDimu=pProjLab;
  pTargDimu=pTargLab;

  pProjDimu.Boost(beta);
  pTargDimu.Boost(beta);
  
  yaxis=((pProjDimu.Vect()).Cross(pTargDimu.Vect())).Unit();
  xaxis=(yaxis.Cross(zaxis)).Unit();
  
  pMu1Dimu=pMu1Lab;
  pMu2Dimu=pMu2Lab;
  pMu1Dimu.Boost(beta);
  pMu2Dimu.Boost(beta);
  
  //Debugging part -------------------------------------
  Double_t debugProj[4]={0.,0.,0.,0.};
  Double_t debugTarg[4]={0.,0.,0.,0.};
  Double_t debugMu1[4]={0.,0.,0.,0.};
  Double_t debugMu2[4]={0.,0.,0.,0.};
  pMu1Dimu.GetXYZT(debugMu1);
  pMu2Dimu.GetXYZT(debugMu2);
  pProjDimu.GetXYZT(debugProj);
  pTargDimu.GetXYZT(debugTarg);
  if (debugProj[0]!=debugProj[0] ||debugProj[1]!=debugProj[1] || debugProj[2]!=debugProj[2] ||debugProj[3]!=debugProj[3]) return 666; 
  if (debugTarg[0]!=debugTarg[0] ||debugTarg[1]!=debugTarg[1] || debugTarg[2]!=debugTarg[2] ||debugTarg[3]!=debugTarg[3]) return 666; 
  if (debugMu1[0]!=debugMu1[0] ||debugMu1[1]!=debugMu1[1] || debugMu1[2]!=debugMu1[2] ||debugMu1[3]!=debugMu1[3]) return 666; 
  if (debugMu2[0]!=debugMu2[0] ||debugMu2[1]!=debugMu2[1] || debugMu2[2]!=debugMu2[2] ||debugMu2[3]!=debugMu2[3]) return 666; 
  //----------------------------------------------------
  
  Double_t phi=0.;
   if(charge1 > 0) {
      phi = TMath::ATan2((pMu1Dimu.Vect()).Dot(yaxis),(pMu1Dimu.Vect()).Dot(xaxis));
     } else { 
      phi = TMath::ATan2((pMu2Dimu.Vect()).Dot(yaxis),(pMu2Dimu.Vect()).Dot(xaxis));
   }  
   return phi;
}

//________________________________________________________________________
void AliAnalysisTaskDimuonCFContainerBuilder::Terminate(Option_t *) 
{
 
}

#endif
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:2
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:3
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:4
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:5
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:6
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:7
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:8
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:9
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:10
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:11
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:12
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:13
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:14
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:15
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:16
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:17
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:18
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:19
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:20
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:21
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:22
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:23
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:24
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:25
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:26
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:27
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:28
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:29
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:30
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:31
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:32
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:33
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:34
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:35
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:36
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:37
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:38
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:39
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:40
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:41
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:42
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:43
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:44
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:45
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:46
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:47
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:48
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:49
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:50
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:51
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:52
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:53
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:54
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:55
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:56
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:57
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:58
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:59
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:60
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:61
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:62
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:63
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:64
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:65
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:66
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:67
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:68
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:69
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:70
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:71
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:72
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:73
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:74
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:75
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:76
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:77
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:78
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:79
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:80
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:81
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:82
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:83
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:84
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:85
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:86
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:87
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:88
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:89
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:90
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:91
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:92
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:93
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:94
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:95
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:96
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:97
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:98
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:99
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:100
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:101
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:102
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:103
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:104
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:105
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:106
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:107
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:108
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:109
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:110
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:111
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:112
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:113
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:114
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:115
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:116
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:117
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:118
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:119
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:120
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:121
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:122
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:123
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:124
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:125
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:126
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:127
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:128
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:129
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:130
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:131
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:132
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:133
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:134
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:135
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:136
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:137
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:138
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:139
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:140
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:141
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:142
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:143
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:144
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:145
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:146
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:147
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:148
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:149
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:150
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:151
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:152
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:153
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:154
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:155
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:156
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:157
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:158
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:159
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:160
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:161
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:162
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:163
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:164
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:165
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:166
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:167
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:168
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:169
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:170
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:171
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:172
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:173
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:174
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:175
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:176
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:177
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:178
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:179
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:180
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:181
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:182
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:183
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:184
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:185
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:186
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:187
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:188
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:189
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:190
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:191
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:192
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:193
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:194
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:195
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:196
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:197
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:198
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:199
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:200
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:201
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:202
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:203
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:204
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:205
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:206
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:207
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:208
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:209
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:210
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:211
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:212
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:213
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:214
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:215
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:216
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:217
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:218
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:219
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:220
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:221
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:222
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:223
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:224
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:225
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:226
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:227
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:228
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:229
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:230
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:231
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:232
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:233
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:234
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:235
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:236
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:237
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:238
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:239
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:240
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:241
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:242
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:243
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:244
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:245
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:246
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:247
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:248
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:249
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:250
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:251
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:252
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:253
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:254
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:255
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:256
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:257
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:258
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:259
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:260
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:261
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:262
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:263
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:264
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:265
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:266
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:267
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:268
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:269
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:270
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:271
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:272
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:273
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:274
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:275
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:276
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:277
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:278
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:279
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:280
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:281
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:282
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:283
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:284
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:285
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:286
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:287
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:288
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:289
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:290
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:291
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:292
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:293
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:294
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:295
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:296
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:297
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:298
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:299
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:300
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:301
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:302
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:303
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:304
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:305
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:306
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:307
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:308
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:309
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:310
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:311
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:312
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:313
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:314
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:315
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:316
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:317
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:318
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:319
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:320
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:321
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:322
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:323
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:324
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:325
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:326
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:327
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:328
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:329
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:330
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:331
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:332
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:333
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:334
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:335
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:336
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:337
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:338
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:339
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:340
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:341
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:342
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:343
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:344
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:345
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:346
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:347
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:348
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:349
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:350
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:351
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:352
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:353
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:354
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:355
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:356
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:357
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:358
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:359
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:360
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:361
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:362
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:363
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:364
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:365
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:366
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:367
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:368
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:369
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:370
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:371
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:372
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:373
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:374
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:375
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:376
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:377
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:378
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:379
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:380
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:381
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:382
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:383
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:384
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:385
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:386
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:387
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:388
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:389
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:390
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:391
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:392
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:393
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:394
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:395
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:396
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:397
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:398
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:399
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:400
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:401
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:402
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:403
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:404
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:405
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:406
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:407
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:408
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:409
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:410
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:411
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:412
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:413
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:414
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:415
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:416
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:417
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:418
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:419
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:420
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:421
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:422
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:423
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:424
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:425
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:426
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:427
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:428
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:429
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:430
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:431
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:432
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:433
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:434
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:435
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:436
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:437
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:438
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:439
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:440
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:441
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:442
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:443
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:444
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:445
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:446
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:447
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:448
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:449
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:450
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:451
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:452
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:453
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:454
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:455
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:456
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:457
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:458
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:459
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:460
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:461
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:462
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:463
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:464
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:465
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:466
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:467
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:468
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:469
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:470
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:471
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:472
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:473
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:474
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:475
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:476
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:477
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:478
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:479
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:480
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:481
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:482
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:483
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:484
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:485
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:486
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:487
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:488
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:489
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:490
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:491
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:492
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:493
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:494
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:495
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:496
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:497
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:498
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:499
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:500
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:501
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:502
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:503
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:504
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:505
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:506
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:507
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:508
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:509
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:510
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:511
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:512
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:513
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:514
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:515
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:516
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:517
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:518
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:519
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:520
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:521
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:522
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:523
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:524
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:525
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:526
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:527
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:528
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:529
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:530
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:531
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:532
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:533
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:534
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:535
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:536
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:537
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:538
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:539
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:540
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:541
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:542
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:543
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:544
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:545
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:546
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:547
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:548
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:549
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:550
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:551
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:552
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:553
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:554
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:555
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:556
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:557
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:558
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:559
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:560
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:561
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:562
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:563
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:564
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:565
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:566
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:567
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:568
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:569
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:570
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:571
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:572
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:573
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:574
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:575
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:576
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:577
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:578
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:579
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:580
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:581
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:582
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:583
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:584
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:585
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:586
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:587
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:588
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:589
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:590
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:591
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:592
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:593
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:594
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:595
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:596
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:597
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:598
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:599
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:600
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:601
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:602
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:603
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:604
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:605
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:606
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:607
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:608
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:609
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:610
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:611
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:612
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:613
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:614
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:615
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:616
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:617
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:618
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:619
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:620
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:621
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:622
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:623
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:624
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:625
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:626
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:627
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:628
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:629
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:630
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:631
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:632
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:633
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:634
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:635
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:636
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:637
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:638
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:639
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:640
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:641
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:642
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:643
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:644
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:645
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:646
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:647
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:648
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:649
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:650
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:651
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:652
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:653
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:654
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:655
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:656
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:657
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:658
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:659
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:660
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:661
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:662
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:663
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:664
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:665
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:666
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:667
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:668
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:669
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:670
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:671
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:672
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:673
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:674
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:675
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:676
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:677
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:678
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:679
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:680
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:681
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:682
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:683
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:684
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:685
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:686
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:687
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:688
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:689
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:690
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:691
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:692
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:693
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:694
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:695
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:696
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:697
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:698
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:699
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:700
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:701
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:702
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:703
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:704
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:705
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:706
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:707
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:708
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:709
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:710
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:711
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:712
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:713
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:714
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:715
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:716
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:717
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:718
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:719
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:720
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:721
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:722
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:723
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:724
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:725
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:726
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:727
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:728
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:729
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:730
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:731
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:732
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:733
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:734
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:735
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:736
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:737
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:738
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:739
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:740
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:741
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:742
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:743
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:744
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:745
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:746
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:747
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:748
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:749
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:750
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:751
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:752
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:753
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:754
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:755
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:756
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:757
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:758
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:759
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:760
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:761
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:762
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:763
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:764
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:765
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:766
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:767
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:768
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:769
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:770
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:771
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:772
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:773
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:774
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:775
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:776
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:777
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:778
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:779
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:780
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:781
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:782
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:783
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:784
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:785
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:786
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:787
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:788
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:789
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:790
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:791
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:792
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:793
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:794
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:795
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:796
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:797
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:798
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:799
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:800
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:801
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:802
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:803
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:804
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:805
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:806
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:807
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:808
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:809
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:810
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:811
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:812
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:813
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:814
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:815
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:816
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:817
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:818
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:819
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:820
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:821
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:822
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:823
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:824
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:825
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:826
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:827
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:828
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:829
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:830
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:831
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:832
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:833
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:834
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:835
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:836
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:837
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:838
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:839
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:840
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:841
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:842
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:843
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:844
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:845
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:846
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:847
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:848
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:849
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:850
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:851
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:852
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:853
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:854
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:855
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:856
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:857
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:858
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:859
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:860
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:861
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:862
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:863
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:864
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:865
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:866
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:867
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:868
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:869
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:870
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:871
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:872
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:873
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:874
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:875
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:876
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:877
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:878
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:879
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:880
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:881
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:882
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:883
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:884
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:885
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:886
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:887
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:888
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:889
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:890
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:891
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:892
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:893
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:894
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:895
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:896
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:897
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:898
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:899
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:900
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:901
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:902
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:903
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:904
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:905
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:906
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:907
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:908
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:909
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:910
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:911
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:912
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:913
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:914
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:915
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:916
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:917
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:918
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:919
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:920
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:921
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:922
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:923
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:924
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:925
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:926
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:927
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:928
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:929
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:930
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:931
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:932
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:933
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:934
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:935
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:936
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:937
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:938
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:939
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:940
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:941
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:942
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:943
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:944
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:945
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:946
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:947
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:948
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:949
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:950
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:951
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:952
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:953
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:954
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:955
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:956
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:957
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:958
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:959
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:960
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:961
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:962
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:963
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:964
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:965
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:966
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:967
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:968
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:969
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:970
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:971
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:972
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:973
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:974
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:975
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:976
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:977
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:978
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:979
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:980
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:981
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:982
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:983
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:984
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:985
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:986
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:987
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:988
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:989
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:990
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:991
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:992
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:993
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:994
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:995
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:996
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:997
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:998
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:999
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1000
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1001
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1002
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1003
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1004
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1005
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1006
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1007
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1008
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1009
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1010
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1011
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1012
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1013
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1014
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1015
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1016
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1017
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1018
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1019
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1020
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1021
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1022
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1023
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1024
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1025
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1026
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1027
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1028
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1029
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1030
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1031
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1032
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1033
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1034
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1035
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1036
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1037
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1038
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1039
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1040
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1041
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1042
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1043
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1044
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1045
 AliAnalysisTaskDimuonCFContainerBuilder.cxx:1046