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


// $Id$

#include "AliAnalysisMuMu.h"
#include "AliAnalysisMuMuBase.h" //Just to have avaliable the MCInputPrefix() method

#include "AliAnalysisMuMuBinning.h"
#include "AliAnalysisMuMuConfig.h"
#include "AliAnalysisMuMuFnorm.h"
#include "AliAnalysisMuMuGraphUtil.h"
#include "AliAnalysisMuMuJpsiResult.h"
#include "AliAnalysisMuMuSpectra.h"
#include "AliAnalysisTriggerScalers.h"
#include "AliCounterCollection.h"
#include "AliHistogramCollection.h"
#include "AliLog.h"
#include "AliMergeableCollection.h"
#include "Riostream.h"
#include "TArrayL64.h"
#include "TASImage.h"
#include "TAxis.h"
#include "TCanvas.h"
#include "TColor.h"
#include "TF1.h"
#include "TFile.h"
#include "TGraphErrors.h"
#include "TGrid.h"
#include "TH1.h"
#include "TH2.h"
#include "TProfile.h"
#include "THashList.h"
#include "TKey.h"
#include "TLegend.h"
#include "TLegendEntry.h"
#include "TLine.h"
#include "TList.h"
#include "TMap.h"
#include "TMath.h"
#include "TObjArray.h"
#include "TObjString.h"
#include "TParameter.h"
#include "TPaveText.h"
#include "TPRegexp.h"
#include "TROOT.h"
#include "TStopwatch.h"
#include "TStyle.h"
#include "TSystem.h"
#include <cassert>
#include <map>
#include <set>
#include <string>
#include "TLatex.h"

ClassImp(AliAnalysisMuMu)

//_____________________________________________________________________________
AliAnalysisMuMu::AliAnalysisMuMu(const char* filename, const char* associatedSimFileName, const char* associatedSimFileName2, const char* beamYear) : TObject(),
fFilename(filename),
fCounterCollection(0x0),
fBinning(0x0),
fMergeableCollection(0x0),
fRunNumbers(),
fCorrectionPerRun(0x0),
fAssociatedSimulation(0x0),
fAssociatedSimulation2(0x0),
fParticleName(""),
fConfig(0x0)
{
  // ctor
  
  GetCollections(fFilename,fMergeableCollection,fCounterCollection,fBinning,fRunNumbers);
  
  if ( IsSimulation() )
  {
    TString sFilename(filename);
    if ( sFilename.Contains("JPSI",TString::kIgnoreCase) ) SetParticleName("JPsi"); //FIXME: DO a method for this
    else if ( sFilename.Contains("PSIP",TString::kIgnoreCase) ) SetParticleName("PsiP");
    else AliError("Unknown Particle Name in simulation");
  }
  
  if ( fCounterCollection )
  {
    if ( strlen(associatedSimFileName) )
    {
      fAssociatedSimulation = new AliAnalysisMuMu(associatedSimFileName);
      
      TString sAssociatedSimFileName(associatedSimFileName);
      if ( sAssociatedSimFileName.Contains("JPSI",TString::kIgnoreCase) ) fAssociatedSimulation->SetParticleName("JPsi");
      else if ( sAssociatedSimFileName.Contains("PSIP",TString::kIgnoreCase) ) fAssociatedSimulation->SetParticleName("PsiP");
      else AliError("Unknown Particle Name in associated simulation");     
    }
    
    if ( strlen(associatedSimFileName2) )
    {
      fAssociatedSimulation2 = new AliAnalysisMuMu(associatedSimFileName2);
      
      TString sAssociatedSimFileName2(associatedSimFileName2);
      if ( sAssociatedSimFileName2.Contains("JPSI",TString::kIgnoreCase) ) fAssociatedSimulation2->SetParticleName("JPsi");
      else if ( sAssociatedSimFileName2.Contains("PSIP",TString::kIgnoreCase) ) fAssociatedSimulation2->SetParticleName("PsiP");
      else AliError("Unknown Particle Name in associated simulation 2");
    }
    
    fConfig = new AliAnalysisMuMuConfig(beamYear);
  }
}

//_____________________________________________________________________________
AliAnalysisMuMu::~AliAnalysisMuMu()
{
  // dtor
  
  if ( fAssociatedSimulation )
  {
    fAssociatedSimulation->Update();
  }
  if ( fAssociatedSimulation2 )
  {
    fAssociatedSimulation2->Update();
  }
  
  Update();
  
  delete fCounterCollection;
  delete fBinning;
  delete fMergeableCollection;
  delete fCorrectionPerRun;
  delete fAssociatedSimulation;
  delete fAssociatedSimulation2;
  delete fConfig;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::BasicCounts(Bool_t detailTriggers,
                                  ULong64_t* totalNmb,
                                  ULong64_t* totalNmsl,
                                  ULong64_t* totalNmul)
{
  // Report of some basic numbers, like number of MB and MUON triggers, 
  // both before and after physics selection, and comparison with 
  // the total number of such triggers (taken from the OCDB scalers)
  // if requested.
  //
  // filename is assumed to be a root filecontaining a list containing
  //    an AliCounterCollection (or directly an AliCounterCollection)
  //
  // if detailTriggers is kTRUE, each kind of (MB,MUL,MSL) is counted separately
  //
  
  if (!fMergeableCollection || !fCounterCollection) return;
  
  TObjArray* runs = fCounterCollection->GetKeyWords("run").Tokenize(",");
  TIter nextRun(runs);

  TObjArray* triggers = fCounterCollection->GetKeyWords("trigger").Tokenize(",");
  TIter nextTrigger(triggers);

  TObjArray* events = fCounterCollection->GetKeyWords("event").Tokenize(",");

  Bool_t doPS = (events->FindObject("PSALL") != 0x0);
  
  TObjString* srun;
  TObjString* strigger;

  ULong64_t localNmb(0);
  ULong64_t localNmsl(0);
  ULong64_t localNmul(0);
  
  if ( totalNmb) *totalNmb = 0;
  if ( totalNmsl) *totalNmsl = 0;
  if ( totalNmul ) *totalNmul = 0;

  while ( ( srun = static_cast<TObjString*>(nextRun()) ) )
  {
    std::cout << Form("RUN %09d ",srun->String().Atoi());
    
    TString details;
    ULong64_t nmb(0);
    ULong64_t nmsl(0);
    ULong64_t nmul(0);
    
    nextTrigger.Reset();
    
    Int_t nofPS(0);
    
    while ( ( strigger = static_cast<TObjString*>(nextTrigger()) ) )
    {
      
      if ( !Config()->GetList(AliAnalysisMuMuConfig::kMinbiasTriggerList,IsSimulation()).Contains(strigger->String().Data()) &&
           !Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,IsSimulation()).Contains(strigger->String().Data()) &&
           !Config()->GetList(AliAnalysisMuMuConfig::kMuonTriggerList,IsSimulation()).Contains(strigger->String().Data()) ) continue;
          
      ULong64_t n = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s/run:%d",
                                                    strigger->String().Data(),"ALL",srun->String().Atoi())));

      details += TString::Format("\n%50s %10lld",strigger->String().Data(),n);
      

      ULong64_t nps = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s/run:%d",
                                                      strigger->String().Data(),"PSALL",srun->String().Atoi())));

      if ( doPS )
      {
        details += TString::Format(" PS %5.1f %%",nps*100.0/n);
      }

      if (nps)
      {
        ++nofPS;
      }
      
      if ( Config()->GetList(AliAnalysisMuMuConfig::kMinbiasTriggerList,IsSimulation()).Contains(strigger->String()) )
      {
        nmb += n;
        if ( totalNmb) (*totalNmb) += n;
        localNmb += n;
      }
      else if ( Config()->GetList(AliAnalysisMuMuConfig::kMuonTriggerList,IsSimulation()).Contains(strigger->String()) )
      {
        nmsl += n;
        if ( totalNmsl) (*totalNmsl) += n;
        localNmsl += n;
      }
      else if ( Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,IsSimulation()).Contains(strigger->String()) )
      {
        nmul += n;
        if ( totalNmul ) (*totalNmul) += n;
        localNmul += n;
      }      
    }
    
    std::cout << Form("MB %10lld MSL %10lld MUL %10lld %s",
                 nmb,nmsl,nmul,(nofPS == 0 ? "(NO PS AVAIL)": ""));
    
    if ( detailTriggers )
    {
      std::cout << details.Data();
    }
    std::cout << std::endl;
  }

  if ( !totalNmul && !totalNmsl && !totalNmb )
  {
    std::cout << std::endl << Form("%13s MB %10lld MSL %10lld MUL %10lld ","TOTAL",
                                   localNmb,localNmsl,localNmul) << std::endl;
  }

  delete runs;
  delete triggers;
  delete events;
}



//_____________________________________________________________________________
void AliAnalysisMuMu::CleanAllSpectra()
{
  /// Delete all the spectra we may have

  OC()->RemoveByType("AliAnalysisMuMuSpectra");
  Update();
}


//_____________________________________________________________________________
TObjArray* AliAnalysisMuMu::CompareJpsiPerCMUUWithBackground(const char* jpsiresults,
                                                                   const char* backgroundresults)
{
  TFile* fjpsi = FileOpen(jpsiresults);
  TFile* fbck = FileOpen(backgroundresults);
  
  if (!fjpsi || !fbck) return 0x0;
  
  TGraph* gjpsi = static_cast<TGraph*>(fjpsi->Get("jpsipercmuu"));
    
  std::vector<std::string> checks;

  checks.push_back("muminus-CMUU7-B-NOPF-ALLNOTRD");
  checks.push_back("muplus-CMUU7-B-NOPF-ALLNOTRD");
  checks.push_back("muminus-CMUSH7-B-NOPF-MUON");
  checks.push_back("muplus-CMUSH7-B-NOPF-MUON");
  
  if (!gjpsi) return 0x0;

  TObjArray* a = new TObjArray;
  a->SetOwner(kTRUE);
  
  for ( std::vector<std::string>::size_type j = 0; j < checks.size(); ++j )
  {
    
    TGraph* gback = static_cast<TGraph*>(fbck->Get(checks[j].c_str()));
    
    if (!gback) continue;

    if ( gjpsi->GetN() != gback->GetN() )
    {
      AliErrorClass("graphs have different number of points !");
      continue;
    }
    
    TGraphErrors* g = new TGraphErrors(gjpsi->GetN());
    
    for ( int i = 0; i < gjpsi->GetN(); ++i ) 
    {
      double r1,r2,y1,y2;
      
      gjpsi->GetPoint(i,r1,y1);
      gback->GetPoint(i,r2,y2);
      
      if ( r1 != r2 ) 
      {
        AliWarningClass(Form("run[%d]=%d vs %d",i,(int)r1,(int)r2));
        continue;
      }
      
      g->SetPoint(i,y2,y1);
      //    g->SetPointError(i,gjpsi->GetErrorY(i),gback->GetErrorY(i));
    }
    
    g->SetMarkerStyle(25+j);
    g->SetMarkerSize(1.2);
    if (j==0)
    {
      g->Draw("ap");
    }
    else
    {
      g->Draw("p");
    }
    g->SetLineColor(j+1);
    g->SetMarkerColor(j+1);
    g->SetName(checks[j].c_str());
    a->AddLast(g);
  }
  
  return a;
}

//_____________________________________________________________________________
TGraph* AliAnalysisMuMu::CompareJpsiPerCMUUWithSimu(const char* realjpsiresults,
                                                             const char* simjpsiresults)
{
  TFile* freal = FileOpen(realjpsiresults);
  TFile* fsim = FileOpen(simjpsiresults);
  
  if (!freal || !fsim) return 0x0;
  
  TGraph* greal = static_cast<TGraph*>(freal->Get("jpsipercmuu"));
  TGraph* gsim = static_cast<TGraph*>(fsim->Get("jpsipercmuu"));
  
  TObjArray* a = new TObjArray;
  a->SetOwner(kTRUE);
  
  if ( greal->GetN() != gsim->GetN() )
  {
    AliErrorClass("graphs have different number of points !");
    return 0x0;
  }
    
  TGraphErrors* g = new TGraphErrors(greal->GetN());
  TGraphErrors* gratio = new TGraphErrors(greal->GetN());
    
  for ( int i = 0; i < greal->GetN(); ++i ) 
  {
    double r1,r2,y1,y2;
    
    greal->GetPoint(i,r1,y1);
    gsim->GetPoint(i,r2,y2);
    
    if ( r1 != r2 ) 
    {
      AliWarningClass(Form("run[%d]=%d vs %d",i,(int)r1,(int)r2));
      continue;
    }
    
    double ratio(0.0);
    
    if ( TMath::Abs(y1)<1E-6 || TMath::Abs(y2)<1E-6)
    {
      g->SetPoint(i,0,0);
      g->SetPointError(i,0,0);
    }
    else
    {    
      g->SetPoint(i,y2,y1);
      g->SetPointError(i,greal->GetErrorY(i),gsim ->GetErrorY(i));
      ratio = y2/y1;
    }
    gratio->SetPoint(i,r1,ratio);
  }
    
  g->SetMarkerStyle(25);
  g->SetMarkerSize(1.2);

  new TCanvas;
  
  g->Draw("ap");

  g->SetLineColor(1);
  g->SetMarkerColor(1);
  g->SetName("jpsipercmuurealvssim");

  new TCanvas;
  
  greal->Draw("alp");
  gsim->SetLineColor(4);
  
  gsim->Draw("lp");

  new TCanvas;
  gratio->Draw("alp");
  
  return g;
}

//_____________________________________________________________________________
AliAnalysisMuMuConfig* AliAnalysisMuMu::Config()
{
  /// Return the configuration
  return fConfig;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::DrawMinv(const char* type,
                               const char* particle,
                               const char* trigger,
                               const char* eventType,
                               const char* pairCut,
                               const char* centrality,
                               const char* subresultname,
                               const char* flavour) const
{
  /// Draw minv spectra for binning of given type
  
  if (!OC() || !BIN()) return;
  
  TObjArray* bins = BIN()->CreateBinObjArray(particle,type,flavour);
  if (!bins)
  {
    AliError(Form("Could not get %s bins",type));
    return;
  }
  
  Double_t xmin(-1);
  Double_t xmax(-1);
  
  TString sparticle(particle);
  if ( sparticle=="PSI" )
  {
    xmin = 2;
    xmax = 6;
  }
  
  Int_t nx(1);
  Int_t ny(1);
  
  Int_t n = bins->GetEntries();
  
  if ( n == 2 )
  {
    nx = 2;
  }
  else if ( n > 2 )
  {
    ny = TMath::Nint(TMath::Sqrt(n));
    nx = n/ny;
  }
  
  TString stype(type);
  stype.ToUpper();
  
  TString spectraName(Form("/%s/%s/%s/%s/%s-%s",eventType,trigger,centrality,pairCut,particle,stype.Data()));
  
  if ( strlen(flavour))
  {
    spectraName += "-";
    spectraName += flavour;
  }
  
  AliAnalysisMuMuSpectra* spectra = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(spectraName.Data()));
  
  AliDebug(1,Form("spectraName=%s spectra=%p",spectraName.Data(),spectra));

  TObjArray* spectraBins(0x0);
  if ( spectra )
  {
    spectraBins = spectra->BinContentArray();
  }
  
  TCanvas* c = new TCanvas;
  c->Divide(nx,ny);
  c->Draw();
  gStyle->SetOptFit(1112);
  
  c->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)", "AliAnalysisMuMu",
              (void*)this, "ExecuteCanvasEvent(Int_t,Int_t,Int_t,TObject*)");

  
  TIter next(bins);
  AliAnalysisMuMuBinning::Range* r;
  Int_t ci(0);
  
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(next())) )
  {
    TString name(Form("/%s/%s/%s/%s/MinvUS%s",eventType,trigger,centrality,pairCut,r->AsString().Data()));

    AliDebug(1,name.Data());
    
    AliAnalysisMuMuJpsiResult* spectraBin(0x0);
    
    if ( spectraBins )
    {
      AliAnalysisMuMuResult* sr = static_cast<AliAnalysisMuMuResult*>(spectraBins->At(ci));
      
      spectraBin = static_cast<AliAnalysisMuMuJpsiResult*>(sr->SubResult(subresultname));
      
      AliDebug(1,Form("spectraBin(%s)=%p",subresultname,spectraBin));
    }
    
    TH1* h = OC()->Histo(name.Data());
    
    if ( spectraBin )
    {
      h = spectraBin->Histo();
    }
    
    if (h)
    {
      ++ci;
      c->cd(ci);
      gPad->SetLogy();
      if (xmin>0)
      {
        h->GetXaxis()->SetRangeUser(xmin,xmax);
      }
      h->Draw("histes");
      
      TObject* f1 = h->GetListOfFunctions()->FindObject("fitTotal");
      if (f1)
      {
        f1->Draw("same");
      }
      
      gPad->Modified();
      gPad->Update();
      
      TObject* stats = h->FindObject("stats");
      if (stats)
      {
        stats->Draw("same");
      }
    }
  }
  
  delete bins;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::DrawMinv(const char* type, const char* particle, const char* flavour, const char* subresultname) const
{
  /// Draw minv spectra for binning of given type

//  AliWarning("Reimplement me!");
  
  if (!fConfig)
  {
    AliError("No configuration available yet. Don't know what to draw");
    return;
  }
  
  DrawMinv(type,particle,
           First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,IsSimulation())),
           First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,IsSimulation())),
           First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,IsSimulation())),
           First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,IsSimulation())),
           subresultname,
           flavour);
//           First(Config()->kEventSelectionList()).Data(),
//           First(Config()->kPairSelectionList()).Data(),
//           First(Config()->kCentralitySelectionList()).Data(),
//           subresultname,
//           flavour);
}

//___________________________________________________________________
void AliAnalysisMuMu::ExecuteCanvasEvent(Int_t event, Int_t /*px*/, Int_t /*py*/, TObject *sel)
{
  // Actions in reponse to mouse button events.
  
  TCanvas* c = static_cast<TCanvas*>(gTQSender);
  TPad* pad = static_cast<TPad*>(c->GetSelectedPad());
  if (!pad) return;
  
//  if ((event == kButton1Down) ||
  if (event == kButton1Double) 
  {
    
//    Float_t x = pad->AbsPixeltoX(px);
//    Float_t y = pad->AbsPixeltoY(py);
//    x = pad->PadtoX(x);
//    y = pad->PadtoY(y);

//    std::cout << "event=" << event << " px=" << px << " py=" << py << " ";
    
    if ( sel && sel->InheritsFrom("TH1") )
    {
      TCanvas* clocal = new TCanvas;
      clocal->SetLogy();
      clocal->Draw();
      sel->Draw();
    }
    else
    {
      TList* list = pad->GetListOfPrimitives();
      TIter next(list);
      TObject* h;
      
      while ( ( h = next() ) )
      {
        if ( h->InheritsFrom("TH1") )
        {
          TCanvas* clocal = new TCanvas;
          clocal->SetLogy();
          clocal->Draw();
          h->Draw();
          break;
        }
      }
      
    }

//      std::cout  << std::endl;

      pad->Modified();
  }
  
}

//_____________________________________________________________________________
TString 
AliAnalysisMuMu::ExpandPathName(const char* file)
{
  // An expand method that lives alien URL as they are
  TString sfile;
  
  if ( !sfile.BeginsWith("alien://") )
  {
    return gSystem->ExpandPathName(file);
  }
  else
  {
    if (!gGrid) TGrid::Connect("alien://");
    if (!gGrid) return "";    
  }
  
  return file;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::TwikiOutputFnorm(const char* series) const
{
  // make a twiki-compatible output of the Fnorm factor(s)
  TObjArray* what = TString(series).Tokenize(",");
  TObjString* s;
  TObjArray graphs;
  TIter next(what);

  std::cout << "| *Run* |";
  while ( ( s = static_cast<TObjString*>(next())) )
  {
    TGraph* g = static_cast<TGraph*>(OC()->GetObject(Form("/FNORM/GRAPHS/%s",s->String().Data())));
    if (!g)
    {
      AliError(Form("Could not find graph for %s",s->String().Data()));
      continue;
    }
    std::cout << " *" << s->String().Data();
    if ( s->String().BeginsWith("RelDif") ) std::cout << " %";
    std::cout << "*|";
    graphs.Add(g);
  }
  
  std::cout << std::endl;
  
  TGraphErrors* g0 = static_cast<TGraphErrors*>(graphs.First());
  if (!g0) return;
  
  for ( Int_t i = 0; i < g0->GetN(); ++i )
  {
    TString msg;
    
    msg.Form("|%6d|",TMath::Nint(g0->GetX()[i]));
    
    for ( Int_t j = 0; j < graphs.GetEntries(); ++j )
    {
      TGraphErrors* g = static_cast<TGraphErrors*>(graphs.At(j));
      
      msg += TString::Format(" %6.2f +- %6.2f |",g->GetY()[i],g->GetEY()[i]);
    }
    
    std::cout << msg.Data() << std::endl;
  }
  
  next.Reset();
  
  std::cout << "|*Weigthed mean (*)*|";

  AliAnalysisMuMuResult* r = static_cast<AliAnalysisMuMuResult*>(OC()->GetObject("/FNORM/RESULTS/Fnorm"));
  
  if (!r)
  {
    AliError("Could not find Fnorm result !");
    return;
  }

  
  while ( ( s = static_cast<TObjString*>(next())) )
  {
    TString var("Fnorm");
    TString unit;
    
    if ( s->String().BeginsWith("Fnorm") )
    {
      r = static_cast<AliAnalysisMuMuResult*>(OC()->GetObject("/FNORM/RESULTS/Fnorm"));
    }
    else if ( s->String().BeginsWith("RelDif") )
    {
      r = static_cast<AliAnalysisMuMuResult*>(OC()->GetObject("/FNORM/RESULTS/RelDif"));
      unit = "%";
    }
      
    r->Exclude("*");
    r->Include(s->String().Data());

    std::cout << Form(" * %5.2f +- %5.2f %s * |",
                      r->GetValue(var.Data()),
                      r->GetErrorStat(var.Data()),
                      unit.Data());
  }
  
  next.Reset();
  
  std::cout << std::endl;

  std::cout << "|*RMS*|";

  while ( ( s = static_cast<TObjString*>(next())) )
  {
    TString var("Fnorm");
    
    if ( s->String().BeginsWith("Fnorm") )
    {
      r = static_cast<AliAnalysisMuMuResult*>(OC()->GetObject("/FNORM/RESULTS/Fnorm"));
    }
    else if ( s->String().BeginsWith("RelDif") )
    {
      r = static_cast<AliAnalysisMuMuResult*>(OC()->GetObject("/FNORM/RESULTS/RelDif"));
    }
    
    r->Exclude("*");
    r->Include(s->String().Data());
    
    Double_t d = 100.0*r->GetRMS(var.Data())/r->GetValue(var.Data());
    
    std::cout << Form(" * %5.2f (%5.2f %%) * |",
                      r->GetRMS(var.Data()),d);
  }
  
  std::cout << std::endl;
  std::cout << "(*) weight is the number of CMUL7-B-NOPF-MUON triggers (physics-selected and pile-up corrected) in each run" << std::endl;
  
  delete what;
}

//_____________________________________________________________________________
TFile* 
AliAnalysisMuMu::FileOpen(const char* file)
{
  // Open a file after expansion of its name
  
  return TFile::Open(ExpandPathName(file).Data());
}

//_____________________________________________________________________________
TString AliAnalysisMuMu::First(const TString& list) const
{
  TObjArray* a = list.Tokenize(",");
  if ( a->GetLast() < 0 ) return "";
  
  TString rv = static_cast<TObjString*>(a->First())->String();
  
  delete a;
  
  return rv;
}

//_____________________________________________________________________________
AliAnalysisMuMuSpectra*
AliAnalysisMuMu::FitParticle(const char* particle,
                             const char* trigger,
                             const char* eventType,
                             const char* pairCut,
                             const char* centrality,
                             const AliAnalysisMuMuBinning& binning,
                             const char* spectraType,
                             Bool_t corrected)
{
  // Fit the minv/mpt spectra to find the given particle
  // Returns an array of AliAnalysisMuMuResult objects
  
  TProfile::Approximate(); //To avoid bins with error=0 due to low statstics
  
  static int n(0);
  
  TObjArray* bins = binning.CreateBinObjArray(particle);
  if (!bins)
  {
    AliError(Form("Did not get any bin for particle %s",particle));
    return 0x0;
  }
  
  TObjArray* triggers = fCounterCollection->GetKeyWords("trigger").Tokenize(",");
  if ( !triggers->FindObject(trigger) )
  {
    AliError(Form("Did not find trigger %s",trigger));
    delete bins;
    delete triggers;
    return 0x0;
  }
  delete triggers;
  
  TObjArray* events = fCounterCollection->GetKeyWords("event").Tokenize(",");
  if ( !events->FindObject(eventType) )
  {
    AliError(Form("Did not find eventType %s",eventType));
    delete bins;
    delete events;
    return 0x0;
  }
  delete events;

  Int_t ntrigger = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s",trigger,eventType)));
  
  if  (ntrigger<=0)
  {
    AliError(Form("No trigger for trigger:%s/event:%s",trigger,eventType));
    delete bins;
    return 0x0;
  }

  TObjArray* runs = fCounterCollection->GetKeyWords("run").Tokenize(",");
  Int_t nruns = runs->GetEntries();
  delete runs;
  
  
  TString id(Form("/%s/%s/%s/%s",eventType,trigger,centrality,pairCut));
  
//  binning.Print();
  
  AliAnalysisMuMuSpectra* spectra(0x0);
  
  AliAnalysisMuMuBinning::Range* bin;
  TIter next(bins);
  
  TObjArray* fitTypeArray = Config()->GetList(AliAnalysisMuMuConfig::kFitTypeList,IsSimulation()).Tokenize(",");
  TIter nextFitType(fitTypeArray);
  TObjString* fitType;
  TString flavour;
  TString sSpectraType(spectraType);
  
  TString spectraName(binning.GetName());
  if ( flavour.Length() > 0 )
  {
    spectraName += "-";
    spectraName += flavour;
  }
  if ( corrected )
  {
    spectraName += "-";
    spectraName += "AccEffCorr";
  }
  
//  Int_t binN(0);
  while ( ( bin = static_cast<AliAnalysisMuMuBinning::Range*>(next())) )
  {
    TString hname;
    if (!sSpectraType.CompareTo("minv"))
    {
      hname = corrected ? Form("MinvUS%s_AccEffCorr",bin->AsString().Data()) : Form("MinvUS%s",bin->AsString().Data());
    }
    else if (!sSpectraType.CompareTo("mpt"))
    {
      hname = corrected ? Form("MeanPtVsMinvUS%s_AccEffCorr",bin->AsString().Data()) : Form("MeanPtVsMinvUS%s",bin->AsString().Data());
    }
    else
    {
      AliError("Wrong spectra type choice: Posibilities are: 'minv' or 'mpt' ");
      return 0x0;
    }
    
    TString isCorr(corrected ? " AccEffCorr " : " ");
    std::cout << "---------------------------------//---------------------------------" << std::endl;
    std::cout << "Fitting" << isCorr.Data() << sSpectraType.Data() << " spectra in " << id.Data() << std::endl;
    
    TH1* histo = OC()->Histo(id.Data(),hname.Data());

    if (!histo)
    {
//      if (!fBinning && bin->IsIntegrated() )
//      {
//        // old file, we only had MinvUSPt
//        hminv = fMergeableCollection->Histo(Form("/%s/%s/%s/%s",eventType,trigger,centrality,pairCut),"MinvUSPt:py");
//      }
//      
//      if (!hminv)
//      {
        AliError(Form("Could not find histo %s",hname.Data()));
        continue;
//      }
    }
    
    histo = static_cast<TH1*>(histo->Clone(Form("%s%d",sSpectraType.Data(),n++)));
    
    const char* particleTmp = IsSimulation() ? GetParticleName() : "JPsi"; //At some point particleTmp should become particle (but for now particle is always = "psi")
  
    TString sparticleTmp(particleTmp);
    
    AliAnalysisMuMuJpsiResult* r = new AliAnalysisMuMuJpsiResult(particleTmp,
                                                                 *histo, // Result for current bin
                                                                 trigger,
                                                                 eventType,
                                                                 pairCut,
                                                                 centrality,
                                                                 *bin);
    
    r->SetNofTriggers(ntrigger);
    r->SetNofRuns(nruns);
    
    nextFitType.Reset();

    Int_t added(0);    
    
    while ( ( fitType = static_cast<TObjString*>(nextFitType())) )
    {
      // In this loop we create a Subresult for each fit inside the Result for current bin (AddFit will do)
      
      TString sFitType(fitType->String());
      
      if ( !sFitType.Contains(sSpectraType.Data()) ) continue;
      
      AliDebug(1,Form("<<<<<< fitType=%s bin=%s",sFitType.Data(),bin->Flavour().Data()));
      
      std::cout << "" << std::endl;
      std::cout << "---------------" << "Fit " << added + 1 << "------------------" << std::endl;
      std::cout << "Fitting " << hname.Data() << " with " << sFitType.Data() << std::endl;
      std::cout << "" << std::endl;
      
      if ( sFitType.Contains("mctails",TString::kIgnoreCase) ) //FIXME: Find a univoque way to determine the correctly the fit type
      {
        TString sbin = bin->AsString();
        TString spectraMCName = spectraName;
        AliAnalysisMuMuBinning::Range* binMC = bin;
        
        if ((sbin.Contains("MULT") || sbin.Contains("NCH") || sbin.Contains("DNCHDETA") || sbin.Contains("V0A") || sbin.Contains("V0ACENT") || sbin.Contains("NTRCORR")|| sbin.Contains("RELNTRCORR")) && !sbin.Contains("NTRCORRPT") && !sbin.Contains("NTRCORRY"))
        {
          //-------has to have a better way to do it
          AliAnalysisMuMuBinning* b = new AliAnalysisMuMuBinning;
          b->AddBin("psi","INTEGRATED");
          
          binMC = static_cast<AliAnalysisMuMuBinning::Range*>(b->CreateBinObjArray()->At(0));
          
          spectraMCName = b->GetName();
          delete b;
          
//          if ( flavour.Length() > 0 ) //Commented cause we set no flavour in "INTEGRATED" bin in the analysis task
//          {
//            spectraMCName += "-";
//            spectraMCName += flavour;
//          }
          if ( corrected )
          {
            spectraMCName += "-";
            spectraMCName += "AccEffCorr";
          }
          //-----------

        }
//        if( sbin.Contains("NTRCORRPT") || !sbin.Contains("NTRCORRY") )
//        {
//          spectraMCName.Remove(4,7);
//          
//          if ( spectraMCName.Contains("PT") )
//          {
//            AliAnalysisMuMuBinning* b = SIM()->BIN();
//            
//            TObjArray* binsPt = b->CreateBinObjArray(particle,"PT","");
//            
//            Int_t nEntrBinMC = binsPt->GetEntries();
//            
////            binsPt->Print();
//            
//            binMC = static_cast<AliAnalysisMuMuBinning::Range*>(binsPt->At(binN));
//            
//            if ( binN == nEntrBinMC - 1 ) binN = -1;
//            
//          }
//          
//        }
        
        //par = GetCB2Tails(*binInt,"MCTAILS",eventType,trigger,pairCut,corrected);Why I was taking the tails from the fitted data spectra?
        GetParametersFromMC(sFitType,Form("/%s/%s",centrality,pairCut),spectraMCName.Data(),binMC);
        
        if (sFitType.Length()>0)
        {
          added += ( r->AddFit(sFitType.Data()) == kTRUE );
        }
      }
      
      else if ( sFitType.Contains("mpt",TString::kIgnoreCase) && !sFitType.Contains("minv",TString::kIgnoreCase) )
      {
        std::cout << "++The Minv parameters will be taken from " << spectraName.Data() << std::endl;
        std::cout << "" << std::endl;
        
        AliAnalysisMuMuSpectra* minvSpectra = dynamic_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(id.Data(),spectraName.Data()));
       
        if ( !minvSpectra )
        {
          AliError(Form("Cannot fit mean pt: could not get the minv spectra for %s",id.Data()));
          continue;//return 0x0;
        }
        
        AliAnalysisMuMuJpsiResult* minvResult = static_cast<AliAnalysisMuMuJpsiResult*>(minvSpectra->GetResultForBin(*bin));
        
        if ( !minvResult )
        {
          AliError(Form("Cannot fit mean pt: could not get the minv result for bin %s in %s",bin->AsString().Data(),id.Data()));
          continue; //return 0x0;
        }
        
        TObjArray* minvSubResults = minvResult->SubResults();
        TIter nextSubResult(minvSubResults);
        AliAnalysisMuMuJpsiResult* fitMinv;
        TString subResultName;
        
        Int_t nSubFit(0);
        while ( ( fitMinv = static_cast<AliAnalysisMuMuJpsiResult*>(nextSubResult())) )
        {
          std::cout << "" << std::endl;
          std::cout <<  "      /-- SubFit " << nSubFit + 1 << " --/ " << std::endl;
          std::cout << "" << std::endl;
          
          TString fitMinvName(fitMinv->GetName());
          fitMinvName.Remove(fitMinvName.First("_"),fitMinvName.Sizeof()-fitMinvName.First("_"));
          
//          std::cout << fitMinvName.Data() << " ; " << fitMinv->GetName() << std::endl;
//          std::cout << "" << std::endl;
          
          if ( !sFitType.Contains(fitMinvName) ) continue; //FIXME: Ambiguous, i.e. NA60NEWPOL2EXP & NA60NEWPOL2 (now its ok cause only VWG and POL2EXP are used, but care)
          
          TString sMinvFitType(sFitType);
          
          GetParametersFromResult(sMinvFitType,fitMinv);//FIXME: Think about if this is necessary
          
          added += ( r->AddFit(sMinvFitType.Data()) == kTRUE );
          
          nSubFit++;
        }
      }
      
      else if ( sFitType.Contains("minv&mpt",TString::kIgnoreCase) )
      {
        AliWarning("Implement here the method to do the combined minv mpt fits");
        //FIXME: Shall we use the fitType or spectraType to choose to perform combined fits? Cause we have to check what kind of object is returned by the combined fit in order to decide if we put it in a different spectra(spectraType would be the flag,and here we should update the spectraName) or as a subresult(fitType in this case)
      }
      
      else
      {
        if ( sFitType.Contains("PSICB2",TString::kIgnoreCase) || sFitType.Contains("PSINA60NEW",TString::kIgnoreCase)) std::cout << "+Free tails fit... " << std::endl;
        else if ( sFitType.Contains("PSICOUNT",TString::kIgnoreCase) )  std::cout << Form("+Just counting %s...",GetParticleName()) << std::endl;
        else std::cout << "+Using predefined tails... " << std::endl; 
        
        if ( sFitType.Contains("minvJPsi") && !sparticleTmp.Contains("JPsi") )
        {
          std::cout << "This fitting funtion is set to fit JPsi: Skipping fit..." << std::endl;
          continue;
        }
        if ( sFitType.Contains("minvPsiP") && !sparticleTmp.Contains("PsiP") )
        {
          std::cout << "This fitting funtion is set to fit PsiP: Skipping fit..." << std::endl;
          continue;
        }
        
        added += ( r->AddFit(sFitType.Data()) == kTRUE );
      }
      
      std::cout << "-------------------------------------" << std::endl;
      std::cout << "" << std::endl;
    }
  
    if ( !added ) continue;
    
//    TObjArray* a = r->SubResults(); // TEST
//    a->Print();
    
    flavour = bin->Flavour();
    
    if (!spectra)
    {
      TString spectraSaveName = spectraName;
      if ( !sSpectraType.CompareTo("mpt") )
      {
        spectraSaveName += "-";
        spectraSaveName += "MeanPtVsMinvUS";
      }
      
      spectra = new AliAnalysisMuMuSpectra(spectraSaveName.Data());
    }
    
    Bool_t adoptOk = spectra->AdoptResult(*bin,r); // We adopt the Result for current bin into the spectra
    
    if ( adoptOk ) std::cout << "Result " << r->GetName() << " adopted in spectra " << spectra->GetName() << std::endl;
    else AliError(Form("Error adopting result %s in spectra %s",r->GetName(),spectra->GetName()));
      
    
    if ( IsSimulation() )
    {
      SetNofInputParticles(*r);
    }
  
//    binN++;
  } // loop on bins
  
  delete fitTypeArray;
  delete bins;
  
  return spectra;
}


////_____________________________________________________________________________
//AliAnalysisMuMuSpectra*
//AliAnalysisMuMu::FitMeanPt(const char* particle,
//                           const char* trigger,
//                           const char* eventType,
//                           const char* pairCut,
//                           const char* centrality,
//                           const AliAnalysisMuMuBinning& binning,const AliAnalysisMuMuSpectra& spectraMinv,Bool_t corrected)
//{
//  // Fit the dimuon mean pt spectra to find the particle mean pt
//  // Returns an array of AliAnalysisMuMuResult objects
//  
//  TObjArray* bins = binning.CreateBinObjArray(particle);
//  if (!bins)
//  {
//    AliError(Form("Did not get any bin for particle %s",particle));
//    return 0x0;
//  }
//  
//  //  AliAnalysisMuMuBinning* binningMinv(0x0);
//  //  TObjArray* binsMinv(0x0);
//  //  AliAnalysisMuMuBinning::Range* binInt(0x0);
//  //  AliAnalysisMuMuBinning::Range* testbin = static_cast<AliAnalysisMuMuBinning::Range*>(bins->At(0));
//  //  TString sbins = testbin->AsString();
//  
//  //  if ( sbins.Contains("MULT")) //For the multiplicity bins we will use the tails from the integrated Minv spectra
//  //  {
//  //    binningMinv = spectraMinv.Binning();
//  //    binsMinv = binningMinv->CreateBinObjArray(particle);
//  //    binInt = static_cast<AliAnalysisMuMuBinning::Range*>(binsMinv->At(0));
//  //  }
//  
//  
//  TObjArray* triggers = fCounterCollection->GetKeyWords("trigger").Tokenize(",");
//  if ( !triggers->FindObject(trigger) )
//  {
//    AliDebug(1,Form("Did not find trigger %s",trigger));
//    delete bins;
//    delete triggers;
//    return 0x0;
//  }
//  delete triggers;
//  
//  TObjArray* events = fCounterCollection->GetKeyWords("event").Tokenize(",");
//  if ( !events->FindObject(eventType) )
//  {
//    AliError(Form("Did not find eventType %s",eventType));
//    delete bins;
//    delete events;
//    return 0x0;
//  }
//  delete events;
//  
//  Int_t ntrigger = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s",trigger,eventType)));
//  
//  if  (ntrigger<=0)
//  {
//    AliError(Form("No trigger for trigger:%s/event:%s",trigger,eventType));
//    delete bins;
//    return 0x0;
//  }
//  
//  AliAnalysisMuMuSpectra* sMinv = static_cast<AliAnalysisMuMuSpectra*>(spectraMinv.Clone());
//  if(!sMinv)
//  {
//    AliError("Did not find inv mass spectra");
//  }
//  
//  
//  //  binning.Print();
//  
//  AliAnalysisMuMuSpectra* spectra(0x0);
//  
//  AliAnalysisMuMuBinning::Range* bin;
//  //  AliAnalysisMuMuBinning::Range* binMinv;
//  TIter next(bins);
//  
//  //  TObjArray* fitTypeArray = fFitTypeList.Tokenize(",");
//  //  TIter nextFitType(fitTypeArray);
//  //  TObjString* fitType;
//  TString flavour;
//  
//  
//  while ( ( bin = static_cast<AliAnalysisMuMuBinning::Range*>(next())) )
//  {
//    std::cout << "---------------------------------" << std::endl;
//    std::cout << "Fitting mean Pt in " << bin->AsString().Data() << " " << "for" << " " << eventType << "/" << trigger << "/" << centrality << "/" << pairCut << std::endl;
//    std::cout << "---------------------------------" << std::endl;
//    
//    
//    TString pname;
//    if ( corrected ) pname = Form("MeanPtVsMinvUS%s_Corr",bin->AsString().Data());
//    else pname = Form("MeanPtVsMinvUS%s",bin->AsString().Data());
//    
//    TProfile* hmPt = static_cast<TProfile*>(fMergeableCollection->GetObject(Form("/%s/%s/%s/%s",eventType,trigger,centrality,pairCut),pname.Data()));
//    
//    if (!hmPt)
//    {
//      //      if (!fBinning && bin->IsNullObject() )
//      //      {
//      //        // old file, we only had MinvUSPt
//      //        hminv = fMergeableCollection->Histo(Form("/%s/%s/%s/%s",eventType,trigger,centrality,pairCut),"MinvUSPt:py");
//      //      }
//      
//      //      if (!hmPt)
//      //      {
//      AliDebug(1,Form("Could not find histo profile %s",pname.Data()));
//      continue;
//      //      }
//    }
//    hmPt->Approximate();
//    
//    
//    //    hmPt = static_cast<TH1*>(hmPt->Clone(Form("mPtv%d",n++))); //Reuse this
//    
//    //    if ( sbins.Contains("MULT") )
//    //    {
//    //      binMinv = binInt;
//    //    }
//    //    else
//    //    {
//    //      binMinv = bin;
//    //    }
//    
//    AliAnalysisMuMuJpsiResult* rMinv = static_cast<AliAnalysisMuMuJpsiResult*>(sMinv->GetResultForBin(*bin/*Minv*/));
//    
//    if( !rMinv )
//    {
//      AliError(Form("Did not find inv mass result inside spectra for bin %s",bin/*Minv*/->Quantity().Data()));
//    }
//    
//    TObjArray* fits = rMinv->SubResults();
//    AliAnalysisMuMuResult* fitMinv;
//    TIter nextFit(fits);
//    TString fitName;
//    
//    AliAnalysisMuMuJpsiResult* r = new AliAnalysisMuMuJpsiResult(*hmPt,
//                                                         trigger,
//                                                         eventType,
//                                                         pairCut,
//                                                         centrality,
//                                                         *bin);
//    
//    r->SetNofTriggers(ntrigger);
//    
//    nextFit.Reset();
//    
//    //    new TCanvas;
//    Int_t i = 1;
//    
//    while ( ( fitMinv = static_cast<AliAnalysisMuMuJpsiResult*>(nextFit())) )
//    {
//      std::cout << "" << std::endl;
//      std::cout << "---------------" << "Fit " << i << "------------------" << std::endl;
//      i++;
//      
//      fitName = fitMinv->Alias();
//      std::cout << "" << std::endl;
//      std::cout << "Getting signal parameters from " << eventType << "/" << trigger << "/" << centrality << "/" << pairCut << "/" << spectraMinv.GetName()  << std::endl;
//      std::cout << "" << std::endl;
//      
//      if(fitName.BeginsWith("JPSI2CB2VWG") || fitName.BeginsWith("MCTAILS"))
//      {
//        Double_t par[14] = {fitMinv->GetValue("kVWG"),fitMinv->GetValue("mVWG"),fitMinv->GetValue("sVWG1"),
//          fitMinv->GetValue("sVWG2"),fitMinv->GetValue("kPsi"),fitMinv->GetValue("MeanJpsi"),fitMinv->GetValue("SigmaJpsi"),
//          fitMinv->GetValue("alPsi"),fitMinv->GetValue("nlPsi"),fitMinv->GetValue("auPsi"),fitMinv->GetValue("nuPsi"),fitMinv->GetValue("kPsi'"),fitMinv->GetValue("NofJpsi"),fitMinv->GetErrorStat("NofJpsi")}; //Create a method to get the parameters //The last 2 parameters are not used in the fit
//        
//        if(fitName.BeginsWith("JPSI2CB2VWG"))
//        {
//          std::cout << "PRE-SET TAILS" << std::endl;
//          std::cout << "" << std::endl;
//          r->AddMeanPtFit("JPSI2CB2VWG:2",&par[0]); // FIXME: :2 should be in the default fit types but for meanpt fit naming is not there, change it
//        }
//        else
//        {
//          std::cout << "MC TAILS" << std::endl;
//          std::cout << "" << std::endl;
//          r->AddMeanPtFit("MCTAILS-JPSI2CB2VWG:2",&par[0]);
//        }
//        
//        
//      }
//      
//      //Make a part for NA48 and the rest of fitting functions.
//      
//    }
//    
//    flavour = bin->Flavour();
//    
//    if (!spectra)
//    {
//      TString spectraName(Form("MeanPtVsMinvUS-%s",binning.GetName()));
//      if ( flavour.Length() > 0 )
//      {
//        spectraName += "-";
//        spectraName += flavour;
//      }
//      if ( corrected )
//      {
//        spectraName += "-";
//        spectraName += "Corr";
//      }
//      
//      spectra = new AliAnalysisMuMuSpectra(spectraName.Data());
//    }
//    
//    spectra->AdoptResult(*bin,r);
//    
//    //    if ( IsSimulation() )
//    //    {
//    //      SetNofInputParticles(*r);
//    //    }
//    
//    
//  } // loop on bins
//  
//  //  delete fitTypeArray;
//  delete sMinv;
//  delete bins;
//  
//  return spectra;
//}

//_____________________________________________________________________________
void
AliAnalysisMuMu::GetParametersFromMC(TString& fitType, const char* pathCentrPairCut, const char* spectraName, AliAnalysisMuMuBinning::Range* bin) const
{
  /// Get the parameters from the associated simulation. Is intended to be used in minv fits, where we need the tails from JPsi (and Psi')
  // We can choose between the 2 associated simulations (a JPsi and Psi' ones) by setting the sim variable to "sim1" (fAssociatedSimulation by default) or "sim2" (fAssociatedSimulation2)
  
  if ( !SIM() && !SIM2() )
  {
    AliError("Cannot get MC tails without associated simulation(s) file(s) !");
    fitType = "";
    return;
  }
  
  TString subResultName("");
  if ( fitType.Contains("NA60NEW",TString::kIgnoreCase) ) subResultName = "PSINA60NEW";//_1.5_4.2
  else if ( fitType.Contains("CB2",TString::kIgnoreCase) ) subResultName = "PSICB2";//_2.2_3.9
  else
  {
    AliError("I don't know from which MC subresult take the tails");
    return;
  }
    
  TObjArray* simArr = new TObjArray;
  if ( SIM() ) simArr->Add(SIM());
  if ( SIM2() && fitType.Contains("INDEPTAILS",TString::kIgnoreCase) ) simArr->Add(SIM2()); // If we have set the key to get the JPsi ans PsiP tails
  
  TIter nextSim(simArr);
  AliAnalysisMuMu* currentSIM;
  
  TString spath(pathCentrPairCut);
  
  spath.Prepend(Form("/%s",First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kTRUE)).Data()));//FIXME: Care with this when there is more than one selection in the list
  spath.Prepend(Form("/%s",First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kTRUE)).Data()));
  
  
  while ( (currentSIM = static_cast<AliAnalysisMuMu*>(nextSim())) )
  {
    AliAnalysisMuMuSpectra* minvMCSpectra = currentSIM->SPECTRA(Form("%s/%s",spath.Data(),spectraName));
    if (!minvMCSpectra)
    {
      AliError(Form("Could not find spectra %s/%s for associated simulation",spath.Data(),spectraName));
      currentSIM->OC()->Print("*:Ali*");
      fitType = "";
      continue;
    }
    
    AliAnalysisMuMuJpsiResult* minvMCResult = static_cast<AliAnalysisMuMuJpsiResult*>(minvMCSpectra->GetResultForBin(*bin));
    if ( !minvMCResult )
    {
      AliError(Form("Cannot get MC tails cause the minv result for bin %s in %s/%s was not found",bin->AsString().Data(),spath.Data(),spectraName));
      fitType = "";
      continue;
    }
    
    AliAnalysisMuMuJpsiResult* r = dynamic_cast<AliAnalysisMuMuJpsiResult*>(minvMCResult->SubResult(subResultName.Data())); //FIXME: Find an independet way of naming results
    if  ( r && subResultName.Contains("PSICB2") )
    {
      fitType += Form(":al%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("al%s",currentSIM->GetParticleName())));
      fitType += Form(":nl%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("nl%s",currentSIM->GetParticleName())));
      fitType += Form(":au%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("au%s",currentSIM->GetParticleName())));
      fitType += Form(":nu%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("nu%s",currentSIM->GetParticleName())));
      
      std::cout << " Using MC " << currentSIM->GetParticleName() << " CB2 tails... " << std::endl;
      std::cout << std::endl;
    }
    else if ( r && subResultName.Contains("PSINA60NEW") )
    {
      fitType += Form(":p1L%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p1L%s",currentSIM->GetParticleName())));
      fitType += Form(":p2L%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p2L%s",currentSIM->GetParticleName())));
      fitType += Form(":p3L%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p3L%s",currentSIM->GetParticleName())));
      fitType += Form(":p1R%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p1R%s",currentSIM->GetParticleName())));
      fitType += Form(":p2R%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p2R%s",currentSIM->GetParticleName())));
      fitType += Form(":p3R%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("p3R%s",currentSIM->GetParticleName())));
      
      fitType += Form(":aL%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("aL%s",currentSIM->GetParticleName())));
      fitType += Form(":aR%s=%f",currentSIM->GetParticleName(),r->GetValue(Form("aR%s",currentSIM->GetParticleName())));
      
      std::cout << " Using MC " << currentSIM->GetParticleName() << " NA60New tails... " << std::endl;
      std::cout << std::endl;
    }
    else
    {
      AliError(Form("Cannot get MC tails. MC Subresult %s not found",minvMCResult->GetName()));
      fitType = "";
    }
  }
  delete simArr;
}

//_____________________________________________________________________________
void
AliAnalysisMuMu::GetParametersFromResult(TString& fitType, AliAnalysisMuMuJpsiResult* minvResult) const
{
  // Gets the parameters from a result, is intended to be used for mean pt fits where we need the signal and backgroud parameters
  
  AliWarning("Re-implement me !!!"); //FIXME: The parameters to get will depend on the fit function and also in this way is not suitable for other particles (ie Upsilon)(Find a way to get the particle(s) name)
  
  TString msg("");
  if ( minvResult )
  {
    // We take the usual parameters (the ones from JPsi and the normalization of the Psi')
    fitType += Form(":kJPsi=%f",minvResult->GetValue("kJPsi")); //FIXME: Names are not correct
    fitType += Form(":mJPsi=%f",minvResult->GetValue("mJPsi"));
    fitType += Form(":sJPsi=%f",minvResult->GetValue("sJPsi"));
    
    fitType += Form(":NofJPsi=%f",minvResult->GetValue("NofJPsi"));
    fitType += Form(":ErrStatNofJPsi=%f",minvResult->GetErrorStat("NofJPsi"));
    
    fitType += Form(":kPsiP=%f",minvResult->GetValue("kPsiP"));
    
    TString minvName(minvResult->GetName());
    
    TString minvRangeParam = minvName;
    minvRangeParam.Remove(0,minvRangeParam.First("_") + 1);
    fitType += Form(":MinvRS=%s",minvRangeParam.Data());
    
    fitType += Form(":FSigmaPsiP=%f",minvResult->GetValue("FSigmaPsiP"));
    
    if ( fitType.Contains("CB2",TString::kIgnoreCase) )
    {
      fitType += Form(":alJPsi=%f",minvResult->GetValue("alJPsi"));
      fitType += Form(":nlJPsi=%f",minvResult->GetValue("nlJPsi"));
      fitType += Form(":auJPsi=%f",minvResult->GetValue("auJPsi"));
      fitType += Form(":nuJPsi=%f",minvResult->GetValue("nuJPsi"));
      
      msg += "JPsi CB2 signal parameters";
      //    fitType += Form(":NofPsiP=%f",minvResult->GetValue("NofPsiP"));
      //    fitType += Form(":ErrStatNofPsiP=%f",minvResult->GetErrorStat("NofPsiP"));
      
      if ( fitType.Contains("INDEPTAILS") )
      {
//        minvName = minvResult->GetName();
        if ( minvName.Contains("INDEPTAILS") )
        {
          // In case we use independent parameters tails for JPsi and Psi' we take also the Psi' ones
          fitType += Form(":alPsiP=%f",minvResult->GetValue("alPsiP"));
          fitType += Form(":nlPsiP=%f",minvResult->GetValue("nlPsiP"));
          fitType += Form(":auPsiP=%f",minvResult->GetValue("auPsiP"));
          fitType += Form(":nuPsiP=%f",minvResult->GetValue("nuPsiP"));
          fitType += Form(":mPsiP=%f",minvResult->GetValue("mPsiP"));
          fitType += Form(":sPsiP=%f",minvResult->GetValue("sPsiP"));
          
          msg += " + PsiP CB2 signal parameters";
        }
        else
        {
          AliError(Form("Cannot get PsiP tails from result. Result %s does not contain PsiP tails info => Fit will fail ",minvResult->GetName()));
          fitType = "";
          return;
        }
      }
    }
    else if ( fitType.Contains("NA60NEW",TString::kIgnoreCase) )
    {
      fitType += Form(":p1LJPsi=%f",minvResult->GetValue("p1LJPsi"));
      fitType += Form(":p2LJPsi=%f",minvResult->GetValue("p2LJPsi"));
      fitType += Form(":p3LJPsi=%f",minvResult->GetValue("p3LJPsi"));
      fitType += Form(":p1RJPsi=%f",minvResult->GetValue("p1RJPsi"));
      fitType += Form(":p2RJPsi=%f",minvResult->GetValue("p2RJPsi"));
      fitType += Form(":p3RJPsi=%f",minvResult->GetValue("p3RJPsi"));
      
      fitType += Form(":aLJPsi=%f",minvResult->GetValue("aLJPsi"));
      fitType += Form(":aRJPsi=%f",minvResult->GetValue("aRJPsi"));
      
      msg += "JPsi NA60New signal parameters";
      
      if ( fitType.Contains("INDEPTAILS") )
      {
//        TString minvName(minvResult->GetName());
        if ( minvName.Contains("INDEPTAILS") )
        {
          // In case we use independent parameters tails for JPsi and Psi' we take also the Psi' ones
          fitType += Form(":p1LPsiP=%f",minvResult->GetValue("p1LPsiP"));
          fitType += Form(":p2LPsiP=%f",minvResult->GetValue("p2LPsiP"));
          fitType += Form(":p3LPsiP=%f",minvResult->GetValue("p3LPsiP"));
          fitType += Form(":p1RPsiP=%f",minvResult->GetValue("p1RPsiP"));
          fitType += Form(":p2RPsiP=%f",minvResult->GetValue("p2RPsiP"));
          fitType += Form(":p3RPsiP=%f",minvResult->GetValue("p3RPsiP"));
          
          fitType += Form(":aLPsiP=%f",minvResult->GetValue("aLPsiP"));
          fitType += Form(":aRPsiP=%f",minvResult->GetValue("aRPsiP"));
          
          msg += " + PsiP NA60New signal parameters";
          
        }
        else
        {
          AliError(Form("Cannot get PsiP tails from result. Result %s does not contain PsiP tails info => Fit will fail ",minvResult->GetName()));
          fitType = "";
          return;
        }
      }
    }
    else
    {
      AliError(Form("Cannot get the parameters from %s",minvResult->GetName()));
      fitType = "";
      return;
    }
    // Now we take the background parameters
    if ( fitType.Contains("VWG_") || fitType.Contains("VWGINDEPTAILS") ) //FIXME: Check that cannot be misunderstood(like Exp x Pol2..). In fact it can be misunderstood since the meanpt function name has also the name of the function to fit the bkg (free parameters). Also add the rest of the BKG functions
    {
      fitType += Form(":kVWG=%f",minvResult->GetValue("kVWG"));
      fitType += Form(":mVWG=%f",minvResult->GetValue("mVWG"));
      fitType += Form(":sVWG1=%f",minvResult->GetValue("sVWG1"));
      fitType += Form(":sVWG2=%f",minvResult->GetValue("sVWG2"));
      
      msg += " + VWG Bkg parameters";
    }
    else if ( fitType.Contains("POL2EXP_") || fitType.Contains("POL2EXPINDEPTAILS") )
    {
      fitType += Form(":kPol2Exp=%f",minvResult->GetValue("kPol2Exp"));
      fitType += Form(":pol0=%f",minvResult->GetValue("pol0"));
      fitType += Form(":pol1=%f",minvResult->GetValue("pol1"));
      fitType += Form(":pol2=%f",minvResult->GetValue("pol2"));
      fitType += Form(":exp=%f",minvResult->GetValue("exp"));
      
      msg += " + Pol2xExp Bkg parameters";
    }
    else if ( fitType.Contains("POL4EXP_") || fitType.Contains("POL4EXPINDEPTAILS") )
    {
      fitType += Form(":kPol4Exp=%f",minvResult->GetValue("kPol4Exp"));
      fitType += Form(":pol0=%f",minvResult->GetValue("pol0"));
      fitType += Form(":pol1=%f",minvResult->GetValue("pol1"));
      fitType += Form(":pol2=%f",minvResult->GetValue("pol2"));
      fitType += Form(":pol3=%f",minvResult->GetValue("pol3"));
      fitType += Form(":pol4=%f",minvResult->GetValue("pol4"));
      fitType += Form(":exp=%f",minvResult->GetValue("exp"));
      
      msg += " + Pol4xExp Bkg parameters";
    }
    std::cout << "Using " << msg.Data() << " from " << minvResult->GetName() <<  " inv mass result" << std::endl;
    std::cout << "" << std::endl;
  }
  else
  {
    AliError(Form("Cannot get tails from result. Result %s not found",minvResult->GetName()));
    fitType = "";
    return;
  }
}

//_____________________________________________________________________________
ULong64_t AliAnalysisMuMu::GetTriggerScalerCount(const char* triggerList, Int_t runNumber)
{
  // Get the expected (from OCDB scalers) trigger count
  
  AliAnalysisTriggerScalers ts(runNumber,Config()->OCDBPath());
  
  TObjArray* triggers = TString(triggerList).Tokenize(",");
  TObjString* trigger;
  TIter next(triggers);
  ULong64_t n(0);
  
  while ( ( trigger = static_cast<TObjString*>(next()) ) )
  {
    AliAnalysisTriggerScalerItem* item = ts.GetTriggerScaler(runNumber,"L2A",trigger->String().Data());
    if (item)
    {
      n += item->Value();
    }
    delete item;
  }
  delete triggers;
  
  return n;
}

//_____________________________________________________________________________
AliAnalysisMuMuSpectra* AliAnalysisMuMu::GetSpectra(const char* what, const char* flavour) const
{
  /// get a given spectra
  
  TString swhat(what);
  TString sflavour(flavour);
  swhat.ToUpper();
  sflavour.ToUpper();
  
  TString spectraName(Form("/%s/%s/PP/%s/PSI-%s",
                           First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,IsSimulation())).Data(),
                           First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,IsSimulation())).Data(),
                           First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,IsSimulation())).Data(),
                           swhat.Data()));

  if (sflavour.Length()>0)
  {
    spectraName += "-";
    spectraName += sflavour.Data();
  }

  return SPECTRA(spectraName.Data());
}

//_____________________________________________________________________________
TH1* AliAnalysisMuMu::PlotAccEfficiency(const char* whatever)
{
  //FIXME::Make it general
  if ( !IsSimulation() )
  {
    AliError("Could not get AccxEff histo: Not simulation file");
    return 0x0;
  }
  
  TString path(Form("/%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kTRUE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kTRUE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kTRUE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kTRUE)).Data()));
  
  AliAnalysisMuMuSpectra* s = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("%s/%s",path.Data(),whatever)));
  if ( !s )
  {
    AliError(Form("No AccEff spectra %s found in %s",whatever,path.Data()));
    return 0x0;
  }
  
  return s->Plot(Form("AccEff%s",GetParticleName()),"PSICOUNT",kFALSE);//_2.2_3.9
                                                                                         
}

//_____________________________________________________________________________
TH1* AliAnalysisMuMu::PlotSystematicsTestsRelative(const char* quantity,const char* flavour,const char* value2Test)
{
  /// what,quantity and flavour defines de binning to test (output will be 1 plot per bin)
  /// value2test is the observable we want to test ( i.e. NJpsi(bin)/integratedNJpsi, <pt>(bin)/integrated<pt>... )
  /// --value2test == yield -> NJpsi(bin)/integratedNJpsi
  /// --value2test == mpt -> <pt>(bin)/integrated<pt>

  TString path(Form("%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kFALSE)).Data()));
  
  TString svalue2Test(value2Test);
  TString shName("");
  TString sObsInt("");
  TString sObsBin("");
  TString sflavour(flavour);
  TString squantity(quantity);
  squantity.ToUpper();
  
  if ( !svalue2Test.CompareTo("yield",TString::kIgnoreCase) )
  {
    sObsInt = "PSI-INTEGRATED-AccEffCorr";
    sObsBin = Form("PSI-%s-AccEffCorr",squantity.Data());
    svalue2Test = "NofJPsi";
    shName = "N^{J/#psi}_{bin}/N^{J/#psi}_{int}";
  }
  else if ( !svalue2Test.CompareTo("mpt",TString::kIgnoreCase) )
  {
    sObsInt = "PSI-INTEGRATED-AccEffCorr-MeanPtVsMinvUS";
    sObsBin = Form("PSI-%s-AccEffCorr-MeanPtVsMinvUS",squantity.Data());
    svalue2Test = "MeanPtJPsi";
    shName = "<p_{t}>^{bin}/<p_{t}>^{int}";
  }
  else
  {
    AliError("unrecognized value to test");
    return  0x0;
  }
  
  TString id(Form("/TESTSYST/%s",path.Data()));
  
  //--Get the integrated results
  AliAnalysisMuMuSpectra* sInt = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("/%s/%s",path.Data(),sObsInt.Data())));
  if ( !sInt )
  {
    AliError(Form("No integrated spectra %s found in %s",sObsInt.Data(),path.Data()));
    return 0x0;
  }
  
  TObjArray* bin = BIN()->CreateBinObjArray("psi","integrated","");
  if ( !bin )
  {
    AliError("No integrated bin found");
    return 0x0;
  }
  AliAnalysisMuMuBinning::Range* r = static_cast<AliAnalysisMuMuBinning::Range*>(bin->At(0));
  
  AliAnalysisMuMuJpsiResult* resInt =  static_cast<AliAnalysisMuMuJpsiResult*>(sInt->GetResultForBin(*r));
  if ( !resInt )
  {
    AliError(Form("No integrated result found in spectra %s at %s",sObsInt.Data(),path.Data()));
    return 0x0;
  }
  TObjArray* sresIntArray = resInt->SubResults();
//  Int_t nsresInt = sresIntArray->GetEntriesFast();

  bin = BIN()->CreateBinObjArray("psi",squantity.Data(),sflavour.Data());//memory leak?
  if ( !bin )
  {
    AliError(Form("%s-%s-%s binning does not exist","psi",squantity.Data(),sflavour.Data()));
    return 0x0;
  }
  
  Int_t nbin = bin->GetEntries();
  Int_t nsres = sresIntArray->GetEntries();
  TObjArray* sResultNameArray= new TObjArray();
  std::vector<std::vector<double> > valuesArr;
  valuesArr.resize(nbin+1, std::vector<double>(nsres,0));
  std::vector<std::vector<double> > valuesErrorArr;
  valuesErrorArr.resize(nbin+1, std::vector<double>(nsres,0));
  
  TIter nextIntSubResult(sresIntArray);
  AliAnalysisMuMuResult* sresInt(0x0);
  Int_t nBkgParametrizations(0);
  Int_t j(0);
  while ( ( sresInt = static_cast<AliAnalysisMuMuResult*>(nextIntSubResult()) ) ) //Integrated SubResult loop
  {
    TString sresIntName(sresInt->GetName());
    
    valuesArr[0][j] = sresInt->GetValue(svalue2Test.Data());
    valuesErrorArr[0][j] = sresInt->GetErrorStat(svalue2Test.Data());
    sResultNameArray->Add(new TObjString(sresIntName.Data()));
        
    if ( sresIntName.Contains("CB2") )
    {
      nBkgParametrizations++;
    }
    j++;
  }
  
  //--Get the bin per bin results
  AliAnalysisMuMuSpectra* sBin = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("/%s/%s",path.Data(),sObsBin.Data())));
  if ( !sBin )
  {
    AliError(Form("No integrated spectra %s found in %s",sObsBin.Data(),path.Data()));
    return 0x0;
    delete bin;
  }
  
  TIter nextBin(bin);
  AliAnalysisMuMuJpsiResult* sresBin(0x0);
  Int_t i(1);
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) ) //Bin loop
  {
    sresBin =  static_cast<AliAnalysisMuMuJpsiResult*>(sBin->GetResultForBin(*r));
    if ( !sresBin )
    {
      AliError(Form("No result found in spectra %s at %s for bin %s",sObsInt.Data(),path.Data(),r->AsString().Data()));
      return 0x0;
      delete bin;
    }
    
    TObjArray* sresBinArray = sresBin->SubResults();
    
    TIter nextSubResult(sresBinArray);
    j = 0;
    while ( (sresBin = static_cast<AliAnalysisMuMuJpsiResult*>(nextSubResult())) ) // Subresults loop
    {
      valuesArr[i][j] = sresBin->GetValue(svalue2Test.Data());
      valuesErrorArr[i][j] = sresBin->GetErrorStat(svalue2Test.Data());
      
      j++;

    } //End Subresults loop
    i++;

  } //End bin loop
  
  TH1* hsyst = new TH1F(Form("%s_Systematics",value2Test),Form("%s Systematics results",value2Test),nbin,0,nbin);
  
  TString binName("");
  for ( Int_t b = 1 ; b < i ; b++ ) //Bin loop
  {
    binName = static_cast<AliAnalysisMuMuBinning::Range*>(bin->At(b-1))->AsString().Data();
    TString savePath(Form("%s/%s",id.Data(),binName.Data()));
    
    Int_t binUCTotal(1);
    
    TH1* hratiosBin = new TH1D(Form("SystTests_%s_Bkg_%s",sObsBin.Data(),binName.Data()),
                          Form("%s Systematics tests for %s",binName.Data(),shName.Data()),j*nBkgParametrizations,0,
                          j*nBkgParametrizations);
    
    for ( Int_t k = 0 ; k <= j ; k++ )
    {
      TString hName("");
      
      if ( k == 0 ) hName = "UC";
      else hName = sResultNameArray->At(k-1)->GetName();
     
      
      TH1* hratios = new TH1D(Form("SystTests_%s_%s",sObsBin.Data(),hName.Data()),
                              Form("%s Systematics tests for %s(%s)",binName.Data(),shName.Data(),hName.Data()),j,0,j);
      hratios->SetNdivisions(j+1);
      
      TH1* hratiosUC(0x0);
      if ( k != 0 )
      {
        hratiosUC = new TH1D(Form("SystTests_%s_%s_Bkg",sObsBin.Data(),hName.Data()),
                                         Form("%s Systematics tests for %s(%s bkg)",binName.Data(),shName.Data(),hName.Data()),nBkgParametrizations,0,nBkgParametrizations);
        hratiosUC->SetNdivisions(nBkgParametrizations+1);
      }
      
      TString signalName(hName.Data());
      Int_t sizeName = signalName.Sizeof();
      signalName.Remove(2,sizeName-3);
      Int_t binUC(1);
      
      for ( Int_t l = 0; l < j ; l++) //Subresults loop
      {
        TString binSignalName(sResultNameArray->At(l)->GetName());
        
        Double_t ratio,ratioError;
        if ( k == 0)
        {
          ratio = valuesArr[b][l] / valuesArr[0][l];
          ratioError = TMath::Sqrt( TMath::Power(valuesErrorArr[b][l] / valuesArr[0][l],2.) + TMath::Power(valuesArr[b][l]*valuesErrorArr[0][l] / TMath::Power(valuesArr[0][l],2.),2.) );
          
          hratios->GetXaxis()->SetBinLabel(l+1,sResultNameArray->At(l)->GetName());
        }
        else
        {
          ratio = valuesArr[b][l] / valuesArr[0][k-1];
          ratioError = TMath::Sqrt( TMath::Power(valuesErrorArr[b][l] / valuesArr[0][k-1],2.) + TMath::Power(valuesArr[b][l]*valuesErrorArr[0][k-1] / TMath::Power(valuesArr[0][k-1],2.),2.) );
          
          hratios->GetXaxis()->SetBinLabel(l+1,Form("%s/%s",sResultNameArray->At(l)->GetName(),sResultNameArray->At(k-1)->GetName()));
          
          if ( binSignalName.Contains(signalName.Data()) )
          {
            hratiosUC->GetXaxis()->SetBinLabel(binUC,Form("%s/%s",sResultNameArray->At(l)->GetName(),sResultNameArray->At(k-1)->GetName()));
            
            hratiosUC->SetBinContent(binUC,ratio);
            hratiosUC->SetBinError(binUC,ratioError);
            
            hratiosBin->GetXaxis()->SetBinLabel(binUCTotal,Form("%s/%s",sResultNameArray->At(l)->GetName(),sResultNameArray->At(k-1)->GetName()));
            
            hratiosBin->SetBinContent(binUCTotal,ratio);
            hratiosBin->SetBinError(binUCTotal,ratioError);
            
            binUC++;
            binUCTotal++;
          }
        }
        
        hratios->SetBinContent(l+1,ratio);
        hratios->SetBinError(l+1,ratioError);
      }
      
      
      
      
//      TH1* o = OC()->Histo(Form("%s",savePath.Data()),hratios->GetName());
//      
//      if (o)
//      {
//        AliWarning(Form("Replacing %s/%s",savePath.Data(),hratios->GetName()));
//        OC()->Remove(Form("%s/%s",savePath.Data(),hratios->GetName()));
//      }
//      
//      Bool_t adoptOK = OC()->Adopt(savePath.Data(),hratios);
//      
//      if ( adoptOK ) std::cout << "+++syst histo " << hratios->GetName() << " adopted" << std::endl;
//      else AliError(Form("Could not adopt syst histo %s",hratios->GetName()));
//      
//      if ( hratiosUC )
//      {
//        o = OC()->Histo(Form("%s",savePath.Data()),hratiosUC->GetName());
//        
//        if (o)
//        {
//          AliWarning(Form("Replacing %s/%s",savePath.Data(),hratiosUC->GetName()));
//          OC()->Remove(Form("%s/%s",savePath.Data(),hratiosUC->GetName()));
//        }
//        
//        adoptOK = OC()->Adopt(savePath.Data(),hratiosUC);
//        
//        if ( adoptOK ) std::cout << "+++syst histo " << hratiosUC->GetName() << " adopted" << std::endl;
//        else AliError(Form("Could not adopt syst histo %s",hratiosUC->GetName()));
//      }
    }
    
    
    //Syst computation for bin
    Double_t num(0.),deno(0.);
    for ( Int_t m = 1 ; m <= hratiosBin->GetNbinsX() ; m++ )
    {
      Double_t value = hratiosBin->GetBinContent(m);
      Double_t error = hratiosBin->GetBinError(m);
      
      num += value/TMath::Power(error,2.);
      deno += 1./TMath::Power(error,2.);
    }
    
    Double_t mean = num/deno;
    Double_t v1(0.),v2(0.),sum(0.);
    for ( Int_t l = 1 ; l <= hratiosBin->GetNbinsX() ; l++ )
    {
      Double_t value = hratiosBin->GetBinContent(l);
      Double_t error = hratiosBin->GetBinError(l);
      
      Double_t wi = 1./TMath::Power(error,2.);
      v1 += wi;
      v2 += wi*wi;
      Double_t diff = value - mean;
      sum += wi*diff*diff;
      
    }

    Double_t syst = TMath::Sqrt( (v1/(v1*v1-v2)) * sum);
    
    hsyst->GetXaxis()->SetBinLabel(b,binName.Data());
    hsyst->SetBinContent(b,(syst*100.)/mean);
    
    
    //___
    TF1* meanF = new TF1("mean","[0]",0,j*nBkgParametrizations);
    meanF->SetParameter(0,mean);
    
    TF1* meanFPS = new TF1("meanPS","[0]",0,j*nBkgParametrizations);
    meanFPS->SetParameter(0,mean+syst);
    meanFPS->SetLineStyle(2);
    
    TF1* meanFMS = new TF1("meanMS","[0]",0,j*nBkgParametrizations);
    meanFMS->SetParameter(0,mean-syst);
    meanFMS->SetLineStyle(2);

    hratiosBin->GetListOfFunctions()->Add(meanF);
    hratiosBin->GetListOfFunctions()->Add(meanFPS);
    hratiosBin->GetListOfFunctions()->Add(meanFMS);
    
    TH1* o = OC()->Histo(Form("%s",savePath.Data()),hratiosBin->GetName());
    
    if (o)
    {
      AliWarning(Form("Replacing %s/%s",savePath.Data(),hratiosBin->GetName()));
      OC()->Remove(Form("%s/%s",savePath.Data(),hratiosBin->GetName()));
    }
    
    Bool_t adoptOK = OC()->Adopt(savePath.Data(),hratiosBin);
    
    if ( adoptOK ) std::cout << "+++syst histo " << hratiosBin->GetName() << " adopted" << std::endl;
    else AliError(Form("Could not adopt syst histo %s",hratiosBin->GetName()));
  }
  
  
  TH1* o = OC()->Histo(Form("%s",id.Data()),hsyst->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hsyst->GetName()));
    OC()->Remove(Form("%s/%s",id.Data(),hsyst->GetName()));
  }
  
  Bool_t adoptOK = OC()->Adopt(id.Data(),hsyst);
  
  if ( adoptOK ) std::cout << "+++syst histo " << hsyst->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt syst histo %s",hsyst->GetName()));
  
  
  delete bin;
  delete sResultNameArray;
  
  return 0x0;
  
}


//_____________________________________________________________________________
TH1* AliAnalysisMuMu::PlotJpsiYield(const char* whatever)
{
  
  //FIXME::Make it general
  if ( IsSimulation() )
  {
    AliError("Cannot compute J/Psi yield: Is a simulation file");
    return 0x0;
  }
  
  TString path(Form("/%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kFALSE)).Data()));
  
  AliAnalysisMuMuSpectra* s = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("%s/%s",path.Data(),whatever)));
  if ( !s )
  {
    AliError(Form("No spectra %s found in %s",whatever,path.Data()));
    return 0x0;
  }
  
  std::cout << "Number of J/Psi:" << std::endl;
  TH1* hry = s->Plot("NofJPsi","PSIPSIPRIMECB2VWGINDEPTAILS",kFALSE); //Number of Jpsi
  std::cout << "" << std::endl;
  
  std::cout << "Equivalent number of MB events:" << std::endl;
  TH1* hN = ComputeEquNofMB();
  std::cout << "" << std::endl;
  
  TH1* hy = static_cast<TH1*>(hry->Clone("CorrJPsiYields"));
  Double_t bR = 0.0593; // BR(JPsi->mu+mu-)
  Double_t bRerror = 0.0006 ;
  
  for (Int_t i = 1 ; i <= hy->GetNbinsX() ; i++)
  {
    Double_t yield = hry->GetBinContent(i)/(hN->GetBinContent(i)*bR);
    Double_t yieldError = TMath::Sqrt(TMath::Power(hry->GetBinError(i)/(hN->GetBinContent(i)*bR),2.) +
                                      TMath::Power(hN->GetBinError(i)*bR/TMath::Power(hN->GetBinContent(i)*bR,2.),2.) +
                                      TMath::Power(hry->GetBinContent(i)*hN->GetBinContent(i)*bRerror/TMath::Power(hN->GetBinContent(i)*bR,2.),2.));
    
    std::cout << yield << " +- " << yieldError << std::endl;
    
    hy->SetBinContent(i,yield);
    hy->SetBinError(i,yieldError);
  }
  
  delete hry;
  delete hN;
  
  return hy;
}


//_____________________________________________________________________________
UInt_t AliAnalysisMuMu::GetSum(AliCounterCollection& cc, const char* triggerList,
                               const char* eventSelection, Int_t runNumber)
{
  TObjArray* ktrigger = cc.GetKeyWords("trigger").Tokenize(",");
  TObjArray* kevent = cc.GetKeyWords("event").Tokenize(",");
  TObjArray* a = TString(triggerList).Tokenize(" ");
  TIter next(a);
  TObjString* str;
  
  UInt_t n(0);
  
  TString sEventSelection(eventSelection);
  sEventSelection.ToUpper();
  
  if ( kevent->FindObject(sEventSelection.Data()) ) 
  {
    while ( ( str = static_cast<TObjString*>(next()) ) )
    {
      if ( ktrigger->FindObject(str->String().Data()) )
      {
        if ( runNumber < 0 ) 
        {
          n +=  static_cast<UInt_t>(cc.GetSum(Form("trigger:%s/event:%s",str->String().Data(),eventSelection)));              
        }
        else
        {
          n +=  static_cast<UInt_t>(cc.GetSum(Form("trigger:%s/event:%s/run:%d",str->String().Data(),eventSelection,runNumber)));                        
        }
      }
    }
  }
  
  delete a;
  delete ktrigger;
  delete kevent;
  return n;
}

//_____________________________________________________________________________
Bool_t
AliAnalysisMuMu::GetCollections(const char* rootfile,
                                AliMergeableCollection*& oc,
                                AliCounterCollection*& cc,
                                AliAnalysisMuMuBinning*& bin,
                                std::set<int>& runnumbers)
{
  oc = 0x0;
  cc = 0x0;
  bin = 0x0;
  
  TFile* f = static_cast<TFile*>(gROOT->GetListOfFiles()->FindObject(rootfile));
  if (!f)
  {
    f = TFile::Open(rootfile);
  }
  
  if ( !f || f->IsZombie() )
  {
    return kFALSE;
  }

  f->GetObject("OC",oc);
  if (!oc)
  {
    f->GetObject("MC",oc);
  }
  f->GetObject("CC",cc);
  
  TIter next(f->GetListOfKeys());
  TKey* key;
  
  while ( ( key = static_cast<TKey*>(next())) && !bin )
  {
    if ( strcmp(key->GetClassName(),"AliAnalysisMuMuBinning")==0 )
    {
      bin = dynamic_cast<AliAnalysisMuMuBinning*>(key->ReadObj());
    }
  }
  
  if (!oc || !cc)
  {
    AliErrorClass("Old file. Please upgrade it!");
    
    return kFALSE;
  }
  
  // get run list
  TObjArray* runs = cc->GetKeyWords("run").Tokenize(",");
  runs->Sort();
  TIter nextRun(runs);
  TObjString* srun;

  runnumbers.clear();
  
  while ( ( srun = static_cast<TObjString*>(nextRun()) ) )
  {
    runnumbers.insert(srun->String().Atoi());
  }
  
  delete runs;
  
  return kTRUE;
}

//_____________________________________________________________________________
Bool_t AliAnalysisMuMu::IsSimulation() const
{
  // whether or not we have MC information
  
//  return kFALSE;
  
  if (!fMergeableCollection) return kFALSE;
  
  TList* list = fMergeableCollection->CreateListOfKeys(0);
  TIter next(list);
  TObjString* str;
  Bool_t ok(kFALSE);
  
  while ( ( str = static_cast<TObjString*>(next()) ) )
  {
    if ( str->String().Contains(AliAnalysisMuMuBase::MCInputPrefix()) ) ok = kTRUE;
  }
  delete list;
  
  return ok;
}

//_____________________________________________________________________________
Int_t
AliAnalysisMuMu::Jpsi(const char* what, const char* binningFlavour, Bool_t fitmPt)
{
  // Fit the J/psi (and psiprime) peaks for the triggers in fDimuonTriggers list
  // what="integrated" => fit only fully integrated MinvUS
  // what="pt" => fit MinvUS in pt bins
  // what="y" => fit MinvUS in y bins
  // what="pt,y" => fit MinvUS in (pt,y) bins
  
  TStopwatch timer;
  
  if (!fMergeableCollection)
  {
    AliError("No mergeable collection. Consider Upgrade()");
    return 0;
  }
  
  Int_t nfits(0);
  
  TObjArray* triggerArray = Config()->GetListElements(AliAnalysisMuMuConfig::kDimuonTriggerList,IsSimulation());
  TObjArray* eventTypeArray = Config()->GetListElements(AliAnalysisMuMuConfig::kEventSelectionList,IsSimulation());
  TObjArray* pairCutArray = Config()->GetListElements(AliAnalysisMuMuConfig::kPairSelectionList,IsSimulation());
  TObjArray* whatArray = TString(what).Tokenize(",");
  TObjArray* centralityArray = Config()->GetListElements(AliAnalysisMuMuConfig::kCentralitySelectionList,IsSimulation());
  
  TIter nextTrigger(triggerArray);
  TIter nextEventType(eventTypeArray);
  TIter nextPairCut(pairCutArray);
  TIter nextWhat(whatArray);
  TIter nextCentrality(centralityArray);
  
  TObjString* trigger;
  TObjString* eventType;
  TObjString* pairCut;
  TObjString* swhat;
  TObjString* centrality;
  
  while ( ( swhat = static_cast<TObjString*>(nextWhat()) ) )
  {
    AliAnalysisMuMuBinning* binning(0x0);
    
    if ( fBinning && swhat->String().Length() > 0 )
    {
      binning = fBinning->Project("psi",swhat->String().Data(),binningFlavour);
    }
    else
    {
      binning = new AliAnalysisMuMuBinning;
      binning->AddBin("psi",swhat->String().Data());
    }
    
    StdoutToAliDebug(1,std::cout << "++++++++++++ swhat=" << swhat->String().Data() << std::endl;);
    
    std::cout << "" << std::endl;
    std::cout << "++++++++++++++++++" << "NEW BIN TYPE" << "+++++++++++++++++++" << std::endl;
    std::cout << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
    std::cout << "++++++++++++ swhat=" << swhat->String().Data() << "++++++++++++++++++++" << std::endl;
    std::cout << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
    std::cout << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
    std::cout << "" << std::endl;
    std::cout << "" << std::endl;
    
    if (!binning)
    {
      AliError("oups. binning is NULL");
      continue;
    }
    
    StdoutToAliDebug(1,binning->Print(););
    
    nextTrigger.Reset();
    
    while ( ( trigger = static_cast<TObjString*>(nextTrigger())) )
    {
      AliDebug(1,Form("TRIGGER %s",trigger->String().Data()));
      
      nextEventType.Reset();
      
      while ( ( eventType = static_cast<TObjString*>(nextEventType())) )
      {
        AliDebug(1,Form("--EVENTTYPE %s",eventType->String().Data()));
        
        nextPairCut.Reset();
        
        while ( ( pairCut = static_cast<TObjString*>(nextPairCut())) )
        {
          AliDebug(1,Form("----PAIRCUT %s",pairCut->String().Data()));
          
          nextCentrality.Reset();
          
          while ( ( centrality = static_cast<TObjString*>(nextCentrality()) ) )
          {
            AliDebug(1,"----Fitting...");
            
            AliAnalysisMuMuSpectra* spectra = FitParticle("psi",
                                                          trigger->String().Data(), //Uncomment
                                                          eventType->String().Data(),
                                                          pairCut->String().Data(),
                                                          centrality->String().Data(),
                                                          *binning);
            
            AliDebug(1,Form("----fitting done spectra = %p",spectra));
            
            TString id(Form("/%s/%s/%s/%s",eventType->String().Data(),
                            trigger->String().Data(),
                            centrality->String().Data(),
                            pairCut->String().Data()));
            TObject* o;
            
            if ( spectra )
            {
              ++nfits;
              
              o = fMergeableCollection->GetObject(id.Data(),spectra->GetName());
              
              AliDebug(1,Form("----nfits=%d id=%s o=%p",nfits,id.Data(),o));
              
              if (o)
              {
                AliWarning(Form("Replacing %s/%s",id.Data(),spectra->GetName()));
                fMergeableCollection->Remove(Form("%s/%s",id.Data(),spectra->GetName()));
              }
              
              Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),spectra);
              
              if ( adoptOK ) std::cout << "+++Spectra " << spectra->GetName() << " adopted" << std::endl;
              else AliError(Form("Could not adopt spectra %s",spectra->GetName()));
           
              StdoutToAliDebug(1,spectra->Print(););
            }
            else AliError("Error creating spectra"); //Uncomment
            
            AliDebug(1,"----Fitting corrected spectra...");
            
            AliAnalysisMuMuSpectra* spectraCorr = FitParticle("psi",
                                                              trigger->String().Data(),
                                                              eventType->String().Data(),
                                                              pairCut->String().Data(),
                                                              centrality->String().Data(),
                                                              *binning,"minv",kTRUE);
            
            AliDebug(1,Form("----fitting done corrected spectra = %p",spectraCorr));
            
            o = 0x0;
            if ( spectraCorr )
            {
              ++nfits;
              
              o = fMergeableCollection->GetObject(id.Data(),spectraCorr->GetName());
              
              AliDebug(1,Form("----nfits=%d id=%s o=%p",nfits,id.Data(),o));
              
              if (o)
              {
                AliWarning(Form("Replacing %s/%s",id.Data(),spectraCorr->GetName()));
                fMergeableCollection->Remove(Form("%s/%s",id.Data(),spectraCorr->GetName()));
              }
              
              Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),spectraCorr);
              
              if ( adoptOK ) std::cout << "+++Spectra " << spectraCorr->GetName() << " adopted" << std::endl;
              else AliError(Form("Could not adopt spectra %s",spectraCorr->GetName()));
              
              StdoutToAliDebug(1,spectraCorr->Print(););
            }
            else AliError("Error creating spectra");
            
            
            if (fitmPt)
            {
              AliDebug(1,"----Fitting mean pt...");
              
              std::cout << "" << std::endl;
              std::cout << "" << std::endl;
              std::cout << "++++++++++++ Fitting mean Pt for " << swhat->String().Data() << " " << "slices" << std::endl; //Uncomment
              
              if ( spectra )
              {
                AliAnalysisMuMuSpectra* spectraMeanPt = FitParticle("psi",
                                                                  trigger->String().Data(),
                                                                  eventType->String().Data(),
                                                                  pairCut->String().Data(),
                                                                  centrality->String().Data(),
                                                                  *binning,"mpt"/*,*spectra*/);
                
                
                
                AliDebug(1,Form("----fitting done spectra = %p",spectraMeanPt));
                o = 0x0;
                
                if ( spectraMeanPt )
                {
                  ++nfits; //Review this
                  
                  o = fMergeableCollection->GetObject(id.Data(),spectraMeanPt->GetName());
                  
                  AliDebug(1,Form("----nfits=%d id=%s o=%p",nfits,id.Data(),o));
                  
                  if (o)
                  {
                    AliWarning(Form("Replacing %s/%s",id.Data(),spectraMeanPt->GetName()));
                    fMergeableCollection->Remove(Form("%s/%s",id.Data(),spectraMeanPt->GetName()));
                  }
                  
                  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),spectraMeanPt);
                  //                  spectraMeanPt->Print();
                  if ( adoptOK ) std::cout << "+++Spectra " << spectraMeanPt->GetName() << " adopted" << std::endl;
                  else AliError(Form("Could not adopt spectra %s",spectraMeanPt->GetName()));
                }
                else AliError("Error creating spectra");

              }
              else std::cout << "Mean pt fit failed: No inv mass spectra for " << swhat->String().Data() << " " << "slices" << std::endl; //Uncomment
              
              
              std::cout << "++++++++++++ Fitting corrected mean Pt for" << " " << swhat->String().Data() << " " << "slices" << std::endl;
              
              if ( spectraCorr )
              {
                AliAnalysisMuMuSpectra* spectraMeanPtCorr  = FitParticle("psi",
                                                                       trigger->String().Data(),
                                                                       eventType->String().Data(),
                                                                       pairCut->String().Data(),
                                                                       centrality->String().Data(),
                                                                       *binning,"mpt"/*,*spectraCorr*/,kTRUE);
                
                
                
                AliDebug(1,Form("----fitting done spectra = %p",spectraMeanPtCorr));
                
                o = 0x0;
                
                if ( spectraMeanPtCorr )
                {
                  ++nfits; //Review this
                  
                  o = fMergeableCollection->GetObject(id.Data(),spectraMeanPtCorr->GetName());
                  
                  AliDebug(1,Form("----nfits=%d id=%s o=%p",nfits,id.Data(),o));
                  
                  if (o)
                  {
                    AliWarning(Form("Replacing %s/%s",id.Data(),spectraMeanPtCorr->GetName()));
                    fMergeableCollection->Remove(Form("%s/%s",id.Data(),spectraMeanPtCorr->GetName()));
                  }
                  
                  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),spectraMeanPtCorr);
                  //                  spectraMeanPtCorr->Print();
                  if ( adoptOK ) std::cout << "+++Spectra " << spectraMeanPtCorr->GetName() << " adopted" << std::endl;
                  else AliError(Form("Could not adopt spectra %s",spectraMeanPtCorr->GetName()));
                  
                }
                else AliError("Error creating spectra");
                
              }
              
              else std::cout << "Corrected mean pt fit failed: No corrected inv mass spectra for " << swhat->String().Data() << " " << "slices" << std::endl;
              
            }
          }
        }
      }
    }
  }
  
  delete whatArray;
  delete triggerArray;
  delete eventTypeArray;
  delete pairCutArray;
  delete centralityArray;
  
  StdoutToAliDebug(1,timer.Print(););

  if (nfits)
  {
    Update();
//    ReOpen(fFilename,"UPDATE");
//    fMergeableCollection->Write("MC",TObjArray::kOverwrite);// | TObjArray::kSingleKey);
//    ReOpen(fFilename,"READ");
  }
  
  
  return nfits;
  
}

//_____________________________________________________________________________
TGraph* AliAnalysisMuMu::PlotEventSelectionEvolution(const char* trigger1, const char* event1,
                                                     const char* trigger2, const char* event2,
                                                     Bool_t drawFills,
                                                     Bool_t asRejection) const
{
  if (!CC()) return 0x0;
  
  const std::set<int>& runnumbers = RunNumbers();
  
  TGraphErrors* g = new TGraphErrors(runnumbers.size());
  
  std::set<int>::const_iterator it;
  Int_t i(0);

  Double_t ymin(TMath::Limits<double>::Max());
  Double_t ymax(TMath::Limits<double>::Min());

  for ( it = runnumbers.begin(); it != runnumbers.end(); ++it )
  {
    Int_t runNumber = *it;
    Double_t n = CC()->GetSum(Form("trigger:%s/event:%s/run:%d",trigger1,event1,runNumber));
    Double_t d = CC()->GetSum(Form("trigger:%s/event:%s/run:%d",trigger2,event2,runNumber));
    if (n>0 && d>0)
    {
      Double_t y = n/d;
      
      if ( fCorrectionPerRun )
      {
        Double_t xcorr,ycorr;
        fCorrectionPerRun->GetPoint(i,xcorr,ycorr); // note that the fact that xcorr==runNumber has been checked by the SetCorrectionPerRun method
        y *= ycorr;
        // FIXME: should get the correction error here
      }
      
      if ( asRejection ) y = 100*(1.0 - y);
      ymin = TMath::Min(ymin,y);
      ymax = TMath::Max(ymax,y);
      Double_t yerr = y*AliAnalysisMuMuResult::ErrorAB(n,TMath::Sqrt(n),d,TMath::Sqrt(d));
      g->SetPoint(i,runNumber,y);
      g->SetPointError(i,0.5,yerr);
      
      ++i;
    }
    
  }

  TH2* hframe = new TH2F(Form("%s %s-%s / %s-%s",(asRejection ? "1 - ":""),trigger1,event1,trigger2,event2),
                         Form("%s %s-%s / %s-%s",(asRejection ? "1 - ":""),trigger1,event1,trigger2,event2),
                         runnumbers.size()+50,
                         *(runnumbers.begin())-25,
                         *(runnumbers.rbegin())+25,100,0,ymax*1.3);
  
  gStyle->SetOptStat(0);
  
  hframe->Draw();
  
  hframe->GetXaxis()->SetNoExponent();
           
  hframe->GetYaxis()->SetTitle(asRejection ? "Rejection (%)" : "Ratio");
  
  g->Set(i);
  g->SetTitle(Form("%s %s-%s / %s-%s",(asRejection ? "1 - ":""),trigger1,event1,trigger2,event2));
  g->GetXaxis()->SetNoExponent();
  g->Draw("lp");

  AliAnalysisTriggerScalers ts(RunNumbers(),Config()->OCDBPath());

  if ( drawFills )
  {
    ts.DrawFills(ymin,ymax);
    g->Draw("lp");
  }
  
  
  std::map<std::string, std::pair<int,int> > periods;
  
  ts.GetLHCPeriodBoundaries(periods);
  
  TLegend* legend = new TLegend(0.15,0.82,0.90,0.92);
  legend->SetFillColor(0);
  Int_t n(0);
  

  for ( std::map<std::string, std::pair<int,int> >::const_iterator pit = periods.begin(); pit != periods.end(); ++pit )
  {
    std::string period = pit->first;
    int run1 = (pit->second).first;
    int run2 = (pit->second).second;
    int nruns(0);
    for ( std::set<int>::const_iterator rit = RunNumbers().begin(); rit != RunNumbers().end(); ++ rit )
    {
      if ( (*rit) >= run1 && (*rit) <= run2 )
      {
        ++nruns;
      }
    }
    AliInfo(Form("Period %s runs %6d-%6d ; %d actual runs",period.c_str(),run1,run2,nruns));
    
    g->Fit("pol0","+Q","",run1,run2);
    TF1* func = static_cast<TF1*>(g->GetListOfFunctions()->Last());
    if (func)
    {
      func->SetLineColor(2+n);
      legend->AddEntry(func,Form("%s %5.2f #pm %5.2f %s (rel. error %5.2f %%)",period.c_str(),func->GetParameter(0),func->GetParError(0),
                                 (asRejection ? "%":""),100*func->GetParError(0)/func->GetParameter(0)));
      ++n;
    }
  }

  legend->SetNColumns(3);

  Double_t mean = TMath::Mean(g->GetN(),g->GetY());
  Double_t rms = TMath::RMS(g->GetN(),g->GetY());
  
  legend->AddEntry("",Form("Mean %5.2f RMS %5.2f (%5.2f %%)",mean,rms,(mean) ? 100.0*rms/mean : 0.0),"");
  
  legend->Draw();
  
  return g;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ShowList(const char* title, const TString& list, const char separator) const
{
  /// Show a list of strings
  TObjArray* parts = list.Tokenize(separator);
  
  std::cout << title << " (" << parts->GetEntries() << ") : " << std::endl;
  
  TIter next(parts);
  TObjString* str;
  
  while ( ( str = static_cast<TObjString*>(next()) ) )
  {
    std::cout << "    " << str->String().Data() << std::endl;
  }
  
  if ( parts->GetEntries()==0) std::cout << endl;
  
  delete parts;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::Print(Option_t* opt) const
{
    /// printout
  std::cout << "Reading from file : " << fFilename.Data() << std::endl;
  
  TString copt(opt);
  
  if (IsSimulation() || SIM() )
  {
    copt += "SIM";
  }

  if ( !IsSimulation() )
  {
    copt += "REAL";
  }
  
  Config()->Print(copt.Data());

  if ( RunNumbers().size() > 1 )
  {
    std::cout << RunNumbers().size() << " runs";
  }
  else
  {
    std::cout << RunNumbers().size() << " run";
  }
  
  if ( fCorrectionPerRun )
  {
    std::cout << " with correction factors";
  }
  std::cout << std::endl;
  Int_t i(0);
  for ( std::set<int>::const_iterator it = RunNumbers().begin(); it != RunNumbers().end(); ++it )
  {
    std::cout << (*it);
    if ( fCorrectionPerRun )
    {
      std::cout << Form("(%e)",fCorrectionPerRun->GetY()[i]);
    }
    std::cout << ",";
    ++i;
  }
  std::cout << std::endl;
  
  TString sopt(opt);
  sopt.ToUpper();
  
  if ( sopt.Contains("BIN") && BIN() )
  {
    std::cout << "Binning : " << std::endl;
    TString topt(sopt);
    topt.ReplaceAll("BIN","");
    BIN()->Print(topt.Data());
  }
  if ( sopt.Contains("MC") && OC() )
  {
    TString topt(sopt);
    topt.ReplaceAll("MC","");
    OC()->Print(topt.Data());
  }
  if ( sopt.Contains("CC") && CC() )
  {
    CC()->Print("trigger/event");
  }
  
  if ( sopt.Contains("SIZE") )
  {
    TFile* f = ReOpen(fFilename,"READ");
    TIter next(f->GetListOfKeys());
    TKey* key;
    
    while ( ( key = static_cast<TKey*>(next()) ) )
    {
      std::cout << key->GetName() << " " << key->GetNbytes() << " " << key->GetObjlen() << std::endl;
    }
  }
}

//_____________________________________________________________________________
TFile* AliAnalysisMuMu::ReOpen(const char* filename, const char* mode) const
{
  /// Tries to reopen the file with a new mode
  
  TFile* f = static_cast<TFile*>(gROOT->GetListOfFiles()->FindObject(filename));
  
  if (f)
  {
    delete f;
  }
  
  f = TFile::Open(filename,mode);
  
  if ( !f || !f->IsOpen() )
  {
    AliError(Form("Cannot open file %s in mode %s",filename,mode));
    return 0x0;
  }
  
  return f;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::SetCentralitySelectionList(const char* centralitySelectionList)
{
  /// Set centralities to be used during fitting
  /// centralitySelectionList is a regular expression.

  TObjArray* centralities = BIN()->CreateBinObjArray("centrality");
  TIter next(centralities);
  AliAnalysisMuMuBinning::Range* r;

  TString csl;

  TPRegexp re(centralitySelectionList);
  
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(next()) ) )
  {
    AliDebug(1,Form("r=%s",r->AsString().Data()));
    if ( re.MatchB(r->AsString()) )
    {
      csl += r->AsString();
      csl += ",";
    }
  }
  
  Config()->SetList(AliAnalysisMuMuConfig::kCentralitySelectionList,IsSimulation(),csl);
  
  delete centralities;
}

//_____________________________________________________________________________
Bool_t AliAnalysisMuMu::SetCorrectionPerRun(const TGraph& corr, const char* formula)
{
    /// Sets the graph used to correct values per run
  delete fCorrectionPerRun;
  fCorrectionPerRun=0x0;
  
  // check that corr has the same runs as we do
  
  Int_t i(0);
  
  for ( std::set<int>::const_iterator it = RunNumbers().begin(); it != RunNumbers().end(); ++it )
  {
    Int_t corrRun = TMath::Nint(corr.GetX()[i]);
    if (corrRun != *it)
    {
      AliError(Form("%d-th run mistmatch %d vs %d",i,corrRun,*it));
      
      return kFALSE;
    }
    ++i;
  }
  
  fCorrectionPerRun = new TGraphErrors(corr.GetN());

  TFormula* tformula(0x0);
  if ( strlen(formula) > 0 )
  {
    tformula = new TFormula("SetCorrectionPerRunFormula",formula);
  }

  i = 0;
  
  for ( std::set<int>::const_iterator it = RunNumbers().begin(); it != RunNumbers().end(); ++it )
  {
    Double_t y = corr.GetY()[i];
    
    if ( tformula )
    {
      y = tformula->Eval(y);
    }
    fCorrectionPerRun->SetPoint(i,corr.GetX()[i],y);
    ++i;
  }

  delete formula;
  
  return kTRUE;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::SetNofInputParticles(AliAnalysisMuMuJpsiResult& r)
{
  /// Set the "NofInput" variable(s) of one result
  
  TString hname(Form("MinvUS%s",r.Bin().AsString().Data()));

  TH1* hinput = fMergeableCollection->Histo(Form("/%s/ALL/ANY/V0A/INYRANGE",AliAnalysisMuMuBase::MCInputPrefix()),hname.Data());

  if (!hinput)
  {
    AliError(Form("Got a simulation file where I did not find histogram /%s/ALL/EVERYTHING/ANY/INYRANGE/%s",AliAnalysisMuMuBase::MCInputPrefix(),hname.Data()));

  }
  else
  {
    r.SetNofInputParticles(*hinput);
  }
}

//_____________________________________________________________________________
AliAnalysisMuMuSpectra* AliAnalysisMuMu::SPECTRA(const char* fullpath) const
{
  /// Shortcut method to get to a spectra
  if (!OC()) return 0x0;
  
  return static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(fullpath));
}

//_____________________________________________________________________________
void AliAnalysisMuMu::SelectRunByTrigger(const char* triggerList)
{
  if (!fMergeableCollection || !fCounterCollection) return;
  
  TObjArray* runs = fCounterCollection->GetKeyWords("run").Tokenize(",");
  TIter nextRun(runs);
  
  TObjArray* triggers = fCounterCollection->GetKeyWords("trigger").Tokenize(",");
  TIter nextTrigger(triggers);
  
  TObjString* srun;
  TObjString* strigger;
  
  TString striggerList(triggerList);
  
  TList* runList = new TList();
  
  while ( ( srun = static_cast<TObjString*>(nextRun()) ) )
  {
    
    nextTrigger.Reset();
    
    while ( ( strigger = static_cast<TObjString*>(nextTrigger()) ) )
    {
      if ( !striggerList.Contains(strigger->String().Data()) )
      {
        continue;
      }
      
      ULong64_t n = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s/run:%d",
                                                                strigger->String().Data(),"PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00",srun->String().Atoi())));
      if ( n > 0 ) runList->Add(srun);
  
    }
  }
    runList->Sort();
    TIter nextRunOK(runList);
    while ( ( srun = static_cast<TObjString*>(nextRunOK()) ) )
    {
      std::cout << srun->String().Atoi() << std::endl;
    }
    delete runList;

    delete triggers;
    delete runs;
}
//_____________________________________________________________________________
void AliAnalysisMuMu::TriggerCountCoverage(const char* triggerList,
                                           Bool_t compact,
                                           Bool_t orderByTriggerCount)
{
  // Give the fraction of triggers (in triggerList) relative 
  // to what is expected in the scalers
  
  TGrid::Connect("alien://"); // to insure the "Trying to connect to server... message does not pollute our output later on...
  
  AliLog::EType_t oldLevel = static_cast<AliLog::EType_t>(AliLog::GetGlobalLogLevel());
  
  AliLog::SetGlobalLogLevel(AliLog::kFatal);
  
  if (!fMergeableCollection || !fCounterCollection) return;
  
  TObjArray* runs = fCounterCollection->GetKeyWords("run").Tokenize(",");
  TIter nextRun(runs);
  
  TObjArray* triggers = fCounterCollection->GetKeyWords("trigger").Tokenize(",");
  TIter nextTrigger(triggers);
  
  TObjString* srun;
  TObjString* strigger;
  
  TString striggerList(triggerList);
  
  ULong64_t total(0);
  ULong64_t totalExpected(0);
  TString msg;
  std::multimap<ULong64_t,std::string> messages;
  
  while ( ( srun = static_cast<TObjString*>(nextRun()) ) )
  {
    msg.Form("RUN %09d ",srun->String().Atoi());
    
    if (!compact)
    {
        msg += "\n";
    }

    ULong64_t nmax(0);

    nextTrigger.Reset();
    
    while ( ( strigger = static_cast<TObjString*>(nextTrigger()) ) )
    {
      if ( !striggerList.Contains(strigger->String().Data()) ) 
      {
        continue;
      }
  
      ULong64_t n = TMath::Nint(fCounterCollection->GetSum(Form("trigger:%s/event:%s/run:%d",
                                                            strigger->String().Data(),"ALL",srun->String().Atoi())));
    
      ULong64_t expected = GetTriggerScalerCount(strigger->String().Data(),srun->String().Atoi());
    
      
      nmax = TMath::Max(n,nmax);
      
      total += n;
      totalExpected += expected;
      
      msg += TString::Format("%30s %9lld expected %9lld [%s] ",strigger->String().Data(),n,expected,
                             (n>expected ? "!" : " "));
      
      if ( expected > 0 ) {
        msg += TString::Format("fraction %5.1f %%",n*100.0/expected);
      }

      if (!compact)
      {
        msg += "\n";
      }
    }
    if (nmax>0)
    {
      if (!orderByTriggerCount)
      {
        std::cout << msg.Data() << std::endl;
      }
      else
      {
        messages.insert(std::make_pair(nmax,static_cast<std::string>(msg.Data())));
      }
    }
  }
  
  std::multimap<ULong64_t,std::string>::const_reverse_iterator it;
  
  ULong64_t current(0);
  Int_t n(0);
  
  for ( it = messages.rbegin(); it != messages.rend(); ++it )
  {
    ++n;
    current += it->first;
    Double_t percent = ( total > 0.0 ? current*100.0/total : 0.0);
    std::cout << Form("%10lld",it->first) << " " << it->second << " percentage of total = " << Form("%7.2f %% %3d",percent,n ) << std::endl;
  }

  std::cout << Form("--- TOTAL %lld expected %lld fraction %5.1f %%",
                    total,totalExpected,totalExpected ? total*100.0/totalExpected : 0.0) << std::endl;
  

   
  AliLog::SetGlobalLogLevel(oldLevel);
  delete triggers;
  delete runs;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::UnsetCorrectionPerRun()
{
    // drop the correction factors
  delete fCorrectionPerRun;
  fCorrectionPerRun=0x0;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::Update()
{
  /// update the current file with memory
 
  if (!CC() || !OC()) return;
  
  ReOpen(fFilename,"UPDATE");

  if (OC())
  {
    OC()->Write("OC",TObject::kSingleKey|TObject::kOverwrite);
  }

  ReOpen(fFilename,"READ");
  
  GetCollections(fFilename,fMergeableCollection,fCounterCollection,fBinning,fRunNumbers);
}

//_____________________________________________________________________________
Bool_t AliAnalysisMuMu::Upgrade(const char* filename)
{
  /// Upgrade a file
  AliAnalysisMuMu m(filename);
  
  return m.Upgrade();
}

//_____________________________________________________________________________
Bool_t AliAnalysisMuMu::Upgrade()
{
  /// Upgrade the current file
  /// - from single list to one key per object, if needed
  /// - from histogramCollection to mergeableCollection, if needed

  
  AliWarning("Out of date method");
  
  TFile* f = ReOpen(fFilename,"UPDATE");
  
  TList* list = static_cast<TList*>(f->Get("chist"));
  
  if (list)
  {
    // really old file where everything was in a single list
  
    AliHistogramCollection* hc = static_cast<AliHistogramCollection*>(list->At(0));
    AliCounterCollection* cc = static_cast<AliCounterCollection*>(list->At(1));
    
    AliMergeableCollection* mc = hc->Convert();
    
    f->cd();
    
    mc->Write("MC",TObject::kSingleKey);
    cc->Write("CC",TObject::kSingleKey);
    
    f->Delete("chist;*");
    
    f->Write();
    
  }
  else
  {
    AliHistogramCollection* hc = static_cast<AliHistogramCollection*>(f->Get("HC"));

    if ( hc )
    {
      // old file with histogram collection instead of mergeable collection
      
      AliMergeableCollection* mc = hc->Convert();

      f->cd();

      mc->Write("MC",TObject::kSingleKey);

      f->Delete("HC;*");
      
      f->Write();
    }
  }

  delete f;
  
  return kTRUE;
}

//_____________________________________________________________________________
TH2* AliAnalysisMuMu::ComputeSPDCorrection(const char* type, const char* eventSel, const char* triggerSel, Bool_t bkgReject)
{
  TString stype(type);
  TString evtype(eventSel);
  TString trigtype(triggerSel);
  
  TH2* hNch = static_cast<TH2*>(OC()->Histo(Form("/MCINPUT/%s/%s/V0A/NchVsZVertexVsEta",evtype.Data(),
                                                 trigtype.Data()))); // Input Nch // //"/INPUT/QASPDZPSALL/NchVSEtaVSZVertMC"
  if ( !hNch )
  {
    AliError("No Nch histo found");
    return 0x0;
  }
  TH2* hNtr = static_cast<TH2*>(OC()->Histo(Form("/%s/%s/V0A/TrackletsVsZVertexVsEta",evtype.Data(),
                                                trigtype.Data()))); // Reco tracklets //  //"/RECO/QASPDZPSALL/MB1/NtrVSEtaVSZVertMC"
  if ( !hNtr )
  {
    AliError("No tracklets histo found");
    return 0x0;
  }
  
  TH2* hNtrBkg = static_cast<TH2*>(OC()->Histo(Form("/MCINPUT/%s/%s/V0A/NBkgTrackletsVsZVertexVsEta",evtype.Data(),
                                                 trigtype.Data()))); // Reco tracklets //  //"/RECO/QASPDZPSALL/MB1/NtrVSEtaVSZVertMC"
  if ( !hNtrBkg )
  {
    AliError("No background tracklets histo found");
    return 0x0;
  }

  
  TH2D* hSPDCorr = static_cast<TH2D*>(hNtr->Clone("SPDCorr"));
  TString title("");\
  if ( stype.Contains("oneOverAccEff")) hSPDCorr->SetTitle("SPD 1/AccxEff correction");
  else if ( stype.Contains("AccEffOnly")) hSPDCorr->SetTitle("SPD AccxEff correction");
  else if ( stype.Contains("statOneOverAccEff")) hSPDCorr->SetTitle("SPD 1/AccxEff correction stat. unc.");
  
  for (Int_t i = 1 ; i < hNch->GetNbinsX() ; i++)
  {
    for (Int_t j = 1 ; j < hNch->GetNbinsY() ; j++)
    {
      Int_t n = hNch->GetBin(i,j);
      Double_t nch = hNch->GetBinContent(n);
      Double_t ntr = hNtr->GetBinContent(n);
      Double_t nBkgtr(0.);
      if ( bkgReject ) nBkgtr = hNtrBkg->GetBinContent(n);
      
      Double_t corr(0.),corrErr(0.);
      if ( nch != 0. )
      {
        corr = (ntr - nBkgtr)/nch;
        corrErr = TMath::Max( 1./nch,TMath::Sqrt( corr*(1.-corr)/nch ) );
      }
      
      if ( stype.Contains("oneOverAccEff"))
      {
        if ( corr > 0. )
        {
          hSPDCorr->SetBinContent(n,1./corr);
          hSPDCorr->SetBinError(n,corrErr/TMath::Power(corr,2.));
        }
        else
        {
          hSPDCorr->SetBinContent(n,0.);
          hSPDCorr->SetBinError(n,1.);
        }
        
      }
      else if ( stype.Contains("AccEffOnly"))
      {
        hSPDCorr->SetBinContent(n,corr);
        hSPDCorr->SetBinError(n,corrErr);
      }
      else if ( stype.Contains("statOneOverAccEff"))
      {
        if ( corr != 0. )
        {
          hSPDCorr->SetBinContent(n,(corrErr/TMath::Power(corr,2.)*100)/(1./corr));
        }
        else
        {
          hSPDCorr->SetBinContent(n,-1);
        }

      }
    }
  }
  
  return hSPDCorr;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeFnorm()
{
  /// Compute the CMUL to CINT ratio(s)
  
  if (!CC()) return;
  
  OC()->Prune("/FNORM");
  
  AliAnalysisMuMuFnorm computer(*(CC()),AliAnalysisMuMuFnorm::kMUL,Config()->OCDBPath(),Config()->CompactGraphs());
  
  computer.ComputeFnorm();

  AliMergeableCollection* fnorm = computer.DetachMC();
  
  OC()->Attach(fnorm,"/FNORM/");
  
  Update();
}

//_____________________________________________________________________________
TH1* AliAnalysisMuMu::ComputeDiffFnormFromHistos(const char* what,const char* quantity,const char* flavour,Bool_t printout)
{
  /// Compute the CMUL to CINT ratio(s) from the histos stored in the OC()
  //FIXME: This is just a patch...
    
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  if ( !binning )
  {
    AliError(Form("%s-%s-%s binning does not exist",what,quantity,flavour));
    return 0x0;
  }
  TObjArray* dNchdEtas = binning->CreateBinObjArray();
  
  Double_t* binArray = binning->CreateBinArray();
  
  TIter next(dNchdEtas);
  AliAnalysisMuMuBinning::Range* r;
  
  Double_t FNorm(0.);
  Double_t FNormError(0.);
  
  TH1* hFNorm = new TH1F("hFNorm","'Global' normalization factor vs dN_{ch}/d#eta;dN_{ch}/d#eta;FNorm",dNchdEtas->GetEntries(),binArray);
  
  Int_t bin(0);
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(next()) ) )
  {
    
    TH1* hCMSL = OC()->Histo(Form("/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/CMSL7-B-NOPF-MUON/V0A/%s",
                             Form("EventsIn%s",r->AsString().Data())));
    if ( !hCMSL )
    {
      AliError(Form("No event histo in bin %s found for CMSL7-B-NOPF-MUON",r->AsString().Data()));
      delete binning;
      delete dNchdEtas;
      delete binArray;
      delete hFNorm;
      return 0x0;
    }
    
    TH1* hCMSLandOMUL = OC()->Histo(Form("/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/CMSL7-B-NOPF-MUON&0MUL/V0A/%s",
                                  Form("EventsIn%s",r->AsString().Data())));
    if ( !hCMSLandOMUL )
    {
      AliError(Form("No event histo in bin %s found for CMSL7-B-NOPF-MUON & 0MUL",r->AsString().Data()));
      delete binning;
      delete dNchdEtas;
      delete binArray;
      delete hFNorm;
      return 0x0;
    }
    
    TH1* hCINT = OC()->Histo(Form("/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/CINT7-B-NOPF-ALLNOTRD/V0A/%s",
                                  Form("EventsIn%s",r->AsString().Data())));
    if ( !hCINT )
    {
      AliError(Form("No event histo in bin %s found for CINT7-B-NOPF-ALLNOTRD",r->AsString().Data()));
      delete binning;
      delete dNchdEtas;
      delete binArray;
      delete hFNorm;
      return 0x0;
    }
    
    TH1* hCINTandOMSL = OC()->Histo(Form("/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/CINT7-B-NOPF-ALLNOTRD&0MSL/V0A/%s",
                                  Form("EventsIn%s",r->AsString().Data())));
    if ( !hCINTandOMSL )
    {
      AliError(Form("No event histo in bin %s found for CINT7-B-NOPF-ALLNOTRD & 0MSL",r->AsString().Data()));
      delete binning;
      delete dNchdEtas;
      delete binArray;
      delete hFNorm;
      return 0x0;
    }
  
    FNorm = (hCMSL->GetBinContent(1)/hCMSLandOMUL->GetBinContent(1))*(hCINT->GetBinContent(1)/hCINTandOMSL->GetBinContent(1));
    FNormError = ErrorPropagationAxBoverCxD(hCMSL->GetBinContent(1),hCINT->GetBinContent(1),hCMSLandOMUL->GetBinContent(1),hCINTandOMSL->GetBinContent(1));
    
    if ( printout ) std::cout << r->AsString().Data() << " : " << FNorm << " +- " << FNormError << std::endl;
    
    hFNorm->SetBinContent(++bin,FNorm);
    hFNorm->SetBinError(bin,FNormError);
  }
  
  delete binning;
  delete dNchdEtas;
  delete[] binArray;
  
  return hFNorm;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeDiffFnormFromInt(const char* triggerCluster, const char* eventSelection, AliMergeableCollection* mc, const char* what,const char* quantity,const char* flavour,Bool_t printout)
{
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }

  TString seventSelection(eventSelection);
  
  TString id(Form("/FNORM-%s/%s/V0A",striggerCluster.Data(),seventSelection.Data()));
  
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  if ( !binning )
  {
    AliError(Form("%s-%s-%s binning does not exist",what,quantity,flavour));
    return;
  }
  
  TString path(Form("%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data()));
  if ( !mc )
  {
    AliError("Error: No mergeable collection to get Nch histo");
    delete binning;
    return;
  }
  TH1* hNtr = static_cast<TH1*>(mc->Histo(Form("/%s/Nch",path.Data())));
  if ( !hNtr )
  {
    AliError(Form("Error: No /%s/Nch histo in mergeable collection",path.Data()));
    delete binning;
    return;
  }
  Int_t nTrackletsCorrTot = hNtr->Integral();
  
  TObjArray* bin = binning->CreateBinObjArray(what,quantity,flavour);
  Int_t nEntries = bin->GetEntries();
  Double_t* binArray = binning->CreateBinArray();
  Double_t FNormTot(0.);
  Double_t FNormTotError(0.);
  
  TH1* hNorm = OC()->Histo(Form("%s/hFNormInt",id.Data()));
  
  TH1* hFNormTot = new TH1F("hFNormVSdNchdEtaFromInt","Normalization factor vs dN_{ch}/d#eta;dN_{ch}/d#eta;FNorm",nEntries,binArray);
  
  Double_t FNormGlobal = hNorm->GetBinContent(1);
  Double_t FNormGlobalError = hNorm->GetBinError(1);
  
  if ( printout ) std::cout << "Global FNorm = " << FNormGlobal << " + - " << FNormGlobalError << std::endl;
  
  TIter nextBin(bin);
  AliAnalysisMuMuBinning::Range* r;
  Int_t i(1);
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) ) //Bin loop
  {
    Double_t nTrklsCorrBin = hNtr->Integral(r->Xmin(),r->Xmax());
    Double_t nTrklsCorrBinFrac = nTrklsCorrBin / nTrackletsCorrTot;
    Double_t nTrklsCorrBinFracError = TMath::Sqrt( TMath::Power(TMath::Sqrt(nTrklsCorrBin) / nTrackletsCorrTot,2.) +
                                                  TMath::Power(TMath::Sqrt(nTrackletsCorrTot)*nTrklsCorrBin / TMath::Power(nTrackletsCorrTot,2.) ,2.) );
    
    FNormTot = FNormGlobal*nTrklsCorrBinFrac;
    FNormTotError = TMath::Sqrt( TMath::Power(FNormGlobalError*nTrklsCorrBinFrac,2.) + TMath::Power(FNormGlobal*nTrklsCorrBinFracError,2.) );

    hFNormTot->SetBinContent(i,FNormTot);
    hFNormTot->SetBinError(i,FNormTotError);
    i++;
    
    if ( printout ) std::cout << "Bin: " << r->AsString().Data() << " ; " << " FNorm = " << FNormTot << " +- " << FNormTotError << std::endl;
  }
  
  TH1* o = fMergeableCollection->Histo(id.Data(),hFNormTot->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hFNormTot->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hFNormTot->GetName()));
  }
  
  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),hFNormTot);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hFNormTot->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hFNormTot->GetName()));
  
  delete binning;
  delete bin;
  delete[] binArray;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeDiffFnormFromCounters(const char* triggerCluster, const char* eventSelection, const char* filePileUpCorr, const char* what,const char* quantity,const char* flavour,Bool_t printout)
{
  /// Compute the CMUL to CINT ratio(s) in 2 steps from the CC(), in bins
  
  TString colType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( colType.Contains("-B-") ) colType = "B";
  else if ( colType.Contains("-S-") ) colType = "S";
  else
  {
    AliError("Unknown collision type");
    return;
  }
  
  TString triggerType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( triggerType.Contains("7-") ) triggerType = "7";
  else if ( triggerType.Contains("8-") ) triggerType = "8";
  else
  {
    AliError("Unknown trigger type");
    return;
  }
  
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }

  std::cout << striggerCluster.Data() << std::endl;
  
  Bool_t corrPU(kFALSE);
  TObjArray* pUCorr = new TObjArray();
  if ( strlen(filePileUpCorr) > 0 )
  {
    //    std::cout << "Extracting Pile-Up correction factors from " << filePileUpCorr << std::endl;
    char line[1024];
    ifstream in(filePileUpCorr);
    
    while ( in.getline(line,1024,'\n'))
    {
      TString lrun(line);
      TString lvalue(line);
      
      lrun.Remove(0,4);
      lrun.Remove(6,67);
      
      lvalue.Remove(0,57);//71
      
      //      std::cout << "RUN: " << lrun.Data() << " PUFactor = " << lvalue.Data() << std::endl;
      
      pUCorr->Add(new TParameter<Double_t>(lrun.Data(),lvalue.Atof()));
    }
    corrPU = kTRUE;
  }

  TString seventSelection(eventSelection);
  TString sruns = CC()->GetKeyWords("run");
  TObjArray* runs = sruns.Tokenize(",");
  Double_t NofRuns = runs->GetEntries();
  
  TIter nextRun(runs);
  TObjString* s;
  
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  if ( !binning )
  {
    AliError(Form("%s-%s-%s binning does not exist",what,quantity,flavour));
    return;
  }
  TObjArray* bin = binning->CreateBinObjArray(what,quantity,flavour);
  Double_t* binArray = binning->CreateBinArray();
  Int_t nEntries = bin->GetEntries();
  
  TH1* h;
  TH1* hNofEqMB = new TH1F("hNofEqMBVSdNchdEta","Equivalent MB events per CMUL for vs dN_{ch}/d#eta",bin->GetEntries(),binArray);
  TH1* hFNormTot = new TH1F("hFNormVSdNchdEta","Normalization factor vs dN_{ch}/d#eta;dN_{ch}/d#eta;FNorm",bin->GetEntries(),binArray);

  Double_t* FNormTot = new Double_t[nEntries];
  Double_t* FNormTotError = new Double_t[nEntries];
  
  TString id(Form("/FNORM-%s/%s/V0A",striggerCluster.Data(),seventSelection.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00

  TList* lRun2Reject = new TList();
  lRun2Reject->SetOwner(kTRUE);
  
  Int_t i(0); //dNchdEta bin number
  TObjArray* aCluster = striggerCluster.Tokenize("-");
  TIter nextCluster(aCluster);
  TObjString* striggerClusterS;
  
  TIter nextBin(bin);
  AliAnalysisMuMuBinning::Range* r;
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) ) //Bin loop
  {
    FNormTot[i] = 0;
    FNormTotError[i] = 0;
    if ( printout )
    {
      std::cout << "______________________________" << std::endl;
      std::cout << "Bin: " << r->AsString().Data() << std::endl;
    }
    
    h = new TH1F(Form("hFNormVSrun_%s",r->AsString().Data()),Form("Normalization factor vs run for %s ;run;FNorm",r->AsString().Data()),NofRuns,1,NofRuns);
    //Set the run labels
    
    Double_t nCMULBin = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/bin:%s",
                                          seventSelection.Data(),triggerType.Data(),colType.Data(),r->AsString().Data())); //Nof CMUL7/8 events in Bin summed over runs
   //HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
    
    Int_t j(1); //Run label index
    nextRun.Reset();
    while ( ( s = static_cast<TObjString*>(nextRun())) ) //Run loop
    {
      Double_t nCMSL(0.),nCMSLandOMUL(0.);
      nextCluster.Reset();
      while ( (striggerClusterS = static_cast<TObjString*>(nextCluster())) && nCMSL == 0. )
      {
        nCMSL = CC()->GetSum(Form("/event:%s/trigger:CMSL%s-%s-NOPF-%s/centrality:V0A/run:%s/bin:%s",
                                  seventSelection.Data(),triggerType.Data(),colType.Data(),striggerClusterS->GetName(),s->GetName(),r->AsString().Data()));
        
        nCMSLandOMUL = CC()->GetSum(Form("/event:%s/trigger:CMSL%s-%s-NOPF-%s&0MUL/centrality:V0A/run:%s/bin:%s",
                                         seventSelection.Data(),triggerType.Data(),colType.Data(),striggerClusterS->GetName(),s->GetName(),r->AsString().Data()));
      }
      Double_t nCMUL = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/run:%s/bin:%s",
                                seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName(),r->AsString().Data()));
      
      Double_t nCINT = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD/centrality:V0A/run:%s/bin:%s",
                                         seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName(),r->AsString().Data()));
      
      Double_t nCINTandOMSL = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD&0MSL/centrality:V0A/run:%s/bin:%s",
                                                seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName(),r->AsString().Data()));
      
      Double_t FNorm(0.);
      Double_t FNormError(0.);
      Double_t FNormError2(0.);
      Double_t pUfactor = 1.;
      if ( nCMSLandOMUL != 0. && nCINTandOMSL !=0. && nCMSL != 0. && nCINT !=0. )
      {
        if (corrPU)
        {
          TParameter<Double_t>* p = static_cast<TParameter<Double_t>*>(pUCorr->FindObject(s->GetName()));
          if ( p ) pUfactor = p->GetVal();
          else
          {
            AliError(Form("Run %s not found in pile-up correction list",s->GetName()));
          }
        }
        
        FNorm = (nCMSL*nCINT)*pUfactor/(nCMSLandOMUL*nCINTandOMSL);
        FNormError = ErrorPropagationAxBoverCxD(nCMSL,nCINT,nCMSLandOMUL,nCINTandOMSL)*pUfactor;
        FNormError2 = AliAnalysisMuMuResult::ErrorABCD(nCMSL, TMath::Sqrt(nCMSL), nCINT, TMath::Sqrt(nCINT), nCMSLandOMUL, TMath::Sqrt(nCMSLandOMUL), nCINTandOMSL, TMath::Sqrt(nCINTandOMSL));
      }
      else
      {
        if ( nCINT == 0 ) std::cout << " Warning: Run " << s->GetName() << " has no MB trigger in this bin" << std::endl;
        
        lRun2Reject->Add(new TObjString(s->GetName()));
        if ( printout ) std::cout << "Run " << s->GetName() << " not used for FNorm cause lack of stats" << std::endl;
        continue;
      }
      FNormTot[i] += FNorm*nCMUL; // This is the sum of equivalent Nof MB per CMUL run by run. NOTE: This sum is NOT always the total equivalent Nof MB per CMUL because in pp 2012 if just one cluster is used at a time this sum is not the sum for all runs
      FNormTotError[i] += TMath::Power(nCMUL*FNormError,2.) + TMath::Power(FNorm*TMath::Sqrt(nCMUL),2.);
      
      if ( printout ) std::cout << "Run " << s->GetName() << " FNorm = " << FNorm << " +- " << FNormError << " (" << FNormError2 << ")" << " ; PUFactor =" << pUfactor << " ; " << "Nof CMUL = " << nCMUL << std::endl;
      
      h->GetXaxis()->SetBinLabel(j,s->GetName());
      h->SetBinContent(j,FNorm);
      h->SetBinError(j++,FNormError);

    }
    
//    std::cout << "NofCMUL in " << i << " = " << nCMULBin << std::endl;
    
    TIter nextRejectRun(lRun2Reject);
    TObjString* run2Rej;
    Double_t nCMULBinRej(0.);
    while ( (run2Rej = static_cast<TObjString*>(nextRejectRun())) )
    {
      nCMULBinRej += CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/bin:%s/run:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),r->AsString().Data(),
                                       run2Rej->GetName())); //Sum of CMUL7 events from rejected runs
    }
    
    nCMULBin = nCMULBin - nCMULBinRej;
    lRun2Reject->Clear();
    
    FNormTotError[i] =  TMath::Sqrt(TMath::Power(TMath::Sqrt(FNormTotError[i])/nCMULBin,2.) + TMath::Power(FNormTot[i]*TMath::Sqrt(nCMULBin)/TMath::Power(nCMULBin,2.),2.));
    FNormTot[i] = FNormTot[i]/nCMULBin;
    
    std::cout << "Mean FNorm in Bin = " << FNormTot[i]  << " +- " << FNormTotError[i] <<std::endl;
    
    hFNormTot->SetBinContent(i+1,FNormTot[i]);
    hFNormTot->SetBinError(i+1,FNormTotError[i]);
    
    //____
    nCMULBin = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/bin:%s",
                                 seventSelection.Data(),triggerType.Data(),colType.Data(),r->AsString().Data())); //Nof CMUL7/8 events in Bin summed over runs
    
    Double_t nofEqMB = FNormTot[i]*nCMULBin;
    Double_t nofEqMBError = TMath::Sqrt( TMath::Power(FNormTotError[i]*nCMULBin,2.) + TMath::Power(FNormTot[i]*TMath::Sqrt(nCMULBin),2.) );
    
    std::cout << "EqMB in Bin  = " << nofEqMB << " +- " << nofEqMBError << " ; nCMUL = " << nCMULBin << std::endl;
    
    hNofEqMB->SetBinContent(i+1,nofEqMB);
    hNofEqMB->SetBinError(i+1,nofEqMBError);
    //____
    
    TH1* o = fMergeableCollection->Histo(id.Data(),h->GetName());
    
    if (o)
    {
      AliWarning(Form("Replacing %s/%s",id.Data(),h->GetName()));
      fMergeableCollection->Remove(Form("%s/%s",id.Data(),h->GetName()));
    }
    
    Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),h);
    
    if ( adoptOK ) std::cout << "+++FNorm histo " << h->GetName() << " adopted" << std::endl;
    else AliError(Form("Could not adopt FNorm histo %s",h->GetName()));
    
    i++;
    lRun2Reject->Clear();
  }
  
  TH1* o = fMergeableCollection->Histo(id.Data(),hFNormTot->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hFNormTot->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hFNormTot->GetName()));
  }
  
  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),hFNormTot);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hFNormTot->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hFNormTot->GetName()));
  
  
  o = fMergeableCollection->Histo(id.Data(),hNofEqMB->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hNofEqMB->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hNofEqMB->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(id.Data(),hNofEqMB);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hNofEqMB->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hNofEqMB->GetName()));
  
  delete binning;
  delete runs;
  delete aCluster;
  delete bin;
  delete[] binArray;
  delete[] FNormTot;
  delete[] FNormTotError;
  delete lRun2Reject;
  
  return;
 
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeDiffFnormFromGlobal(const char* triggerCluster, const char* eventSelection, const char* what,const char* quantity,
                                                 const char* flavour, Bool_t printout)
{
  TString colType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( colType.Contains("-B-") ) colType = "B";
  else if ( colType.Contains("-S-") ) colType = "S";
  else
  {
    AliError("Unknown collision type");
    return;
  }
  
  TString triggerType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( triggerType.Contains("7-") ) triggerType = "7";
  else if ( triggerType.Contains("8-") ) triggerType = "8";
  else
  {
    AliError("Unknown trigger type");
    return;
  }
  
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }
  
  TString seventSelection(eventSelection);
  TString id(Form("/FNORM-%s/%s/V0A",striggerCluster.Data(),seventSelection.Data()));
  
  TH1* hFnormGlobal = OC()->Histo(id.Data(),"hFNormVSdNchdEta");
  if( !hFnormGlobal)
  {
    AliError("hFNormVSdNchdEta not found");
    return;
  }
  
  TH1* hFnormGlobalInt = OC()->Histo(id.Data(),"hFNormInt");
  if( !hFnormGlobalInt)
  {
    AliError("hFNormInt not found");
    return;
  }
  Double_t FNormGlobal = hFnormGlobalInt->GetBinContent(1);
  Double_t FNormGlobalError = hFnormGlobalInt->GetBinError(1);
  
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  if ( !binning )
  {
    AliError(Form("%s-%s-%s binning does not exist",what,quantity,flavour));
    return;
  }
  TObjArray* bin = binning->CreateBinObjArray(what,quantity,flavour);
  
  TH1* hFNormVSNtr = static_cast<TH1*>(hFnormGlobal->Clone());
  hFNormVSNtr->SetTitle("Normalization factor vs dN_{ch}/d#eta;dN_{ch}/d#eta;FNorm");
  hFNormVSNtr->SetName("hFNormVSdNchdEtaFromGlobal");
  
  TH1* hNMBVSNtr = static_cast<TH1*>(hFnormGlobal->Clone());
  hNMBVSNtr->SetTitle("Equivalent MB events per CMUL for vs dN_{ch}/d#eta;NMB");
  hNMBVSNtr->SetName("hNofEqMBVSdNchdEtaFromGlobal");

  
  Double_t nCMULTot = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A",
                                        seventSelection.Data(),triggerType.Data(),colType.Data()));
  
  Double_t nCINTTot = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD/centrality:V0A",
                                     seventSelection.Data(),triggerType.Data(),colType.Data()));
  TIter nextBin(bin);
  AliAnalysisMuMuBinning::Range* r;
  Int_t i(1);
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) ) //Bin loop
  {
    Double_t nCMUL = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/bin:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),r->AsString().Data()));
    
    Double_t nCINT = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD/centrality:V0A/bin:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),r->AsString().Data()));
    
    Double_t f = nCMUL/nCMULTot;
    Double_t fError = TMath::Sqrt( TMath::Power(TMath::Sqrt(nCMUL)/nCMULTot,2.) + TMath::Power(nCMUL*TMath::Sqrt(nCMULTot)/TMath::Power(nCMULTot,2.),2.) );
    
    Double_t g = nCINT/nCINTTot;
    Double_t gError = TMath::Sqrt( TMath::Power(TMath::Sqrt(nCINT)/nCINTTot,2.) + TMath::Power(nCINT*TMath::Sqrt(nCINTTot)/TMath::Power(nCINTTot,2.),2.) );
    
    Double_t value = FNormGlobal*(g/f);
    Double_t error = TMath::Sqrt( TMath::Power(FNormGlobalError*(g/f),2.) + TMath::Power(FNormGlobal*(gError/f),2.) + TMath::Power(FNormGlobal*g*fError/TMath::Power(f,2.),2.) );
    
    hFNormVSNtr->SetBinContent(i,value);
    hFNormVSNtr->SetBinError(i,error);
    
    if (printout) std::cout << value << " +- " << error << " ; nCMUL = " << nCMUL << std::endl;
    
    hNMBVSNtr->SetBinContent(i,value*nCMUL);
    hNMBVSNtr->SetBinError(i,TMath::Sqrt( TMath::Power(error*nCMUL,2.) + TMath::Power(value*TMath::Sqrt(nCMUL),2.) ));
    
    i++;
  }
  
  TH1* o = fMergeableCollection->Histo(id.Data(),hFNormVSNtr->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hFNormVSNtr->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hFNormVSNtr->GetName()));
  }
  
  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),hFNormVSNtr);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hFNormVSNtr->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hFNormVSNtr->GetName()));
  
  o = fMergeableCollection->Histo(id.Data(),hNMBVSNtr->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hNMBVSNtr->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hNMBVSNtr->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(id.Data(),hNMBVSNtr);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hNMBVSNtr->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hNMBVSNtr->GetName()));

  
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeMeanFnorm(const char* triggerCluster, const char* eventSelection, const char* what,const char* quantity,const char* flavour, Bool_t printout)
{
  /// Compute the mean Fnorm and mean NMB from the offline and "rescaled global" methods
  
  TString seventSelection(eventSelection);
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }
  
  TString triggerType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( triggerType.Contains("7-") ) triggerType = "7";
  else if ( triggerType.Contains("8-") ) triggerType = "8";
  else
  {
    AliError("Unknown trigger type");
    return;
  }
  
  TString colType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( colType.Contains("-B-") ) colType = "B";
  else if ( colType.Contains("-S-") ) colType = "S";
  else
  {
    AliError("Unknown collision type");
    return;
  }

  TH1* hMB = OC()->Histo(Form("/FNORM-%s/%s/V0A/hNofEqMBVSdNchdEta",striggerCluster.Data(),seventSelection.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
  if ( !hMB )
  {
    AliError("Histo hNofEqMBVSdNchdEta not found");
    return;
  }
  
  TH1* hMBG = OC()->Histo(Form("/FNORM-%s/%s/V0A/hNofEqMBVSdNchdEtaFromGlobal",striggerCluster.Data(),seventSelection.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
  if ( !hMBG )
  {
    AliError("Histo hNofEqMBVSdNchdEtaFromGlobal not found");
    return;
  }
  
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  if ( !binning )
  {
    AliError(Form("%s-%s-%s binning does not exist",what,quantity,flavour));
    return;
  }
  TObjArray* bin = binning->CreateBinObjArray(what,quantity,flavour);
  
  
  TString id(Form("/FNORM-%s/%s/V0A",striggerCluster.Data(),seventSelection.Data()));
  
  TH1* hMBMean = static_cast<TH1*>(hMBG->Clone());
  hMBMean->SetName("hNofEqMBVSdNchdEtaFromMean");
  
  TH1* hFnormMean = static_cast<TH1*>(hMBG->Clone());
  hFnormMean->SetName("hFNormVSdNchdEtaFromMean");
  
  for ( Int_t i = 1 ; i <= hMB->GetNbinsX() ; i++ )
  {
    Double_t Fn = hMB->GetBinContent(i);
    Double_t Fng = hMBG->GetBinContent(i);
    
    Double_t FnE = hMB->GetBinError(i);
    Double_t FngE = hMBG->GetBinError(i);
    
    Double_t meanBin = (Fn + Fng) / 2.;
    Double_t meanBinError = TMath::Sqrt( TMath::Power(FnE/2.,2.) + TMath::Power(FngE/2.,2.) );
    Double_t meanBinSys = TMath::Abs( meanBin - Fn );

//    Double_t meanBin = (Fn/TMath::Power(FnE,2.) + Fng/TMath::Power(FngE,2.)) / ( 1./TMath::Power(FnE,2.) + 1./TMath::Power(FngE,2.) );
//    Double_t meanBinError = 1. / TMath::Sqrt( 1./TMath::Power(FnE,2.) + 1./TMath::Power(FngE,2.) );
//    Double_t meanBinSys = TMath::Sqrt( TMath::Power(Fn - meanBin,2.)/TMath::Power(FnE,2.) + TMath::Power(Fng - meanBin,2.)/TMath::Power(FngE,2.) );
    
    
    hMBMean->SetBinContent(i,meanBin);
    hMBMean->SetBinError(i,meanBinError);
    
    Double_t nCMULBin = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/bin:%s",
                                          seventSelection.Data(),triggerType.Data(),colType.Data(),
                                          static_cast<AliAnalysisMuMuBinning::Range*>(bin->At(i-1))->AsString().Data()));
    
    if (printout) std::cout << meanBinSys/nCMULBin << std::endl;
    
    Double_t meanFnBin = meanBin/nCMULBin;
    Double_t meanFnBinError = TMath::Sqrt( TMath::Power(meanBinError/nCMULBin,2) + TMath::Power(meanBin/TMath::Power(nCMULBin,2.),2) );
    
    if (printout) std::cout << meanBinSys/nCMULBin/meanFnBin << std::endl;

    if (printout) std::cout << meanFnBin << " +- " << meanFnBinError << std::endl;
    
    hFnormMean->SetBinContent(i,meanFnBin);
    hFnormMean->SetBinError(i,meanFnBinError);
  }

  TH1* o = fMergeableCollection->Histo(id.Data(),hMBMean->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hMBMean->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hMBMean->GetName()));
  }
  
  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),hMBMean);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hMBMean->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hMBMean->GetName()));
  
  
  o = fMergeableCollection->Histo(id.Data(),hFnormMean->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hFnormMean->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hFnormMean->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(id.Data(),hFnormMean);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hFnormMean->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hFnormMean->GetName()));


}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeIntFnormFromCounters(const char* triggerCluster, const char* eventSelection, const char* filePileUpCorr, Bool_t printout)
{
  /// Compute the CMUL to CINT ratio(s) in 2 steps from the CC(), integrated
  
  TString colType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( colType.Contains("-B-") ) colType = "B";
  else if ( colType.Contains("-S-") ) colType = "S";
  else
  {
    AliError("Unknown collision type");
    return;
  }
  
  TString triggerType(First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data());
  if ( triggerType.Contains("7-") ) triggerType = "7";
  else if ( triggerType.Contains("8-") ) triggerType = "8";
  else
  {
    AliError("Unknown trigger type");
    return;
  }

  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }

  TString seventSelection(eventSelection);
  TString sruns = CC()->GetKeyWords("run");
  TObjArray* runs = sruns.Tokenize(",");
  Double_t NofRuns = runs->GetEntries();
  
  Bool_t corrPU(kFALSE);
  TObjArray* pUCorr = new TObjArray();
  if ( strlen(filePileUpCorr) > 0 )
  {
//    std::cout << "Extracting Pile-Up correction factors from " << filePileUpCorr << std::endl;
    char line[1024];
    ifstream in(filePileUpCorr);
    
    while ( in.getline(line,1024,'\n'))
    {
      TString lrun(line);
      TString lvalue(line);
      
      lrun.Remove(0,4);
      lrun.Remove(6,67);
      
      lvalue.Remove(0,57);//71
      
//      std::cout << "RUN: " << lrun.Data() << " PUFactor = " << lvalue.Data() << std::endl;
      
      pUCorr->Add(new TParameter<Double_t>(lrun.Data(),lvalue.Atof()));
    }
    corrPU = kTRUE;
  }
  
  TIter nextRun(runs);
  TObjString* s;
  
  TH1* h;
  
  Double_t FNormTot(0.);
  Double_t FNormTotError(0.);
  
  TString id(Form("/FNORM-%s/%s/V0A",striggerCluster.Data(),seventSelection.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
  
  h = new TH1F("hFNormIntVSrun","Integrated Normalization factor vs run;run;FNorm",NofRuns,1.,NofRuns);
  
  Double_t nCMULTot = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A",
                                        seventSelection.Data(),triggerType.Data(),colType.Data())); //Total Nof CMUL7 events
  
  TObjArray* aCluster = striggerCluster.Tokenize("-");
  TIter nextCluster(aCluster);
  TObjString* striggerClusterS;
  
  TList* lRun2Reject = new TList();
  lRun2Reject->SetOwner(kTRUE);
  
  nextRun.Reset();
  Int_t i(0);//Run label index
  std::cout << std::endl;
  std::cout << std::endl;
  std::cout << std::endl;
  std::cout << "Computing FNorm" << std::endl;
  while ( ( s = static_cast<TObjString*>(nextRun())) ) //Run loop
  {
    Double_t nCMSL(0.),nCMSLandOMUL(0.);
    nextCluster.Reset();
    while ( (striggerClusterS = static_cast<TObjString*>(nextCluster())) && nCMSL == 0. )
    {
      nCMSL = CC()->GetSum(Form("/event:%s/trigger:CMSL%s-%s-NOPF-%s/centrality:V0A/run:%s",
                                seventSelection.Data(),triggerType.Data(),colType.Data(),striggerClusterS->GetName(),s->GetName()));
      
      nCMSLandOMUL = CC()->GetSum(Form("/event:%s/trigger:CMSL%s-%s-NOPF-%s&0MUL/centrality:V0A/run:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),striggerClusterS->GetName(),s->GetName()));
    }
    
    Double_t nCINT = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD/centrality:V0A/run:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName()));
    
    Double_t nCINTandOMSL = CC()->GetSum(Form("/event:%s/trigger:CINT%s-%s-NOPF-ALLNOTRD&0MSL/centrality:V0A/run:%s",
                                              seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName()));
    
    Double_t nCMUL = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/run:%s",
                                       seventSelection.Data(),triggerType.Data(),colType.Data(),s->GetName()));
    
    Double_t FNorm(0.),FNormError(0.);
    Double_t pUfactor = 1.;
    if ( nCMSLandOMUL != 0. && nCINTandOMSL !=0. && nCMSL != 0. && nCINT !=0. )
    {
      if (corrPU)
      {
        TParameter<Double_t>* p = static_cast<TParameter<Double_t>*>(pUCorr->FindObject(s->GetName()));
        if ( p ) pUfactor = p->GetVal();
        else
        {
          AliError(Form("Run %s not found in pile-up correction list",s->GetName()));
        }
      }
      FNorm = (nCMSL*nCINT)*pUfactor/(nCMSLandOMUL*nCINTandOMSL);
      FNormError = ErrorPropagationAxBoverCxD(nCMSL,nCINT,nCMSLandOMUL,nCINTandOMSL)*pUfactor;
    }
    else
    {
      if ( nCINT == 0 ) std::cout << " Warning: Bad run " << s->GetName() << " has no MB trigger in this bin. Remove from analysis" << std::endl;
      
      lRun2Reject->Add(new TObjString(s->GetName()));
      if ( printout ) std::cout << "Run " << s->GetName() << " not used for FNorm cause lack of stats" << std::endl;
      continue;
    }
    
    FNormTot += FNorm*nCMUL; // This is the sum of equivalent Nof MB per CMUL run by run. NOTE: This sum is NOT always the total equivalent Nof MB per CMUL because in pp 2012 if just one cluster is used at a time this sum is not the sum for all runs
    FNormTotError += TMath::Power(nCMUL*FNormError,2.) + TMath::Power(FNorm*TMath::Sqrt(nCMUL),2.);
    
    if ( printout ) std::cout << "Run " << s->GetName() << " FNorm = " << FNorm << " +- " << FNormError << " ; PUFactor =" << pUfactor << " ; " << "Nof CMUL = " << nCMUL << std::endl;
    
    h->GetXaxis()->SetBinLabel(++i,s->GetName());
    h->SetBinContent(i,FNorm);
    h->SetBinError(i,FNormError);
    
  }
  
  TIter nextRejectRun(lRun2Reject);
  TObjString* run2Rej;
  Double_t nCMULTotRej(0.);
  while ( (run2Rej = static_cast<TObjString*>(nextRejectRun())) )
  {
    nCMULTotRej += CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A/run:%s",
                                     seventSelection.Data(),triggerType.Data(),colType.Data(),
                                     run2Rej->GetName())); //Sum of CMUL7 events from rejected runs
  }
  
  nCMULTot = nCMULTot - nCMULTotRej;
  
  TH1* o = fMergeableCollection->Histo(id.Data(),h->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),h->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),h->GetName()));
  }
  
  Bool_t adoptOK = fMergeableCollection->Adopt(id.Data(),h);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << h->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",h->GetName()));
  
  //___
  
  FNormTotError =  TMath::Sqrt(TMath::Power(TMath::Sqrt(FNormTotError)/nCMULTot,2.) + TMath::Power(FNormTot*TMath::Sqrt(nCMULTot)/TMath::Power(nCMULTot,2.),2.));
  
  FNormTot = FNormTot/nCMULTot; // nCMULTot is here nCMULTot - nCMULTotRej
  
  std::cout << "FNorm = " << FNormTot << " +- " << FNormTotError << std::endl;
  
  TH1* hFNormTot = new TH1F("hFNormInt","Global Normalization factor",1,0.,1.);
  hFNormTot->SetBinContent(1,FNormTot);
  hFNormTot->SetBinError(1,FNormTotError);
  
  o = fMergeableCollection->Histo(id.Data(),hFNormTot->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hFNormTot->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hFNormTot->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(id.Data(),hFNormTot);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hFNormTot->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hFNormTot->GetName()));
  
  //___
  TH1* hNEqMB = new TH1F("hNEqMB","Equivalent number of MB events per CMUL",1,0.,1.);
  
  nCMULTot = CC()->GetSum(Form("/event:%s/trigger:CMUL%s-%s-NOPF-MUON/centrality:V0A",
                               seventSelection.Data(),triggerType.Data(),colType.Data())); //Total Nof CMUL7 events
  
  Double_t nofEqMB = FNormTot*nCMULTot;
  Double_t nofEqMBError = TMath::Sqrt( TMath::Power(FNormTotError*nCMULTot,2.) + TMath::Power(FNormTot*TMath::Sqrt(nCMULTot),2.) );
  
  std::cout << "EqMB = " << nofEqMB << " +- " << TMath::Sqrt(nofEqMBError) << std::endl;
  
  hNEqMB->SetBinContent(1,nofEqMB);
  hNEqMB->SetBinError(1,nofEqMBError);
  
  o = fMergeableCollection->Histo(id.Data(),hNEqMB->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s",id.Data(),hNEqMB->GetName()));
    fMergeableCollection->Remove(Form("%s/%s",id.Data(),hNEqMB->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(id.Data(),hNEqMB);
  
  if ( adoptOK ) std::cout << "+++FNorm histo " << hNEqMB->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt FNorm histo %s",hNEqMB->GetName()));
  
  //___
  
  delete runs;
  delete lRun2Reject;
  delete aCluster;
  
  return;
  
}

//_____________________________________________________________________________
void AliAnalysisMuMu::PlotYiedWSyst(const char* triggerCluster)
{
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }
  
  TString path(Form("%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kFALSE)).Data()));
  
  TH1* hY = OC()->Histo(Form("/RESULTS-%s/%s",striggerCluster.Data(),path.Data()),"hJPsiYieldVSdNchdEtaRelative");
  if ( !hY )
  {
    AliError("No yield found");
    return;
  }

  TString id(Form("/TESTSYST/%s",path.Data()));
  
  TH1* hYSyst = static_cast<TH1*>(hY->Clone("RelYieldSyst"));
  if ( !hYSyst )
  {
    AliError("No systematic found");
    return;
  }

  TH1* hS = OC()->Histo(id.Data(),"yield_Systematics");
  
  for ( Int_t i = 1 ; i <= hY->GetNbinsX() ; i++ )
  {
    hYSyst->SetBinError(i,hS->GetBinContent(i)*hY->GetBinContent(i)/100.);
  }
    
  hY->Draw();
  hYSyst->Draw("same");
}


//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeJpsiYield(AliMergeableCollection* oc, Bool_t relative, const char* fNormType, const char* triggerCluster,
                                       const char* whatever, const char* sResName, AliMergeableCollection* ocMBTrigger, Double_t mNTrCorrection)
{
  // This method is suppossed to be used from the file with the counters, oc is the AliMergeableCollection of the file with the histograms (if separated, which is better since we do not need the minv,mean pt... analysis in CINT&0MUL... triggers)
  // ocMBTrigger is the mergeableCollection with the MB trigger dNchdEta plot (migth be the same as oc, in which case we set ocMBTrigger=0x0)
  //FIXME::Make it general
 
  TString sfNormType(fNormType);
  TString swhat("");
  TString sres("");
  TString swhatever(whatever);
  if ( swhatever.Contains("DNCHDETA"))
  {
    swhat = "dNchdEta";
    if ( strlen(sResName) > 0 ) sres = sResName; //"PSIPSIPRIMECB2VWGINDEPTAILS";
  }
  else if ( swhatever.Contains("NTRCORR") )
  {
    swhat = "Nch";
    if ( strlen(sResName) > 0 ) sres = sResName; //"PSIPSIPRIMECB2VWG_2.0_5.0";
  }
  
  if ( IsSimulation() )
  {
    AliError("Cannot compute J/Psi yield: Is a simulation file");
    return;
  }
  
  TString striggerCluster(triggerCluster);
  if ( striggerCluster.Contains("MUON") && !striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON";
  else if ( striggerCluster.Contains("ALLNOTRD") && !striggerCluster.Contains("MUON") ) striggerCluster = "ALLNOTRD";
  else if ( striggerCluster.Contains("MUON") && striggerCluster.Contains("ALLNOTRD") ) striggerCluster = "MUON-ALLNOTRD";
  else
  {
    AliError("Unknown trigger cluster");
    return;
  }
  
  TString path(Form("%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kFALSE)).Data()));
  
  AliMergeableCollection* mc;
  if ( !oc ) mc = OC();
  else mc = oc;
  
  Double_t bR = 0.0593; // BR(JPsi->mu+mu-)
  Double_t bRerror = 0.0006 ;
  
  //_________Integrated yield
  AliAnalysisMuMuSpectra* sInt = static_cast<AliAnalysisMuMuSpectra*>(mc->GetObject(Form("/%s/%s",path.Data(),"PSI-INTEGRATED-AccEffCorr")));
  if ( !sInt )
  {
    AliError(Form("No spectra %s found in %s","PSI-INTEGRATED-AccEffCorr",path.Data()));
    return;
  }
  
  AliAnalysisMuMuBinning* b = new AliAnalysisMuMuBinning;
  b->AddBin("psi","INTEGRATED");
  
  AliAnalysisMuMuBinning::Range* bin = static_cast<AliAnalysisMuMuBinning::Range*>(b->CreateBinObjArray()->At(0));
  
  AliAnalysisMuMuResult* result = sInt->GetResultForBin(*bin);
  if ( !result )
  {
    AliError(Form("No result for bin %s found in %s",bin->AsString().Data(),"PSI-INTEGRATED-AccEffCorr"));
    return;
  }
  
//  if ( strlen(sResName) > 0/*sResName.Sizeof() > 0*/ )
//  {
//    result = result->SubResult(sres.Data());//INDEPTAILS
//    if ( !result )
//    {
//      AliError(Form("No subresult %s found in %s",sres.Data(),path.Data()));
//      return;
//    }
//  }
  
  Double_t NofJPsiTot = result->GetValue("NofJPsi");
  Double_t NofJPsiTotError = result->GetErrorStat("NofJPsi");
  
  TH1* hMBTot = OC()->Histo(Form("/FNORM-%s/PSALL/V0A/hNEqMB",striggerCluster.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
  if ( !hMBTot )
  {
    AliError(Form("No eq Nof MB events found in %s",Form("/FNORM-%s/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/V0A/hNEqMB",striggerCluster.Data())));
    return;
  }
  
  Double_t nEqMBTot = hMBTot->GetBinContent(1);
  Double_t nEqMBTotError = hMBTot->GetBinError(1);
  
  Double_t yieldInt = NofJPsiTot/(nEqMBTot*bR);
  Double_t yieldIntError = TMath::Sqrt(TMath::Power(NofJPsiTotError/(nEqMBTot*bR),2.) +
                                       TMath::Power(nEqMBTotError*NofJPsiTot*bR/TMath::Power(nEqMBTot*bR,2.),2.) +
                                       TMath::Power(NofJPsiTot*nEqMBTot*bRerror/TMath::Power(nEqMBTot*bR,2.),2.));
  
  std::cout << "Integrated yield = " << yieldInt << " +- " << yieldIntError << std::endl;
  
  TH1* hYint = new TH1F("hJPsiYieldInt","Integrated J/#psi yield",1,0.,1.);
  hYint->SetBinContent(1,yieldInt);
  hYint->SetBinError(1,yieldIntError);
  
  TH1* o = mc->Histo(Form("/RESULTS-%s/%s",striggerCluster.Data(),path.Data()),hYint->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing /RESULTS-%s/%s/%s",striggerCluster.Data(),path.Data(),hYint->GetName()));
    mc->Remove(Form("/RESULTS-%s/%s/%s",striggerCluster.Data(),path.Data(),hYint->GetName()));
  }
  
  Bool_t adoptOK = mc->Adopt(Form("/RESULTS-%s/%s",striggerCluster.Data(),path.Data()),hYint);
  
  if ( adoptOK ) std::cout << "+++Yield histo " << hYint->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt Yield histo %s",hYint->GetName()));

  delete b;
  
  //_____Differential yield
  
  AliAnalysisMuMuSpectra* s = static_cast<AliAnalysisMuMuSpectra*>(mc->GetObject(Form("/%s/%s",path.Data(),whatever)));
  if ( !s )
  {
    AliError(Form("No spectra %s found in %s",whatever,path.Data()));
    return;
  }
  
  std::cout << "Number of J/Psi:" << std::endl;
  TH1* hry = s->Plot("NofJPsi",sres.Data(),kFALSE);//INDEPTAILS //Number of Jpsi
  
  std::cout << "" << std::endl;
  
//  std::cout << "Equivalent number of MB events:" << std::endl;
  TH1* hMB(0x0);
  if ( sfNormType.Contains("offline") )
  {
    hMB = OC()->Histo(Form("/FNORM-%s/PSALL/V0A/hNofEqMBVSdNchdEta",striggerCluster.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
    if ( !hMB )
    {
      AliError("Histo hNofEqMBVSdNchdEta not found");
      return;
    }
  }
  else if ( sfNormType.Contains("global") )
  {
    hMB = OC()->Histo(Form("/FNORM-%s/PSALL/V0A/hNofEqMBVSdNchdEtaFromGlobal",striggerCluster.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
    if ( !hMB )
    {
      AliError("Histo hNofEqMBVSdNchdEtaFromGlobal not found");
      return;
    }
  }
  else if ( sfNormType.Contains("mean") )
  {
    hMB = OC()->Histo(Form("/FNORM-%s/PSALL/V0A/hNofEqMBVSdNchdEtaFromMean",striggerCluster.Data()));//HASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00
    if ( !hMB )
    {
      AliError("Histo hNofEqMBVSdNchdEtaFromMean not found");
      return;
    }
  }
  else
  {
    AliError("Dont know what Fnorm use");
    return;
  }
  
  TH1* hy;
  if ( relative )
  {
    TString path2(Form("/%s/%s/%s",
                      First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                      First(Config()->GetList(AliAnalysisMuMuConfig::kMinbiasTriggerList,kFALSE)).Data(),
                      First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data()));
    
    TH1* hdNch;
    if ( ocMBTrigger ) hdNch = ocMBTrigger->Histo(path2.Data(),swhat.Data());//dNchdEta
    else hdNch = mc->Histo(path2.Data(),swhat.Data());//dNchdEta
    
    const TArrayD* binArray = hry->GetXaxis()->GetXbins();
    Int_t size = binArray->GetSize();
    Double_t* axis = new Double_t[size];
    for ( Int_t k = 0 ; k < size ; k++ )
    {
      axis[k] = binArray->At(k)/(hdNch->GetMean()*(1 - mNTrCorrection));
    }
    
    hy = new TH1D("hJPsiYieldVSdNchdEtaRelative","Relative J/#psi yield vs dN_{ch}/d#eta;dN_{ch}/d#eta/<dN_{ch}/d#eta>;Y^{J/#psi}/Y^{J/#psi}_{int}",size-1,axis);
    delete axis;
  }
  else
  {
    hy = static_cast<TH1D*>(hry->Clone("hJPsiYieldVSdNchdEta"));
    hy->SetTitle("J/#psi yield vs dN_{ch}/d#eta");
    hy->GetXaxis()->SetTitle("dN_{ch}/d#eta");
    hy->GetYaxis()->SetTitle("Y^{J/#psi}");
  }
                                    // AccxEff(from rel diff or paper)  // Signal extraction
//  Double_t systNofJpsiBin[9] = {TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.01,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.008,2.) ),TMath::Sqrt( TMath::Power(0.022,2.) + TMath::Power(0.007,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.008,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.007,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.009,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.008,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.016 ,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.033,2.) )}; //FIXME: find a way to give this as input
//  Double_t systFNorm[9] = {0.003,0.001,0.002,0.003,0.002,0.004,0.011,0.012,0.071};
//  Double_t systPU[9] = {0.00,0.01,0.012,0.014,0.014,0.019,0.020,0.021,0.040}; //_______pPb
       // AccxEff(from paper)
//  Double_t systNofJpsiTot = 0.015;
  
//  Double_t systNofJpsiBin[9] = {TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.007,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.006,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.005,2.) ),TMath::Sqrt( TMath::Power(0.028,2.) + TMath::Power(0.006,2.) ),TMath::Sqrt( TMath::Power(0.016,2.) + TMath::Power(0.004,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.004,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.006,2.) ),TMath::Sqrt( TMath::Power(0.024,2.) + TMath::Power(0.005 ,2.) ),TMath::Sqrt( TMath::Power(0.015,2.) + TMath::Power(0.016,2.) )}; //FIXME: find a way to give this as input
//  Double_t systFNorm[9] = {0.005,0.004,0.004,0.004,0.003,0.002,0.002,0.04,0.04};
//  Double_t systPU[9] = {0.00,0.007,0.015,0.011,0.014,0.018,0.014,0.011,0.020}; //______Pbp
//  Double_t systNofJpsiTot = 0.015;
  
//  Double_t systNofJpsiBin[9] = {TMath::Sqrt( TMath::Power(0.034,2.) + TMath::Power(0.005,2.) ),TMath::Sqrt( TMath::Power(0.017,2.) + TMath::Power(0.005,2.) ),TMath::Sqrt( TMath::Power(0.017,2.) + TMath::Power(0.004,2.) ),TMath::Sqrt( TMath::Power(0.017,2.) + TMath::Power(0.005,2.) ),TMath::Sqrt( TMath::Power(0.042,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.063,2.) + TMath::Power(0.014,2.) ),TMath::Sqrt( TMath::Power(0.094,2.) + TMath::Power(0.009,2.) ),TMath::Sqrt( TMath::Power(0.00,2.) + TMath::Power(0.00 ,2.) ),TMath::Sqrt( TMath::Power(0.00,2.) + TMath::Power(0.00,2.) )}; //FIXME: find a way to give this as input
//  Double_t systFNorm[9] = {0.004,0.019,0.002,0.012,0.048,0.063,0.082,0.000,0.000};
//  Double_t systPU[9] = {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}; //______pp |eta|<0.5
//  Double_t systNofJpsiTot = 0.017;
  
  Double_t systNofJpsiBin[9] = {TMath::Sqrt( TMath::Power(0.037,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.021,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.022,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.017,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.019,2.) + TMath::Power(0.001,2.) ),TMath::Sqrt( TMath::Power(0.036,2.) + TMath::Power(0.002,2.) ),TMath::Sqrt( TMath::Power(0.042,2.) + TMath::Power(0.001,2.) ),TMath::Sqrt( TMath::Power(0.039,2.) + TMath::Power(0.012 ,2.) ),TMath::Sqrt( TMath::Power(0.000,2.) + TMath::Power(0.000,2.) )}; //FIXME: find a way to give this as input
  Double_t systFNorm[9] = {0.026,0.002,0.015,0.019,0.012,0.030,0.015,0.119,0.000};
  Double_t systPU[9] = {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}; //______pp |eta|<1
  Double_t systNofJpsiTot = 0.017;
  
  for ( Int_t i = 1 ; i <= hy->GetNbinsX() ; i++ )
  {
    Double_t yield = hry->GetBinContent(i)/(hMB->GetBinContent(i)*bR);
    Double_t yieldError = TMath::Sqrt(TMath::Power(hry->GetBinError(i)/(hMB->GetBinContent(i)*bR),2.) +
                                      TMath::Power(hMB->GetBinError(i)*hry->GetBinContent(i)*bR/TMath::Power(hMB->GetBinContent(i)*bR,2.),2.) +
                                      TMath::Power(hry->GetBinContent(i)*hMB->GetBinContent(i)*bRerror/TMath::Power(hMB->GetBinContent(i)*bR,2.),2.));
    
//    std::cout << "Differential yield bin " << i << " = " << yield << " +- " << yieldError << std::endl;
    
    if ( relative )
    {
      yieldError = TMath::Sqrt(TMath::Power(yieldError/yieldInt,2.) + TMath::Power((yield*yieldIntError)/TMath::Power(yieldInt,2.),2.));
      yield /= yieldInt;
      
//      std::cout << "relative yield bin " << i << " = " << yield << " +- " << yieldError << std::endl;
      Double_t sNJpsiBin = hry->GetBinContent(i)*systNofJpsiBin[i-1];
      Double_t sNJpsiTot = NofJPsiTot*systNofJpsiTot;
      Double_t sMBBin = hMB->GetBinContent(i)*systFNorm[i-1];
      Double_t sMBTot = nEqMBTot*0.01;
      
      Double_t syst = TMath::Sqrt( TMath::Power((sNJpsiBin/NofJPsiTot)*(nEqMBTot/hMB->GetBinContent(i)),2.) + TMath::Power((hry->GetBinContent(i)*sNJpsiTot/TMath::Power(NofJPsiTot,2.))*(nEqMBTot/hMB->GetBinContent(i)),2.) + TMath::Power((hry->GetBinContent(i)/NofJPsiTot)*(sMBTot/hMB->GetBinContent(i)),2.) + TMath::Power((hry->GetBinContent(i)/NofJPsiTot)*(sMBBin*nEqMBTot/TMath::Power(hMB->GetBinContent(i),2.)),2.) );
      
      std::cout << "sys" << syst/yield << " w/pu = " << TMath::Sqrt( TMath::Power(syst/yield,2.) + TMath::Power(systPU[i-1],2.)) << std::endl;
      std::cout << yield << " +- " << yieldError << std::endl;
    }

    hy->SetBinContent(i,yield);
    hy->SetBinError(i,yieldError);
  }

  o = mc->Histo(Form("/RESULTS-%s/%s",striggerCluster.Data(),path.Data()),hy->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing %s/%s","/RESULTS-%s/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/V0A",hy->GetName()));
    mc->Remove(Form("/RESULTS-%s/%s/%s",striggerCluster.Data(),path.Data(),hy->GetName()));
  }
  
  adoptOK = mc->Adopt(Form("/RESULTS-%s/%s",striggerCluster.Data(),path.Data()),hy);
  
  if ( adoptOK ) std::cout << "+++Yield histo " << hy->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt Yield histo %s",hy->GetName()));

  
  
  delete hry;

  
  return;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::ComputeJpsiMPt(Bool_t relative, const char* whatever, const char* sResName, AliMergeableCollection* ocMBTrigger, Double_t mNTrCorrection)
{
  // ocMBTrigger is the mergeableCollection with the MB trigger dNchdEta plot (migth be the same as oc, in which case we set ocMBTrigger=0x0)
  //FIXME::Make it general
  
  
  TString swhat("");
  TString sres("");
  TString swhatever(whatever);
//  if ( swhatever.Contains("DNCHDETA"))
//  {
//    swhat = "dNchdEta";
//    sres = "MPT2CB2VWGPOL2INDEPTAILS";
//  }
//  else
    if ( swhatever.Contains("NTRCORR") )
  {
    swhat = "Nch";
    if ( strlen(sResName) > 0 ) sres = sResName; //sres = "MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2";
  }

  if ( IsSimulation() )
  {
    AliError("Cannot compute J/Psi yield: Is a simulation file");
    return;
  }
  
  TString path(Form("%s/%s/%s/%s",
                    First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kDimuonTriggerList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data(),
                    First(Config()->GetList(AliAnalysisMuMuConfig::kPairSelectionList,kFALSE)).Data()));
  
  //_________Integrated mean pt
  AliAnalysisMuMuSpectra* sInt = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("/%s/%s",path.Data(),"PSI-INTEGRATED-AccEffCorr-MeanPtVsMinvUS")));
  if ( !sInt )
  {
    AliError(Form("No spectra %s found in %s","PSI-INTEGRATED-AccEffCorr-MeanPtVsMinvUS",path.Data()));
    return;
  }
  
  AliAnalysisMuMuBinning* b = new AliAnalysisMuMuBinning;
  b->AddBin("psi","INTEGRATED");
  
  AliAnalysisMuMuBinning::Range* bin = static_cast<AliAnalysisMuMuBinning::Range*>(b->CreateBinObjArray()->At(0));
  
  AliAnalysisMuMuResult* result = sInt->GetResultForBin(*bin);
  if ( !result )
  {
    AliError(Form("No result for bin %s found in spectra %s",bin->AsString().Data(),sInt->GetName()));
    return;
  }
  
//  if ( sres.Sizeof() > 0 )
//  {
//    result = result->SubResult(sres.Data());
//    if ( !result )
//    {
//      AliError(Form("No subresult %s found in result",result->GetName()));
//      return;
//    }
//  AliAnalysisMuMuResult* subresult = result->SubResult(sres.Data());//"MPT2CB2VWGPOL2INDEPTAILS"
//  if ( !subresult )
//  {
//    AliError(Form("No subresult MPT2CB2VWGPOL2 found in result %s",result->GetName()));
//    return;
//  }
    
//  }
//  Double_t JPsiMPtTot = subresult->GetValue("MeanPtJPsi");
//  Double_t JPsiMPtTotError = subresult->GetErrorStat("MeanPtJPsi");
  
  Double_t JPsiMPtTot = result->GetValue("MeanPtJPsi");
  Double_t JPsiMPtTotError = result->GetErrorStat("MeanPtJPsi");
 
  TH1* hMPtint = new TH1F("hJPsiMPtInt","Integrated J/#psi mean p_{T}",1,0.,1.);
  hMPtint->SetBinContent(1,JPsiMPtTot);
  hMPtint->SetBinError(1,JPsiMPtTotError);
  
  TH1* o = OC()->Histo(Form("/RESULTS/%s",path.Data()),hMPtint->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing /RESULTS/%s/%s",path.Data(),hMPtint->GetName()));
    OC()->Remove(Form("/RESULTS/%s/%s",path.Data(),hMPtint->GetName()));
  }
  
  Bool_t adoptOK = OC()->Adopt(Form("/RESULTS/%s",path.Data()),hMPtint);
  
  if ( adoptOK ) std::cout << "+++Mean Pt histo " << hMPtint->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt Mean Pt histo %s",hMPtint->GetName()));
  
  delete b;

   //_____Differential mean pt
  
  AliAnalysisMuMuSpectra* s = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("/%s/%s",path.Data(),whatever)));
  if ( !s )
  {
    AliError(Form("No spectra %s found in %s",whatever,path.Data()));
    return;
  }
  
  std::cout << "Mean pt of J/Psi:" << std::endl;
  TH1* hrmPt = s->Plot("MeanPtJPsi",sres.Data(),kFALSE); //MPT2CB2VWGPOL2INDEPTAILS//mean pt of Jpsi
  std::cout << "" << std::endl;
  
  Double_t ptInt,ptIntError;
  TH1* hmPt;
  if ( relative )
  {
    TString path2(Form("/%s/%s/%s",
                       First(Config()->GetList(AliAnalysisMuMuConfig::kEventSelectionList,kFALSE)).Data(),
                       First(Config()->GetList(AliAnalysisMuMuConfig::kMinbiasTriggerList,kFALSE)).Data(),
                       First(Config()->GetList(AliAnalysisMuMuConfig::kCentralitySelectionList,kFALSE)).Data()));
    
    TH1* hdNch;
    if ( ocMBTrigger ) hdNch = ocMBTrigger->Histo(path2.Data(),swhat.Data());
    else hdNch = OC()->Histo(path2.Data(),swhat.Data());
    
    const TArrayD* binArray = hrmPt->GetXaxis()->GetXbins();
    Int_t size = binArray->GetSize();
    Double_t* axis = new Double_t[size];
    for ( Int_t k = 0 ; k < size ; k++ )
    {
      axis[k] = binArray->At(k)/(hdNch->GetMean()*(1 - mNTrCorrection));
    }
    
    hmPt = new TH1D("hJPsiMeanPtVSdNchdEtaRelative","Relative J/#psi mean p_{T} vs dN_{ch}/d#eta/<dN_{ch}/d#eta>;dN_{ch}/d#eta/<dN_{ch}/d#eta>;<p_{T}^{J/#psi}>/<p_{T}^{J/#psi}_{int}>",size-1,axis);
    delete axis;
    
    ptInt = result->GetValue("MeanPtJPsi",sres.Data());
    ptIntError = result->GetErrorStat("MeanPtJPsi",sres.Data());

//    delete b;
  }
  else
  {
    hmPt = static_cast<TH1D*>(hrmPt->Clone("hJPsiMeanPtVSdNchdEta"));
    hmPt->SetTitle("J/#psi mean p_{T} vs dN_{ch}/d#eta");
    hmPt->GetXaxis()->SetTitle("dN_{ch}/d#eta");
    hmPt->GetYaxis()->SetTitle("<p_{T}^{J/#psi}>");
  }
  
  Double_t systMptInt[9] = {0.014,0.014,0.014,0.014,0.014,0.014,0.014,0.014,0.014}; //FIXME: find a way to give this as input
  Double_t systMptBin[9] = {0.014,0.014,0.014,0.014,0.014,0.014,0.014,0.014,0.014};
  
  Double_t systMptRel[9] = {0.002,0.001,0.001,0.002,0.002,0.002,0.002,0.004,0.004}; //signal extraction pPb
  
//  Double_t systMptRel[9] = {0.002,0.001,0.012,0.001,0.002,0.002,0.001,0.004,0.003}; //signal extraction Pbp
  
//  Double_t systMptRel[9] = {0.001,0.002,0.001,0.002,0.002,0.003,0.005,0.000,0.000}; //signal extraction pp|eta|<05
  
//  Double_t systMptRel[9] = {0.002,0.002,0.002,0.002,0.001,0.002,0.001,0.012,0.000}; //signal extraction pp|eta|<1
  
  for ( Int_t i = 1 ; i <= hrmPt->GetNbinsX() ; i++ )
  {
    Double_t pt = hrmPt->GetBinContent(i);
    Double_t ptError = hrmPt->GetBinError(i);
    
    if ( relative )
    {
      ptError = TMath::Sqrt(TMath::Power(ptError/ptInt,2.) + TMath::Power((pt*ptIntError)/TMath::Power(ptInt,2.),2.));
      
      Double_t sMptInt = ptInt*systMptInt[i-1];
      Double_t sMptBin = pt*systMptBin[i-1];
      Double_t sysMptRel = TMath::Sqrt( TMath::Power(sMptBin/ptInt,2) + TMath::Power(pt*sMptInt/TMath::Power(ptInt,2.),2.) );
      
      pt /= ptInt;
      
      std::cout << TMath::Sqrt( TMath::Power(sysMptRel/pt,2.) +TMath::Power(systMptRel[i-1],2.) ) << std::endl;
      
      std::cout << pt << " +- " << ptError << std::endl;

    }
    
    hmPt->SetBinContent(i,pt);
    hmPt->SetBinError(i,ptError);
  }
  
  o = fMergeableCollection->Histo(Form("/RESULTS/%s",path.Data()),hmPt->GetName());
  
  if (o)
  {
    AliWarning(Form("Replacing /RESULTS/%s/%s",path.Data(),hmPt->GetName()));
    fMergeableCollection->Remove(Form("/RESULTS/%s/%s",path.Data(),hmPt->GetName()));
  }
  
  adoptOK = fMergeableCollection->Adopt(Form("/RESULTS/%s",path.Data()),hmPt);
  
  if ( adoptOK ) std::cout << "+++Mean Pt histo " << hmPt->GetName() << " adopted" << std::endl;
  else AliError(Form("Could not adopt mean pt histo %s",hmPt->GetName()));
  
  
  
  delete hrmPt;
  
  
  return;

  
}

//_____________________________________________________________________________
Double_t AliAnalysisMuMu::ErrorPropagationAxBoverCxD(Double_t a,Double_t b,Double_t c,Double_t d)
{
  //Just valid for counts
  Double_t error2 = TMath::Power(b/(c*d),2.)*a + TMath::Power(a/(c*d),2.)*b + TMath::Power(a*b*d,2.)*(c/TMath::Power(c*d,4.)) + TMath::Power(a*b*c,2.)*(d/TMath::Power(c*d,4.));
  
  return TMath::Sqrt(error2);
}

//_____________________________________________________________________________
TH1* AliAnalysisMuMu::ComputeEquNofMB(const char* what,const char* quantity,const char* flavour,Bool_t printout)
{
  
  AliAnalysisMuMuBinning* binning = BIN()->Project(what,quantity,flavour);
  TObjArray* dNchdEtas = binning->CreateBinObjArray();
  
  Double_t* binArray = binning->CreateBinArray();
  
  TIter next(dNchdEtas);
  AliAnalysisMuMuBinning::Range* r;
  
  TH1* hFNorm = ComputeDiffFnormFromHistos(what,quantity,flavour,kFALSE);
  
  TH1* hNMB = new TH1F("hNofEqMB","Equivalent number of MB triggers vs dN_{ch}/d#eta;dN_{ch}/d#eta;FNorm",dNchdEtas->GetEntries(),binArray);
  
  Int_t bin(0);
  while ( ( r = static_cast<AliAnalysisMuMuBinning::Range*>(next()) ) )
  {
    
    TH1* hCMUL = OC()->Histo(Form("/PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00/CMUL7-B-NOPF-MUON/V0A/%s",
                                  Form("EventsIn%s",r->AsString().Data())));
    if ( !hCMUL )
    {
      AliError(Form("No event histo in bin %s found for CMUL7-B-NOPF-MUON",r->AsString().Data()));
      return 0x0;
    }
    
    Double_t NMB = hCMUL->GetBinContent(1)*hFNorm->GetBinContent(++bin);
    Double_t NMBError = TMath::Sqrt(TMath::Power(hCMUL->GetBinContent(1)*hFNorm->GetBinError(bin),2.) + TMath::Power(TMath::Sqrt(hCMUL->GetBinContent(1))*hFNorm->GetBinContent(bin),2));
    
    if ( printout ) std::cout << r->AsString().Data() << " : " << NMB << " +- " << NMBError << std::endl;
    
    hNMB->SetBinContent(bin,NMB);
    hNMB->SetBinError(bin,NMBError);
  }
  
  delete dNchdEtas;
  delete[] binArray;
  
  return hNMB;
}


//_____________________________________________________________________________
AliAnalysisMuMuSpectra* AliAnalysisMuMu::CorrectSpectra(const char* type, const char* flavour)
{
  /// Correct one spectra
  
  if (!SIM())
  {
    AliError("Cannot compute corrected yield without associated MC file !");
    return 0x0;
  }

  const char* accEffSubResultName="PSICOUNT:1";
  
  AliAnalysisMuMuSpectra* realSpectra = GetSpectra(type,flavour);
  AliAnalysisMuMuSpectra* simSpectra = SIM()->GetSpectra(type,flavour);
  
  if ( !realSpectra )
  {
    AliError("could not get real spectra");
    return 0x0;
  }
  
  if ( !simSpectra)
  {
    AliError("could not get sim spectra");
    return 0x0;
  }
  
  realSpectra->Correct(*simSpectra,"Jpsi",accEffSubResultName);

  Update();
  
  return realSpectra;
}

//_____________________________________________________________________________
AliAnalysisMuMuSpectra* AliAnalysisMuMu::ComputeYield(const char* type, const char* flavour)
{
  if (!SIM())
  {
    AliError("Cannot compute corrected yield without associated MC file !");
    return 0x0;
  }
  
  const char* accEffSubResultName="PSICOUNT:1";
  
  AliAnalysisMuMuSpectra* realSpectra = GetSpectra(type,flavour);
  
  if ( !realSpectra )
  {
    AliError("could not get real spectra");
    return 0x0;
  }
  
  if (!realSpectra->HasValue("CoffNofJpsi"))
  {
    if (!CorrectSpectra(type,flavour))
    {
      AliError("Could not get corrected spectra");
      return 0x0;
    }
  }
  
  AliAnalysisMuMuSpectra* simSpectra = SIM()->GetSpectra(type,flavour);
  
  if ( !simSpectra)
  {
    AliErrorClass("could not get sim spectra");
    return 0x0;
  }
  
  Double_t nofCMUL7 = CC()->GetSum(Form("trigger:CMUL7-B-NOPF-MUON/event:PSALL"));
  Double_t nofCINT7 = CC()->GetSum(Form("trigger:CINT7-B-NOPF-ALLNOTRD/event:PSALL"));
  Double_t nofCINT7w0MUL = CC()->GetSum(Form("trigger:CINT7-B-NOPF-ALLNOTRD&0MUL/event:PSALL"));
  
  AliAnalysisMuMuBinning* binning = realSpectra->Binning();
  TObjArray* bins = binning->CreateBinObjArray();
  TIter nextBin(bins);
  AliAnalysisMuMuBinning::Range* bin;
  Int_t i(0);
  AliAnalysisMuMuJpsiResult* r;
  
  while ( ( bin = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) )
  {
    r = static_cast<AliAnalysisMuMuJpsiResult*>(realSpectra->BinContentArray()->At(i));
   
    StdoutToAliDebug(1,std::cout << "bin=";r->Print(););
    
    AliAnalysisMuMuJpsiResult* rsim = static_cast<AliAnalysisMuMuJpsiResult*>(simSpectra->BinContentArray()->At(i));
    
    Double_t mbeq = nofCINT7w0MUL / ( nofCINT7 * nofCMUL7);
    Double_t mbeqError = mbeq * AliAnalysisMuMuResult::ErrorABC( nofCINT7w0MUL, TMath::Sqrt(nofCINT7w0MUL),
                                                                nofCINT7,TMath::Sqrt(nofCINT7),
                                                                nofCMUL7,TMath::Sqrt(nofCMUL7));
    
    r->Set("Fnorm",nofCINT7/nofCINT7w0MUL,(nofCINT7/nofCINT7w0MUL)*AliAnalysisMuMuResult::ErrorAB( nofCINT7w0MUL, TMath::Sqrt(nofCINT7w0MUL),
                                                                                                nofCINT7,TMath::Sqrt(nofCINT7)));
    
    Double_t yield =  r->GetValue("CorrNofJpsi") * mbeq;
    
    Double_t yieldError = yield * AliAnalysisMuMuResult::ErrorAB( r->GetValue("CorrNofJpsi"), r->GetErrorStat("CorrNofJpsi"),
                                                                 mbeq,mbeqError);
    
    r->Set("YJpsi",yield,yieldError);
    
    r->Set("NofInputJpsi",rsim->GetValue("NofInputJpsi",accEffSubResultName),rsim->GetErrorStat("NofInputJpsi",accEffSubResultName));
    r->Set("AccEffJpsi",rsim->GetValue("AccEffJpsi",accEffSubResultName),rsim->GetErrorStat("AccEffJpsi",accEffSubResultName));
    
    ++i;
  }
  
  delete bins;
  
  Update();
  
  return realSpectra;
}

//_____________________________________________________________________________
AliAnalysisMuMuSpectra* AliAnalysisMuMu::RABy(const char* type, const char* direction)
{
  /// Compute the RAB...
  
  if (!SIM()) return 0x0;
  
  Double_t rapidityShift = 0.465;// 0.5*TMath::Log(208.0/82.0);
  const Double_t sqrts=5.023;
  const Double_t ymax=TMath::Log(sqrts*1000.0/3.096916);
  const Double_t tab = 0.093e-6; // nb^-1
  const Double_t tabError = 0.0035E-6; // nb^-1
  const char* accEffSubResultName="PSICOUNT:1";
  
  TF1 ydist("ydist","[0]*TMath::Exp(-(x*x)/(2.0*0.39*0.39))",0.,0.5);
  ydist.SetParameter(0,1.);

  //Normalization to the values presented by Zaida and Rosana on January 11th 2013 https://indico.cern.ch/conferenceDisplay.py?confId=224985 slide 22
  // Normalization is done in the rapidity range 2.75<y<3.25 where Rosanas values is 230.8+212.1
  Double_t y1_norma= 2.75/ymax;
  Double_t y2_norma= 3.25/ymax;
  Double_t normalization = 0.25*(230.8+212.1)/ydist.Integral(y1_norma, y2_norma);
  ydist.SetParameter(0,normalization);
//  AliInfoClass(Form("ymax=%e normalization=%f",ymax,ydist.Integral(y1_norma, y2_norma)));
  
  AliAnalysisMuMuSpectra* realSpectra = static_cast<AliAnalysisMuMuSpectra*>(OC()->GetObject(Form("/PSALL/CMUL7-B-NOPF-MUON/PP/pMATCHLOWRABSBOTH/PSI-%s",type)));
  AliAnalysisMuMuSpectra* simSpectra = static_cast<AliAnalysisMuMuSpectra*>(SIM()->OC()->GetObject(Form("/ALL/CMULLO-B-NOPF-MUON/PP/pMATCHLOWRABSBOTH/PSI-%s",type)));
  
  if ( !realSpectra )
  {
    AliErrorClass("could not get real spectra");
    return 0x0;
  }
  
  if ( !simSpectra)
  {
    AliErrorClass("could not get sim spectra");
    return 0x0;
  }
  
  AliAnalysisMuMuSpectra* corrSpectra = static_cast<AliAnalysisMuMuSpectra*>(realSpectra->Clone());
  corrSpectra->Correct(*simSpectra,"Jpsi",accEffSubResultName);
  
  Double_t nofCMUL7 = CC()->GetSum(Form("trigger:CMUL7-B-NOPF-MUON/event:PSALL"));
  Double_t nofCINT7 = CC()->GetSum(Form("trigger:CINT7-B-NOPF-ALLNOTRD/event:PSALL"));
  Double_t nofCINT7w0MUL = CC()->GetSum(Form("trigger:CINT7-B-NOPF-ALLNOTRD&0MUL/event:PSALL"));
  
  AliAnalysisMuMuBinning* binning = realSpectra->Binning();
  TObjArray* bins = binning->CreateBinObjArray();
  TIter nextBin(bins);
  AliAnalysisMuMuBinning::Range* bin;
  Int_t i(0);
  AliAnalysisMuMuJpsiResult* r;
  
  Int_t n = bins->GetLast();
  
  TObjArray finalBins(n+1);
  finalBins.SetOwner(kTRUE);
  
  TObjArray finalResults(n+1);
  finalResults.SetOwner(kFALSE);
  
  while ( ( bin = static_cast<AliAnalysisMuMuBinning::Range*>(nextBin()) ) )
  {
    Double_t ylowlab = bin->Xmin();
    Double_t yhighlab = bin->Xmax();

    Double_t ylowcms, yhighcms;
    Double_t ylownorm, yhighnorm;
    
    if ( bin->IsIntegrated() )
    {
      ylowlab = -4;
      yhighlab = -2.5;
    }
    
    if ( strcmp(direction,"pPb")==0 )
    {
      ylowcms = TMath::Abs(yhighlab) -  rapidityShift;
      yhighcms = TMath::Abs(ylowlab) - rapidityShift;
      ylownorm = ylowcms/ymax;
      yhighnorm = yhighcms/ymax;
    }
    else
    {
      ylowcms = ylowlab - rapidityShift;
      yhighcms = yhighlab - rapidityShift;
      ylownorm = -yhighcms/ymax;
      yhighnorm = -ylowcms/ymax;
    }
    
    
    Double_t brsigmapp = ydist.Integral(ylownorm,yhighnorm);
    Double_t brsigmappError = 0.0; // FIXME
    
    AliInfoClass(Form("y range : LAB %f ; %f CMS %f ; %f -> ynorm : %f ; %f -> BR x sigmapp = %f",
                      ylowlab,yhighlab,ylowcms,yhighcms,ylownorm,yhighnorm,brsigmapp));
    
    r = static_cast<AliAnalysisMuMuJpsiResult*>(corrSpectra->BinContentArray()->At(i)->Clone());

    AliAnalysisMuMuJpsiResult* rsim = static_cast<AliAnalysisMuMuJpsiResult*>(simSpectra->BinContentArray()->At(i));
    
    Double_t mbeq = nofCINT7w0MUL / ( nofCINT7 * nofCMUL7);
    Double_t mbeqError = mbeq * AliAnalysisMuMuResult::ErrorABC( nofCINT7w0MUL, TMath::Sqrt(nofCINT7w0MUL),
                                         nofCINT7,TMath::Sqrt(nofCINT7),
                                         nofCMUL7,TMath::Sqrt(nofCMUL7));
    
    r->Set("Fnorm",nofCINT7/nofCINT7w0MUL,(nofCINT7/nofCINT7w0MUL)*AliAnalysisMuMuResult::ErrorAB( nofCINT7w0MUL, TMath::Sqrt(nofCINT7w0MUL),
                                                                      nofCINT7,TMath::Sqrt(nofCINT7)));
    
    Double_t yield =  r->GetValue("CorrNofJpsi") * mbeq;

    Double_t yieldError = yield * AliAnalysisMuMuResult::ErrorAB( r->GetValue("CorrNofJpsi"), r->GetErrorStat("CorrNofJpsi"),
                                          mbeq,mbeqError);
    
    r->Set(Form("Y%sJpsi",direction),yield,yieldError);

    Double_t raa = yield/(tab*brsigmapp);
    Double_t raaError = AliAnalysisMuMuResult::ErrorABC(yield,yieldError,
                                                        tab,tabError,
                                                        brsigmapp,brsigmappError);
    r->Set(Form("R%sJpsi",direction),raa,raaError);

    r->Set("NofInputJpsi",rsim->GetValue("NofInputJpsi",accEffSubResultName),rsim->GetErrorStat("NofInputJpsi",accEffSubResultName));
    r->Set("AccEffJpsi",rsim->GetValue("AccEffJpsi",accEffSubResultName),rsim->GetErrorStat("AccEffJpsi",accEffSubResultName));
    
    AliAnalysisMuMuBinning::Range* bincm = new AliAnalysisMuMuBinning::Range(bin->What(),bin->Quantity(),ylowcms,yhighcms);
    
    r->SetBin(*bincm);
        
    finalBins.Add(bincm);
    finalResults.Add(r);
    
    ++i;
  }
  
  delete bins;
  
  AliAnalysisMuMuSpectra* spectra = new AliAnalysisMuMuSpectra(type,direction);
  
  for ( i = 0; i <= n; ++i )
  {
    Int_t j(i);
    if ( strcmp(direction,"pPb")==0 )
    {
      j = n-i;
    }
    
    r = static_cast<AliAnalysisMuMuJpsiResult*>(finalResults.At(j));

    bin = static_cast<AliAnalysisMuMuBinning::Range*>(finalBins.At(j));
    
    spectra->AdoptResult(*bin,r);
  }
  

  delete corrSpectra;
  
  return spectra;
}

//_____________________________________________________________________________
void AliAnalysisMuMu::SetConfig(const AliAnalysisMuMuConfig& config)
{
  /// (re)set the config
  delete fConfig;
  fConfig = new AliAnalysisMuMuConfig(config);
}

 AliAnalysisMuMu.cxx:1
 AliAnalysisMuMu.cxx:2
 AliAnalysisMuMu.cxx:3
 AliAnalysisMuMu.cxx:4
 AliAnalysisMuMu.cxx:5
 AliAnalysisMuMu.cxx:6
 AliAnalysisMuMu.cxx:7
 AliAnalysisMuMu.cxx:8
 AliAnalysisMuMu.cxx:9
 AliAnalysisMuMu.cxx:10
 AliAnalysisMuMu.cxx:11
 AliAnalysisMuMu.cxx:12
 AliAnalysisMuMu.cxx:13
 AliAnalysisMuMu.cxx:14
 AliAnalysisMuMu.cxx:15
 AliAnalysisMuMu.cxx:16
 AliAnalysisMuMu.cxx:17
 AliAnalysisMuMu.cxx:18
 AliAnalysisMuMu.cxx:19
 AliAnalysisMuMu.cxx:20
 AliAnalysisMuMu.cxx:21
 AliAnalysisMuMu.cxx:22
 AliAnalysisMuMu.cxx:23
 AliAnalysisMuMu.cxx:24
 AliAnalysisMuMu.cxx:25
 AliAnalysisMuMu.cxx:26
 AliAnalysisMuMu.cxx:27
 AliAnalysisMuMu.cxx:28
 AliAnalysisMuMu.cxx:29
 AliAnalysisMuMu.cxx:30
 AliAnalysisMuMu.cxx:31
 AliAnalysisMuMu.cxx:32
 AliAnalysisMuMu.cxx:33
 AliAnalysisMuMu.cxx:34
 AliAnalysisMuMu.cxx:35
 AliAnalysisMuMu.cxx:36
 AliAnalysisMuMu.cxx:37
 AliAnalysisMuMu.cxx:38
 AliAnalysisMuMu.cxx:39
 AliAnalysisMuMu.cxx:40
 AliAnalysisMuMu.cxx:41
 AliAnalysisMuMu.cxx:42
 AliAnalysisMuMu.cxx:43
 AliAnalysisMuMu.cxx:44
 AliAnalysisMuMu.cxx:45
 AliAnalysisMuMu.cxx:46
 AliAnalysisMuMu.cxx:47
 AliAnalysisMuMu.cxx:48
 AliAnalysisMuMu.cxx:49
 AliAnalysisMuMu.cxx:50
 AliAnalysisMuMu.cxx:51
 AliAnalysisMuMu.cxx:52
 AliAnalysisMuMu.cxx:53
 AliAnalysisMuMu.cxx:54
 AliAnalysisMuMu.cxx:55
 AliAnalysisMuMu.cxx:56
 AliAnalysisMuMu.cxx:57
 AliAnalysisMuMu.cxx:58
 AliAnalysisMuMu.cxx:59
 AliAnalysisMuMu.cxx:60
 AliAnalysisMuMu.cxx:61
 AliAnalysisMuMu.cxx:62
 AliAnalysisMuMu.cxx:63
 AliAnalysisMuMu.cxx:64
 AliAnalysisMuMu.cxx:65
 AliAnalysisMuMu.cxx:66
 AliAnalysisMuMu.cxx:67
 AliAnalysisMuMu.cxx:68
 AliAnalysisMuMu.cxx:69
 AliAnalysisMuMu.cxx:70
 AliAnalysisMuMu.cxx:71
 AliAnalysisMuMu.cxx:72
 AliAnalysisMuMu.cxx:73
 AliAnalysisMuMu.cxx:74
 AliAnalysisMuMu.cxx:75
 AliAnalysisMuMu.cxx:76
 AliAnalysisMuMu.cxx:77
 AliAnalysisMuMu.cxx:78
 AliAnalysisMuMu.cxx:79
 AliAnalysisMuMu.cxx:80
 AliAnalysisMuMu.cxx:81
 AliAnalysisMuMu.cxx:82
 AliAnalysisMuMu.cxx:83
 AliAnalysisMuMu.cxx:84
 AliAnalysisMuMu.cxx:85
 AliAnalysisMuMu.cxx:86
 AliAnalysisMuMu.cxx:87
 AliAnalysisMuMu.cxx:88
 AliAnalysisMuMu.cxx:89
 AliAnalysisMuMu.cxx:90
 AliAnalysisMuMu.cxx:91
 AliAnalysisMuMu.cxx:92
 AliAnalysisMuMu.cxx:93
 AliAnalysisMuMu.cxx:94
 AliAnalysisMuMu.cxx:95
 AliAnalysisMuMu.cxx:96
 AliAnalysisMuMu.cxx:97
 AliAnalysisMuMu.cxx:98
 AliAnalysisMuMu.cxx:99
 AliAnalysisMuMu.cxx:100
 AliAnalysisMuMu.cxx:101
 AliAnalysisMuMu.cxx:102
 AliAnalysisMuMu.cxx:103
 AliAnalysisMuMu.cxx:104
 AliAnalysisMuMu.cxx:105
 AliAnalysisMuMu.cxx:106
 AliAnalysisMuMu.cxx:107
 AliAnalysisMuMu.cxx:108
 AliAnalysisMuMu.cxx:109
 AliAnalysisMuMu.cxx:110
 AliAnalysisMuMu.cxx:111
 AliAnalysisMuMu.cxx:112
 AliAnalysisMuMu.cxx:113
 AliAnalysisMuMu.cxx:114
 AliAnalysisMuMu.cxx:115
 AliAnalysisMuMu.cxx:116
 AliAnalysisMuMu.cxx:117
 AliAnalysisMuMu.cxx:118
 AliAnalysisMuMu.cxx:119
 AliAnalysisMuMu.cxx:120
 AliAnalysisMuMu.cxx:121
 AliAnalysisMuMu.cxx:122
 AliAnalysisMuMu.cxx:123
 AliAnalysisMuMu.cxx:124
 AliAnalysisMuMu.cxx:125
 AliAnalysisMuMu.cxx:126
 AliAnalysisMuMu.cxx:127
 AliAnalysisMuMu.cxx:128
 AliAnalysisMuMu.cxx:129
 AliAnalysisMuMu.cxx:130
 AliAnalysisMuMu.cxx:131
 AliAnalysisMuMu.cxx:132
 AliAnalysisMuMu.cxx:133
 AliAnalysisMuMu.cxx:134
 AliAnalysisMuMu.cxx:135
 AliAnalysisMuMu.cxx:136
 AliAnalysisMuMu.cxx:137
 AliAnalysisMuMu.cxx:138
 AliAnalysisMuMu.cxx:139
 AliAnalysisMuMu.cxx:140
 AliAnalysisMuMu.cxx:141
 AliAnalysisMuMu.cxx:142
 AliAnalysisMuMu.cxx:143
 AliAnalysisMuMu.cxx:144
 AliAnalysisMuMu.cxx:145
 AliAnalysisMuMu.cxx:146
 AliAnalysisMuMu.cxx:147
 AliAnalysisMuMu.cxx:148
 AliAnalysisMuMu.cxx:149
 AliAnalysisMuMu.cxx:150
 AliAnalysisMuMu.cxx:151
 AliAnalysisMuMu.cxx:152
 AliAnalysisMuMu.cxx:153
 AliAnalysisMuMu.cxx:154
 AliAnalysisMuMu.cxx:155
 AliAnalysisMuMu.cxx:156
 AliAnalysisMuMu.cxx:157
 AliAnalysisMuMu.cxx:158
 AliAnalysisMuMu.cxx:159
 AliAnalysisMuMu.cxx:160
 AliAnalysisMuMu.cxx:161
 AliAnalysisMuMu.cxx:162
 AliAnalysisMuMu.cxx:163
 AliAnalysisMuMu.cxx:164
 AliAnalysisMuMu.cxx:165
 AliAnalysisMuMu.cxx:166
 AliAnalysisMuMu.cxx:167
 AliAnalysisMuMu.cxx:168
 AliAnalysisMuMu.cxx:169
 AliAnalysisMuMu.cxx:170
 AliAnalysisMuMu.cxx:171
 AliAnalysisMuMu.cxx:172
 AliAnalysisMuMu.cxx:173
 AliAnalysisMuMu.cxx:174
 AliAnalysisMuMu.cxx:175
 AliAnalysisMuMu.cxx:176
 AliAnalysisMuMu.cxx:177
 AliAnalysisMuMu.cxx:178
 AliAnalysisMuMu.cxx:179
 AliAnalysisMuMu.cxx:180
 AliAnalysisMuMu.cxx:181
 AliAnalysisMuMu.cxx:182
 AliAnalysisMuMu.cxx:183
 AliAnalysisMuMu.cxx:184
 AliAnalysisMuMu.cxx:185
 AliAnalysisMuMu.cxx:186
 AliAnalysisMuMu.cxx:187
 AliAnalysisMuMu.cxx:188
 AliAnalysisMuMu.cxx:189
 AliAnalysisMuMu.cxx:190
 AliAnalysisMuMu.cxx:191
 AliAnalysisMuMu.cxx:192
 AliAnalysisMuMu.cxx:193
 AliAnalysisMuMu.cxx:194
 AliAnalysisMuMu.cxx:195
 AliAnalysisMuMu.cxx:196
 AliAnalysisMuMu.cxx:197
 AliAnalysisMuMu.cxx:198
 AliAnalysisMuMu.cxx:199
 AliAnalysisMuMu.cxx:200
 AliAnalysisMuMu.cxx:201
 AliAnalysisMuMu.cxx:202
 AliAnalysisMuMu.cxx:203
 AliAnalysisMuMu.cxx:204
 AliAnalysisMuMu.cxx:205
 AliAnalysisMuMu.cxx:206
 AliAnalysisMuMu.cxx:207
 AliAnalysisMuMu.cxx:208
 AliAnalysisMuMu.cxx:209
 AliAnalysisMuMu.cxx:210
 AliAnalysisMuMu.cxx:211
 AliAnalysisMuMu.cxx:212
 AliAnalysisMuMu.cxx:213
 AliAnalysisMuMu.cxx:214
 AliAnalysisMuMu.cxx:215
 AliAnalysisMuMu.cxx:216
 AliAnalysisMuMu.cxx:217
 AliAnalysisMuMu.cxx:218
 AliAnalysisMuMu.cxx:219
 AliAnalysisMuMu.cxx:220
 AliAnalysisMuMu.cxx:221
 AliAnalysisMuMu.cxx:222
 AliAnalysisMuMu.cxx:223
 AliAnalysisMuMu.cxx:224
 AliAnalysisMuMu.cxx:225
 AliAnalysisMuMu.cxx:226
 AliAnalysisMuMu.cxx:227
 AliAnalysisMuMu.cxx:228
 AliAnalysisMuMu.cxx:229
 AliAnalysisMuMu.cxx:230
 AliAnalysisMuMu.cxx:231
 AliAnalysisMuMu.cxx:232
 AliAnalysisMuMu.cxx:233
 AliAnalysisMuMu.cxx:234
 AliAnalysisMuMu.cxx:235
 AliAnalysisMuMu.cxx:236
 AliAnalysisMuMu.cxx:237
 AliAnalysisMuMu.cxx:238
 AliAnalysisMuMu.cxx:239
 AliAnalysisMuMu.cxx:240
 AliAnalysisMuMu.cxx:241
 AliAnalysisMuMu.cxx:242
 AliAnalysisMuMu.cxx:243
 AliAnalysisMuMu.cxx:244
 AliAnalysisMuMu.cxx:245
 AliAnalysisMuMu.cxx:246
 AliAnalysisMuMu.cxx:247
 AliAnalysisMuMu.cxx:248
 AliAnalysisMuMu.cxx:249
 AliAnalysisMuMu.cxx:250
 AliAnalysisMuMu.cxx:251
 AliAnalysisMuMu.cxx:252
 AliAnalysisMuMu.cxx:253
 AliAnalysisMuMu.cxx:254
 AliAnalysisMuMu.cxx:255
 AliAnalysisMuMu.cxx:256
 AliAnalysisMuMu.cxx:257
 AliAnalysisMuMu.cxx:258
 AliAnalysisMuMu.cxx:259
 AliAnalysisMuMu.cxx:260
 AliAnalysisMuMu.cxx:261
 AliAnalysisMuMu.cxx:262
 AliAnalysisMuMu.cxx:263
 AliAnalysisMuMu.cxx:264
 AliAnalysisMuMu.cxx:265
 AliAnalysisMuMu.cxx:266
 AliAnalysisMuMu.cxx:267
 AliAnalysisMuMu.cxx:268
 AliAnalysisMuMu.cxx:269
 AliAnalysisMuMu.cxx:270
 AliAnalysisMuMu.cxx:271
 AliAnalysisMuMu.cxx:272
 AliAnalysisMuMu.cxx:273
 AliAnalysisMuMu.cxx:274
 AliAnalysisMuMu.cxx:275
 AliAnalysisMuMu.cxx:276
 AliAnalysisMuMu.cxx:277
 AliAnalysisMuMu.cxx:278
 AliAnalysisMuMu.cxx:279
 AliAnalysisMuMu.cxx:280
 AliAnalysisMuMu.cxx:281
 AliAnalysisMuMu.cxx:282
 AliAnalysisMuMu.cxx:283
 AliAnalysisMuMu.cxx:284
 AliAnalysisMuMu.cxx:285
 AliAnalysisMuMu.cxx:286
 AliAnalysisMuMu.cxx:287
 AliAnalysisMuMu.cxx:288
 AliAnalysisMuMu.cxx:289
 AliAnalysisMuMu.cxx:290
 AliAnalysisMuMu.cxx:291
 AliAnalysisMuMu.cxx:292
 AliAnalysisMuMu.cxx:293
 AliAnalysisMuMu.cxx:294
 AliAnalysisMuMu.cxx:295
 AliAnalysisMuMu.cxx:296
 AliAnalysisMuMu.cxx:297
 AliAnalysisMuMu.cxx:298
 AliAnalysisMuMu.cxx:299
 AliAnalysisMuMu.cxx:300
 AliAnalysisMuMu.cxx:301
 AliAnalysisMuMu.cxx:302
 AliAnalysisMuMu.cxx:303
 AliAnalysisMuMu.cxx:304
 AliAnalysisMuMu.cxx:305
 AliAnalysisMuMu.cxx:306
 AliAnalysisMuMu.cxx:307
 AliAnalysisMuMu.cxx:308
 AliAnalysisMuMu.cxx:309
 AliAnalysisMuMu.cxx:310
 AliAnalysisMuMu.cxx:311
 AliAnalysisMuMu.cxx:312
 AliAnalysisMuMu.cxx:313
 AliAnalysisMuMu.cxx:314
 AliAnalysisMuMu.cxx:315
 AliAnalysisMuMu.cxx:316
 AliAnalysisMuMu.cxx:317
 AliAnalysisMuMu.cxx:318
 AliAnalysisMuMu.cxx:319
 AliAnalysisMuMu.cxx:320
 AliAnalysisMuMu.cxx:321
 AliAnalysisMuMu.cxx:322
 AliAnalysisMuMu.cxx:323
 AliAnalysisMuMu.cxx:324
 AliAnalysisMuMu.cxx:325
 AliAnalysisMuMu.cxx:326
 AliAnalysisMuMu.cxx:327
 AliAnalysisMuMu.cxx:328
 AliAnalysisMuMu.cxx:329
 AliAnalysisMuMu.cxx:330
 AliAnalysisMuMu.cxx:331
 AliAnalysisMuMu.cxx:332
 AliAnalysisMuMu.cxx:333
 AliAnalysisMuMu.cxx:334
 AliAnalysisMuMu.cxx:335
 AliAnalysisMuMu.cxx:336
 AliAnalysisMuMu.cxx:337
 AliAnalysisMuMu.cxx:338
 AliAnalysisMuMu.cxx:339
 AliAnalysisMuMu.cxx:340
 AliAnalysisMuMu.cxx:341
 AliAnalysisMuMu.cxx:342
 AliAnalysisMuMu.cxx:343
 AliAnalysisMuMu.cxx:344
 AliAnalysisMuMu.cxx:345
 AliAnalysisMuMu.cxx:346
 AliAnalysisMuMu.cxx:347
 AliAnalysisMuMu.cxx:348
 AliAnalysisMuMu.cxx:349
 AliAnalysisMuMu.cxx:350
 AliAnalysisMuMu.cxx:351
 AliAnalysisMuMu.cxx:352
 AliAnalysisMuMu.cxx:353
 AliAnalysisMuMu.cxx:354
 AliAnalysisMuMu.cxx:355
 AliAnalysisMuMu.cxx:356
 AliAnalysisMuMu.cxx:357
 AliAnalysisMuMu.cxx:358
 AliAnalysisMuMu.cxx:359
 AliAnalysisMuMu.cxx:360
 AliAnalysisMuMu.cxx:361
 AliAnalysisMuMu.cxx:362
 AliAnalysisMuMu.cxx:363
 AliAnalysisMuMu.cxx:364
 AliAnalysisMuMu.cxx:365
 AliAnalysisMuMu.cxx:366
 AliAnalysisMuMu.cxx:367
 AliAnalysisMuMu.cxx:368
 AliAnalysisMuMu.cxx:369
 AliAnalysisMuMu.cxx:370
 AliAnalysisMuMu.cxx:371
 AliAnalysisMuMu.cxx:372
 AliAnalysisMuMu.cxx:373
 AliAnalysisMuMu.cxx:374
 AliAnalysisMuMu.cxx:375
 AliAnalysisMuMu.cxx:376
 AliAnalysisMuMu.cxx:377
 AliAnalysisMuMu.cxx:378
 AliAnalysisMuMu.cxx:379
 AliAnalysisMuMu.cxx:380
 AliAnalysisMuMu.cxx:381
 AliAnalysisMuMu.cxx:382
 AliAnalysisMuMu.cxx:383
 AliAnalysisMuMu.cxx:384
 AliAnalysisMuMu.cxx:385
 AliAnalysisMuMu.cxx:386
 AliAnalysisMuMu.cxx:387
 AliAnalysisMuMu.cxx:388
 AliAnalysisMuMu.cxx:389
 AliAnalysisMuMu.cxx:390
 AliAnalysisMuMu.cxx:391
 AliAnalysisMuMu.cxx:392
 AliAnalysisMuMu.cxx:393
 AliAnalysisMuMu.cxx:394
 AliAnalysisMuMu.cxx:395
 AliAnalysisMuMu.cxx:396
 AliAnalysisMuMu.cxx:397
 AliAnalysisMuMu.cxx:398
 AliAnalysisMuMu.cxx:399
 AliAnalysisMuMu.cxx:400
 AliAnalysisMuMu.cxx:401
 AliAnalysisMuMu.cxx:402
 AliAnalysisMuMu.cxx:403
 AliAnalysisMuMu.cxx:404
 AliAnalysisMuMu.cxx:405
 AliAnalysisMuMu.cxx:406
 AliAnalysisMuMu.cxx:407
 AliAnalysisMuMu.cxx:408
 AliAnalysisMuMu.cxx:409
 AliAnalysisMuMu.cxx:410
 AliAnalysisMuMu.cxx:411
 AliAnalysisMuMu.cxx:412
 AliAnalysisMuMu.cxx:413
 AliAnalysisMuMu.cxx:414
 AliAnalysisMuMu.cxx:415
 AliAnalysisMuMu.cxx:416
 AliAnalysisMuMu.cxx:417
 AliAnalysisMuMu.cxx:418
 AliAnalysisMuMu.cxx:419
 AliAnalysisMuMu.cxx:420
 AliAnalysisMuMu.cxx:421
 AliAnalysisMuMu.cxx:422
 AliAnalysisMuMu.cxx:423
 AliAnalysisMuMu.cxx:424
 AliAnalysisMuMu.cxx:425
 AliAnalysisMuMu.cxx:426
 AliAnalysisMuMu.cxx:427
 AliAnalysisMuMu.cxx:428
 AliAnalysisMuMu.cxx:429
 AliAnalysisMuMu.cxx:430
 AliAnalysisMuMu.cxx:431
 AliAnalysisMuMu.cxx:432
 AliAnalysisMuMu.cxx:433
 AliAnalysisMuMu.cxx:434
 AliAnalysisMuMu.cxx:435
 AliAnalysisMuMu.cxx:436
 AliAnalysisMuMu.cxx:437
 AliAnalysisMuMu.cxx:438
 AliAnalysisMuMu.cxx:439
 AliAnalysisMuMu.cxx:440
 AliAnalysisMuMu.cxx:441
 AliAnalysisMuMu.cxx:442
 AliAnalysisMuMu.cxx:443
 AliAnalysisMuMu.cxx:444
 AliAnalysisMuMu.cxx:445
 AliAnalysisMuMu.cxx:446
 AliAnalysisMuMu.cxx:447
 AliAnalysisMuMu.cxx:448
 AliAnalysisMuMu.cxx:449
 AliAnalysisMuMu.cxx:450
 AliAnalysisMuMu.cxx:451
 AliAnalysisMuMu.cxx:452
 AliAnalysisMuMu.cxx:453
 AliAnalysisMuMu.cxx:454
 AliAnalysisMuMu.cxx:455
 AliAnalysisMuMu.cxx:456
 AliAnalysisMuMu.cxx:457
 AliAnalysisMuMu.cxx:458
 AliAnalysisMuMu.cxx:459
 AliAnalysisMuMu.cxx:460
 AliAnalysisMuMu.cxx:461
 AliAnalysisMuMu.cxx:462
 AliAnalysisMuMu.cxx:463
 AliAnalysisMuMu.cxx:464
 AliAnalysisMuMu.cxx:465
 AliAnalysisMuMu.cxx:466
 AliAnalysisMuMu.cxx:467
 AliAnalysisMuMu.cxx:468
 AliAnalysisMuMu.cxx:469
 AliAnalysisMuMu.cxx:470
 AliAnalysisMuMu.cxx:471
 AliAnalysisMuMu.cxx:472
 AliAnalysisMuMu.cxx:473
 AliAnalysisMuMu.cxx:474
 AliAnalysisMuMu.cxx:475
 AliAnalysisMuMu.cxx:476
 AliAnalysisMuMu.cxx:477
 AliAnalysisMuMu.cxx:478
 AliAnalysisMuMu.cxx:479
 AliAnalysisMuMu.cxx:480
 AliAnalysisMuMu.cxx:481
 AliAnalysisMuMu.cxx:482
 AliAnalysisMuMu.cxx:483
 AliAnalysisMuMu.cxx:484
 AliAnalysisMuMu.cxx:485
 AliAnalysisMuMu.cxx:486
 AliAnalysisMuMu.cxx:487
 AliAnalysisMuMu.cxx:488
 AliAnalysisMuMu.cxx:489
 AliAnalysisMuMu.cxx:490
 AliAnalysisMuMu.cxx:491
 AliAnalysisMuMu.cxx:492
 AliAnalysisMuMu.cxx:493
 AliAnalysisMuMu.cxx:494
 AliAnalysisMuMu.cxx:495
 AliAnalysisMuMu.cxx:496
 AliAnalysisMuMu.cxx:497
 AliAnalysisMuMu.cxx:498
 AliAnalysisMuMu.cxx:499
 AliAnalysisMuMu.cxx:500
 AliAnalysisMuMu.cxx:501
 AliAnalysisMuMu.cxx:502
 AliAnalysisMuMu.cxx:503
 AliAnalysisMuMu.cxx:504
 AliAnalysisMuMu.cxx:505
 AliAnalysisMuMu.cxx:506
 AliAnalysisMuMu.cxx:507
 AliAnalysisMuMu.cxx:508
 AliAnalysisMuMu.cxx:509
 AliAnalysisMuMu.cxx:510
 AliAnalysisMuMu.cxx:511
 AliAnalysisMuMu.cxx:512
 AliAnalysisMuMu.cxx:513
 AliAnalysisMuMu.cxx:514
 AliAnalysisMuMu.cxx:515
 AliAnalysisMuMu.cxx:516
 AliAnalysisMuMu.cxx:517
 AliAnalysisMuMu.cxx:518
 AliAnalysisMuMu.cxx:519
 AliAnalysisMuMu.cxx:520
 AliAnalysisMuMu.cxx:521
 AliAnalysisMuMu.cxx:522
 AliAnalysisMuMu.cxx:523
 AliAnalysisMuMu.cxx:524
 AliAnalysisMuMu.cxx:525
 AliAnalysisMuMu.cxx:526
 AliAnalysisMuMu.cxx:527
 AliAnalysisMuMu.cxx:528
 AliAnalysisMuMu.cxx:529
 AliAnalysisMuMu.cxx:530
 AliAnalysisMuMu.cxx:531
 AliAnalysisMuMu.cxx:532
 AliAnalysisMuMu.cxx:533
 AliAnalysisMuMu.cxx:534
 AliAnalysisMuMu.cxx:535
 AliAnalysisMuMu.cxx:536
 AliAnalysisMuMu.cxx:537
 AliAnalysisMuMu.cxx:538
 AliAnalysisMuMu.cxx:539
 AliAnalysisMuMu.cxx:540
 AliAnalysisMuMu.cxx:541
 AliAnalysisMuMu.cxx:542
 AliAnalysisMuMu.cxx:543
 AliAnalysisMuMu.cxx:544
 AliAnalysisMuMu.cxx:545
 AliAnalysisMuMu.cxx:546
 AliAnalysisMuMu.cxx:547
 AliAnalysisMuMu.cxx:548
 AliAnalysisMuMu.cxx:549
 AliAnalysisMuMu.cxx:550
 AliAnalysisMuMu.cxx:551
 AliAnalysisMuMu.cxx:552
 AliAnalysisMuMu.cxx:553
 AliAnalysisMuMu.cxx:554
 AliAnalysisMuMu.cxx:555
 AliAnalysisMuMu.cxx:556
 AliAnalysisMuMu.cxx:557
 AliAnalysisMuMu.cxx:558
 AliAnalysisMuMu.cxx:559
 AliAnalysisMuMu.cxx:560
 AliAnalysisMuMu.cxx:561
 AliAnalysisMuMu.cxx:562
 AliAnalysisMuMu.cxx:563
 AliAnalysisMuMu.cxx:564
 AliAnalysisMuMu.cxx:565
 AliAnalysisMuMu.cxx:566
 AliAnalysisMuMu.cxx:567
 AliAnalysisMuMu.cxx:568
 AliAnalysisMuMu.cxx:569
 AliAnalysisMuMu.cxx:570
 AliAnalysisMuMu.cxx:571
 AliAnalysisMuMu.cxx:572
 AliAnalysisMuMu.cxx:573
 AliAnalysisMuMu.cxx:574
 AliAnalysisMuMu.cxx:575
 AliAnalysisMuMu.cxx:576
 AliAnalysisMuMu.cxx:577
 AliAnalysisMuMu.cxx:578
 AliAnalysisMuMu.cxx:579
 AliAnalysisMuMu.cxx:580
 AliAnalysisMuMu.cxx:581
 AliAnalysisMuMu.cxx:582
 AliAnalysisMuMu.cxx:583
 AliAnalysisMuMu.cxx:584
 AliAnalysisMuMu.cxx:585
 AliAnalysisMuMu.cxx:586
 AliAnalysisMuMu.cxx:587
 AliAnalysisMuMu.cxx:588
 AliAnalysisMuMu.cxx:589
 AliAnalysisMuMu.cxx:590
 AliAnalysisMuMu.cxx:591
 AliAnalysisMuMu.cxx:592
 AliAnalysisMuMu.cxx:593
 AliAnalysisMuMu.cxx:594
 AliAnalysisMuMu.cxx:595
 AliAnalysisMuMu.cxx:596
 AliAnalysisMuMu.cxx:597
 AliAnalysisMuMu.cxx:598
 AliAnalysisMuMu.cxx:599
 AliAnalysisMuMu.cxx:600
 AliAnalysisMuMu.cxx:601
 AliAnalysisMuMu.cxx:602
 AliAnalysisMuMu.cxx:603
 AliAnalysisMuMu.cxx:604
 AliAnalysisMuMu.cxx:605
 AliAnalysisMuMu.cxx:606
 AliAnalysisMuMu.cxx:607
 AliAnalysisMuMu.cxx:608
 AliAnalysisMuMu.cxx:609
 AliAnalysisMuMu.cxx:610
 AliAnalysisMuMu.cxx:611
 AliAnalysisMuMu.cxx:612
 AliAnalysisMuMu.cxx:613
 AliAnalysisMuMu.cxx:614
 AliAnalysisMuMu.cxx:615
 AliAnalysisMuMu.cxx:616
 AliAnalysisMuMu.cxx:617
 AliAnalysisMuMu.cxx:618
 AliAnalysisMuMu.cxx:619
 AliAnalysisMuMu.cxx:620
 AliAnalysisMuMu.cxx:621
 AliAnalysisMuMu.cxx:622
 AliAnalysisMuMu.cxx:623
 AliAnalysisMuMu.cxx:624
 AliAnalysisMuMu.cxx:625
 AliAnalysisMuMu.cxx:626
 AliAnalysisMuMu.cxx:627
 AliAnalysisMuMu.cxx:628
 AliAnalysisMuMu.cxx:629
 AliAnalysisMuMu.cxx:630
 AliAnalysisMuMu.cxx:631
 AliAnalysisMuMu.cxx:632
 AliAnalysisMuMu.cxx:633
 AliAnalysisMuMu.cxx:634
 AliAnalysisMuMu.cxx:635
 AliAnalysisMuMu.cxx:636
 AliAnalysisMuMu.cxx:637
 AliAnalysisMuMu.cxx:638
 AliAnalysisMuMu.cxx:639
 AliAnalysisMuMu.cxx:640
 AliAnalysisMuMu.cxx:641
 AliAnalysisMuMu.cxx:642
 AliAnalysisMuMu.cxx:643
 AliAnalysisMuMu.cxx:644
 AliAnalysisMuMu.cxx:645
 AliAnalysisMuMu.cxx:646
 AliAnalysisMuMu.cxx:647
 AliAnalysisMuMu.cxx:648
 AliAnalysisMuMu.cxx:649
 AliAnalysisMuMu.cxx:650
 AliAnalysisMuMu.cxx:651
 AliAnalysisMuMu.cxx:652
 AliAnalysisMuMu.cxx:653
 AliAnalysisMuMu.cxx:654
 AliAnalysisMuMu.cxx:655
 AliAnalysisMuMu.cxx:656
 AliAnalysisMuMu.cxx:657
 AliAnalysisMuMu.cxx:658
 AliAnalysisMuMu.cxx:659
 AliAnalysisMuMu.cxx:660
 AliAnalysisMuMu.cxx:661
 AliAnalysisMuMu.cxx:662
 AliAnalysisMuMu.cxx:663
 AliAnalysisMuMu.cxx:664
 AliAnalysisMuMu.cxx:665
 AliAnalysisMuMu.cxx:666
 AliAnalysisMuMu.cxx:667
 AliAnalysisMuMu.cxx:668
 AliAnalysisMuMu.cxx:669
 AliAnalysisMuMu.cxx:670
 AliAnalysisMuMu.cxx:671
 AliAnalysisMuMu.cxx:672
 AliAnalysisMuMu.cxx:673
 AliAnalysisMuMu.cxx:674
 AliAnalysisMuMu.cxx:675
 AliAnalysisMuMu.cxx:676
 AliAnalysisMuMu.cxx:677
 AliAnalysisMuMu.cxx:678
 AliAnalysisMuMu.cxx:679
 AliAnalysisMuMu.cxx:680
 AliAnalysisMuMu.cxx:681
 AliAnalysisMuMu.cxx:682
 AliAnalysisMuMu.cxx:683
 AliAnalysisMuMu.cxx:684
 AliAnalysisMuMu.cxx:685
 AliAnalysisMuMu.cxx:686
 AliAnalysisMuMu.cxx:687
 AliAnalysisMuMu.cxx:688
 AliAnalysisMuMu.cxx:689
 AliAnalysisMuMu.cxx:690
 AliAnalysisMuMu.cxx:691
 AliAnalysisMuMu.cxx:692
 AliAnalysisMuMu.cxx:693
 AliAnalysisMuMu.cxx:694
 AliAnalysisMuMu.cxx:695
 AliAnalysisMuMu.cxx:696
 AliAnalysisMuMu.cxx:697
 AliAnalysisMuMu.cxx:698
 AliAnalysisMuMu.cxx:699
 AliAnalysisMuMu.cxx:700
 AliAnalysisMuMu.cxx:701
 AliAnalysisMuMu.cxx:702
 AliAnalysisMuMu.cxx:703
 AliAnalysisMuMu.cxx:704
 AliAnalysisMuMu.cxx:705
 AliAnalysisMuMu.cxx:706
 AliAnalysisMuMu.cxx:707
 AliAnalysisMuMu.cxx:708
 AliAnalysisMuMu.cxx:709
 AliAnalysisMuMu.cxx:710
 AliAnalysisMuMu.cxx:711
 AliAnalysisMuMu.cxx:712
 AliAnalysisMuMu.cxx:713
 AliAnalysisMuMu.cxx:714
 AliAnalysisMuMu.cxx:715
 AliAnalysisMuMu.cxx:716
 AliAnalysisMuMu.cxx:717
 AliAnalysisMuMu.cxx:718
 AliAnalysisMuMu.cxx:719
 AliAnalysisMuMu.cxx:720
 AliAnalysisMuMu.cxx:721
 AliAnalysisMuMu.cxx:722
 AliAnalysisMuMu.cxx:723
 AliAnalysisMuMu.cxx:724
 AliAnalysisMuMu.cxx:725
 AliAnalysisMuMu.cxx:726
 AliAnalysisMuMu.cxx:727
 AliAnalysisMuMu.cxx:728
 AliAnalysisMuMu.cxx:729
 AliAnalysisMuMu.cxx:730
 AliAnalysisMuMu.cxx:731
 AliAnalysisMuMu.cxx:732
 AliAnalysisMuMu.cxx:733
 AliAnalysisMuMu.cxx:734
 AliAnalysisMuMu.cxx:735
 AliAnalysisMuMu.cxx:736
 AliAnalysisMuMu.cxx:737
 AliAnalysisMuMu.cxx:738
 AliAnalysisMuMu.cxx:739
 AliAnalysisMuMu.cxx:740
 AliAnalysisMuMu.cxx:741
 AliAnalysisMuMu.cxx:742
 AliAnalysisMuMu.cxx:743
 AliAnalysisMuMu.cxx:744
 AliAnalysisMuMu.cxx:745
 AliAnalysisMuMu.cxx:746
 AliAnalysisMuMu.cxx:747
 AliAnalysisMuMu.cxx:748
 AliAnalysisMuMu.cxx:749
 AliAnalysisMuMu.cxx:750
 AliAnalysisMuMu.cxx:751
 AliAnalysisMuMu.cxx:752
 AliAnalysisMuMu.cxx:753
 AliAnalysisMuMu.cxx:754
 AliAnalysisMuMu.cxx:755
 AliAnalysisMuMu.cxx:756
 AliAnalysisMuMu.cxx:757
 AliAnalysisMuMu.cxx:758
 AliAnalysisMuMu.cxx:759
 AliAnalysisMuMu.cxx:760
 AliAnalysisMuMu.cxx:761
 AliAnalysisMuMu.cxx:762
 AliAnalysisMuMu.cxx:763
 AliAnalysisMuMu.cxx:764
 AliAnalysisMuMu.cxx:765
 AliAnalysisMuMu.cxx:766
 AliAnalysisMuMu.cxx:767
 AliAnalysisMuMu.cxx:768
 AliAnalysisMuMu.cxx:769
 AliAnalysisMuMu.cxx:770
 AliAnalysisMuMu.cxx:771
 AliAnalysisMuMu.cxx:772
 AliAnalysisMuMu.cxx:773
 AliAnalysisMuMu.cxx:774
 AliAnalysisMuMu.cxx:775
 AliAnalysisMuMu.cxx:776
 AliAnalysisMuMu.cxx:777
 AliAnalysisMuMu.cxx:778
 AliAnalysisMuMu.cxx:779
 AliAnalysisMuMu.cxx:780
 AliAnalysisMuMu.cxx:781
 AliAnalysisMuMu.cxx:782
 AliAnalysisMuMu.cxx:783
 AliAnalysisMuMu.cxx:784
 AliAnalysisMuMu.cxx:785
 AliAnalysisMuMu.cxx:786
 AliAnalysisMuMu.cxx:787
 AliAnalysisMuMu.cxx:788
 AliAnalysisMuMu.cxx:789
 AliAnalysisMuMu.cxx:790
 AliAnalysisMuMu.cxx:791
 AliAnalysisMuMu.cxx:792
 AliAnalysisMuMu.cxx:793
 AliAnalysisMuMu.cxx:794
 AliAnalysisMuMu.cxx:795
 AliAnalysisMuMu.cxx:796
 AliAnalysisMuMu.cxx:797
 AliAnalysisMuMu.cxx:798
 AliAnalysisMuMu.cxx:799
 AliAnalysisMuMu.cxx:800
 AliAnalysisMuMu.cxx:801
 AliAnalysisMuMu.cxx:802
 AliAnalysisMuMu.cxx:803
 AliAnalysisMuMu.cxx:804
 AliAnalysisMuMu.cxx:805
 AliAnalysisMuMu.cxx:806
 AliAnalysisMuMu.cxx:807
 AliAnalysisMuMu.cxx:808
 AliAnalysisMuMu.cxx:809
 AliAnalysisMuMu.cxx:810
 AliAnalysisMuMu.cxx:811
 AliAnalysisMuMu.cxx:812
 AliAnalysisMuMu.cxx:813
 AliAnalysisMuMu.cxx:814
 AliAnalysisMuMu.cxx:815
 AliAnalysisMuMu.cxx:816
 AliAnalysisMuMu.cxx:817
 AliAnalysisMuMu.cxx:818
 AliAnalysisMuMu.cxx:819
 AliAnalysisMuMu.cxx:820
 AliAnalysisMuMu.cxx:821
 AliAnalysisMuMu.cxx:822
 AliAnalysisMuMu.cxx:823
 AliAnalysisMuMu.cxx:824
 AliAnalysisMuMu.cxx:825
 AliAnalysisMuMu.cxx:826
 AliAnalysisMuMu.cxx:827
 AliAnalysisMuMu.cxx:828
 AliAnalysisMuMu.cxx:829
 AliAnalysisMuMu.cxx:830
 AliAnalysisMuMu.cxx:831
 AliAnalysisMuMu.cxx:832
 AliAnalysisMuMu.cxx:833
 AliAnalysisMuMu.cxx:834
 AliAnalysisMuMu.cxx:835
 AliAnalysisMuMu.cxx:836
 AliAnalysisMuMu.cxx:837
 AliAnalysisMuMu.cxx:838
 AliAnalysisMuMu.cxx:839
 AliAnalysisMuMu.cxx:840
 AliAnalysisMuMu.cxx:841
 AliAnalysisMuMu.cxx:842
 AliAnalysisMuMu.cxx:843
 AliAnalysisMuMu.cxx:844
 AliAnalysisMuMu.cxx:845
 AliAnalysisMuMu.cxx:846
 AliAnalysisMuMu.cxx:847
 AliAnalysisMuMu.cxx:848
 AliAnalysisMuMu.cxx:849
 AliAnalysisMuMu.cxx:850
 AliAnalysisMuMu.cxx:851
 AliAnalysisMuMu.cxx:852
 AliAnalysisMuMu.cxx:853
 AliAnalysisMuMu.cxx:854
 AliAnalysisMuMu.cxx:855
 AliAnalysisMuMu.cxx:856
 AliAnalysisMuMu.cxx:857
 AliAnalysisMuMu.cxx:858
 AliAnalysisMuMu.cxx:859
 AliAnalysisMuMu.cxx:860
 AliAnalysisMuMu.cxx:861
 AliAnalysisMuMu.cxx:862
 AliAnalysisMuMu.cxx:863
 AliAnalysisMuMu.cxx:864
 AliAnalysisMuMu.cxx:865
 AliAnalysisMuMu.cxx:866
 AliAnalysisMuMu.cxx:867
 AliAnalysisMuMu.cxx:868
 AliAnalysisMuMu.cxx:869
 AliAnalysisMuMu.cxx:870
 AliAnalysisMuMu.cxx:871
 AliAnalysisMuMu.cxx:872
 AliAnalysisMuMu.cxx:873
 AliAnalysisMuMu.cxx:874
 AliAnalysisMuMu.cxx:875
 AliAnalysisMuMu.cxx:876
 AliAnalysisMuMu.cxx:877
 AliAnalysisMuMu.cxx:878
 AliAnalysisMuMu.cxx:879
 AliAnalysisMuMu.cxx:880
 AliAnalysisMuMu.cxx:881
 AliAnalysisMuMu.cxx:882
 AliAnalysisMuMu.cxx:883
 AliAnalysisMuMu.cxx:884
 AliAnalysisMuMu.cxx:885
 AliAnalysisMuMu.cxx:886
 AliAnalysisMuMu.cxx:887
 AliAnalysisMuMu.cxx:888
 AliAnalysisMuMu.cxx:889
 AliAnalysisMuMu.cxx:890
 AliAnalysisMuMu.cxx:891
 AliAnalysisMuMu.cxx:892
 AliAnalysisMuMu.cxx:893
 AliAnalysisMuMu.cxx:894
 AliAnalysisMuMu.cxx:895
 AliAnalysisMuMu.cxx:896
 AliAnalysisMuMu.cxx:897
 AliAnalysisMuMu.cxx:898
 AliAnalysisMuMu.cxx:899
 AliAnalysisMuMu.cxx:900
 AliAnalysisMuMu.cxx:901
 AliAnalysisMuMu.cxx:902
 AliAnalysisMuMu.cxx:903
 AliAnalysisMuMu.cxx:904
 AliAnalysisMuMu.cxx:905
 AliAnalysisMuMu.cxx:906
 AliAnalysisMuMu.cxx:907
 AliAnalysisMuMu.cxx:908
 AliAnalysisMuMu.cxx:909
 AliAnalysisMuMu.cxx:910
 AliAnalysisMuMu.cxx:911
 AliAnalysisMuMu.cxx:912
 AliAnalysisMuMu.cxx:913
 AliAnalysisMuMu.cxx:914
 AliAnalysisMuMu.cxx:915
 AliAnalysisMuMu.cxx:916
 AliAnalysisMuMu.cxx:917
 AliAnalysisMuMu.cxx:918
 AliAnalysisMuMu.cxx:919
 AliAnalysisMuMu.cxx:920
 AliAnalysisMuMu.cxx:921
 AliAnalysisMuMu.cxx:922
 AliAnalysisMuMu.cxx:923
 AliAnalysisMuMu.cxx:924
 AliAnalysisMuMu.cxx:925
 AliAnalysisMuMu.cxx:926
 AliAnalysisMuMu.cxx:927
 AliAnalysisMuMu.cxx:928
 AliAnalysisMuMu.cxx:929
 AliAnalysisMuMu.cxx:930
 AliAnalysisMuMu.cxx:931
 AliAnalysisMuMu.cxx:932
 AliAnalysisMuMu.cxx:933
 AliAnalysisMuMu.cxx:934
 AliAnalysisMuMu.cxx:935
 AliAnalysisMuMu.cxx:936
 AliAnalysisMuMu.cxx:937
 AliAnalysisMuMu.cxx:938
 AliAnalysisMuMu.cxx:939
 AliAnalysisMuMu.cxx:940
 AliAnalysisMuMu.cxx:941
 AliAnalysisMuMu.cxx:942
 AliAnalysisMuMu.cxx:943
 AliAnalysisMuMu.cxx:944
 AliAnalysisMuMu.cxx:945
 AliAnalysisMuMu.cxx:946
 AliAnalysisMuMu.cxx:947
 AliAnalysisMuMu.cxx:948
 AliAnalysisMuMu.cxx:949
 AliAnalysisMuMu.cxx:950
 AliAnalysisMuMu.cxx:951
 AliAnalysisMuMu.cxx:952
 AliAnalysisMuMu.cxx:953
 AliAnalysisMuMu.cxx:954
 AliAnalysisMuMu.cxx:955
 AliAnalysisMuMu.cxx:956
 AliAnalysisMuMu.cxx:957
 AliAnalysisMuMu.cxx:958
 AliAnalysisMuMu.cxx:959
 AliAnalysisMuMu.cxx:960
 AliAnalysisMuMu.cxx:961
 AliAnalysisMuMu.cxx:962
 AliAnalysisMuMu.cxx:963
 AliAnalysisMuMu.cxx:964
 AliAnalysisMuMu.cxx:965
 AliAnalysisMuMu.cxx:966
 AliAnalysisMuMu.cxx:967
 AliAnalysisMuMu.cxx:968
 AliAnalysisMuMu.cxx:969
 AliAnalysisMuMu.cxx:970
 AliAnalysisMuMu.cxx:971
 AliAnalysisMuMu.cxx:972
 AliAnalysisMuMu.cxx:973
 AliAnalysisMuMu.cxx:974
 AliAnalysisMuMu.cxx:975
 AliAnalysisMuMu.cxx:976
 AliAnalysisMuMu.cxx:977
 AliAnalysisMuMu.cxx:978
 AliAnalysisMuMu.cxx:979
 AliAnalysisMuMu.cxx:980
 AliAnalysisMuMu.cxx:981
 AliAnalysisMuMu.cxx:982
 AliAnalysisMuMu.cxx:983
 AliAnalysisMuMu.cxx:984
 AliAnalysisMuMu.cxx:985
 AliAnalysisMuMu.cxx:986
 AliAnalysisMuMu.cxx:987
 AliAnalysisMuMu.cxx:988
 AliAnalysisMuMu.cxx:989
 AliAnalysisMuMu.cxx:990
 AliAnalysisMuMu.cxx:991
 AliAnalysisMuMu.cxx:992
 AliAnalysisMuMu.cxx:993
 AliAnalysisMuMu.cxx:994
 AliAnalysisMuMu.cxx:995
 AliAnalysisMuMu.cxx:996
 AliAnalysisMuMu.cxx:997
 AliAnalysisMuMu.cxx:998
 AliAnalysisMuMu.cxx:999
 AliAnalysisMuMu.cxx:1000
 AliAnalysisMuMu.cxx:1001
 AliAnalysisMuMu.cxx:1002
 AliAnalysisMuMu.cxx:1003
 AliAnalysisMuMu.cxx:1004
 AliAnalysisMuMu.cxx:1005
 AliAnalysisMuMu.cxx:1006
 AliAnalysisMuMu.cxx:1007
 AliAnalysisMuMu.cxx:1008
 AliAnalysisMuMu.cxx:1009
 AliAnalysisMuMu.cxx:1010
 AliAnalysisMuMu.cxx:1011
 AliAnalysisMuMu.cxx:1012
 AliAnalysisMuMu.cxx:1013
 AliAnalysisMuMu.cxx:1014
 AliAnalysisMuMu.cxx:1015
 AliAnalysisMuMu.cxx:1016
 AliAnalysisMuMu.cxx:1017
 AliAnalysisMuMu.cxx:1018
 AliAnalysisMuMu.cxx:1019
 AliAnalysisMuMu.cxx:1020
 AliAnalysisMuMu.cxx:1021
 AliAnalysisMuMu.cxx:1022
 AliAnalysisMuMu.cxx:1023
 AliAnalysisMuMu.cxx:1024
 AliAnalysisMuMu.cxx:1025
 AliAnalysisMuMu.cxx:1026
 AliAnalysisMuMu.cxx:1027
 AliAnalysisMuMu.cxx:1028
 AliAnalysisMuMu.cxx:1029
 AliAnalysisMuMu.cxx:1030
 AliAnalysisMuMu.cxx:1031
 AliAnalysisMuMu.cxx:1032
 AliAnalysisMuMu.cxx:1033
 AliAnalysisMuMu.cxx:1034
 AliAnalysisMuMu.cxx:1035
 AliAnalysisMuMu.cxx:1036
 AliAnalysisMuMu.cxx:1037
 AliAnalysisMuMu.cxx:1038
 AliAnalysisMuMu.cxx:1039
 AliAnalysisMuMu.cxx:1040
 AliAnalysisMuMu.cxx:1041
 AliAnalysisMuMu.cxx:1042
 AliAnalysisMuMu.cxx:1043
 AliAnalysisMuMu.cxx:1044
 AliAnalysisMuMu.cxx:1045
 AliAnalysisMuMu.cxx:1046
 AliAnalysisMuMu.cxx:1047
 AliAnalysisMuMu.cxx:1048
 AliAnalysisMuMu.cxx:1049
 AliAnalysisMuMu.cxx:1050
 AliAnalysisMuMu.cxx:1051
 AliAnalysisMuMu.cxx:1052
 AliAnalysisMuMu.cxx:1053
 AliAnalysisMuMu.cxx:1054
 AliAnalysisMuMu.cxx:1055
 AliAnalysisMuMu.cxx:1056
 AliAnalysisMuMu.cxx:1057
 AliAnalysisMuMu.cxx:1058
 AliAnalysisMuMu.cxx:1059
 AliAnalysisMuMu.cxx:1060
 AliAnalysisMuMu.cxx:1061
 AliAnalysisMuMu.cxx:1062
 AliAnalysisMuMu.cxx:1063
 AliAnalysisMuMu.cxx:1064
 AliAnalysisMuMu.cxx:1065
 AliAnalysisMuMu.cxx:1066
 AliAnalysisMuMu.cxx:1067
 AliAnalysisMuMu.cxx:1068
 AliAnalysisMuMu.cxx:1069
 AliAnalysisMuMu.cxx:1070
 AliAnalysisMuMu.cxx:1071
 AliAnalysisMuMu.cxx:1072
 AliAnalysisMuMu.cxx:1073
 AliAnalysisMuMu.cxx:1074
 AliAnalysisMuMu.cxx:1075
 AliAnalysisMuMu.cxx:1076
 AliAnalysisMuMu.cxx:1077
 AliAnalysisMuMu.cxx:1078
 AliAnalysisMuMu.cxx:1079
 AliAnalysisMuMu.cxx:1080
 AliAnalysisMuMu.cxx:1081
 AliAnalysisMuMu.cxx:1082
 AliAnalysisMuMu.cxx:1083
 AliAnalysisMuMu.cxx:1084
 AliAnalysisMuMu.cxx:1085
 AliAnalysisMuMu.cxx:1086
 AliAnalysisMuMu.cxx:1087
 AliAnalysisMuMu.cxx:1088
 AliAnalysisMuMu.cxx:1089
 AliAnalysisMuMu.cxx:1090
 AliAnalysisMuMu.cxx:1091
 AliAnalysisMuMu.cxx:1092
 AliAnalysisMuMu.cxx:1093
 AliAnalysisMuMu.cxx:1094
 AliAnalysisMuMu.cxx:1095
 AliAnalysisMuMu.cxx:1096
 AliAnalysisMuMu.cxx:1097
 AliAnalysisMuMu.cxx:1098
 AliAnalysisMuMu.cxx:1099
 AliAnalysisMuMu.cxx:1100
 AliAnalysisMuMu.cxx:1101
 AliAnalysisMuMu.cxx:1102
 AliAnalysisMuMu.cxx:1103
 AliAnalysisMuMu.cxx:1104
 AliAnalysisMuMu.cxx:1105
 AliAnalysisMuMu.cxx:1106
 AliAnalysisMuMu.cxx:1107
 AliAnalysisMuMu.cxx:1108
 AliAnalysisMuMu.cxx:1109
 AliAnalysisMuMu.cxx:1110
 AliAnalysisMuMu.cxx:1111
 AliAnalysisMuMu.cxx:1112
 AliAnalysisMuMu.cxx:1113
 AliAnalysisMuMu.cxx:1114
 AliAnalysisMuMu.cxx:1115
 AliAnalysisMuMu.cxx:1116
 AliAnalysisMuMu.cxx:1117
 AliAnalysisMuMu.cxx:1118
 AliAnalysisMuMu.cxx:1119
 AliAnalysisMuMu.cxx:1120
 AliAnalysisMuMu.cxx:1121
 AliAnalysisMuMu.cxx:1122
 AliAnalysisMuMu.cxx:1123
 AliAnalysisMuMu.cxx:1124
 AliAnalysisMuMu.cxx:1125
 AliAnalysisMuMu.cxx:1126
 AliAnalysisMuMu.cxx:1127
 AliAnalysisMuMu.cxx:1128
 AliAnalysisMuMu.cxx:1129
 AliAnalysisMuMu.cxx:1130
 AliAnalysisMuMu.cxx:1131
 AliAnalysisMuMu.cxx:1132
 AliAnalysisMuMu.cxx:1133
 AliAnalysisMuMu.cxx:1134
 AliAnalysisMuMu.cxx:1135
 AliAnalysisMuMu.cxx:1136
 AliAnalysisMuMu.cxx:1137
 AliAnalysisMuMu.cxx:1138
 AliAnalysisMuMu.cxx:1139
 AliAnalysisMuMu.cxx:1140
 AliAnalysisMuMu.cxx:1141
 AliAnalysisMuMu.cxx:1142
 AliAnalysisMuMu.cxx:1143
 AliAnalysisMuMu.cxx:1144
 AliAnalysisMuMu.cxx:1145
 AliAnalysisMuMu.cxx:1146
 AliAnalysisMuMu.cxx:1147
 AliAnalysisMuMu.cxx:1148
 AliAnalysisMuMu.cxx:1149
 AliAnalysisMuMu.cxx:1150
 AliAnalysisMuMu.cxx:1151
 AliAnalysisMuMu.cxx:1152
 AliAnalysisMuMu.cxx:1153
 AliAnalysisMuMu.cxx:1154
 AliAnalysisMuMu.cxx:1155
 AliAnalysisMuMu.cxx:1156
 AliAnalysisMuMu.cxx:1157
 AliAnalysisMuMu.cxx:1158
 AliAnalysisMuMu.cxx:1159
 AliAnalysisMuMu.cxx:1160
 AliAnalysisMuMu.cxx:1161
 AliAnalysisMuMu.cxx:1162
 AliAnalysisMuMu.cxx:1163
 AliAnalysisMuMu.cxx:1164
 AliAnalysisMuMu.cxx:1165
 AliAnalysisMuMu.cxx:1166
 AliAnalysisMuMu.cxx:1167
 AliAnalysisMuMu.cxx:1168
 AliAnalysisMuMu.cxx:1169
 AliAnalysisMuMu.cxx:1170
 AliAnalysisMuMu.cxx:1171
 AliAnalysisMuMu.cxx:1172
 AliAnalysisMuMu.cxx:1173
 AliAnalysisMuMu.cxx:1174
 AliAnalysisMuMu.cxx:1175
 AliAnalysisMuMu.cxx:1176
 AliAnalysisMuMu.cxx:1177
 AliAnalysisMuMu.cxx:1178
 AliAnalysisMuMu.cxx:1179
 AliAnalysisMuMu.cxx:1180
 AliAnalysisMuMu.cxx:1181
 AliAnalysisMuMu.cxx:1182
 AliAnalysisMuMu.cxx:1183
 AliAnalysisMuMu.cxx:1184
 AliAnalysisMuMu.cxx:1185
 AliAnalysisMuMu.cxx:1186
 AliAnalysisMuMu.cxx:1187
 AliAnalysisMuMu.cxx:1188
 AliAnalysisMuMu.cxx:1189
 AliAnalysisMuMu.cxx:1190
 AliAnalysisMuMu.cxx:1191
 AliAnalysisMuMu.cxx:1192
 AliAnalysisMuMu.cxx:1193
 AliAnalysisMuMu.cxx:1194
 AliAnalysisMuMu.cxx:1195
 AliAnalysisMuMu.cxx:1196
 AliAnalysisMuMu.cxx:1197
 AliAnalysisMuMu.cxx:1198
 AliAnalysisMuMu.cxx:1199
 AliAnalysisMuMu.cxx:1200
 AliAnalysisMuMu.cxx:1201
 AliAnalysisMuMu.cxx:1202
 AliAnalysisMuMu.cxx:1203
 AliAnalysisMuMu.cxx:1204
 AliAnalysisMuMu.cxx:1205
 AliAnalysisMuMu.cxx:1206
 AliAnalysisMuMu.cxx:1207
 AliAnalysisMuMu.cxx:1208
 AliAnalysisMuMu.cxx:1209
 AliAnalysisMuMu.cxx:1210
 AliAnalysisMuMu.cxx:1211
 AliAnalysisMuMu.cxx:1212
 AliAnalysisMuMu.cxx:1213
 AliAnalysisMuMu.cxx:1214
 AliAnalysisMuMu.cxx:1215
 AliAnalysisMuMu.cxx:1216
 AliAnalysisMuMu.cxx:1217
 AliAnalysisMuMu.cxx:1218
 AliAnalysisMuMu.cxx:1219
 AliAnalysisMuMu.cxx:1220
 AliAnalysisMuMu.cxx:1221
 AliAnalysisMuMu.cxx:1222
 AliAnalysisMuMu.cxx:1223
 AliAnalysisMuMu.cxx:1224
 AliAnalysisMuMu.cxx:1225
 AliAnalysisMuMu.cxx:1226
 AliAnalysisMuMu.cxx:1227
 AliAnalysisMuMu.cxx:1228
 AliAnalysisMuMu.cxx:1229
 AliAnalysisMuMu.cxx:1230
 AliAnalysisMuMu.cxx:1231
 AliAnalysisMuMu.cxx:1232
 AliAnalysisMuMu.cxx:1233
 AliAnalysisMuMu.cxx:1234
 AliAnalysisMuMu.cxx:1235
 AliAnalysisMuMu.cxx:1236
 AliAnalysisMuMu.cxx:1237
 AliAnalysisMuMu.cxx:1238
 AliAnalysisMuMu.cxx:1239
 AliAnalysisMuMu.cxx:1240
 AliAnalysisMuMu.cxx:1241
 AliAnalysisMuMu.cxx:1242
 AliAnalysisMuMu.cxx:1243
 AliAnalysisMuMu.cxx:1244
 AliAnalysisMuMu.cxx:1245
 AliAnalysisMuMu.cxx:1246
 AliAnalysisMuMu.cxx:1247
 AliAnalysisMuMu.cxx:1248
 AliAnalysisMuMu.cxx:1249
 AliAnalysisMuMu.cxx:1250
 AliAnalysisMuMu.cxx:1251
 AliAnalysisMuMu.cxx:1252
 AliAnalysisMuMu.cxx:1253
 AliAnalysisMuMu.cxx:1254
 AliAnalysisMuMu.cxx:1255
 AliAnalysisMuMu.cxx:1256
 AliAnalysisMuMu.cxx:1257
 AliAnalysisMuMu.cxx:1258
 AliAnalysisMuMu.cxx:1259
 AliAnalysisMuMu.cxx:1260
 AliAnalysisMuMu.cxx:1261
 AliAnalysisMuMu.cxx:1262
 AliAnalysisMuMu.cxx:1263
 AliAnalysisMuMu.cxx:1264
 AliAnalysisMuMu.cxx:1265
 AliAnalysisMuMu.cxx:1266
 AliAnalysisMuMu.cxx:1267
 AliAnalysisMuMu.cxx:1268
 AliAnalysisMuMu.cxx:1269
 AliAnalysisMuMu.cxx:1270
 AliAnalysisMuMu.cxx:1271
 AliAnalysisMuMu.cxx:1272
 AliAnalysisMuMu.cxx:1273
 AliAnalysisMuMu.cxx:1274
 AliAnalysisMuMu.cxx:1275
 AliAnalysisMuMu.cxx:1276
 AliAnalysisMuMu.cxx:1277
 AliAnalysisMuMu.cxx:1278
 AliAnalysisMuMu.cxx:1279
 AliAnalysisMuMu.cxx:1280
 AliAnalysisMuMu.cxx:1281
 AliAnalysisMuMu.cxx:1282
 AliAnalysisMuMu.cxx:1283
 AliAnalysisMuMu.cxx:1284
 AliAnalysisMuMu.cxx:1285
 AliAnalysisMuMu.cxx:1286
 AliAnalysisMuMu.cxx:1287
 AliAnalysisMuMu.cxx:1288
 AliAnalysisMuMu.cxx:1289
 AliAnalysisMuMu.cxx:1290
 AliAnalysisMuMu.cxx:1291
 AliAnalysisMuMu.cxx:1292
 AliAnalysisMuMu.cxx:1293
 AliAnalysisMuMu.cxx:1294
 AliAnalysisMuMu.cxx:1295
 AliAnalysisMuMu.cxx:1296
 AliAnalysisMuMu.cxx:1297
 AliAnalysisMuMu.cxx:1298
 AliAnalysisMuMu.cxx:1299
 AliAnalysisMuMu.cxx:1300
 AliAnalysisMuMu.cxx:1301
 AliAnalysisMuMu.cxx:1302
 AliAnalysisMuMu.cxx:1303
 AliAnalysisMuMu.cxx:1304
 AliAnalysisMuMu.cxx:1305
 AliAnalysisMuMu.cxx:1306
 AliAnalysisMuMu.cxx:1307
 AliAnalysisMuMu.cxx:1308
 AliAnalysisMuMu.cxx:1309
 AliAnalysisMuMu.cxx:1310
 AliAnalysisMuMu.cxx:1311
 AliAnalysisMuMu.cxx:1312
 AliAnalysisMuMu.cxx:1313
 AliAnalysisMuMu.cxx:1314
 AliAnalysisMuMu.cxx:1315
 AliAnalysisMuMu.cxx:1316
 AliAnalysisMuMu.cxx:1317
 AliAnalysisMuMu.cxx:1318
 AliAnalysisMuMu.cxx:1319
 AliAnalysisMuMu.cxx:1320
 AliAnalysisMuMu.cxx:1321
 AliAnalysisMuMu.cxx:1322
 AliAnalysisMuMu.cxx:1323
 AliAnalysisMuMu.cxx:1324
 AliAnalysisMuMu.cxx:1325
 AliAnalysisMuMu.cxx:1326
 AliAnalysisMuMu.cxx:1327
 AliAnalysisMuMu.cxx:1328
 AliAnalysisMuMu.cxx:1329
 AliAnalysisMuMu.cxx:1330
 AliAnalysisMuMu.cxx:1331
 AliAnalysisMuMu.cxx:1332
 AliAnalysisMuMu.cxx:1333
 AliAnalysisMuMu.cxx:1334
 AliAnalysisMuMu.cxx:1335
 AliAnalysisMuMu.cxx:1336
 AliAnalysisMuMu.cxx:1337
 AliAnalysisMuMu.cxx:1338
 AliAnalysisMuMu.cxx:1339
 AliAnalysisMuMu.cxx:1340
 AliAnalysisMuMu.cxx:1341
 AliAnalysisMuMu.cxx:1342
 AliAnalysisMuMu.cxx:1343
 AliAnalysisMuMu.cxx:1344
 AliAnalysisMuMu.cxx:1345
 AliAnalysisMuMu.cxx:1346
 AliAnalysisMuMu.cxx:1347
 AliAnalysisMuMu.cxx:1348
 AliAnalysisMuMu.cxx:1349
 AliAnalysisMuMu.cxx:1350
 AliAnalysisMuMu.cxx:1351
 AliAnalysisMuMu.cxx:1352
 AliAnalysisMuMu.cxx:1353
 AliAnalysisMuMu.cxx:1354
 AliAnalysisMuMu.cxx:1355
 AliAnalysisMuMu.cxx:1356
 AliAnalysisMuMu.cxx:1357
 AliAnalysisMuMu.cxx:1358
 AliAnalysisMuMu.cxx:1359
 AliAnalysisMuMu.cxx:1360
 AliAnalysisMuMu.cxx:1361
 AliAnalysisMuMu.cxx:1362
 AliAnalysisMuMu.cxx:1363
 AliAnalysisMuMu.cxx:1364
 AliAnalysisMuMu.cxx:1365
 AliAnalysisMuMu.cxx:1366
 AliAnalysisMuMu.cxx:1367
 AliAnalysisMuMu.cxx:1368
 AliAnalysisMuMu.cxx:1369
 AliAnalysisMuMu.cxx:1370
 AliAnalysisMuMu.cxx:1371
 AliAnalysisMuMu.cxx:1372
 AliAnalysisMuMu.cxx:1373
 AliAnalysisMuMu.cxx:1374
 AliAnalysisMuMu.cxx:1375
 AliAnalysisMuMu.cxx:1376
 AliAnalysisMuMu.cxx:1377
 AliAnalysisMuMu.cxx:1378
 AliAnalysisMuMu.cxx:1379
 AliAnalysisMuMu.cxx:1380
 AliAnalysisMuMu.cxx:1381
 AliAnalysisMuMu.cxx:1382
 AliAnalysisMuMu.cxx:1383
 AliAnalysisMuMu.cxx:1384
 AliAnalysisMuMu.cxx:1385
 AliAnalysisMuMu.cxx:1386
 AliAnalysisMuMu.cxx:1387
 AliAnalysisMuMu.cxx:1388
 AliAnalysisMuMu.cxx:1389
 AliAnalysisMuMu.cxx:1390
 AliAnalysisMuMu.cxx:1391
 AliAnalysisMuMu.cxx:1392
 AliAnalysisMuMu.cxx:1393
 AliAnalysisMuMu.cxx:1394
 AliAnalysisMuMu.cxx:1395
 AliAnalysisMuMu.cxx:1396
 AliAnalysisMuMu.cxx:1397
 AliAnalysisMuMu.cxx:1398
 AliAnalysisMuMu.cxx:1399
 AliAnalysisMuMu.cxx:1400
 AliAnalysisMuMu.cxx:1401
 AliAnalysisMuMu.cxx:1402
 AliAnalysisMuMu.cxx:1403
 AliAnalysisMuMu.cxx:1404
 AliAnalysisMuMu.cxx:1405
 AliAnalysisMuMu.cxx:1406
 AliAnalysisMuMu.cxx:1407
 AliAnalysisMuMu.cxx:1408
 AliAnalysisMuMu.cxx:1409
 AliAnalysisMuMu.cxx:1410
 AliAnalysisMuMu.cxx:1411
 AliAnalysisMuMu.cxx:1412
 AliAnalysisMuMu.cxx:1413
 AliAnalysisMuMu.cxx:1414
 AliAnalysisMuMu.cxx:1415
 AliAnalysisMuMu.cxx:1416
 AliAnalysisMuMu.cxx:1417
 AliAnalysisMuMu.cxx:1418
 AliAnalysisMuMu.cxx:1419
 AliAnalysisMuMu.cxx:1420
 AliAnalysisMuMu.cxx:1421
 AliAnalysisMuMu.cxx:1422
 AliAnalysisMuMu.cxx:1423
 AliAnalysisMuMu.cxx:1424
 AliAnalysisMuMu.cxx:1425
 AliAnalysisMuMu.cxx:1426
 AliAnalysisMuMu.cxx:1427
 AliAnalysisMuMu.cxx:1428
 AliAnalysisMuMu.cxx:1429
 AliAnalysisMuMu.cxx:1430
 AliAnalysisMuMu.cxx:1431
 AliAnalysisMuMu.cxx:1432
 AliAnalysisMuMu.cxx:1433
 AliAnalysisMuMu.cxx:1434
 AliAnalysisMuMu.cxx:1435
 AliAnalysisMuMu.cxx:1436
 AliAnalysisMuMu.cxx:1437
 AliAnalysisMuMu.cxx:1438
 AliAnalysisMuMu.cxx:1439
 AliAnalysisMuMu.cxx:1440
 AliAnalysisMuMu.cxx:1441
 AliAnalysisMuMu.cxx:1442
 AliAnalysisMuMu.cxx:1443
 AliAnalysisMuMu.cxx:1444
 AliAnalysisMuMu.cxx:1445
 AliAnalysisMuMu.cxx:1446
 AliAnalysisMuMu.cxx:1447
 AliAnalysisMuMu.cxx:1448
 AliAnalysisMuMu.cxx:1449
 AliAnalysisMuMu.cxx:1450
 AliAnalysisMuMu.cxx:1451
 AliAnalysisMuMu.cxx:1452
 AliAnalysisMuMu.cxx:1453
 AliAnalysisMuMu.cxx:1454
 AliAnalysisMuMu.cxx:1455
 AliAnalysisMuMu.cxx:1456
 AliAnalysisMuMu.cxx:1457
 AliAnalysisMuMu.cxx:1458
 AliAnalysisMuMu.cxx:1459
 AliAnalysisMuMu.cxx:1460
 AliAnalysisMuMu.cxx:1461
 AliAnalysisMuMu.cxx:1462
 AliAnalysisMuMu.cxx:1463
 AliAnalysisMuMu.cxx:1464
 AliAnalysisMuMu.cxx:1465
 AliAnalysisMuMu.cxx:1466
 AliAnalysisMuMu.cxx:1467
 AliAnalysisMuMu.cxx:1468
 AliAnalysisMuMu.cxx:1469
 AliAnalysisMuMu.cxx:1470
 AliAnalysisMuMu.cxx:1471
 AliAnalysisMuMu.cxx:1472
 AliAnalysisMuMu.cxx:1473
 AliAnalysisMuMu.cxx:1474
 AliAnalysisMuMu.cxx:1475
 AliAnalysisMuMu.cxx:1476
 AliAnalysisMuMu.cxx:1477
 AliAnalysisMuMu.cxx:1478
 AliAnalysisMuMu.cxx:1479
 AliAnalysisMuMu.cxx:1480
 AliAnalysisMuMu.cxx:1481
 AliAnalysisMuMu.cxx:1482
 AliAnalysisMuMu.cxx:1483
 AliAnalysisMuMu.cxx:1484
 AliAnalysisMuMu.cxx:1485
 AliAnalysisMuMu.cxx:1486
 AliAnalysisMuMu.cxx:1487
 AliAnalysisMuMu.cxx:1488
 AliAnalysisMuMu.cxx:1489
 AliAnalysisMuMu.cxx:1490
 AliAnalysisMuMu.cxx:1491
 AliAnalysisMuMu.cxx:1492
 AliAnalysisMuMu.cxx:1493
 AliAnalysisMuMu.cxx:1494
 AliAnalysisMuMu.cxx:1495
 AliAnalysisMuMu.cxx:1496
 AliAnalysisMuMu.cxx:1497
 AliAnalysisMuMu.cxx:1498
 AliAnalysisMuMu.cxx:1499
 AliAnalysisMuMu.cxx:1500
 AliAnalysisMuMu.cxx:1501
 AliAnalysisMuMu.cxx:1502
 AliAnalysisMuMu.cxx:1503
 AliAnalysisMuMu.cxx:1504
 AliAnalysisMuMu.cxx:1505
 AliAnalysisMuMu.cxx:1506
 AliAnalysisMuMu.cxx:1507
 AliAnalysisMuMu.cxx:1508
 AliAnalysisMuMu.cxx:1509
 AliAnalysisMuMu.cxx:1510
 AliAnalysisMuMu.cxx:1511
 AliAnalysisMuMu.cxx:1512
 AliAnalysisMuMu.cxx:1513
 AliAnalysisMuMu.cxx:1514
 AliAnalysisMuMu.cxx:1515
 AliAnalysisMuMu.cxx:1516
 AliAnalysisMuMu.cxx:1517
 AliAnalysisMuMu.cxx:1518
 AliAnalysisMuMu.cxx:1519
 AliAnalysisMuMu.cxx:1520
 AliAnalysisMuMu.cxx:1521
 AliAnalysisMuMu.cxx:1522
 AliAnalysisMuMu.cxx:1523
 AliAnalysisMuMu.cxx:1524
 AliAnalysisMuMu.cxx:1525
 AliAnalysisMuMu.cxx:1526
 AliAnalysisMuMu.cxx:1527
 AliAnalysisMuMu.cxx:1528
 AliAnalysisMuMu.cxx:1529
 AliAnalysisMuMu.cxx:1530
 AliAnalysisMuMu.cxx:1531
 AliAnalysisMuMu.cxx:1532
 AliAnalysisMuMu.cxx:1533
 AliAnalysisMuMu.cxx:1534
 AliAnalysisMuMu.cxx:1535
 AliAnalysisMuMu.cxx:1536
 AliAnalysisMuMu.cxx:1537
 AliAnalysisMuMu.cxx:1538
 AliAnalysisMuMu.cxx:1539
 AliAnalysisMuMu.cxx:1540
 AliAnalysisMuMu.cxx:1541
 AliAnalysisMuMu.cxx:1542
 AliAnalysisMuMu.cxx:1543
 AliAnalysisMuMu.cxx:1544
 AliAnalysisMuMu.cxx:1545
 AliAnalysisMuMu.cxx:1546
 AliAnalysisMuMu.cxx:1547
 AliAnalysisMuMu.cxx:1548
 AliAnalysisMuMu.cxx:1549
 AliAnalysisMuMu.cxx:1550
 AliAnalysisMuMu.cxx:1551
 AliAnalysisMuMu.cxx:1552
 AliAnalysisMuMu.cxx:1553
 AliAnalysisMuMu.cxx:1554
 AliAnalysisMuMu.cxx:1555
 AliAnalysisMuMu.cxx:1556
 AliAnalysisMuMu.cxx:1557
 AliAnalysisMuMu.cxx:1558
 AliAnalysisMuMu.cxx:1559
 AliAnalysisMuMu.cxx:1560
 AliAnalysisMuMu.cxx:1561
 AliAnalysisMuMu.cxx:1562
 AliAnalysisMuMu.cxx:1563
 AliAnalysisMuMu.cxx:1564
 AliAnalysisMuMu.cxx:1565
 AliAnalysisMuMu.cxx:1566
 AliAnalysisMuMu.cxx:1567
 AliAnalysisMuMu.cxx:1568
 AliAnalysisMuMu.cxx:1569
 AliAnalysisMuMu.cxx:1570
 AliAnalysisMuMu.cxx:1571
 AliAnalysisMuMu.cxx:1572
 AliAnalysisMuMu.cxx:1573
 AliAnalysisMuMu.cxx:1574
 AliAnalysisMuMu.cxx:1575
 AliAnalysisMuMu.cxx:1576
 AliAnalysisMuMu.cxx:1577
 AliAnalysisMuMu.cxx:1578
 AliAnalysisMuMu.cxx:1579
 AliAnalysisMuMu.cxx:1580
 AliAnalysisMuMu.cxx:1581
 AliAnalysisMuMu.cxx:1582
 AliAnalysisMuMu.cxx:1583
 AliAnalysisMuMu.cxx:1584
 AliAnalysisMuMu.cxx:1585
 AliAnalysisMuMu.cxx:1586
 AliAnalysisMuMu.cxx:1587
 AliAnalysisMuMu.cxx:1588
 AliAnalysisMuMu.cxx:1589
 AliAnalysisMuMu.cxx:1590
 AliAnalysisMuMu.cxx:1591
 AliAnalysisMuMu.cxx:1592
 AliAnalysisMuMu.cxx:1593
 AliAnalysisMuMu.cxx:1594
 AliAnalysisMuMu.cxx:1595
 AliAnalysisMuMu.cxx:1596
 AliAnalysisMuMu.cxx:1597
 AliAnalysisMuMu.cxx:1598
 AliAnalysisMuMu.cxx:1599
 AliAnalysisMuMu.cxx:1600
 AliAnalysisMuMu.cxx:1601
 AliAnalysisMuMu.cxx:1602
 AliAnalysisMuMu.cxx:1603
 AliAnalysisMuMu.cxx:1604
 AliAnalysisMuMu.cxx:1605
 AliAnalysisMuMu.cxx:1606
 AliAnalysisMuMu.cxx:1607
 AliAnalysisMuMu.cxx:1608
 AliAnalysisMuMu.cxx:1609
 AliAnalysisMuMu.cxx:1610
 AliAnalysisMuMu.cxx:1611
 AliAnalysisMuMu.cxx:1612
 AliAnalysisMuMu.cxx:1613
 AliAnalysisMuMu.cxx:1614
 AliAnalysisMuMu.cxx:1615
 AliAnalysisMuMu.cxx:1616
 AliAnalysisMuMu.cxx:1617
 AliAnalysisMuMu.cxx:1618
 AliAnalysisMuMu.cxx:1619
 AliAnalysisMuMu.cxx:1620
 AliAnalysisMuMu.cxx:1621
 AliAnalysisMuMu.cxx:1622
 AliAnalysisMuMu.cxx:1623
 AliAnalysisMuMu.cxx:1624
 AliAnalysisMuMu.cxx:1625
 AliAnalysisMuMu.cxx:1626
 AliAnalysisMuMu.cxx:1627
 AliAnalysisMuMu.cxx:1628
 AliAnalysisMuMu.cxx:1629
 AliAnalysisMuMu.cxx:1630
 AliAnalysisMuMu.cxx:1631
 AliAnalysisMuMu.cxx:1632
 AliAnalysisMuMu.cxx:1633
 AliAnalysisMuMu.cxx:1634
 AliAnalysisMuMu.cxx:1635
 AliAnalysisMuMu.cxx:1636
 AliAnalysisMuMu.cxx:1637
 AliAnalysisMuMu.cxx:1638
 AliAnalysisMuMu.cxx:1639
 AliAnalysisMuMu.cxx:1640
 AliAnalysisMuMu.cxx:1641
 AliAnalysisMuMu.cxx:1642
 AliAnalysisMuMu.cxx:1643
 AliAnalysisMuMu.cxx:1644
 AliAnalysisMuMu.cxx:1645
 AliAnalysisMuMu.cxx:1646
 AliAnalysisMuMu.cxx:1647
 AliAnalysisMuMu.cxx:1648
 AliAnalysisMuMu.cxx:1649
 AliAnalysisMuMu.cxx:1650
 AliAnalysisMuMu.cxx:1651
 AliAnalysisMuMu.cxx:1652
 AliAnalysisMuMu.cxx:1653
 AliAnalysisMuMu.cxx:1654
 AliAnalysisMuMu.cxx:1655
 AliAnalysisMuMu.cxx:1656
 AliAnalysisMuMu.cxx:1657
 AliAnalysisMuMu.cxx:1658
 AliAnalysisMuMu.cxx:1659
 AliAnalysisMuMu.cxx:1660
 AliAnalysisMuMu.cxx:1661
 AliAnalysisMuMu.cxx:1662
 AliAnalysisMuMu.cxx:1663
 AliAnalysisMuMu.cxx:1664
 AliAnalysisMuMu.cxx:1665
 AliAnalysisMuMu.cxx:1666
 AliAnalysisMuMu.cxx:1667
 AliAnalysisMuMu.cxx:1668
 AliAnalysisMuMu.cxx:1669
 AliAnalysisMuMu.cxx:1670
 AliAnalysisMuMu.cxx:1671
 AliAnalysisMuMu.cxx:1672
 AliAnalysisMuMu.cxx:1673
 AliAnalysisMuMu.cxx:1674
 AliAnalysisMuMu.cxx:1675
 AliAnalysisMuMu.cxx:1676
 AliAnalysisMuMu.cxx:1677
 AliAnalysisMuMu.cxx:1678
 AliAnalysisMuMu.cxx:1679
 AliAnalysisMuMu.cxx:1680
 AliAnalysisMuMu.cxx:1681
 AliAnalysisMuMu.cxx:1682
 AliAnalysisMuMu.cxx:1683
 AliAnalysisMuMu.cxx:1684
 AliAnalysisMuMu.cxx:1685
 AliAnalysisMuMu.cxx:1686
 AliAnalysisMuMu.cxx:1687
 AliAnalysisMuMu.cxx:1688
 AliAnalysisMuMu.cxx:1689
 AliAnalysisMuMu.cxx:1690
 AliAnalysisMuMu.cxx:1691
 AliAnalysisMuMu.cxx:1692
 AliAnalysisMuMu.cxx:1693
 AliAnalysisMuMu.cxx:1694
 AliAnalysisMuMu.cxx:1695
 AliAnalysisMuMu.cxx:1696
 AliAnalysisMuMu.cxx:1697
 AliAnalysisMuMu.cxx:1698
 AliAnalysisMuMu.cxx:1699
 AliAnalysisMuMu.cxx:1700
 AliAnalysisMuMu.cxx:1701
 AliAnalysisMuMu.cxx:1702
 AliAnalysisMuMu.cxx:1703
 AliAnalysisMuMu.cxx:1704
 AliAnalysisMuMu.cxx:1705
 AliAnalysisMuMu.cxx:1706
 AliAnalysisMuMu.cxx:1707
 AliAnalysisMuMu.cxx:1708
 AliAnalysisMuMu.cxx:1709
 AliAnalysisMuMu.cxx:1710
 AliAnalysisMuMu.cxx:1711
 AliAnalysisMuMu.cxx:1712
 AliAnalysisMuMu.cxx:1713
 AliAnalysisMuMu.cxx:1714
 AliAnalysisMuMu.cxx:1715
 AliAnalysisMuMu.cxx:1716
 AliAnalysisMuMu.cxx:1717
 AliAnalysisMuMu.cxx:1718
 AliAnalysisMuMu.cxx:1719
 AliAnalysisMuMu.cxx:1720
 AliAnalysisMuMu.cxx:1721
 AliAnalysisMuMu.cxx:1722
 AliAnalysisMuMu.cxx:1723
 AliAnalysisMuMu.cxx:1724
 AliAnalysisMuMu.cxx:1725
 AliAnalysisMuMu.cxx:1726
 AliAnalysisMuMu.cxx:1727
 AliAnalysisMuMu.cxx:1728
 AliAnalysisMuMu.cxx:1729
 AliAnalysisMuMu.cxx:1730
 AliAnalysisMuMu.cxx:1731
 AliAnalysisMuMu.cxx:1732
 AliAnalysisMuMu.cxx:1733
 AliAnalysisMuMu.cxx:1734
 AliAnalysisMuMu.cxx:1735
 AliAnalysisMuMu.cxx:1736
 AliAnalysisMuMu.cxx:1737
 AliAnalysisMuMu.cxx:1738
 AliAnalysisMuMu.cxx:1739
 AliAnalysisMuMu.cxx:1740
 AliAnalysisMuMu.cxx:1741
 AliAnalysisMuMu.cxx:1742
 AliAnalysisMuMu.cxx:1743
 AliAnalysisMuMu.cxx:1744
 AliAnalysisMuMu.cxx:1745
 AliAnalysisMuMu.cxx:1746
 AliAnalysisMuMu.cxx:1747
 AliAnalysisMuMu.cxx:1748
 AliAnalysisMuMu.cxx:1749
 AliAnalysisMuMu.cxx:1750
 AliAnalysisMuMu.cxx:1751
 AliAnalysisMuMu.cxx:1752
 AliAnalysisMuMu.cxx:1753
 AliAnalysisMuMu.cxx:1754
 AliAnalysisMuMu.cxx:1755
 AliAnalysisMuMu.cxx:1756
 AliAnalysisMuMu.cxx:1757
 AliAnalysisMuMu.cxx:1758
 AliAnalysisMuMu.cxx:1759
 AliAnalysisMuMu.cxx:1760
 AliAnalysisMuMu.cxx:1761
 AliAnalysisMuMu.cxx:1762
 AliAnalysisMuMu.cxx:1763
 AliAnalysisMuMu.cxx:1764
 AliAnalysisMuMu.cxx:1765
 AliAnalysisMuMu.cxx:1766
 AliAnalysisMuMu.cxx:1767
 AliAnalysisMuMu.cxx:1768
 AliAnalysisMuMu.cxx:1769
 AliAnalysisMuMu.cxx:1770
 AliAnalysisMuMu.cxx:1771
 AliAnalysisMuMu.cxx:1772
 AliAnalysisMuMu.cxx:1773
 AliAnalysisMuMu.cxx:1774
 AliAnalysisMuMu.cxx:1775
 AliAnalysisMuMu.cxx:1776
 AliAnalysisMuMu.cxx:1777
 AliAnalysisMuMu.cxx:1778
 AliAnalysisMuMu.cxx:1779
 AliAnalysisMuMu.cxx:1780
 AliAnalysisMuMu.cxx:1781
 AliAnalysisMuMu.cxx:1782
 AliAnalysisMuMu.cxx:1783
 AliAnalysisMuMu.cxx:1784
 AliAnalysisMuMu.cxx:1785
 AliAnalysisMuMu.cxx:1786
 AliAnalysisMuMu.cxx:1787
 AliAnalysisMuMu.cxx:1788
 AliAnalysisMuMu.cxx:1789
 AliAnalysisMuMu.cxx:1790
 AliAnalysisMuMu.cxx:1791
 AliAnalysisMuMu.cxx:1792
 AliAnalysisMuMu.cxx:1793
 AliAnalysisMuMu.cxx:1794
 AliAnalysisMuMu.cxx:1795
 AliAnalysisMuMu.cxx:1796
 AliAnalysisMuMu.cxx:1797
 AliAnalysisMuMu.cxx:1798
 AliAnalysisMuMu.cxx:1799
 AliAnalysisMuMu.cxx:1800
 AliAnalysisMuMu.cxx:1801
 AliAnalysisMuMu.cxx:1802
 AliAnalysisMuMu.cxx:1803
 AliAnalysisMuMu.cxx:1804
 AliAnalysisMuMu.cxx:1805
 AliAnalysisMuMu.cxx:1806
 AliAnalysisMuMu.cxx:1807
 AliAnalysisMuMu.cxx:1808
 AliAnalysisMuMu.cxx:1809
 AliAnalysisMuMu.cxx:1810
 AliAnalysisMuMu.cxx:1811
 AliAnalysisMuMu.cxx:1812
 AliAnalysisMuMu.cxx:1813
 AliAnalysisMuMu.cxx:1814
 AliAnalysisMuMu.cxx:1815
 AliAnalysisMuMu.cxx:1816
 AliAnalysisMuMu.cxx:1817
 AliAnalysisMuMu.cxx:1818
 AliAnalysisMuMu.cxx:1819
 AliAnalysisMuMu.cxx:1820
 AliAnalysisMuMu.cxx:1821
 AliAnalysisMuMu.cxx:1822
 AliAnalysisMuMu.cxx:1823
 AliAnalysisMuMu.cxx:1824
 AliAnalysisMuMu.cxx:1825
 AliAnalysisMuMu.cxx:1826
 AliAnalysisMuMu.cxx:1827
 AliAnalysisMuMu.cxx:1828
 AliAnalysisMuMu.cxx:1829
 AliAnalysisMuMu.cxx:1830
 AliAnalysisMuMu.cxx:1831
 AliAnalysisMuMu.cxx:1832
 AliAnalysisMuMu.cxx:1833
 AliAnalysisMuMu.cxx:1834
 AliAnalysisMuMu.cxx:1835
 AliAnalysisMuMu.cxx:1836
 AliAnalysisMuMu.cxx:1837
 AliAnalysisMuMu.cxx:1838
 AliAnalysisMuMu.cxx:1839
 AliAnalysisMuMu.cxx:1840
 AliAnalysisMuMu.cxx:1841
 AliAnalysisMuMu.cxx:1842
 AliAnalysisMuMu.cxx:1843
 AliAnalysisMuMu.cxx:1844
 AliAnalysisMuMu.cxx:1845
 AliAnalysisMuMu.cxx:1846
 AliAnalysisMuMu.cxx:1847
 AliAnalysisMuMu.cxx:1848
 AliAnalysisMuMu.cxx:1849
 AliAnalysisMuMu.cxx:1850
 AliAnalysisMuMu.cxx:1851
 AliAnalysisMuMu.cxx:1852
 AliAnalysisMuMu.cxx:1853
 AliAnalysisMuMu.cxx:1854
 AliAnalysisMuMu.cxx:1855
 AliAnalysisMuMu.cxx:1856
 AliAnalysisMuMu.cxx:1857
 AliAnalysisMuMu.cxx:1858
 AliAnalysisMuMu.cxx:1859
 AliAnalysisMuMu.cxx:1860
 AliAnalysisMuMu.cxx:1861
 AliAnalysisMuMu.cxx:1862
 AliAnalysisMuMu.cxx:1863
 AliAnalysisMuMu.cxx:1864
 AliAnalysisMuMu.cxx:1865
 AliAnalysisMuMu.cxx:1866
 AliAnalysisMuMu.cxx:1867
 AliAnalysisMuMu.cxx:1868
 AliAnalysisMuMu.cxx:1869
 AliAnalysisMuMu.cxx:1870
 AliAnalysisMuMu.cxx:1871
 AliAnalysisMuMu.cxx:1872
 AliAnalysisMuMu.cxx:1873
 AliAnalysisMuMu.cxx:1874
 AliAnalysisMuMu.cxx:1875
 AliAnalysisMuMu.cxx:1876
 AliAnalysisMuMu.cxx:1877
 AliAnalysisMuMu.cxx:1878
 AliAnalysisMuMu.cxx:1879
 AliAnalysisMuMu.cxx:1880
 AliAnalysisMuMu.cxx:1881
 AliAnalysisMuMu.cxx:1882
 AliAnalysisMuMu.cxx:1883
 AliAnalysisMuMu.cxx:1884
 AliAnalysisMuMu.cxx:1885
 AliAnalysisMuMu.cxx:1886
 AliAnalysisMuMu.cxx:1887
 AliAnalysisMuMu.cxx:1888
 AliAnalysisMuMu.cxx:1889
 AliAnalysisMuMu.cxx:1890
 AliAnalysisMuMu.cxx:1891
 AliAnalysisMuMu.cxx:1892
 AliAnalysisMuMu.cxx:1893
 AliAnalysisMuMu.cxx:1894
 AliAnalysisMuMu.cxx:1895
 AliAnalysisMuMu.cxx:1896
 AliAnalysisMuMu.cxx:1897
 AliAnalysisMuMu.cxx:1898
 AliAnalysisMuMu.cxx:1899
 AliAnalysisMuMu.cxx:1900
 AliAnalysisMuMu.cxx:1901
 AliAnalysisMuMu.cxx:1902
 AliAnalysisMuMu.cxx:1903
 AliAnalysisMuMu.cxx:1904
 AliAnalysisMuMu.cxx:1905
 AliAnalysisMuMu.cxx:1906
 AliAnalysisMuMu.cxx:1907
 AliAnalysisMuMu.cxx:1908
 AliAnalysisMuMu.cxx:1909
 AliAnalysisMuMu.cxx:1910
 AliAnalysisMuMu.cxx:1911
 AliAnalysisMuMu.cxx:1912
 AliAnalysisMuMu.cxx:1913
 AliAnalysisMuMu.cxx:1914
 AliAnalysisMuMu.cxx:1915
 AliAnalysisMuMu.cxx:1916
 AliAnalysisMuMu.cxx:1917
 AliAnalysisMuMu.cxx:1918
 AliAnalysisMuMu.cxx:1919
 AliAnalysisMuMu.cxx:1920
 AliAnalysisMuMu.cxx:1921
 AliAnalysisMuMu.cxx:1922
 AliAnalysisMuMu.cxx:1923
 AliAnalysisMuMu.cxx:1924
 AliAnalysisMuMu.cxx:1925
 AliAnalysisMuMu.cxx:1926
 AliAnalysisMuMu.cxx:1927
 AliAnalysisMuMu.cxx:1928
 AliAnalysisMuMu.cxx:1929
 AliAnalysisMuMu.cxx:1930
 AliAnalysisMuMu.cxx:1931
 AliAnalysisMuMu.cxx:1932
 AliAnalysisMuMu.cxx:1933
 AliAnalysisMuMu.cxx:1934
 AliAnalysisMuMu.cxx:1935
 AliAnalysisMuMu.cxx:1936
 AliAnalysisMuMu.cxx:1937
 AliAnalysisMuMu.cxx:1938
 AliAnalysisMuMu.cxx:1939
 AliAnalysisMuMu.cxx:1940
 AliAnalysisMuMu.cxx:1941
 AliAnalysisMuMu.cxx:1942
 AliAnalysisMuMu.cxx:1943
 AliAnalysisMuMu.cxx:1944
 AliAnalysisMuMu.cxx:1945
 AliAnalysisMuMu.cxx:1946
 AliAnalysisMuMu.cxx:1947
 AliAnalysisMuMu.cxx:1948
 AliAnalysisMuMu.cxx:1949
 AliAnalysisMuMu.cxx:1950
 AliAnalysisMuMu.cxx:1951
 AliAnalysisMuMu.cxx:1952
 AliAnalysisMuMu.cxx:1953
 AliAnalysisMuMu.cxx:1954
 AliAnalysisMuMu.cxx:1955
 AliAnalysisMuMu.cxx:1956
 AliAnalysisMuMu.cxx:1957
 AliAnalysisMuMu.cxx:1958
 AliAnalysisMuMu.cxx:1959
 AliAnalysisMuMu.cxx:1960
 AliAnalysisMuMu.cxx:1961
 AliAnalysisMuMu.cxx:1962
 AliAnalysisMuMu.cxx:1963
 AliAnalysisMuMu.cxx:1964
 AliAnalysisMuMu.cxx:1965
 AliAnalysisMuMu.cxx:1966
 AliAnalysisMuMu.cxx:1967
 AliAnalysisMuMu.cxx:1968
 AliAnalysisMuMu.cxx:1969
 AliAnalysisMuMu.cxx:1970
 AliAnalysisMuMu.cxx:1971
 AliAnalysisMuMu.cxx:1972
 AliAnalysisMuMu.cxx:1973
 AliAnalysisMuMu.cxx:1974
 AliAnalysisMuMu.cxx:1975
 AliAnalysisMuMu.cxx:1976
 AliAnalysisMuMu.cxx:1977
 AliAnalysisMuMu.cxx:1978
 AliAnalysisMuMu.cxx:1979
 AliAnalysisMuMu.cxx:1980
 AliAnalysisMuMu.cxx:1981
 AliAnalysisMuMu.cxx:1982
 AliAnalysisMuMu.cxx:1983
 AliAnalysisMuMu.cxx:1984
 AliAnalysisMuMu.cxx:1985
 AliAnalysisMuMu.cxx:1986
 AliAnalysisMuMu.cxx:1987
 AliAnalysisMuMu.cxx:1988
 AliAnalysisMuMu.cxx:1989
 AliAnalysisMuMu.cxx:1990
 AliAnalysisMuMu.cxx:1991
 AliAnalysisMuMu.cxx:1992
 AliAnalysisMuMu.cxx:1993
 AliAnalysisMuMu.cxx:1994
 AliAnalysisMuMu.cxx:1995
 AliAnalysisMuMu.cxx:1996
 AliAnalysisMuMu.cxx:1997
 AliAnalysisMuMu.cxx:1998
 AliAnalysisMuMu.cxx:1999
 AliAnalysisMuMu.cxx:2000
 AliAnalysisMuMu.cxx:2001
 AliAnalysisMuMu.cxx:2002
 AliAnalysisMuMu.cxx:2003
 AliAnalysisMuMu.cxx:2004
 AliAnalysisMuMu.cxx:2005
 AliAnalysisMuMu.cxx:2006
 AliAnalysisMuMu.cxx:2007
 AliAnalysisMuMu.cxx:2008
 AliAnalysisMuMu.cxx:2009
 AliAnalysisMuMu.cxx:2010
 AliAnalysisMuMu.cxx:2011
 AliAnalysisMuMu.cxx:2012
 AliAnalysisMuMu.cxx:2013
 AliAnalysisMuMu.cxx:2014
 AliAnalysisMuMu.cxx:2015
 AliAnalysisMuMu.cxx:2016
 AliAnalysisMuMu.cxx:2017
 AliAnalysisMuMu.cxx:2018
 AliAnalysisMuMu.cxx:2019
 AliAnalysisMuMu.cxx:2020
 AliAnalysisMuMu.cxx:2021
 AliAnalysisMuMu.cxx:2022
 AliAnalysisMuMu.cxx:2023
 AliAnalysisMuMu.cxx:2024
 AliAnalysisMuMu.cxx:2025
 AliAnalysisMuMu.cxx:2026
 AliAnalysisMuMu.cxx:2027
 AliAnalysisMuMu.cxx:2028
 AliAnalysisMuMu.cxx:2029
 AliAnalysisMuMu.cxx:2030
 AliAnalysisMuMu.cxx:2031
 AliAnalysisMuMu.cxx:2032
 AliAnalysisMuMu.cxx:2033
 AliAnalysisMuMu.cxx:2034
 AliAnalysisMuMu.cxx:2035
 AliAnalysisMuMu.cxx:2036
 AliAnalysisMuMu.cxx:2037
 AliAnalysisMuMu.cxx:2038
 AliAnalysisMuMu.cxx:2039
 AliAnalysisMuMu.cxx:2040
 AliAnalysisMuMu.cxx:2041
 AliAnalysisMuMu.cxx:2042
 AliAnalysisMuMu.cxx:2043
 AliAnalysisMuMu.cxx:2044
 AliAnalysisMuMu.cxx:2045
 AliAnalysisMuMu.cxx:2046
 AliAnalysisMuMu.cxx:2047
 AliAnalysisMuMu.cxx:2048
 AliAnalysisMuMu.cxx:2049
 AliAnalysisMuMu.cxx:2050
 AliAnalysisMuMu.cxx:2051
 AliAnalysisMuMu.cxx:2052
 AliAnalysisMuMu.cxx:2053
 AliAnalysisMuMu.cxx:2054
 AliAnalysisMuMu.cxx:2055
 AliAnalysisMuMu.cxx:2056
 AliAnalysisMuMu.cxx:2057
 AliAnalysisMuMu.cxx:2058
 AliAnalysisMuMu.cxx:2059
 AliAnalysisMuMu.cxx:2060
 AliAnalysisMuMu.cxx:2061
 AliAnalysisMuMu.cxx:2062
 AliAnalysisMuMu.cxx:2063
 AliAnalysisMuMu.cxx:2064
 AliAnalysisMuMu.cxx:2065
 AliAnalysisMuMu.cxx:2066
 AliAnalysisMuMu.cxx:2067
 AliAnalysisMuMu.cxx:2068
 AliAnalysisMuMu.cxx:2069
 AliAnalysisMuMu.cxx:2070
 AliAnalysisMuMu.cxx:2071
 AliAnalysisMuMu.cxx:2072
 AliAnalysisMuMu.cxx:2073
 AliAnalysisMuMu.cxx:2074
 AliAnalysisMuMu.cxx:2075
 AliAnalysisMuMu.cxx:2076
 AliAnalysisMuMu.cxx:2077
 AliAnalysisMuMu.cxx:2078
 AliAnalysisMuMu.cxx:2079
 AliAnalysisMuMu.cxx:2080
 AliAnalysisMuMu.cxx:2081
 AliAnalysisMuMu.cxx:2082
 AliAnalysisMuMu.cxx:2083
 AliAnalysisMuMu.cxx:2084
 AliAnalysisMuMu.cxx:2085
 AliAnalysisMuMu.cxx:2086
 AliAnalysisMuMu.cxx:2087
 AliAnalysisMuMu.cxx:2088
 AliAnalysisMuMu.cxx:2089
 AliAnalysisMuMu.cxx:2090
 AliAnalysisMuMu.cxx:2091
 AliAnalysisMuMu.cxx:2092
 AliAnalysisMuMu.cxx:2093
 AliAnalysisMuMu.cxx:2094
 AliAnalysisMuMu.cxx:2095
 AliAnalysisMuMu.cxx:2096
 AliAnalysisMuMu.cxx:2097
 AliAnalysisMuMu.cxx:2098
 AliAnalysisMuMu.cxx:2099
 AliAnalysisMuMu.cxx:2100
 AliAnalysisMuMu.cxx:2101
 AliAnalysisMuMu.cxx:2102
 AliAnalysisMuMu.cxx:2103
 AliAnalysisMuMu.cxx:2104
 AliAnalysisMuMu.cxx:2105
 AliAnalysisMuMu.cxx:2106
 AliAnalysisMuMu.cxx:2107
 AliAnalysisMuMu.cxx:2108
 AliAnalysisMuMu.cxx:2109
 AliAnalysisMuMu.cxx:2110
 AliAnalysisMuMu.cxx:2111
 AliAnalysisMuMu.cxx:2112
 AliAnalysisMuMu.cxx:2113
 AliAnalysisMuMu.cxx:2114
 AliAnalysisMuMu.cxx:2115
 AliAnalysisMuMu.cxx:2116
 AliAnalysisMuMu.cxx:2117
 AliAnalysisMuMu.cxx:2118
 AliAnalysisMuMu.cxx:2119
 AliAnalysisMuMu.cxx:2120
 AliAnalysisMuMu.cxx:2121
 AliAnalysisMuMu.cxx:2122
 AliAnalysisMuMu.cxx:2123
 AliAnalysisMuMu.cxx:2124
 AliAnalysisMuMu.cxx:2125
 AliAnalysisMuMu.cxx:2126
 AliAnalysisMuMu.cxx:2127
 AliAnalysisMuMu.cxx:2128
 AliAnalysisMuMu.cxx:2129
 AliAnalysisMuMu.cxx:2130
 AliAnalysisMuMu.cxx:2131
 AliAnalysisMuMu.cxx:2132
 AliAnalysisMuMu.cxx:2133
 AliAnalysisMuMu.cxx:2134
 AliAnalysisMuMu.cxx:2135
 AliAnalysisMuMu.cxx:2136
 AliAnalysisMuMu.cxx:2137
 AliAnalysisMuMu.cxx:2138
 AliAnalysisMuMu.cxx:2139
 AliAnalysisMuMu.cxx:2140
 AliAnalysisMuMu.cxx:2141
 AliAnalysisMuMu.cxx:2142
 AliAnalysisMuMu.cxx:2143
 AliAnalysisMuMu.cxx:2144
 AliAnalysisMuMu.cxx:2145
 AliAnalysisMuMu.cxx:2146
 AliAnalysisMuMu.cxx:2147
 AliAnalysisMuMu.cxx:2148
 AliAnalysisMuMu.cxx:2149
 AliAnalysisMuMu.cxx:2150
 AliAnalysisMuMu.cxx:2151
 AliAnalysisMuMu.cxx:2152
 AliAnalysisMuMu.cxx:2153
 AliAnalysisMuMu.cxx:2154
 AliAnalysisMuMu.cxx:2155
 AliAnalysisMuMu.cxx:2156
 AliAnalysisMuMu.cxx:2157
 AliAnalysisMuMu.cxx:2158
 AliAnalysisMuMu.cxx:2159
 AliAnalysisMuMu.cxx:2160
 AliAnalysisMuMu.cxx:2161
 AliAnalysisMuMu.cxx:2162
 AliAnalysisMuMu.cxx:2163
 AliAnalysisMuMu.cxx:2164
 AliAnalysisMuMu.cxx:2165
 AliAnalysisMuMu.cxx:2166
 AliAnalysisMuMu.cxx:2167
 AliAnalysisMuMu.cxx:2168
 AliAnalysisMuMu.cxx:2169
 AliAnalysisMuMu.cxx:2170
 AliAnalysisMuMu.cxx:2171
 AliAnalysisMuMu.cxx:2172
 AliAnalysisMuMu.cxx:2173
 AliAnalysisMuMu.cxx:2174
 AliAnalysisMuMu.cxx:2175
 AliAnalysisMuMu.cxx:2176
 AliAnalysisMuMu.cxx:2177
 AliAnalysisMuMu.cxx:2178
 AliAnalysisMuMu.cxx:2179
 AliAnalysisMuMu.cxx:2180
 AliAnalysisMuMu.cxx:2181
 AliAnalysisMuMu.cxx:2182
 AliAnalysisMuMu.cxx:2183
 AliAnalysisMuMu.cxx:2184
 AliAnalysisMuMu.cxx:2185
 AliAnalysisMuMu.cxx:2186
 AliAnalysisMuMu.cxx:2187
 AliAnalysisMuMu.cxx:2188
 AliAnalysisMuMu.cxx:2189
 AliAnalysisMuMu.cxx:2190
 AliAnalysisMuMu.cxx:2191
 AliAnalysisMuMu.cxx:2192
 AliAnalysisMuMu.cxx:2193
 AliAnalysisMuMu.cxx:2194
 AliAnalysisMuMu.cxx:2195
 AliAnalysisMuMu.cxx:2196
 AliAnalysisMuMu.cxx:2197
 AliAnalysisMuMu.cxx:2198
 AliAnalysisMuMu.cxx:2199
 AliAnalysisMuMu.cxx:2200
 AliAnalysisMuMu.cxx:2201
 AliAnalysisMuMu.cxx:2202
 AliAnalysisMuMu.cxx:2203
 AliAnalysisMuMu.cxx:2204
 AliAnalysisMuMu.cxx:2205
 AliAnalysisMuMu.cxx:2206
 AliAnalysisMuMu.cxx:2207
 AliAnalysisMuMu.cxx:2208
 AliAnalysisMuMu.cxx:2209
 AliAnalysisMuMu.cxx:2210
 AliAnalysisMuMu.cxx:2211
 AliAnalysisMuMu.cxx:2212
 AliAnalysisMuMu.cxx:2213
 AliAnalysisMuMu.cxx:2214
 AliAnalysisMuMu.cxx:2215
 AliAnalysisMuMu.cxx:2216
 AliAnalysisMuMu.cxx:2217
 AliAnalysisMuMu.cxx:2218
 AliAnalysisMuMu.cxx:2219
 AliAnalysisMuMu.cxx:2220
 AliAnalysisMuMu.cxx:2221
 AliAnalysisMuMu.cxx:2222
 AliAnalysisMuMu.cxx:2223
 AliAnalysisMuMu.cxx:2224
 AliAnalysisMuMu.cxx:2225
 AliAnalysisMuMu.cxx:2226
 AliAnalysisMuMu.cxx:2227
 AliAnalysisMuMu.cxx:2228
 AliAnalysisMuMu.cxx:2229
 AliAnalysisMuMu.cxx:2230
 AliAnalysisMuMu.cxx:2231
 AliAnalysisMuMu.cxx:2232
 AliAnalysisMuMu.cxx:2233
 AliAnalysisMuMu.cxx:2234
 AliAnalysisMuMu.cxx:2235
 AliAnalysisMuMu.cxx:2236
 AliAnalysisMuMu.cxx:2237
 AliAnalysisMuMu.cxx:2238
 AliAnalysisMuMu.cxx:2239
 AliAnalysisMuMu.cxx:2240
 AliAnalysisMuMu.cxx:2241
 AliAnalysisMuMu.cxx:2242
 AliAnalysisMuMu.cxx:2243
 AliAnalysisMuMu.cxx:2244
 AliAnalysisMuMu.cxx:2245
 AliAnalysisMuMu.cxx:2246
 AliAnalysisMuMu.cxx:2247
 AliAnalysisMuMu.cxx:2248
 AliAnalysisMuMu.cxx:2249
 AliAnalysisMuMu.cxx:2250
 AliAnalysisMuMu.cxx:2251
 AliAnalysisMuMu.cxx:2252
 AliAnalysisMuMu.cxx:2253
 AliAnalysisMuMu.cxx:2254
 AliAnalysisMuMu.cxx:2255
 AliAnalysisMuMu.cxx:2256
 AliAnalysisMuMu.cxx:2257
 AliAnalysisMuMu.cxx:2258
 AliAnalysisMuMu.cxx:2259
 AliAnalysisMuMu.cxx:2260
 AliAnalysisMuMu.cxx:2261
 AliAnalysisMuMu.cxx:2262
 AliAnalysisMuMu.cxx:2263
 AliAnalysisMuMu.cxx:2264
 AliAnalysisMuMu.cxx:2265
 AliAnalysisMuMu.cxx:2266
 AliAnalysisMuMu.cxx:2267
 AliAnalysisMuMu.cxx:2268
 AliAnalysisMuMu.cxx:2269
 AliAnalysisMuMu.cxx:2270
 AliAnalysisMuMu.cxx:2271
 AliAnalysisMuMu.cxx:2272
 AliAnalysisMuMu.cxx:2273
 AliAnalysisMuMu.cxx:2274
 AliAnalysisMuMu.cxx:2275
 AliAnalysisMuMu.cxx:2276
 AliAnalysisMuMu.cxx:2277
 AliAnalysisMuMu.cxx:2278
 AliAnalysisMuMu.cxx:2279
 AliAnalysisMuMu.cxx:2280
 AliAnalysisMuMu.cxx:2281
 AliAnalysisMuMu.cxx:2282
 AliAnalysisMuMu.cxx:2283
 AliAnalysisMuMu.cxx:2284
 AliAnalysisMuMu.cxx:2285
 AliAnalysisMuMu.cxx:2286
 AliAnalysisMuMu.cxx:2287
 AliAnalysisMuMu.cxx:2288
 AliAnalysisMuMu.cxx:2289
 AliAnalysisMuMu.cxx:2290
 AliAnalysisMuMu.cxx:2291
 AliAnalysisMuMu.cxx:2292
 AliAnalysisMuMu.cxx:2293
 AliAnalysisMuMu.cxx:2294
 AliAnalysisMuMu.cxx:2295
 AliAnalysisMuMu.cxx:2296
 AliAnalysisMuMu.cxx:2297
 AliAnalysisMuMu.cxx:2298
 AliAnalysisMuMu.cxx:2299
 AliAnalysisMuMu.cxx:2300
 AliAnalysisMuMu.cxx:2301
 AliAnalysisMuMu.cxx:2302
 AliAnalysisMuMu.cxx:2303
 AliAnalysisMuMu.cxx:2304
 AliAnalysisMuMu.cxx:2305
 AliAnalysisMuMu.cxx:2306
 AliAnalysisMuMu.cxx:2307
 AliAnalysisMuMu.cxx:2308
 AliAnalysisMuMu.cxx:2309
 AliAnalysisMuMu.cxx:2310
 AliAnalysisMuMu.cxx:2311
 AliAnalysisMuMu.cxx:2312
 AliAnalysisMuMu.cxx:2313
 AliAnalysisMuMu.cxx:2314
 AliAnalysisMuMu.cxx:2315
 AliAnalysisMuMu.cxx:2316
 AliAnalysisMuMu.cxx:2317
 AliAnalysisMuMu.cxx:2318
 AliAnalysisMuMu.cxx:2319
 AliAnalysisMuMu.cxx:2320
 AliAnalysisMuMu.cxx:2321
 AliAnalysisMuMu.cxx:2322
 AliAnalysisMuMu.cxx:2323
 AliAnalysisMuMu.cxx:2324
 AliAnalysisMuMu.cxx:2325
 AliAnalysisMuMu.cxx:2326
 AliAnalysisMuMu.cxx:2327
 AliAnalysisMuMu.cxx:2328
 AliAnalysisMuMu.cxx:2329
 AliAnalysisMuMu.cxx:2330
 AliAnalysisMuMu.cxx:2331
 AliAnalysisMuMu.cxx:2332
 AliAnalysisMuMu.cxx:2333
 AliAnalysisMuMu.cxx:2334
 AliAnalysisMuMu.cxx:2335
 AliAnalysisMuMu.cxx:2336
 AliAnalysisMuMu.cxx:2337
 AliAnalysisMuMu.cxx:2338
 AliAnalysisMuMu.cxx:2339
 AliAnalysisMuMu.cxx:2340
 AliAnalysisMuMu.cxx:2341
 AliAnalysisMuMu.cxx:2342
 AliAnalysisMuMu.cxx:2343
 AliAnalysisMuMu.cxx:2344
 AliAnalysisMuMu.cxx:2345
 AliAnalysisMuMu.cxx:2346
 AliAnalysisMuMu.cxx:2347
 AliAnalysisMuMu.cxx:2348
 AliAnalysisMuMu.cxx:2349
 AliAnalysisMuMu.cxx:2350
 AliAnalysisMuMu.cxx:2351
 AliAnalysisMuMu.cxx:2352
 AliAnalysisMuMu.cxx:2353
 AliAnalysisMuMu.cxx:2354
 AliAnalysisMuMu.cxx:2355
 AliAnalysisMuMu.cxx:2356
 AliAnalysisMuMu.cxx:2357
 AliAnalysisMuMu.cxx:2358
 AliAnalysisMuMu.cxx:2359
 AliAnalysisMuMu.cxx:2360
 AliAnalysisMuMu.cxx:2361
 AliAnalysisMuMu.cxx:2362
 AliAnalysisMuMu.cxx:2363
 AliAnalysisMuMu.cxx:2364
 AliAnalysisMuMu.cxx:2365
 AliAnalysisMuMu.cxx:2366
 AliAnalysisMuMu.cxx:2367
 AliAnalysisMuMu.cxx:2368
 AliAnalysisMuMu.cxx:2369
 AliAnalysisMuMu.cxx:2370
 AliAnalysisMuMu.cxx:2371
 AliAnalysisMuMu.cxx:2372
 AliAnalysisMuMu.cxx:2373
 AliAnalysisMuMu.cxx:2374
 AliAnalysisMuMu.cxx:2375
 AliAnalysisMuMu.cxx:2376
 AliAnalysisMuMu.cxx:2377
 AliAnalysisMuMu.cxx:2378
 AliAnalysisMuMu.cxx:2379
 AliAnalysisMuMu.cxx:2380
 AliAnalysisMuMu.cxx:2381
 AliAnalysisMuMu.cxx:2382
 AliAnalysisMuMu.cxx:2383
 AliAnalysisMuMu.cxx:2384
 AliAnalysisMuMu.cxx:2385
 AliAnalysisMuMu.cxx:2386
 AliAnalysisMuMu.cxx:2387
 AliAnalysisMuMu.cxx:2388
 AliAnalysisMuMu.cxx:2389
 AliAnalysisMuMu.cxx:2390
 AliAnalysisMuMu.cxx:2391
 AliAnalysisMuMu.cxx:2392
 AliAnalysisMuMu.cxx:2393
 AliAnalysisMuMu.cxx:2394
 AliAnalysisMuMu.cxx:2395
 AliAnalysisMuMu.cxx:2396
 AliAnalysisMuMu.cxx:2397
 AliAnalysisMuMu.cxx:2398
 AliAnalysisMuMu.cxx:2399
 AliAnalysisMuMu.cxx:2400
 AliAnalysisMuMu.cxx:2401
 AliAnalysisMuMu.cxx:2402
 AliAnalysisMuMu.cxx:2403
 AliAnalysisMuMu.cxx:2404
 AliAnalysisMuMu.cxx:2405
 AliAnalysisMuMu.cxx:2406
 AliAnalysisMuMu.cxx:2407
 AliAnalysisMuMu.cxx:2408
 AliAnalysisMuMu.cxx:2409
 AliAnalysisMuMu.cxx:2410
 AliAnalysisMuMu.cxx:2411
 AliAnalysisMuMu.cxx:2412
 AliAnalysisMuMu.cxx:2413
 AliAnalysisMuMu.cxx:2414
 AliAnalysisMuMu.cxx:2415
 AliAnalysisMuMu.cxx:2416
 AliAnalysisMuMu.cxx:2417
 AliAnalysisMuMu.cxx:2418
 AliAnalysisMuMu.cxx:2419
 AliAnalysisMuMu.cxx:2420
 AliAnalysisMuMu.cxx:2421
 AliAnalysisMuMu.cxx:2422
 AliAnalysisMuMu.cxx:2423
 AliAnalysisMuMu.cxx:2424
 AliAnalysisMuMu.cxx:2425
 AliAnalysisMuMu.cxx:2426
 AliAnalysisMuMu.cxx:2427
 AliAnalysisMuMu.cxx:2428
 AliAnalysisMuMu.cxx:2429
 AliAnalysisMuMu.cxx:2430
 AliAnalysisMuMu.cxx:2431
 AliAnalysisMuMu.cxx:2432
 AliAnalysisMuMu.cxx:2433
 AliAnalysisMuMu.cxx:2434
 AliAnalysisMuMu.cxx:2435
 AliAnalysisMuMu.cxx:2436
 AliAnalysisMuMu.cxx:2437
 AliAnalysisMuMu.cxx:2438
 AliAnalysisMuMu.cxx:2439
 AliAnalysisMuMu.cxx:2440
 AliAnalysisMuMu.cxx:2441
 AliAnalysisMuMu.cxx:2442
 AliAnalysisMuMu.cxx:2443
 AliAnalysisMuMu.cxx:2444
 AliAnalysisMuMu.cxx:2445
 AliAnalysisMuMu.cxx:2446
 AliAnalysisMuMu.cxx:2447
 AliAnalysisMuMu.cxx:2448
 AliAnalysisMuMu.cxx:2449
 AliAnalysisMuMu.cxx:2450
 AliAnalysisMuMu.cxx:2451
 AliAnalysisMuMu.cxx:2452
 AliAnalysisMuMu.cxx:2453
 AliAnalysisMuMu.cxx:2454
 AliAnalysisMuMu.cxx:2455
 AliAnalysisMuMu.cxx:2456
 AliAnalysisMuMu.cxx:2457
 AliAnalysisMuMu.cxx:2458
 AliAnalysisMuMu.cxx:2459
 AliAnalysisMuMu.cxx:2460
 AliAnalysisMuMu.cxx:2461
 AliAnalysisMuMu.cxx:2462
 AliAnalysisMuMu.cxx:2463
 AliAnalysisMuMu.cxx:2464
 AliAnalysisMuMu.cxx:2465
 AliAnalysisMuMu.cxx:2466
 AliAnalysisMuMu.cxx:2467
 AliAnalysisMuMu.cxx:2468
 AliAnalysisMuMu.cxx:2469
 AliAnalysisMuMu.cxx:2470
 AliAnalysisMuMu.cxx:2471
 AliAnalysisMuMu.cxx:2472
 AliAnalysisMuMu.cxx:2473
 AliAnalysisMuMu.cxx:2474
 AliAnalysisMuMu.cxx:2475
 AliAnalysisMuMu.cxx:2476
 AliAnalysisMuMu.cxx:2477
 AliAnalysisMuMu.cxx:2478
 AliAnalysisMuMu.cxx:2479
 AliAnalysisMuMu.cxx:2480
 AliAnalysisMuMu.cxx:2481
 AliAnalysisMuMu.cxx:2482
 AliAnalysisMuMu.cxx:2483
 AliAnalysisMuMu.cxx:2484
 AliAnalysisMuMu.cxx:2485
 AliAnalysisMuMu.cxx:2486
 AliAnalysisMuMu.cxx:2487
 AliAnalysisMuMu.cxx:2488
 AliAnalysisMuMu.cxx:2489
 AliAnalysisMuMu.cxx:2490
 AliAnalysisMuMu.cxx:2491
 AliAnalysisMuMu.cxx:2492
 AliAnalysisMuMu.cxx:2493
 AliAnalysisMuMu.cxx:2494
 AliAnalysisMuMu.cxx:2495
 AliAnalysisMuMu.cxx:2496
 AliAnalysisMuMu.cxx:2497
 AliAnalysisMuMu.cxx:2498
 AliAnalysisMuMu.cxx:2499
 AliAnalysisMuMu.cxx:2500
 AliAnalysisMuMu.cxx:2501
 AliAnalysisMuMu.cxx:2502
 AliAnalysisMuMu.cxx:2503
 AliAnalysisMuMu.cxx:2504
 AliAnalysisMuMu.cxx:2505
 AliAnalysisMuMu.cxx:2506
 AliAnalysisMuMu.cxx:2507
 AliAnalysisMuMu.cxx:2508
 AliAnalysisMuMu.cxx:2509
 AliAnalysisMuMu.cxx:2510
 AliAnalysisMuMu.cxx:2511
 AliAnalysisMuMu.cxx:2512
 AliAnalysisMuMu.cxx:2513
 AliAnalysisMuMu.cxx:2514
 AliAnalysisMuMu.cxx:2515
 AliAnalysisMuMu.cxx:2516
 AliAnalysisMuMu.cxx:2517
 AliAnalysisMuMu.cxx:2518
 AliAnalysisMuMu.cxx:2519
 AliAnalysisMuMu.cxx:2520
 AliAnalysisMuMu.cxx:2521
 AliAnalysisMuMu.cxx:2522
 AliAnalysisMuMu.cxx:2523
 AliAnalysisMuMu.cxx:2524
 AliAnalysisMuMu.cxx:2525
 AliAnalysisMuMu.cxx:2526
 AliAnalysisMuMu.cxx:2527
 AliAnalysisMuMu.cxx:2528
 AliAnalysisMuMu.cxx:2529
 AliAnalysisMuMu.cxx:2530
 AliAnalysisMuMu.cxx:2531
 AliAnalysisMuMu.cxx:2532
 AliAnalysisMuMu.cxx:2533
 AliAnalysisMuMu.cxx:2534
 AliAnalysisMuMu.cxx:2535
 AliAnalysisMuMu.cxx:2536
 AliAnalysisMuMu.cxx:2537
 AliAnalysisMuMu.cxx:2538
 AliAnalysisMuMu.cxx:2539
 AliAnalysisMuMu.cxx:2540
 AliAnalysisMuMu.cxx:2541
 AliAnalysisMuMu.cxx:2542
 AliAnalysisMuMu.cxx:2543
 AliAnalysisMuMu.cxx:2544
 AliAnalysisMuMu.cxx:2545
 AliAnalysisMuMu.cxx:2546
 AliAnalysisMuMu.cxx:2547
 AliAnalysisMuMu.cxx:2548
 AliAnalysisMuMu.cxx:2549
 AliAnalysisMuMu.cxx:2550
 AliAnalysisMuMu.cxx:2551
 AliAnalysisMuMu.cxx:2552
 AliAnalysisMuMu.cxx:2553
 AliAnalysisMuMu.cxx:2554
 AliAnalysisMuMu.cxx:2555
 AliAnalysisMuMu.cxx:2556
 AliAnalysisMuMu.cxx:2557
 AliAnalysisMuMu.cxx:2558
 AliAnalysisMuMu.cxx:2559
 AliAnalysisMuMu.cxx:2560
 AliAnalysisMuMu.cxx:2561
 AliAnalysisMuMu.cxx:2562
 AliAnalysisMuMu.cxx:2563
 AliAnalysisMuMu.cxx:2564
 AliAnalysisMuMu.cxx:2565
 AliAnalysisMuMu.cxx:2566
 AliAnalysisMuMu.cxx:2567
 AliAnalysisMuMu.cxx:2568
 AliAnalysisMuMu.cxx:2569
 AliAnalysisMuMu.cxx:2570
 AliAnalysisMuMu.cxx:2571
 AliAnalysisMuMu.cxx:2572
 AliAnalysisMuMu.cxx:2573
 AliAnalysisMuMu.cxx:2574
 AliAnalysisMuMu.cxx:2575
 AliAnalysisMuMu.cxx:2576
 AliAnalysisMuMu.cxx:2577
 AliAnalysisMuMu.cxx:2578
 AliAnalysisMuMu.cxx:2579
 AliAnalysisMuMu.cxx:2580
 AliAnalysisMuMu.cxx:2581
 AliAnalysisMuMu.cxx:2582
 AliAnalysisMuMu.cxx:2583
 AliAnalysisMuMu.cxx:2584
 AliAnalysisMuMu.cxx:2585
 AliAnalysisMuMu.cxx:2586
 AliAnalysisMuMu.cxx:2587
 AliAnalysisMuMu.cxx:2588
 AliAnalysisMuMu.cxx:2589
 AliAnalysisMuMu.cxx:2590
 AliAnalysisMuMu.cxx:2591
 AliAnalysisMuMu.cxx:2592
 AliAnalysisMuMu.cxx:2593
 AliAnalysisMuMu.cxx:2594
 AliAnalysisMuMu.cxx:2595
 AliAnalysisMuMu.cxx:2596
 AliAnalysisMuMu.cxx:2597
 AliAnalysisMuMu.cxx:2598
 AliAnalysisMuMu.cxx:2599
 AliAnalysisMuMu.cxx:2600
 AliAnalysisMuMu.cxx:2601
 AliAnalysisMuMu.cxx:2602
 AliAnalysisMuMu.cxx:2603
 AliAnalysisMuMu.cxx:2604
 AliAnalysisMuMu.cxx:2605
 AliAnalysisMuMu.cxx:2606
 AliAnalysisMuMu.cxx:2607
 AliAnalysisMuMu.cxx:2608
 AliAnalysisMuMu.cxx:2609
 AliAnalysisMuMu.cxx:2610
 AliAnalysisMuMu.cxx:2611
 AliAnalysisMuMu.cxx:2612
 AliAnalysisMuMu.cxx:2613
 AliAnalysisMuMu.cxx:2614
 AliAnalysisMuMu.cxx:2615
 AliAnalysisMuMu.cxx:2616
 AliAnalysisMuMu.cxx:2617
 AliAnalysisMuMu.cxx:2618
 AliAnalysisMuMu.cxx:2619
 AliAnalysisMuMu.cxx:2620
 AliAnalysisMuMu.cxx:2621
 AliAnalysisMuMu.cxx:2622
 AliAnalysisMuMu.cxx:2623
 AliAnalysisMuMu.cxx:2624
 AliAnalysisMuMu.cxx:2625
 AliAnalysisMuMu.cxx:2626
 AliAnalysisMuMu.cxx:2627
 AliAnalysisMuMu.cxx:2628
 AliAnalysisMuMu.cxx:2629
 AliAnalysisMuMu.cxx:2630
 AliAnalysisMuMu.cxx:2631
 AliAnalysisMuMu.cxx:2632
 AliAnalysisMuMu.cxx:2633
 AliAnalysisMuMu.cxx:2634
 AliAnalysisMuMu.cxx:2635
 AliAnalysisMuMu.cxx:2636
 AliAnalysisMuMu.cxx:2637
 AliAnalysisMuMu.cxx:2638
 AliAnalysisMuMu.cxx:2639
 AliAnalysisMuMu.cxx:2640
 AliAnalysisMuMu.cxx:2641
 AliAnalysisMuMu.cxx:2642
 AliAnalysisMuMu.cxx:2643
 AliAnalysisMuMu.cxx:2644
 AliAnalysisMuMu.cxx:2645
 AliAnalysisMuMu.cxx:2646
 AliAnalysisMuMu.cxx:2647
 AliAnalysisMuMu.cxx:2648
 AliAnalysisMuMu.cxx:2649
 AliAnalysisMuMu.cxx:2650
 AliAnalysisMuMu.cxx:2651
 AliAnalysisMuMu.cxx:2652
 AliAnalysisMuMu.cxx:2653
 AliAnalysisMuMu.cxx:2654
 AliAnalysisMuMu.cxx:2655
 AliAnalysisMuMu.cxx:2656
 AliAnalysisMuMu.cxx:2657
 AliAnalysisMuMu.cxx:2658
 AliAnalysisMuMu.cxx:2659
 AliAnalysisMuMu.cxx:2660
 AliAnalysisMuMu.cxx:2661
 AliAnalysisMuMu.cxx:2662
 AliAnalysisMuMu.cxx:2663
 AliAnalysisMuMu.cxx:2664
 AliAnalysisMuMu.cxx:2665
 AliAnalysisMuMu.cxx:2666
 AliAnalysisMuMu.cxx:2667
 AliAnalysisMuMu.cxx:2668
 AliAnalysisMuMu.cxx:2669
 AliAnalysisMuMu.cxx:2670
 AliAnalysisMuMu.cxx:2671
 AliAnalysisMuMu.cxx:2672
 AliAnalysisMuMu.cxx:2673
 AliAnalysisMuMu.cxx:2674
 AliAnalysisMuMu.cxx:2675
 AliAnalysisMuMu.cxx:2676
 AliAnalysisMuMu.cxx:2677
 AliAnalysisMuMu.cxx:2678
 AliAnalysisMuMu.cxx:2679
 AliAnalysisMuMu.cxx:2680
 AliAnalysisMuMu.cxx:2681
 AliAnalysisMuMu.cxx:2682
 AliAnalysisMuMu.cxx:2683
 AliAnalysisMuMu.cxx:2684
 AliAnalysisMuMu.cxx:2685
 AliAnalysisMuMu.cxx:2686
 AliAnalysisMuMu.cxx:2687
 AliAnalysisMuMu.cxx:2688
 AliAnalysisMuMu.cxx:2689
 AliAnalysisMuMu.cxx:2690
 AliAnalysisMuMu.cxx:2691
 AliAnalysisMuMu.cxx:2692
 AliAnalysisMuMu.cxx:2693
 AliAnalysisMuMu.cxx:2694
 AliAnalysisMuMu.cxx:2695
 AliAnalysisMuMu.cxx:2696
 AliAnalysisMuMu.cxx:2697
 AliAnalysisMuMu.cxx:2698
 AliAnalysisMuMu.cxx:2699
 AliAnalysisMuMu.cxx:2700
 AliAnalysisMuMu.cxx:2701
 AliAnalysisMuMu.cxx:2702
 AliAnalysisMuMu.cxx:2703
 AliAnalysisMuMu.cxx:2704
 AliAnalysisMuMu.cxx:2705
 AliAnalysisMuMu.cxx:2706
 AliAnalysisMuMu.cxx:2707
 AliAnalysisMuMu.cxx:2708
 AliAnalysisMuMu.cxx:2709
 AliAnalysisMuMu.cxx:2710
 AliAnalysisMuMu.cxx:2711
 AliAnalysisMuMu.cxx:2712
 AliAnalysisMuMu.cxx:2713
 AliAnalysisMuMu.cxx:2714
 AliAnalysisMuMu.cxx:2715
 AliAnalysisMuMu.cxx:2716
 AliAnalysisMuMu.cxx:2717
 AliAnalysisMuMu.cxx:2718
 AliAnalysisMuMu.cxx:2719
 AliAnalysisMuMu.cxx:2720
 AliAnalysisMuMu.cxx:2721
 AliAnalysisMuMu.cxx:2722
 AliAnalysisMuMu.cxx:2723
 AliAnalysisMuMu.cxx:2724
 AliAnalysisMuMu.cxx:2725
 AliAnalysisMuMu.cxx:2726
 AliAnalysisMuMu.cxx:2727
 AliAnalysisMuMu.cxx:2728
 AliAnalysisMuMu.cxx:2729
 AliAnalysisMuMu.cxx:2730
 AliAnalysisMuMu.cxx:2731
 AliAnalysisMuMu.cxx:2732
 AliAnalysisMuMu.cxx:2733
 AliAnalysisMuMu.cxx:2734
 AliAnalysisMuMu.cxx:2735
 AliAnalysisMuMu.cxx:2736
 AliAnalysisMuMu.cxx:2737
 AliAnalysisMuMu.cxx:2738
 AliAnalysisMuMu.cxx:2739
 AliAnalysisMuMu.cxx:2740
 AliAnalysisMuMu.cxx:2741
 AliAnalysisMuMu.cxx:2742
 AliAnalysisMuMu.cxx:2743
 AliAnalysisMuMu.cxx:2744
 AliAnalysisMuMu.cxx:2745
 AliAnalysisMuMu.cxx:2746
 AliAnalysisMuMu.cxx:2747
 AliAnalysisMuMu.cxx:2748
 AliAnalysisMuMu.cxx:2749
 AliAnalysisMuMu.cxx:2750
 AliAnalysisMuMu.cxx:2751
 AliAnalysisMuMu.cxx:2752
 AliAnalysisMuMu.cxx:2753
 AliAnalysisMuMu.cxx:2754
 AliAnalysisMuMu.cxx:2755
 AliAnalysisMuMu.cxx:2756
 AliAnalysisMuMu.cxx:2757
 AliAnalysisMuMu.cxx:2758
 AliAnalysisMuMu.cxx:2759
 AliAnalysisMuMu.cxx:2760
 AliAnalysisMuMu.cxx:2761
 AliAnalysisMuMu.cxx:2762
 AliAnalysisMuMu.cxx:2763
 AliAnalysisMuMu.cxx:2764
 AliAnalysisMuMu.cxx:2765
 AliAnalysisMuMu.cxx:2766
 AliAnalysisMuMu.cxx:2767
 AliAnalysisMuMu.cxx:2768
 AliAnalysisMuMu.cxx:2769
 AliAnalysisMuMu.cxx:2770
 AliAnalysisMuMu.cxx:2771
 AliAnalysisMuMu.cxx:2772
 AliAnalysisMuMu.cxx:2773
 AliAnalysisMuMu.cxx:2774
 AliAnalysisMuMu.cxx:2775
 AliAnalysisMuMu.cxx:2776
 AliAnalysisMuMu.cxx:2777
 AliAnalysisMuMu.cxx:2778
 AliAnalysisMuMu.cxx:2779
 AliAnalysisMuMu.cxx:2780
 AliAnalysisMuMu.cxx:2781
 AliAnalysisMuMu.cxx:2782
 AliAnalysisMuMu.cxx:2783
 AliAnalysisMuMu.cxx:2784
 AliAnalysisMuMu.cxx:2785
 AliAnalysisMuMu.cxx:2786
 AliAnalysisMuMu.cxx:2787
 AliAnalysisMuMu.cxx:2788
 AliAnalysisMuMu.cxx:2789
 AliAnalysisMuMu.cxx:2790
 AliAnalysisMuMu.cxx:2791
 AliAnalysisMuMu.cxx:2792
 AliAnalysisMuMu.cxx:2793
 AliAnalysisMuMu.cxx:2794
 AliAnalysisMuMu.cxx:2795
 AliAnalysisMuMu.cxx:2796
 AliAnalysisMuMu.cxx:2797
 AliAnalysisMuMu.cxx:2798
 AliAnalysisMuMu.cxx:2799
 AliAnalysisMuMu.cxx:2800
 AliAnalysisMuMu.cxx:2801
 AliAnalysisMuMu.cxx:2802
 AliAnalysisMuMu.cxx:2803
 AliAnalysisMuMu.cxx:2804
 AliAnalysisMuMu.cxx:2805
 AliAnalysisMuMu.cxx:2806
 AliAnalysisMuMu.cxx:2807
 AliAnalysisMuMu.cxx:2808
 AliAnalysisMuMu.cxx:2809
 AliAnalysisMuMu.cxx:2810
 AliAnalysisMuMu.cxx:2811
 AliAnalysisMuMu.cxx:2812
 AliAnalysisMuMu.cxx:2813
 AliAnalysisMuMu.cxx:2814
 AliAnalysisMuMu.cxx:2815
 AliAnalysisMuMu.cxx:2816
 AliAnalysisMuMu.cxx:2817
 AliAnalysisMuMu.cxx:2818
 AliAnalysisMuMu.cxx:2819
 AliAnalysisMuMu.cxx:2820
 AliAnalysisMuMu.cxx:2821
 AliAnalysisMuMu.cxx:2822
 AliAnalysisMuMu.cxx:2823
 AliAnalysisMuMu.cxx:2824
 AliAnalysisMuMu.cxx:2825
 AliAnalysisMuMu.cxx:2826
 AliAnalysisMuMu.cxx:2827
 AliAnalysisMuMu.cxx:2828
 AliAnalysisMuMu.cxx:2829
 AliAnalysisMuMu.cxx:2830
 AliAnalysisMuMu.cxx:2831
 AliAnalysisMuMu.cxx:2832
 AliAnalysisMuMu.cxx:2833
 AliAnalysisMuMu.cxx:2834
 AliAnalysisMuMu.cxx:2835
 AliAnalysisMuMu.cxx:2836
 AliAnalysisMuMu.cxx:2837
 AliAnalysisMuMu.cxx:2838
 AliAnalysisMuMu.cxx:2839
 AliAnalysisMuMu.cxx:2840
 AliAnalysisMuMu.cxx:2841
 AliAnalysisMuMu.cxx:2842
 AliAnalysisMuMu.cxx:2843
 AliAnalysisMuMu.cxx:2844
 AliAnalysisMuMu.cxx:2845
 AliAnalysisMuMu.cxx:2846
 AliAnalysisMuMu.cxx:2847
 AliAnalysisMuMu.cxx:2848
 AliAnalysisMuMu.cxx:2849
 AliAnalysisMuMu.cxx:2850
 AliAnalysisMuMu.cxx:2851
 AliAnalysisMuMu.cxx:2852
 AliAnalysisMuMu.cxx:2853
 AliAnalysisMuMu.cxx:2854
 AliAnalysisMuMu.cxx:2855
 AliAnalysisMuMu.cxx:2856
 AliAnalysisMuMu.cxx:2857
 AliAnalysisMuMu.cxx:2858
 AliAnalysisMuMu.cxx:2859
 AliAnalysisMuMu.cxx:2860
 AliAnalysisMuMu.cxx:2861
 AliAnalysisMuMu.cxx:2862
 AliAnalysisMuMu.cxx:2863
 AliAnalysisMuMu.cxx:2864
 AliAnalysisMuMu.cxx:2865
 AliAnalysisMuMu.cxx:2866
 AliAnalysisMuMu.cxx:2867
 AliAnalysisMuMu.cxx:2868
 AliAnalysisMuMu.cxx:2869
 AliAnalysisMuMu.cxx:2870
 AliAnalysisMuMu.cxx:2871
 AliAnalysisMuMu.cxx:2872
 AliAnalysisMuMu.cxx:2873
 AliAnalysisMuMu.cxx:2874
 AliAnalysisMuMu.cxx:2875
 AliAnalysisMuMu.cxx:2876
 AliAnalysisMuMu.cxx:2877
 AliAnalysisMuMu.cxx:2878
 AliAnalysisMuMu.cxx:2879
 AliAnalysisMuMu.cxx:2880
 AliAnalysisMuMu.cxx:2881
 AliAnalysisMuMu.cxx:2882
 AliAnalysisMuMu.cxx:2883
 AliAnalysisMuMu.cxx:2884
 AliAnalysisMuMu.cxx:2885
 AliAnalysisMuMu.cxx:2886
 AliAnalysisMuMu.cxx:2887
 AliAnalysisMuMu.cxx:2888
 AliAnalysisMuMu.cxx:2889
 AliAnalysisMuMu.cxx:2890
 AliAnalysisMuMu.cxx:2891
 AliAnalysisMuMu.cxx:2892
 AliAnalysisMuMu.cxx:2893
 AliAnalysisMuMu.cxx:2894
 AliAnalysisMuMu.cxx:2895
 AliAnalysisMuMu.cxx:2896
 AliAnalysisMuMu.cxx:2897
 AliAnalysisMuMu.cxx:2898
 AliAnalysisMuMu.cxx:2899
 AliAnalysisMuMu.cxx:2900
 AliAnalysisMuMu.cxx:2901
 AliAnalysisMuMu.cxx:2902
 AliAnalysisMuMu.cxx:2903
 AliAnalysisMuMu.cxx:2904
 AliAnalysisMuMu.cxx:2905
 AliAnalysisMuMu.cxx:2906
 AliAnalysisMuMu.cxx:2907
 AliAnalysisMuMu.cxx:2908
 AliAnalysisMuMu.cxx:2909
 AliAnalysisMuMu.cxx:2910
 AliAnalysisMuMu.cxx:2911
 AliAnalysisMuMu.cxx:2912
 AliAnalysisMuMu.cxx:2913
 AliAnalysisMuMu.cxx:2914
 AliAnalysisMuMu.cxx:2915
 AliAnalysisMuMu.cxx:2916
 AliAnalysisMuMu.cxx:2917
 AliAnalysisMuMu.cxx:2918
 AliAnalysisMuMu.cxx:2919
 AliAnalysisMuMu.cxx:2920
 AliAnalysisMuMu.cxx:2921
 AliAnalysisMuMu.cxx:2922
 AliAnalysisMuMu.cxx:2923
 AliAnalysisMuMu.cxx:2924
 AliAnalysisMuMu.cxx:2925
 AliAnalysisMuMu.cxx:2926
 AliAnalysisMuMu.cxx:2927
 AliAnalysisMuMu.cxx:2928
 AliAnalysisMuMu.cxx:2929
 AliAnalysisMuMu.cxx:2930
 AliAnalysisMuMu.cxx:2931
 AliAnalysisMuMu.cxx:2932
 AliAnalysisMuMu.cxx:2933
 AliAnalysisMuMu.cxx:2934
 AliAnalysisMuMu.cxx:2935
 AliAnalysisMuMu.cxx:2936
 AliAnalysisMuMu.cxx:2937
 AliAnalysisMuMu.cxx:2938
 AliAnalysisMuMu.cxx:2939
 AliAnalysisMuMu.cxx:2940
 AliAnalysisMuMu.cxx:2941
 AliAnalysisMuMu.cxx:2942
 AliAnalysisMuMu.cxx:2943
 AliAnalysisMuMu.cxx:2944
 AliAnalysisMuMu.cxx:2945
 AliAnalysisMuMu.cxx:2946
 AliAnalysisMuMu.cxx:2947
 AliAnalysisMuMu.cxx:2948
 AliAnalysisMuMu.cxx:2949
 AliAnalysisMuMu.cxx:2950
 AliAnalysisMuMu.cxx:2951
 AliAnalysisMuMu.cxx:2952
 AliAnalysisMuMu.cxx:2953
 AliAnalysisMuMu.cxx:2954
 AliAnalysisMuMu.cxx:2955
 AliAnalysisMuMu.cxx:2956
 AliAnalysisMuMu.cxx:2957
 AliAnalysisMuMu.cxx:2958
 AliAnalysisMuMu.cxx:2959
 AliAnalysisMuMu.cxx:2960
 AliAnalysisMuMu.cxx:2961
 AliAnalysisMuMu.cxx:2962
 AliAnalysisMuMu.cxx:2963
 AliAnalysisMuMu.cxx:2964
 AliAnalysisMuMu.cxx:2965
 AliAnalysisMuMu.cxx:2966
 AliAnalysisMuMu.cxx:2967
 AliAnalysisMuMu.cxx:2968
 AliAnalysisMuMu.cxx:2969
 AliAnalysisMuMu.cxx:2970
 AliAnalysisMuMu.cxx:2971
 AliAnalysisMuMu.cxx:2972
 AliAnalysisMuMu.cxx:2973
 AliAnalysisMuMu.cxx:2974
 AliAnalysisMuMu.cxx:2975
 AliAnalysisMuMu.cxx:2976
 AliAnalysisMuMu.cxx:2977
 AliAnalysisMuMu.cxx:2978
 AliAnalysisMuMu.cxx:2979
 AliAnalysisMuMu.cxx:2980
 AliAnalysisMuMu.cxx:2981
 AliAnalysisMuMu.cxx:2982
 AliAnalysisMuMu.cxx:2983
 AliAnalysisMuMu.cxx:2984
 AliAnalysisMuMu.cxx:2985
 AliAnalysisMuMu.cxx:2986
 AliAnalysisMuMu.cxx:2987
 AliAnalysisMuMu.cxx:2988
 AliAnalysisMuMu.cxx:2989
 AliAnalysisMuMu.cxx:2990
 AliAnalysisMuMu.cxx:2991
 AliAnalysisMuMu.cxx:2992
 AliAnalysisMuMu.cxx:2993
 AliAnalysisMuMu.cxx:2994
 AliAnalysisMuMu.cxx:2995
 AliAnalysisMuMu.cxx:2996
 AliAnalysisMuMu.cxx:2997
 AliAnalysisMuMu.cxx:2998
 AliAnalysisMuMu.cxx:2999
 AliAnalysisMuMu.cxx:3000
 AliAnalysisMuMu.cxx:3001
 AliAnalysisMuMu.cxx:3002
 AliAnalysisMuMu.cxx:3003
 AliAnalysisMuMu.cxx:3004
 AliAnalysisMuMu.cxx:3005
 AliAnalysisMuMu.cxx:3006
 AliAnalysisMuMu.cxx:3007
 AliAnalysisMuMu.cxx:3008
 AliAnalysisMuMu.cxx:3009
 AliAnalysisMuMu.cxx:3010
 AliAnalysisMuMu.cxx:3011
 AliAnalysisMuMu.cxx:3012
 AliAnalysisMuMu.cxx:3013
 AliAnalysisMuMu.cxx:3014
 AliAnalysisMuMu.cxx:3015
 AliAnalysisMuMu.cxx:3016
 AliAnalysisMuMu.cxx:3017
 AliAnalysisMuMu.cxx:3018
 AliAnalysisMuMu.cxx:3019
 AliAnalysisMuMu.cxx:3020
 AliAnalysisMuMu.cxx:3021
 AliAnalysisMuMu.cxx:3022
 AliAnalysisMuMu.cxx:3023
 AliAnalysisMuMu.cxx:3024
 AliAnalysisMuMu.cxx:3025
 AliAnalysisMuMu.cxx:3026
 AliAnalysisMuMu.cxx:3027
 AliAnalysisMuMu.cxx:3028
 AliAnalysisMuMu.cxx:3029
 AliAnalysisMuMu.cxx:3030
 AliAnalysisMuMu.cxx:3031
 AliAnalysisMuMu.cxx:3032
 AliAnalysisMuMu.cxx:3033
 AliAnalysisMuMu.cxx:3034
 AliAnalysisMuMu.cxx:3035
 AliAnalysisMuMu.cxx:3036
 AliAnalysisMuMu.cxx:3037
 AliAnalysisMuMu.cxx:3038
 AliAnalysisMuMu.cxx:3039
 AliAnalysisMuMu.cxx:3040
 AliAnalysisMuMu.cxx:3041
 AliAnalysisMuMu.cxx:3042
 AliAnalysisMuMu.cxx:3043
 AliAnalysisMuMu.cxx:3044
 AliAnalysisMuMu.cxx:3045
 AliAnalysisMuMu.cxx:3046
 AliAnalysisMuMu.cxx:3047
 AliAnalysisMuMu.cxx:3048
 AliAnalysisMuMu.cxx:3049
 AliAnalysisMuMu.cxx:3050
 AliAnalysisMuMu.cxx:3051
 AliAnalysisMuMu.cxx:3052
 AliAnalysisMuMu.cxx:3053
 AliAnalysisMuMu.cxx:3054
 AliAnalysisMuMu.cxx:3055
 AliAnalysisMuMu.cxx:3056
 AliAnalysisMuMu.cxx:3057
 AliAnalysisMuMu.cxx:3058
 AliAnalysisMuMu.cxx:3059
 AliAnalysisMuMu.cxx:3060
 AliAnalysisMuMu.cxx:3061
 AliAnalysisMuMu.cxx:3062
 AliAnalysisMuMu.cxx:3063
 AliAnalysisMuMu.cxx:3064
 AliAnalysisMuMu.cxx:3065
 AliAnalysisMuMu.cxx:3066
 AliAnalysisMuMu.cxx:3067
 AliAnalysisMuMu.cxx:3068
 AliAnalysisMuMu.cxx:3069
 AliAnalysisMuMu.cxx:3070
 AliAnalysisMuMu.cxx:3071
 AliAnalysisMuMu.cxx:3072
 AliAnalysisMuMu.cxx:3073
 AliAnalysisMuMu.cxx:3074
 AliAnalysisMuMu.cxx:3075
 AliAnalysisMuMu.cxx:3076
 AliAnalysisMuMu.cxx:3077
 AliAnalysisMuMu.cxx:3078
 AliAnalysisMuMu.cxx:3079
 AliAnalysisMuMu.cxx:3080
 AliAnalysisMuMu.cxx:3081
 AliAnalysisMuMu.cxx:3082
 AliAnalysisMuMu.cxx:3083
 AliAnalysisMuMu.cxx:3084
 AliAnalysisMuMu.cxx:3085
 AliAnalysisMuMu.cxx:3086
 AliAnalysisMuMu.cxx:3087
 AliAnalysisMuMu.cxx:3088
 AliAnalysisMuMu.cxx:3089
 AliAnalysisMuMu.cxx:3090
 AliAnalysisMuMu.cxx:3091
 AliAnalysisMuMu.cxx:3092
 AliAnalysisMuMu.cxx:3093
 AliAnalysisMuMu.cxx:3094
 AliAnalysisMuMu.cxx:3095
 AliAnalysisMuMu.cxx:3096
 AliAnalysisMuMu.cxx:3097
 AliAnalysisMuMu.cxx:3098
 AliAnalysisMuMu.cxx:3099
 AliAnalysisMuMu.cxx:3100
 AliAnalysisMuMu.cxx:3101
 AliAnalysisMuMu.cxx:3102
 AliAnalysisMuMu.cxx:3103
 AliAnalysisMuMu.cxx:3104
 AliAnalysisMuMu.cxx:3105
 AliAnalysisMuMu.cxx:3106
 AliAnalysisMuMu.cxx:3107
 AliAnalysisMuMu.cxx:3108
 AliAnalysisMuMu.cxx:3109
 AliAnalysisMuMu.cxx:3110
 AliAnalysisMuMu.cxx:3111
 AliAnalysisMuMu.cxx:3112
 AliAnalysisMuMu.cxx:3113
 AliAnalysisMuMu.cxx:3114
 AliAnalysisMuMu.cxx:3115
 AliAnalysisMuMu.cxx:3116
 AliAnalysisMuMu.cxx:3117
 AliAnalysisMuMu.cxx:3118
 AliAnalysisMuMu.cxx:3119
 AliAnalysisMuMu.cxx:3120
 AliAnalysisMuMu.cxx:3121
 AliAnalysisMuMu.cxx:3122
 AliAnalysisMuMu.cxx:3123
 AliAnalysisMuMu.cxx:3124
 AliAnalysisMuMu.cxx:3125
 AliAnalysisMuMu.cxx:3126
 AliAnalysisMuMu.cxx:3127
 AliAnalysisMuMu.cxx:3128
 AliAnalysisMuMu.cxx:3129
 AliAnalysisMuMu.cxx:3130
 AliAnalysisMuMu.cxx:3131
 AliAnalysisMuMu.cxx:3132
 AliAnalysisMuMu.cxx:3133
 AliAnalysisMuMu.cxx:3134
 AliAnalysisMuMu.cxx:3135
 AliAnalysisMuMu.cxx:3136
 AliAnalysisMuMu.cxx:3137
 AliAnalysisMuMu.cxx:3138
 AliAnalysisMuMu.cxx:3139
 AliAnalysisMuMu.cxx:3140
 AliAnalysisMuMu.cxx:3141
 AliAnalysisMuMu.cxx:3142
 AliAnalysisMuMu.cxx:3143
 AliAnalysisMuMu.cxx:3144
 AliAnalysisMuMu.cxx:3145
 AliAnalysisMuMu.cxx:3146
 AliAnalysisMuMu.cxx:3147
 AliAnalysisMuMu.cxx:3148
 AliAnalysisMuMu.cxx:3149
 AliAnalysisMuMu.cxx:3150
 AliAnalysisMuMu.cxx:3151
 AliAnalysisMuMu.cxx:3152
 AliAnalysisMuMu.cxx:3153
 AliAnalysisMuMu.cxx:3154
 AliAnalysisMuMu.cxx:3155
 AliAnalysisMuMu.cxx:3156
 AliAnalysisMuMu.cxx:3157
 AliAnalysisMuMu.cxx:3158
 AliAnalysisMuMu.cxx:3159
 AliAnalysisMuMu.cxx:3160
 AliAnalysisMuMu.cxx:3161
 AliAnalysisMuMu.cxx:3162
 AliAnalysisMuMu.cxx:3163
 AliAnalysisMuMu.cxx:3164
 AliAnalysisMuMu.cxx:3165
 AliAnalysisMuMu.cxx:3166
 AliAnalysisMuMu.cxx:3167
 AliAnalysisMuMu.cxx:3168
 AliAnalysisMuMu.cxx:3169
 AliAnalysisMuMu.cxx:3170
 AliAnalysisMuMu.cxx:3171
 AliAnalysisMuMu.cxx:3172
 AliAnalysisMuMu.cxx:3173
 AliAnalysisMuMu.cxx:3174
 AliAnalysisMuMu.cxx:3175
 AliAnalysisMuMu.cxx:3176
 AliAnalysisMuMu.cxx:3177
 AliAnalysisMuMu.cxx:3178
 AliAnalysisMuMu.cxx:3179
 AliAnalysisMuMu.cxx:3180
 AliAnalysisMuMu.cxx:3181
 AliAnalysisMuMu.cxx:3182
 AliAnalysisMuMu.cxx:3183
 AliAnalysisMuMu.cxx:3184
 AliAnalysisMuMu.cxx:3185
 AliAnalysisMuMu.cxx:3186
 AliAnalysisMuMu.cxx:3187
 AliAnalysisMuMu.cxx:3188
 AliAnalysisMuMu.cxx:3189
 AliAnalysisMuMu.cxx:3190
 AliAnalysisMuMu.cxx:3191
 AliAnalysisMuMu.cxx:3192
 AliAnalysisMuMu.cxx:3193
 AliAnalysisMuMu.cxx:3194
 AliAnalysisMuMu.cxx:3195
 AliAnalysisMuMu.cxx:3196
 AliAnalysisMuMu.cxx:3197
 AliAnalysisMuMu.cxx:3198
 AliAnalysisMuMu.cxx:3199
 AliAnalysisMuMu.cxx:3200
 AliAnalysisMuMu.cxx:3201
 AliAnalysisMuMu.cxx:3202
 AliAnalysisMuMu.cxx:3203
 AliAnalysisMuMu.cxx:3204
 AliAnalysisMuMu.cxx:3205
 AliAnalysisMuMu.cxx:3206
 AliAnalysisMuMu.cxx:3207
 AliAnalysisMuMu.cxx:3208
 AliAnalysisMuMu.cxx:3209
 AliAnalysisMuMu.cxx:3210
 AliAnalysisMuMu.cxx:3211
 AliAnalysisMuMu.cxx:3212
 AliAnalysisMuMu.cxx:3213
 AliAnalysisMuMu.cxx:3214
 AliAnalysisMuMu.cxx:3215
 AliAnalysisMuMu.cxx:3216
 AliAnalysisMuMu.cxx:3217
 AliAnalysisMuMu.cxx:3218
 AliAnalysisMuMu.cxx:3219
 AliAnalysisMuMu.cxx:3220
 AliAnalysisMuMu.cxx:3221
 AliAnalysisMuMu.cxx:3222
 AliAnalysisMuMu.cxx:3223
 AliAnalysisMuMu.cxx:3224
 AliAnalysisMuMu.cxx:3225
 AliAnalysisMuMu.cxx:3226
 AliAnalysisMuMu.cxx:3227
 AliAnalysisMuMu.cxx:3228
 AliAnalysisMuMu.cxx:3229
 AliAnalysisMuMu.cxx:3230
 AliAnalysisMuMu.cxx:3231
 AliAnalysisMuMu.cxx:3232
 AliAnalysisMuMu.cxx:3233
 AliAnalysisMuMu.cxx:3234
 AliAnalysisMuMu.cxx:3235
 AliAnalysisMuMu.cxx:3236
 AliAnalysisMuMu.cxx:3237
 AliAnalysisMuMu.cxx:3238
 AliAnalysisMuMu.cxx:3239
 AliAnalysisMuMu.cxx:3240
 AliAnalysisMuMu.cxx:3241
 AliAnalysisMuMu.cxx:3242
 AliAnalysisMuMu.cxx:3243
 AliAnalysisMuMu.cxx:3244
 AliAnalysisMuMu.cxx:3245
 AliAnalysisMuMu.cxx:3246
 AliAnalysisMuMu.cxx:3247
 AliAnalysisMuMu.cxx:3248
 AliAnalysisMuMu.cxx:3249
 AliAnalysisMuMu.cxx:3250
 AliAnalysisMuMu.cxx:3251
 AliAnalysisMuMu.cxx:3252
 AliAnalysisMuMu.cxx:3253
 AliAnalysisMuMu.cxx:3254
 AliAnalysisMuMu.cxx:3255
 AliAnalysisMuMu.cxx:3256
 AliAnalysisMuMu.cxx:3257
 AliAnalysisMuMu.cxx:3258
 AliAnalysisMuMu.cxx:3259
 AliAnalysisMuMu.cxx:3260
 AliAnalysisMuMu.cxx:3261
 AliAnalysisMuMu.cxx:3262
 AliAnalysisMuMu.cxx:3263
 AliAnalysisMuMu.cxx:3264
 AliAnalysisMuMu.cxx:3265
 AliAnalysisMuMu.cxx:3266
 AliAnalysisMuMu.cxx:3267
 AliAnalysisMuMu.cxx:3268
 AliAnalysisMuMu.cxx:3269
 AliAnalysisMuMu.cxx:3270
 AliAnalysisMuMu.cxx:3271
 AliAnalysisMuMu.cxx:3272
 AliAnalysisMuMu.cxx:3273
 AliAnalysisMuMu.cxx:3274
 AliAnalysisMuMu.cxx:3275
 AliAnalysisMuMu.cxx:3276
 AliAnalysisMuMu.cxx:3277
 AliAnalysisMuMu.cxx:3278
 AliAnalysisMuMu.cxx:3279
 AliAnalysisMuMu.cxx:3280
 AliAnalysisMuMu.cxx:3281
 AliAnalysisMuMu.cxx:3282
 AliAnalysisMuMu.cxx:3283
 AliAnalysisMuMu.cxx:3284
 AliAnalysisMuMu.cxx:3285
 AliAnalysisMuMu.cxx:3286
 AliAnalysisMuMu.cxx:3287
 AliAnalysisMuMu.cxx:3288
 AliAnalysisMuMu.cxx:3289
 AliAnalysisMuMu.cxx:3290
 AliAnalysisMuMu.cxx:3291
 AliAnalysisMuMu.cxx:3292
 AliAnalysisMuMu.cxx:3293
 AliAnalysisMuMu.cxx:3294
 AliAnalysisMuMu.cxx:3295
 AliAnalysisMuMu.cxx:3296
 AliAnalysisMuMu.cxx:3297
 AliAnalysisMuMu.cxx:3298
 AliAnalysisMuMu.cxx:3299
 AliAnalysisMuMu.cxx:3300
 AliAnalysisMuMu.cxx:3301
 AliAnalysisMuMu.cxx:3302
 AliAnalysisMuMu.cxx:3303
 AliAnalysisMuMu.cxx:3304
 AliAnalysisMuMu.cxx:3305
 AliAnalysisMuMu.cxx:3306
 AliAnalysisMuMu.cxx:3307
 AliAnalysisMuMu.cxx:3308
 AliAnalysisMuMu.cxx:3309
 AliAnalysisMuMu.cxx:3310
 AliAnalysisMuMu.cxx:3311
 AliAnalysisMuMu.cxx:3312
 AliAnalysisMuMu.cxx:3313
 AliAnalysisMuMu.cxx:3314
 AliAnalysisMuMu.cxx:3315
 AliAnalysisMuMu.cxx:3316
 AliAnalysisMuMu.cxx:3317
 AliAnalysisMuMu.cxx:3318
 AliAnalysisMuMu.cxx:3319
 AliAnalysisMuMu.cxx:3320
 AliAnalysisMuMu.cxx:3321
 AliAnalysisMuMu.cxx:3322
 AliAnalysisMuMu.cxx:3323
 AliAnalysisMuMu.cxx:3324
 AliAnalysisMuMu.cxx:3325
 AliAnalysisMuMu.cxx:3326
 AliAnalysisMuMu.cxx:3327
 AliAnalysisMuMu.cxx:3328
 AliAnalysisMuMu.cxx:3329
 AliAnalysisMuMu.cxx:3330
 AliAnalysisMuMu.cxx:3331
 AliAnalysisMuMu.cxx:3332
 AliAnalysisMuMu.cxx:3333
 AliAnalysisMuMu.cxx:3334
 AliAnalysisMuMu.cxx:3335
 AliAnalysisMuMu.cxx:3336
 AliAnalysisMuMu.cxx:3337
 AliAnalysisMuMu.cxx:3338
 AliAnalysisMuMu.cxx:3339
 AliAnalysisMuMu.cxx:3340
 AliAnalysisMuMu.cxx:3341
 AliAnalysisMuMu.cxx:3342
 AliAnalysisMuMu.cxx:3343
 AliAnalysisMuMu.cxx:3344
 AliAnalysisMuMu.cxx:3345
 AliAnalysisMuMu.cxx:3346
 AliAnalysisMuMu.cxx:3347
 AliAnalysisMuMu.cxx:3348
 AliAnalysisMuMu.cxx:3349
 AliAnalysisMuMu.cxx:3350
 AliAnalysisMuMu.cxx:3351
 AliAnalysisMuMu.cxx:3352
 AliAnalysisMuMu.cxx:3353
 AliAnalysisMuMu.cxx:3354
 AliAnalysisMuMu.cxx:3355
 AliAnalysisMuMu.cxx:3356
 AliAnalysisMuMu.cxx:3357
 AliAnalysisMuMu.cxx:3358
 AliAnalysisMuMu.cxx:3359
 AliAnalysisMuMu.cxx:3360
 AliAnalysisMuMu.cxx:3361
 AliAnalysisMuMu.cxx:3362
 AliAnalysisMuMu.cxx:3363
 AliAnalysisMuMu.cxx:3364
 AliAnalysisMuMu.cxx:3365
 AliAnalysisMuMu.cxx:3366
 AliAnalysisMuMu.cxx:3367
 AliAnalysisMuMu.cxx:3368
 AliAnalysisMuMu.cxx:3369
 AliAnalysisMuMu.cxx:3370
 AliAnalysisMuMu.cxx:3371
 AliAnalysisMuMu.cxx:3372
 AliAnalysisMuMu.cxx:3373
 AliAnalysisMuMu.cxx:3374
 AliAnalysisMuMu.cxx:3375
 AliAnalysisMuMu.cxx:3376
 AliAnalysisMuMu.cxx:3377
 AliAnalysisMuMu.cxx:3378
 AliAnalysisMuMu.cxx:3379
 AliAnalysisMuMu.cxx:3380
 AliAnalysisMuMu.cxx:3381
 AliAnalysisMuMu.cxx:3382
 AliAnalysisMuMu.cxx:3383
 AliAnalysisMuMu.cxx:3384
 AliAnalysisMuMu.cxx:3385
 AliAnalysisMuMu.cxx:3386
 AliAnalysisMuMu.cxx:3387
 AliAnalysisMuMu.cxx:3388
 AliAnalysisMuMu.cxx:3389
 AliAnalysisMuMu.cxx:3390
 AliAnalysisMuMu.cxx:3391
 AliAnalysisMuMu.cxx:3392
 AliAnalysisMuMu.cxx:3393
 AliAnalysisMuMu.cxx:3394
 AliAnalysisMuMu.cxx:3395
 AliAnalysisMuMu.cxx:3396
 AliAnalysisMuMu.cxx:3397
 AliAnalysisMuMu.cxx:3398
 AliAnalysisMuMu.cxx:3399
 AliAnalysisMuMu.cxx:3400
 AliAnalysisMuMu.cxx:3401
 AliAnalysisMuMu.cxx:3402
 AliAnalysisMuMu.cxx:3403
 AliAnalysisMuMu.cxx:3404
 AliAnalysisMuMu.cxx:3405
 AliAnalysisMuMu.cxx:3406
 AliAnalysisMuMu.cxx:3407
 AliAnalysisMuMu.cxx:3408
 AliAnalysisMuMu.cxx:3409
 AliAnalysisMuMu.cxx:3410
 AliAnalysisMuMu.cxx:3411
 AliAnalysisMuMu.cxx:3412
 AliAnalysisMuMu.cxx:3413
 AliAnalysisMuMu.cxx:3414
 AliAnalysisMuMu.cxx:3415
 AliAnalysisMuMu.cxx:3416
 AliAnalysisMuMu.cxx:3417
 AliAnalysisMuMu.cxx:3418
 AliAnalysisMuMu.cxx:3419
 AliAnalysisMuMu.cxx:3420
 AliAnalysisMuMu.cxx:3421
 AliAnalysisMuMu.cxx:3422
 AliAnalysisMuMu.cxx:3423
 AliAnalysisMuMu.cxx:3424
 AliAnalysisMuMu.cxx:3425
 AliAnalysisMuMu.cxx:3426
 AliAnalysisMuMu.cxx:3427
 AliAnalysisMuMu.cxx:3428
 AliAnalysisMuMu.cxx:3429
 AliAnalysisMuMu.cxx:3430
 AliAnalysisMuMu.cxx:3431
 AliAnalysisMuMu.cxx:3432
 AliAnalysisMuMu.cxx:3433
 AliAnalysisMuMu.cxx:3434
 AliAnalysisMuMu.cxx:3435
 AliAnalysisMuMu.cxx:3436
 AliAnalysisMuMu.cxx:3437
 AliAnalysisMuMu.cxx:3438
 AliAnalysisMuMu.cxx:3439
 AliAnalysisMuMu.cxx:3440
 AliAnalysisMuMu.cxx:3441
 AliAnalysisMuMu.cxx:3442
 AliAnalysisMuMu.cxx:3443
 AliAnalysisMuMu.cxx:3444
 AliAnalysisMuMu.cxx:3445
 AliAnalysisMuMu.cxx:3446
 AliAnalysisMuMu.cxx:3447
 AliAnalysisMuMu.cxx:3448
 AliAnalysisMuMu.cxx:3449
 AliAnalysisMuMu.cxx:3450
 AliAnalysisMuMu.cxx:3451
 AliAnalysisMuMu.cxx:3452
 AliAnalysisMuMu.cxx:3453
 AliAnalysisMuMu.cxx:3454
 AliAnalysisMuMu.cxx:3455
 AliAnalysisMuMu.cxx:3456
 AliAnalysisMuMu.cxx:3457
 AliAnalysisMuMu.cxx:3458
 AliAnalysisMuMu.cxx:3459
 AliAnalysisMuMu.cxx:3460
 AliAnalysisMuMu.cxx:3461
 AliAnalysisMuMu.cxx:3462
 AliAnalysisMuMu.cxx:3463
 AliAnalysisMuMu.cxx:3464
 AliAnalysisMuMu.cxx:3465
 AliAnalysisMuMu.cxx:3466
 AliAnalysisMuMu.cxx:3467
 AliAnalysisMuMu.cxx:3468
 AliAnalysisMuMu.cxx:3469
 AliAnalysisMuMu.cxx:3470
 AliAnalysisMuMu.cxx:3471
 AliAnalysisMuMu.cxx:3472
 AliAnalysisMuMu.cxx:3473
 AliAnalysisMuMu.cxx:3474
 AliAnalysisMuMu.cxx:3475
 AliAnalysisMuMu.cxx:3476
 AliAnalysisMuMu.cxx:3477
 AliAnalysisMuMu.cxx:3478
 AliAnalysisMuMu.cxx:3479
 AliAnalysisMuMu.cxx:3480
 AliAnalysisMuMu.cxx:3481
 AliAnalysisMuMu.cxx:3482
 AliAnalysisMuMu.cxx:3483
 AliAnalysisMuMu.cxx:3484
 AliAnalysisMuMu.cxx:3485
 AliAnalysisMuMu.cxx:3486
 AliAnalysisMuMu.cxx:3487
 AliAnalysisMuMu.cxx:3488
 AliAnalysisMuMu.cxx:3489
 AliAnalysisMuMu.cxx:3490
 AliAnalysisMuMu.cxx:3491
 AliAnalysisMuMu.cxx:3492
 AliAnalysisMuMu.cxx:3493
 AliAnalysisMuMu.cxx:3494
 AliAnalysisMuMu.cxx:3495
 AliAnalysisMuMu.cxx:3496
 AliAnalysisMuMu.cxx:3497
 AliAnalysisMuMu.cxx:3498
 AliAnalysisMuMu.cxx:3499
 AliAnalysisMuMu.cxx:3500
 AliAnalysisMuMu.cxx:3501
 AliAnalysisMuMu.cxx:3502
 AliAnalysisMuMu.cxx:3503
 AliAnalysisMuMu.cxx:3504
 AliAnalysisMuMu.cxx:3505
 AliAnalysisMuMu.cxx:3506
 AliAnalysisMuMu.cxx:3507
 AliAnalysisMuMu.cxx:3508
 AliAnalysisMuMu.cxx:3509
 AliAnalysisMuMu.cxx:3510
 AliAnalysisMuMu.cxx:3511
 AliAnalysisMuMu.cxx:3512
 AliAnalysisMuMu.cxx:3513
 AliAnalysisMuMu.cxx:3514
 AliAnalysisMuMu.cxx:3515
 AliAnalysisMuMu.cxx:3516
 AliAnalysisMuMu.cxx:3517
 AliAnalysisMuMu.cxx:3518
 AliAnalysisMuMu.cxx:3519
 AliAnalysisMuMu.cxx:3520
 AliAnalysisMuMu.cxx:3521
 AliAnalysisMuMu.cxx:3522
 AliAnalysisMuMu.cxx:3523
 AliAnalysisMuMu.cxx:3524
 AliAnalysisMuMu.cxx:3525
 AliAnalysisMuMu.cxx:3526
 AliAnalysisMuMu.cxx:3527
 AliAnalysisMuMu.cxx:3528
 AliAnalysisMuMu.cxx:3529
 AliAnalysisMuMu.cxx:3530
 AliAnalysisMuMu.cxx:3531
 AliAnalysisMuMu.cxx:3532
 AliAnalysisMuMu.cxx:3533
 AliAnalysisMuMu.cxx:3534
 AliAnalysisMuMu.cxx:3535
 AliAnalysisMuMu.cxx:3536
 AliAnalysisMuMu.cxx:3537
 AliAnalysisMuMu.cxx:3538
 AliAnalysisMuMu.cxx:3539
 AliAnalysisMuMu.cxx:3540
 AliAnalysisMuMu.cxx:3541
 AliAnalysisMuMu.cxx:3542
 AliAnalysisMuMu.cxx:3543
 AliAnalysisMuMu.cxx:3544
 AliAnalysisMuMu.cxx:3545
 AliAnalysisMuMu.cxx:3546
 AliAnalysisMuMu.cxx:3547
 AliAnalysisMuMu.cxx:3548
 AliAnalysisMuMu.cxx:3549
 AliAnalysisMuMu.cxx:3550
 AliAnalysisMuMu.cxx:3551
 AliAnalysisMuMu.cxx:3552
 AliAnalysisMuMu.cxx:3553
 AliAnalysisMuMu.cxx:3554
 AliAnalysisMuMu.cxx:3555
 AliAnalysisMuMu.cxx:3556
 AliAnalysisMuMu.cxx:3557
 AliAnalysisMuMu.cxx:3558
 AliAnalysisMuMu.cxx:3559
 AliAnalysisMuMu.cxx:3560
 AliAnalysisMuMu.cxx:3561
 AliAnalysisMuMu.cxx:3562
 AliAnalysisMuMu.cxx:3563
 AliAnalysisMuMu.cxx:3564
 AliAnalysisMuMu.cxx:3565
 AliAnalysisMuMu.cxx:3566
 AliAnalysisMuMu.cxx:3567
 AliAnalysisMuMu.cxx:3568
 AliAnalysisMuMu.cxx:3569
 AliAnalysisMuMu.cxx:3570
 AliAnalysisMuMu.cxx:3571
 AliAnalysisMuMu.cxx:3572
 AliAnalysisMuMu.cxx:3573
 AliAnalysisMuMu.cxx:3574
 AliAnalysisMuMu.cxx:3575
 AliAnalysisMuMu.cxx:3576
 AliAnalysisMuMu.cxx:3577
 AliAnalysisMuMu.cxx:3578
 AliAnalysisMuMu.cxx:3579
 AliAnalysisMuMu.cxx:3580
 AliAnalysisMuMu.cxx:3581
 AliAnalysisMuMu.cxx:3582
 AliAnalysisMuMu.cxx:3583
 AliAnalysisMuMu.cxx:3584
 AliAnalysisMuMu.cxx:3585
 AliAnalysisMuMu.cxx:3586
 AliAnalysisMuMu.cxx:3587
 AliAnalysisMuMu.cxx:3588
 AliAnalysisMuMu.cxx:3589
 AliAnalysisMuMu.cxx:3590
 AliAnalysisMuMu.cxx:3591
 AliAnalysisMuMu.cxx:3592
 AliAnalysisMuMu.cxx:3593
 AliAnalysisMuMu.cxx:3594
 AliAnalysisMuMu.cxx:3595
 AliAnalysisMuMu.cxx:3596
 AliAnalysisMuMu.cxx:3597
 AliAnalysisMuMu.cxx:3598
 AliAnalysisMuMu.cxx:3599
 AliAnalysisMuMu.cxx:3600
 AliAnalysisMuMu.cxx:3601
 AliAnalysisMuMu.cxx:3602
 AliAnalysisMuMu.cxx:3603
 AliAnalysisMuMu.cxx:3604
 AliAnalysisMuMu.cxx:3605
 AliAnalysisMuMu.cxx:3606
 AliAnalysisMuMu.cxx:3607
 AliAnalysisMuMu.cxx:3608
 AliAnalysisMuMu.cxx:3609
 AliAnalysisMuMu.cxx:3610
 AliAnalysisMuMu.cxx:3611
 AliAnalysisMuMu.cxx:3612
 AliAnalysisMuMu.cxx:3613
 AliAnalysisMuMu.cxx:3614
 AliAnalysisMuMu.cxx:3615
 AliAnalysisMuMu.cxx:3616
 AliAnalysisMuMu.cxx:3617
 AliAnalysisMuMu.cxx:3618
 AliAnalysisMuMu.cxx:3619
 AliAnalysisMuMu.cxx:3620
 AliAnalysisMuMu.cxx:3621
 AliAnalysisMuMu.cxx:3622
 AliAnalysisMuMu.cxx:3623
 AliAnalysisMuMu.cxx:3624
 AliAnalysisMuMu.cxx:3625
 AliAnalysisMuMu.cxx:3626
 AliAnalysisMuMu.cxx:3627
 AliAnalysisMuMu.cxx:3628
 AliAnalysisMuMu.cxx:3629
 AliAnalysisMuMu.cxx:3630
 AliAnalysisMuMu.cxx:3631
 AliAnalysisMuMu.cxx:3632
 AliAnalysisMuMu.cxx:3633
 AliAnalysisMuMu.cxx:3634
 AliAnalysisMuMu.cxx:3635
 AliAnalysisMuMu.cxx:3636
 AliAnalysisMuMu.cxx:3637
 AliAnalysisMuMu.cxx:3638
 AliAnalysisMuMu.cxx:3639
 AliAnalysisMuMu.cxx:3640
 AliAnalysisMuMu.cxx:3641
 AliAnalysisMuMu.cxx:3642
 AliAnalysisMuMu.cxx:3643
 AliAnalysisMuMu.cxx:3644
 AliAnalysisMuMu.cxx:3645
 AliAnalysisMuMu.cxx:3646
 AliAnalysisMuMu.cxx:3647
 AliAnalysisMuMu.cxx:3648
 AliAnalysisMuMu.cxx:3649
 AliAnalysisMuMu.cxx:3650
 AliAnalysisMuMu.cxx:3651
 AliAnalysisMuMu.cxx:3652
 AliAnalysisMuMu.cxx:3653
 AliAnalysisMuMu.cxx:3654
 AliAnalysisMuMu.cxx:3655
 AliAnalysisMuMu.cxx:3656
 AliAnalysisMuMu.cxx:3657
 AliAnalysisMuMu.cxx:3658
 AliAnalysisMuMu.cxx:3659
 AliAnalysisMuMu.cxx:3660
 AliAnalysisMuMu.cxx:3661
 AliAnalysisMuMu.cxx:3662
 AliAnalysisMuMu.cxx:3663
 AliAnalysisMuMu.cxx:3664
 AliAnalysisMuMu.cxx:3665
 AliAnalysisMuMu.cxx:3666
 AliAnalysisMuMu.cxx:3667
 AliAnalysisMuMu.cxx:3668
 AliAnalysisMuMu.cxx:3669
 AliAnalysisMuMu.cxx:3670
 AliAnalysisMuMu.cxx:3671
 AliAnalysisMuMu.cxx:3672
 AliAnalysisMuMu.cxx:3673
 AliAnalysisMuMu.cxx:3674
 AliAnalysisMuMu.cxx:3675
 AliAnalysisMuMu.cxx:3676
 AliAnalysisMuMu.cxx:3677
 AliAnalysisMuMu.cxx:3678
 AliAnalysisMuMu.cxx:3679
 AliAnalysisMuMu.cxx:3680
 AliAnalysisMuMu.cxx:3681
 AliAnalysisMuMu.cxx:3682
 AliAnalysisMuMu.cxx:3683
 AliAnalysisMuMu.cxx:3684
 AliAnalysisMuMu.cxx:3685
 AliAnalysisMuMu.cxx:3686
 AliAnalysisMuMu.cxx:3687
 AliAnalysisMuMu.cxx:3688
 AliAnalysisMuMu.cxx:3689
 AliAnalysisMuMu.cxx:3690
 AliAnalysisMuMu.cxx:3691
 AliAnalysisMuMu.cxx:3692
 AliAnalysisMuMu.cxx:3693
 AliAnalysisMuMu.cxx:3694
 AliAnalysisMuMu.cxx:3695
 AliAnalysisMuMu.cxx:3696
 AliAnalysisMuMu.cxx:3697
 AliAnalysisMuMu.cxx:3698
 AliAnalysisMuMu.cxx:3699
 AliAnalysisMuMu.cxx:3700
 AliAnalysisMuMu.cxx:3701
 AliAnalysisMuMu.cxx:3702
 AliAnalysisMuMu.cxx:3703
 AliAnalysisMuMu.cxx:3704
 AliAnalysisMuMu.cxx:3705
 AliAnalysisMuMu.cxx:3706
 AliAnalysisMuMu.cxx:3707
 AliAnalysisMuMu.cxx:3708
 AliAnalysisMuMu.cxx:3709
 AliAnalysisMuMu.cxx:3710
 AliAnalysisMuMu.cxx:3711
 AliAnalysisMuMu.cxx:3712
 AliAnalysisMuMu.cxx:3713
 AliAnalysisMuMu.cxx:3714
 AliAnalysisMuMu.cxx:3715
 AliAnalysisMuMu.cxx:3716
 AliAnalysisMuMu.cxx:3717
 AliAnalysisMuMu.cxx:3718
 AliAnalysisMuMu.cxx:3719
 AliAnalysisMuMu.cxx:3720
 AliAnalysisMuMu.cxx:3721
 AliAnalysisMuMu.cxx:3722
 AliAnalysisMuMu.cxx:3723
 AliAnalysisMuMu.cxx:3724
 AliAnalysisMuMu.cxx:3725
 AliAnalysisMuMu.cxx:3726
 AliAnalysisMuMu.cxx:3727
 AliAnalysisMuMu.cxx:3728
 AliAnalysisMuMu.cxx:3729
 AliAnalysisMuMu.cxx:3730
 AliAnalysisMuMu.cxx:3731
 AliAnalysisMuMu.cxx:3732
 AliAnalysisMuMu.cxx:3733
 AliAnalysisMuMu.cxx:3734
 AliAnalysisMuMu.cxx:3735
 AliAnalysisMuMu.cxx:3736
 AliAnalysisMuMu.cxx:3737
 AliAnalysisMuMu.cxx:3738
 AliAnalysisMuMu.cxx:3739
 AliAnalysisMuMu.cxx:3740
 AliAnalysisMuMu.cxx:3741
 AliAnalysisMuMu.cxx:3742
 AliAnalysisMuMu.cxx:3743
 AliAnalysisMuMu.cxx:3744
 AliAnalysisMuMu.cxx:3745
 AliAnalysisMuMu.cxx:3746
 AliAnalysisMuMu.cxx:3747
 AliAnalysisMuMu.cxx:3748
 AliAnalysisMuMu.cxx:3749
 AliAnalysisMuMu.cxx:3750
 AliAnalysisMuMu.cxx:3751
 AliAnalysisMuMu.cxx:3752
 AliAnalysisMuMu.cxx:3753
 AliAnalysisMuMu.cxx:3754
 AliAnalysisMuMu.cxx:3755
 AliAnalysisMuMu.cxx:3756
 AliAnalysisMuMu.cxx:3757
 AliAnalysisMuMu.cxx:3758
 AliAnalysisMuMu.cxx:3759
 AliAnalysisMuMu.cxx:3760
 AliAnalysisMuMu.cxx:3761
 AliAnalysisMuMu.cxx:3762
 AliAnalysisMuMu.cxx:3763
 AliAnalysisMuMu.cxx:3764
 AliAnalysisMuMu.cxx:3765
 AliAnalysisMuMu.cxx:3766
 AliAnalysisMuMu.cxx:3767
 AliAnalysisMuMu.cxx:3768
 AliAnalysisMuMu.cxx:3769
 AliAnalysisMuMu.cxx:3770
 AliAnalysisMuMu.cxx:3771
 AliAnalysisMuMu.cxx:3772
 AliAnalysisMuMu.cxx:3773
 AliAnalysisMuMu.cxx:3774
 AliAnalysisMuMu.cxx:3775
 AliAnalysisMuMu.cxx:3776
 AliAnalysisMuMu.cxx:3777
 AliAnalysisMuMu.cxx:3778
 AliAnalysisMuMu.cxx:3779
 AliAnalysisMuMu.cxx:3780
 AliAnalysisMuMu.cxx:3781
 AliAnalysisMuMu.cxx:3782
 AliAnalysisMuMu.cxx:3783
 AliAnalysisMuMu.cxx:3784
 AliAnalysisMuMu.cxx:3785
 AliAnalysisMuMu.cxx:3786
 AliAnalysisMuMu.cxx:3787
 AliAnalysisMuMu.cxx:3788
 AliAnalysisMuMu.cxx:3789
 AliAnalysisMuMu.cxx:3790
 AliAnalysisMuMu.cxx:3791
 AliAnalysisMuMu.cxx:3792
 AliAnalysisMuMu.cxx:3793
 AliAnalysisMuMu.cxx:3794
 AliAnalysisMuMu.cxx:3795
 AliAnalysisMuMu.cxx:3796
 AliAnalysisMuMu.cxx:3797
 AliAnalysisMuMu.cxx:3798
 AliAnalysisMuMu.cxx:3799
 AliAnalysisMuMu.cxx:3800
 AliAnalysisMuMu.cxx:3801
 AliAnalysisMuMu.cxx:3802
 AliAnalysisMuMu.cxx:3803
 AliAnalysisMuMu.cxx:3804
 AliAnalysisMuMu.cxx:3805
 AliAnalysisMuMu.cxx:3806
 AliAnalysisMuMu.cxx:3807
 AliAnalysisMuMu.cxx:3808
 AliAnalysisMuMu.cxx:3809
 AliAnalysisMuMu.cxx:3810
 AliAnalysisMuMu.cxx:3811
 AliAnalysisMuMu.cxx:3812
 AliAnalysisMuMu.cxx:3813
 AliAnalysisMuMu.cxx:3814
 AliAnalysisMuMu.cxx:3815
 AliAnalysisMuMu.cxx:3816
 AliAnalysisMuMu.cxx:3817
 AliAnalysisMuMu.cxx:3818
 AliAnalysisMuMu.cxx:3819
 AliAnalysisMuMu.cxx:3820
 AliAnalysisMuMu.cxx:3821
 AliAnalysisMuMu.cxx:3822
 AliAnalysisMuMu.cxx:3823
 AliAnalysisMuMu.cxx:3824
 AliAnalysisMuMu.cxx:3825
 AliAnalysisMuMu.cxx:3826
 AliAnalysisMuMu.cxx:3827
 AliAnalysisMuMu.cxx:3828
 AliAnalysisMuMu.cxx:3829
 AliAnalysisMuMu.cxx:3830
 AliAnalysisMuMu.cxx:3831
 AliAnalysisMuMu.cxx:3832
 AliAnalysisMuMu.cxx:3833
 AliAnalysisMuMu.cxx:3834
 AliAnalysisMuMu.cxx:3835
 AliAnalysisMuMu.cxx:3836
 AliAnalysisMuMu.cxx:3837
 AliAnalysisMuMu.cxx:3838
 AliAnalysisMuMu.cxx:3839
 AliAnalysisMuMu.cxx:3840
 AliAnalysisMuMu.cxx:3841
 AliAnalysisMuMu.cxx:3842
 AliAnalysisMuMu.cxx:3843
 AliAnalysisMuMu.cxx:3844
 AliAnalysisMuMu.cxx:3845
 AliAnalysisMuMu.cxx:3846
 AliAnalysisMuMu.cxx:3847
 AliAnalysisMuMu.cxx:3848
 AliAnalysisMuMu.cxx:3849
 AliAnalysisMuMu.cxx:3850
 AliAnalysisMuMu.cxx:3851
 AliAnalysisMuMu.cxx:3852
 AliAnalysisMuMu.cxx:3853
 AliAnalysisMuMu.cxx:3854
 AliAnalysisMuMu.cxx:3855
 AliAnalysisMuMu.cxx:3856
 AliAnalysisMuMu.cxx:3857
 AliAnalysisMuMu.cxx:3858
 AliAnalysisMuMu.cxx:3859
 AliAnalysisMuMu.cxx:3860
 AliAnalysisMuMu.cxx:3861
 AliAnalysisMuMu.cxx:3862
 AliAnalysisMuMu.cxx:3863
 AliAnalysisMuMu.cxx:3864
 AliAnalysisMuMu.cxx:3865
 AliAnalysisMuMu.cxx:3866
 AliAnalysisMuMu.cxx:3867
 AliAnalysisMuMu.cxx:3868
 AliAnalysisMuMu.cxx:3869
 AliAnalysisMuMu.cxx:3870
 AliAnalysisMuMu.cxx:3871
 AliAnalysisMuMu.cxx:3872
 AliAnalysisMuMu.cxx:3873
 AliAnalysisMuMu.cxx:3874
 AliAnalysisMuMu.cxx:3875
 AliAnalysisMuMu.cxx:3876
 AliAnalysisMuMu.cxx:3877
 AliAnalysisMuMu.cxx:3878
 AliAnalysisMuMu.cxx:3879
 AliAnalysisMuMu.cxx:3880
 AliAnalysisMuMu.cxx:3881
 AliAnalysisMuMu.cxx:3882
 AliAnalysisMuMu.cxx:3883
 AliAnalysisMuMu.cxx:3884
 AliAnalysisMuMu.cxx:3885
 AliAnalysisMuMu.cxx:3886
 AliAnalysisMuMu.cxx:3887
 AliAnalysisMuMu.cxx:3888
 AliAnalysisMuMu.cxx:3889
 AliAnalysisMuMu.cxx:3890
 AliAnalysisMuMu.cxx:3891
 AliAnalysisMuMu.cxx:3892
 AliAnalysisMuMu.cxx:3893
 AliAnalysisMuMu.cxx:3894
 AliAnalysisMuMu.cxx:3895
 AliAnalysisMuMu.cxx:3896
 AliAnalysisMuMu.cxx:3897
 AliAnalysisMuMu.cxx:3898
 AliAnalysisMuMu.cxx:3899
 AliAnalysisMuMu.cxx:3900
 AliAnalysisMuMu.cxx:3901
 AliAnalysisMuMu.cxx:3902
 AliAnalysisMuMu.cxx:3903
 AliAnalysisMuMu.cxx:3904
 AliAnalysisMuMu.cxx:3905
 AliAnalysisMuMu.cxx:3906
 AliAnalysisMuMu.cxx:3907
 AliAnalysisMuMu.cxx:3908
 AliAnalysisMuMu.cxx:3909
 AliAnalysisMuMu.cxx:3910
 AliAnalysisMuMu.cxx:3911
 AliAnalysisMuMu.cxx:3912
 AliAnalysisMuMu.cxx:3913
 AliAnalysisMuMu.cxx:3914
 AliAnalysisMuMu.cxx:3915
 AliAnalysisMuMu.cxx:3916
 AliAnalysisMuMu.cxx:3917
 AliAnalysisMuMu.cxx:3918
 AliAnalysisMuMu.cxx:3919
 AliAnalysisMuMu.cxx:3920
 AliAnalysisMuMu.cxx:3921
 AliAnalysisMuMu.cxx:3922
 AliAnalysisMuMu.cxx:3923
 AliAnalysisMuMu.cxx:3924
 AliAnalysisMuMu.cxx:3925
 AliAnalysisMuMu.cxx:3926
 AliAnalysisMuMu.cxx:3927
 AliAnalysisMuMu.cxx:3928
 AliAnalysisMuMu.cxx:3929
 AliAnalysisMuMu.cxx:3930
 AliAnalysisMuMu.cxx:3931
 AliAnalysisMuMu.cxx:3932
 AliAnalysisMuMu.cxx:3933
 AliAnalysisMuMu.cxx:3934
 AliAnalysisMuMu.cxx:3935
 AliAnalysisMuMu.cxx:3936
 AliAnalysisMuMu.cxx:3937
 AliAnalysisMuMu.cxx:3938
 AliAnalysisMuMu.cxx:3939
 AliAnalysisMuMu.cxx:3940
 AliAnalysisMuMu.cxx:3941
 AliAnalysisMuMu.cxx:3942
 AliAnalysisMuMu.cxx:3943
 AliAnalysisMuMu.cxx:3944
 AliAnalysisMuMu.cxx:3945
 AliAnalysisMuMu.cxx:3946
 AliAnalysisMuMu.cxx:3947
 AliAnalysisMuMu.cxx:3948
 AliAnalysisMuMu.cxx:3949
 AliAnalysisMuMu.cxx:3950
 AliAnalysisMuMu.cxx:3951
 AliAnalysisMuMu.cxx:3952
 AliAnalysisMuMu.cxx:3953
 AliAnalysisMuMu.cxx:3954
 AliAnalysisMuMu.cxx:3955
 AliAnalysisMuMu.cxx:3956
 AliAnalysisMuMu.cxx:3957
 AliAnalysisMuMu.cxx:3958
 AliAnalysisMuMu.cxx:3959
 AliAnalysisMuMu.cxx:3960
 AliAnalysisMuMu.cxx:3961
 AliAnalysisMuMu.cxx:3962
 AliAnalysisMuMu.cxx:3963
 AliAnalysisMuMu.cxx:3964
 AliAnalysisMuMu.cxx:3965
 AliAnalysisMuMu.cxx:3966
 AliAnalysisMuMu.cxx:3967
 AliAnalysisMuMu.cxx:3968
 AliAnalysisMuMu.cxx:3969
 AliAnalysisMuMu.cxx:3970
 AliAnalysisMuMu.cxx:3971
 AliAnalysisMuMu.cxx:3972
 AliAnalysisMuMu.cxx:3973
 AliAnalysisMuMu.cxx:3974
 AliAnalysisMuMu.cxx:3975
 AliAnalysisMuMu.cxx:3976
 AliAnalysisMuMu.cxx:3977
 AliAnalysisMuMu.cxx:3978
 AliAnalysisMuMu.cxx:3979
 AliAnalysisMuMu.cxx:3980
 AliAnalysisMuMu.cxx:3981
 AliAnalysisMuMu.cxx:3982
 AliAnalysisMuMu.cxx:3983
 AliAnalysisMuMu.cxx:3984
 AliAnalysisMuMu.cxx:3985
 AliAnalysisMuMu.cxx:3986
 AliAnalysisMuMu.cxx:3987
 AliAnalysisMuMu.cxx:3988
 AliAnalysisMuMu.cxx:3989
 AliAnalysisMuMu.cxx:3990
 AliAnalysisMuMu.cxx:3991
 AliAnalysisMuMu.cxx:3992
 AliAnalysisMuMu.cxx:3993
 AliAnalysisMuMu.cxx:3994
 AliAnalysisMuMu.cxx:3995
 AliAnalysisMuMu.cxx:3996
 AliAnalysisMuMu.cxx:3997
 AliAnalysisMuMu.cxx:3998
 AliAnalysisMuMu.cxx:3999
 AliAnalysisMuMu.cxx:4000
 AliAnalysisMuMu.cxx:4001
 AliAnalysisMuMu.cxx:4002
 AliAnalysisMuMu.cxx:4003
 AliAnalysisMuMu.cxx:4004
 AliAnalysisMuMu.cxx:4005
 AliAnalysisMuMu.cxx:4006
 AliAnalysisMuMu.cxx:4007
 AliAnalysisMuMu.cxx:4008
 AliAnalysisMuMu.cxx:4009
 AliAnalysisMuMu.cxx:4010
 AliAnalysisMuMu.cxx:4011
 AliAnalysisMuMu.cxx:4012
 AliAnalysisMuMu.cxx:4013
 AliAnalysisMuMu.cxx:4014
 AliAnalysisMuMu.cxx:4015
 AliAnalysisMuMu.cxx:4016
 AliAnalysisMuMu.cxx:4017
 AliAnalysisMuMu.cxx:4018
 AliAnalysisMuMu.cxx:4019
 AliAnalysisMuMu.cxx:4020
 AliAnalysisMuMu.cxx:4021
 AliAnalysisMuMu.cxx:4022
 AliAnalysisMuMu.cxx:4023
 AliAnalysisMuMu.cxx:4024
 AliAnalysisMuMu.cxx:4025
 AliAnalysisMuMu.cxx:4026
 AliAnalysisMuMu.cxx:4027
 AliAnalysisMuMu.cxx:4028
 AliAnalysisMuMu.cxx:4029
 AliAnalysisMuMu.cxx:4030
 AliAnalysisMuMu.cxx:4031
 AliAnalysisMuMu.cxx:4032
 AliAnalysisMuMu.cxx:4033
 AliAnalysisMuMu.cxx:4034
 AliAnalysisMuMu.cxx:4035
 AliAnalysisMuMu.cxx:4036
 AliAnalysisMuMu.cxx:4037
 AliAnalysisMuMu.cxx:4038
 AliAnalysisMuMu.cxx:4039
 AliAnalysisMuMu.cxx:4040
 AliAnalysisMuMu.cxx:4041
 AliAnalysisMuMu.cxx:4042
 AliAnalysisMuMu.cxx:4043
 AliAnalysisMuMu.cxx:4044
 AliAnalysisMuMu.cxx:4045
 AliAnalysisMuMu.cxx:4046
 AliAnalysisMuMu.cxx:4047
 AliAnalysisMuMu.cxx:4048
 AliAnalysisMuMu.cxx:4049
 AliAnalysisMuMu.cxx:4050
 AliAnalysisMuMu.cxx:4051
 AliAnalysisMuMu.cxx:4052
 AliAnalysisMuMu.cxx:4053
 AliAnalysisMuMu.cxx:4054
 AliAnalysisMuMu.cxx:4055
 AliAnalysisMuMu.cxx:4056
 AliAnalysisMuMu.cxx:4057
 AliAnalysisMuMu.cxx:4058
 AliAnalysisMuMu.cxx:4059
 AliAnalysisMuMu.cxx:4060
 AliAnalysisMuMu.cxx:4061
 AliAnalysisMuMu.cxx:4062
 AliAnalysisMuMu.cxx:4063
 AliAnalysisMuMu.cxx:4064
 AliAnalysisMuMu.cxx:4065
 AliAnalysisMuMu.cxx:4066
 AliAnalysisMuMu.cxx:4067
 AliAnalysisMuMu.cxx:4068
 AliAnalysisMuMu.cxx:4069
 AliAnalysisMuMu.cxx:4070
 AliAnalysisMuMu.cxx:4071
 AliAnalysisMuMu.cxx:4072
 AliAnalysisMuMu.cxx:4073
 AliAnalysisMuMu.cxx:4074
 AliAnalysisMuMu.cxx:4075
 AliAnalysisMuMu.cxx:4076
 AliAnalysisMuMu.cxx:4077
 AliAnalysisMuMu.cxx:4078
 AliAnalysisMuMu.cxx:4079
 AliAnalysisMuMu.cxx:4080
 AliAnalysisMuMu.cxx:4081
 AliAnalysisMuMu.cxx:4082
 AliAnalysisMuMu.cxx:4083
 AliAnalysisMuMu.cxx:4084
 AliAnalysisMuMu.cxx:4085
 AliAnalysisMuMu.cxx:4086
 AliAnalysisMuMu.cxx:4087
 AliAnalysisMuMu.cxx:4088
 AliAnalysisMuMu.cxx:4089
 AliAnalysisMuMu.cxx:4090
 AliAnalysisMuMu.cxx:4091
 AliAnalysisMuMu.cxx:4092
 AliAnalysisMuMu.cxx:4093
 AliAnalysisMuMu.cxx:4094
 AliAnalysisMuMu.cxx:4095
 AliAnalysisMuMu.cxx:4096
 AliAnalysisMuMu.cxx:4097
 AliAnalysisMuMu.cxx:4098
 AliAnalysisMuMu.cxx:4099
 AliAnalysisMuMu.cxx:4100
 AliAnalysisMuMu.cxx:4101
 AliAnalysisMuMu.cxx:4102
 AliAnalysisMuMu.cxx:4103
 AliAnalysisMuMu.cxx:4104
 AliAnalysisMuMu.cxx:4105
 AliAnalysisMuMu.cxx:4106
 AliAnalysisMuMu.cxx:4107
 AliAnalysisMuMu.cxx:4108
 AliAnalysisMuMu.cxx:4109
 AliAnalysisMuMu.cxx:4110
 AliAnalysisMuMu.cxx:4111
 AliAnalysisMuMu.cxx:4112
 AliAnalysisMuMu.cxx:4113
 AliAnalysisMuMu.cxx:4114
 AliAnalysisMuMu.cxx:4115
 AliAnalysisMuMu.cxx:4116
 AliAnalysisMuMu.cxx:4117
 AliAnalysisMuMu.cxx:4118
 AliAnalysisMuMu.cxx:4119
 AliAnalysisMuMu.cxx:4120
 AliAnalysisMuMu.cxx:4121
 AliAnalysisMuMu.cxx:4122
 AliAnalysisMuMu.cxx:4123
 AliAnalysisMuMu.cxx:4124
 AliAnalysisMuMu.cxx:4125
 AliAnalysisMuMu.cxx:4126
 AliAnalysisMuMu.cxx:4127
 AliAnalysisMuMu.cxx:4128
 AliAnalysisMuMu.cxx:4129
 AliAnalysisMuMu.cxx:4130
 AliAnalysisMuMu.cxx:4131
 AliAnalysisMuMu.cxx:4132
 AliAnalysisMuMu.cxx:4133
 AliAnalysisMuMu.cxx:4134
 AliAnalysisMuMu.cxx:4135
 AliAnalysisMuMu.cxx:4136
 AliAnalysisMuMu.cxx:4137
 AliAnalysisMuMu.cxx:4138
 AliAnalysisMuMu.cxx:4139
 AliAnalysisMuMu.cxx:4140
 AliAnalysisMuMu.cxx:4141
 AliAnalysisMuMu.cxx:4142
 AliAnalysisMuMu.cxx:4143
 AliAnalysisMuMu.cxx:4144
 AliAnalysisMuMu.cxx:4145
 AliAnalysisMuMu.cxx:4146
 AliAnalysisMuMu.cxx:4147
 AliAnalysisMuMu.cxx:4148
 AliAnalysisMuMu.cxx:4149
 AliAnalysisMuMu.cxx:4150
 AliAnalysisMuMu.cxx:4151
 AliAnalysisMuMu.cxx:4152
 AliAnalysisMuMu.cxx:4153
 AliAnalysisMuMu.cxx:4154
 AliAnalysisMuMu.cxx:4155
 AliAnalysisMuMu.cxx:4156
 AliAnalysisMuMu.cxx:4157
 AliAnalysisMuMu.cxx:4158
 AliAnalysisMuMu.cxx:4159
 AliAnalysisMuMu.cxx:4160
 AliAnalysisMuMu.cxx:4161
 AliAnalysisMuMu.cxx:4162
 AliAnalysisMuMu.cxx:4163
 AliAnalysisMuMu.cxx:4164
 AliAnalysisMuMu.cxx:4165
 AliAnalysisMuMu.cxx:4166
 AliAnalysisMuMu.cxx:4167
 AliAnalysisMuMu.cxx:4168
 AliAnalysisMuMu.cxx:4169
 AliAnalysisMuMu.cxx:4170
 AliAnalysisMuMu.cxx:4171
 AliAnalysisMuMu.cxx:4172
 AliAnalysisMuMu.cxx:4173
 AliAnalysisMuMu.cxx:4174
 AliAnalysisMuMu.cxx:4175
 AliAnalysisMuMu.cxx:4176
 AliAnalysisMuMu.cxx:4177
 AliAnalysisMuMu.cxx:4178
 AliAnalysisMuMu.cxx:4179
 AliAnalysisMuMu.cxx:4180
 AliAnalysisMuMu.cxx:4181
 AliAnalysisMuMu.cxx:4182
 AliAnalysisMuMu.cxx:4183
 AliAnalysisMuMu.cxx:4184
 AliAnalysisMuMu.cxx:4185
 AliAnalysisMuMu.cxx:4186
 AliAnalysisMuMu.cxx:4187
 AliAnalysisMuMu.cxx:4188
 AliAnalysisMuMu.cxx:4189
 AliAnalysisMuMu.cxx:4190
 AliAnalysisMuMu.cxx:4191
 AliAnalysisMuMu.cxx:4192
 AliAnalysisMuMu.cxx:4193
 AliAnalysisMuMu.cxx:4194
 AliAnalysisMuMu.cxx:4195
 AliAnalysisMuMu.cxx:4196
 AliAnalysisMuMu.cxx:4197
 AliAnalysisMuMu.cxx:4198
 AliAnalysisMuMu.cxx:4199
 AliAnalysisMuMu.cxx:4200
 AliAnalysisMuMu.cxx:4201
 AliAnalysisMuMu.cxx:4202
 AliAnalysisMuMu.cxx:4203
 AliAnalysisMuMu.cxx:4204
 AliAnalysisMuMu.cxx:4205
 AliAnalysisMuMu.cxx:4206
 AliAnalysisMuMu.cxx:4207
 AliAnalysisMuMu.cxx:4208
 AliAnalysisMuMu.cxx:4209
 AliAnalysisMuMu.cxx:4210
 AliAnalysisMuMu.cxx:4211
 AliAnalysisMuMu.cxx:4212
 AliAnalysisMuMu.cxx:4213
 AliAnalysisMuMu.cxx:4214
 AliAnalysisMuMu.cxx:4215
 AliAnalysisMuMu.cxx:4216
 AliAnalysisMuMu.cxx:4217
 AliAnalysisMuMu.cxx:4218
 AliAnalysisMuMu.cxx:4219
 AliAnalysisMuMu.cxx:4220
 AliAnalysisMuMu.cxx:4221
 AliAnalysisMuMu.cxx:4222
 AliAnalysisMuMu.cxx:4223
 AliAnalysisMuMu.cxx:4224
 AliAnalysisMuMu.cxx:4225
 AliAnalysisMuMu.cxx:4226
 AliAnalysisMuMu.cxx:4227
 AliAnalysisMuMu.cxx:4228
 AliAnalysisMuMu.cxx:4229
 AliAnalysisMuMu.cxx:4230
 AliAnalysisMuMu.cxx:4231
 AliAnalysisMuMu.cxx:4232
 AliAnalysisMuMu.cxx:4233
 AliAnalysisMuMu.cxx:4234
 AliAnalysisMuMu.cxx:4235
 AliAnalysisMuMu.cxx:4236
 AliAnalysisMuMu.cxx:4237
 AliAnalysisMuMu.cxx:4238
 AliAnalysisMuMu.cxx:4239
 AliAnalysisMuMu.cxx:4240
 AliAnalysisMuMu.cxx:4241
 AliAnalysisMuMu.cxx:4242
 AliAnalysisMuMu.cxx:4243
 AliAnalysisMuMu.cxx:4244
 AliAnalysisMuMu.cxx:4245
 AliAnalysisMuMu.cxx:4246
 AliAnalysisMuMu.cxx:4247
 AliAnalysisMuMu.cxx:4248
 AliAnalysisMuMu.cxx:4249
 AliAnalysisMuMu.cxx:4250
 AliAnalysisMuMu.cxx:4251
 AliAnalysisMuMu.cxx:4252
 AliAnalysisMuMu.cxx:4253
 AliAnalysisMuMu.cxx:4254
 AliAnalysisMuMu.cxx:4255
 AliAnalysisMuMu.cxx:4256
 AliAnalysisMuMu.cxx:4257
 AliAnalysisMuMu.cxx:4258
 AliAnalysisMuMu.cxx:4259
 AliAnalysisMuMu.cxx:4260
 AliAnalysisMuMu.cxx:4261
 AliAnalysisMuMu.cxx:4262
 AliAnalysisMuMu.cxx:4263
 AliAnalysisMuMu.cxx:4264
 AliAnalysisMuMu.cxx:4265
 AliAnalysisMuMu.cxx:4266
 AliAnalysisMuMu.cxx:4267
 AliAnalysisMuMu.cxx:4268
 AliAnalysisMuMu.cxx:4269
 AliAnalysisMuMu.cxx:4270
 AliAnalysisMuMu.cxx:4271
 AliAnalysisMuMu.cxx:4272
 AliAnalysisMuMu.cxx:4273
 AliAnalysisMuMu.cxx:4274
 AliAnalysisMuMu.cxx:4275
 AliAnalysisMuMu.cxx:4276
 AliAnalysisMuMu.cxx:4277
 AliAnalysisMuMu.cxx:4278
 AliAnalysisMuMu.cxx:4279
 AliAnalysisMuMu.cxx:4280
 AliAnalysisMuMu.cxx:4281
 AliAnalysisMuMu.cxx:4282
 AliAnalysisMuMu.cxx:4283
 AliAnalysisMuMu.cxx:4284
 AliAnalysisMuMu.cxx:4285
 AliAnalysisMuMu.cxx:4286
 AliAnalysisMuMu.cxx:4287
 AliAnalysisMuMu.cxx:4288
 AliAnalysisMuMu.cxx:4289
 AliAnalysisMuMu.cxx:4290
 AliAnalysisMuMu.cxx:4291
 AliAnalysisMuMu.cxx:4292
 AliAnalysisMuMu.cxx:4293
 AliAnalysisMuMu.cxx:4294
 AliAnalysisMuMu.cxx:4295
 AliAnalysisMuMu.cxx:4296
 AliAnalysisMuMu.cxx:4297
 AliAnalysisMuMu.cxx:4298
 AliAnalysisMuMu.cxx:4299
 AliAnalysisMuMu.cxx:4300
 AliAnalysisMuMu.cxx:4301
 AliAnalysisMuMu.cxx:4302
 AliAnalysisMuMu.cxx:4303
 AliAnalysisMuMu.cxx:4304
 AliAnalysisMuMu.cxx:4305
 AliAnalysisMuMu.cxx:4306
 AliAnalysisMuMu.cxx:4307
 AliAnalysisMuMu.cxx:4308
 AliAnalysisMuMu.cxx:4309
 AliAnalysisMuMu.cxx:4310
 AliAnalysisMuMu.cxx:4311
 AliAnalysisMuMu.cxx:4312
 AliAnalysisMuMu.cxx:4313
 AliAnalysisMuMu.cxx:4314
 AliAnalysisMuMu.cxx:4315
 AliAnalysisMuMu.cxx:4316
 AliAnalysisMuMu.cxx:4317
 AliAnalysisMuMu.cxx:4318
 AliAnalysisMuMu.cxx:4319
 AliAnalysisMuMu.cxx:4320
 AliAnalysisMuMu.cxx:4321
 AliAnalysisMuMu.cxx:4322
 AliAnalysisMuMu.cxx:4323
 AliAnalysisMuMu.cxx:4324
 AliAnalysisMuMu.cxx:4325
 AliAnalysisMuMu.cxx:4326
 AliAnalysisMuMu.cxx:4327
 AliAnalysisMuMu.cxx:4328
 AliAnalysisMuMu.cxx:4329
 AliAnalysisMuMu.cxx:4330
 AliAnalysisMuMu.cxx:4331
 AliAnalysisMuMu.cxx:4332
 AliAnalysisMuMu.cxx:4333
 AliAnalysisMuMu.cxx:4334
 AliAnalysisMuMu.cxx:4335
 AliAnalysisMuMu.cxx:4336
 AliAnalysisMuMu.cxx:4337
 AliAnalysisMuMu.cxx:4338
 AliAnalysisMuMu.cxx:4339
 AliAnalysisMuMu.cxx:4340
 AliAnalysisMuMu.cxx:4341
 AliAnalysisMuMu.cxx:4342
 AliAnalysisMuMu.cxx:4343
 AliAnalysisMuMu.cxx:4344
 AliAnalysisMuMu.cxx:4345
 AliAnalysisMuMu.cxx:4346
 AliAnalysisMuMu.cxx:4347
 AliAnalysisMuMu.cxx:4348
 AliAnalysisMuMu.cxx:4349
 AliAnalysisMuMu.cxx:4350
 AliAnalysisMuMu.cxx:4351
 AliAnalysisMuMu.cxx:4352
 AliAnalysisMuMu.cxx:4353
 AliAnalysisMuMu.cxx:4354
 AliAnalysisMuMu.cxx:4355
 AliAnalysisMuMu.cxx:4356
 AliAnalysisMuMu.cxx:4357
 AliAnalysisMuMu.cxx:4358
 AliAnalysisMuMu.cxx:4359
 AliAnalysisMuMu.cxx:4360
 AliAnalysisMuMu.cxx:4361
 AliAnalysisMuMu.cxx:4362
 AliAnalysisMuMu.cxx:4363
 AliAnalysisMuMu.cxx:4364
 AliAnalysisMuMu.cxx:4365
 AliAnalysisMuMu.cxx:4366
 AliAnalysisMuMu.cxx:4367
 AliAnalysisMuMu.cxx:4368
 AliAnalysisMuMu.cxx:4369
 AliAnalysisMuMu.cxx:4370
 AliAnalysisMuMu.cxx:4371
 AliAnalysisMuMu.cxx:4372
 AliAnalysisMuMu.cxx:4373
 AliAnalysisMuMu.cxx:4374
 AliAnalysisMuMu.cxx:4375
 AliAnalysisMuMu.cxx:4376
 AliAnalysisMuMu.cxx:4377
 AliAnalysisMuMu.cxx:4378
 AliAnalysisMuMu.cxx:4379
 AliAnalysisMuMu.cxx:4380
 AliAnalysisMuMu.cxx:4381
 AliAnalysisMuMu.cxx:4382
 AliAnalysisMuMu.cxx:4383
 AliAnalysisMuMu.cxx:4384
 AliAnalysisMuMu.cxx:4385
 AliAnalysisMuMu.cxx:4386
 AliAnalysisMuMu.cxx:4387
 AliAnalysisMuMu.cxx:4388
 AliAnalysisMuMu.cxx:4389
 AliAnalysisMuMu.cxx:4390
 AliAnalysisMuMu.cxx:4391
 AliAnalysisMuMu.cxx:4392
 AliAnalysisMuMu.cxx:4393
 AliAnalysisMuMu.cxx:4394
 AliAnalysisMuMu.cxx:4395
 AliAnalysisMuMu.cxx:4396
 AliAnalysisMuMu.cxx:4397
 AliAnalysisMuMu.cxx:4398
 AliAnalysisMuMu.cxx:4399
 AliAnalysisMuMu.cxx:4400
 AliAnalysisMuMu.cxx:4401
 AliAnalysisMuMu.cxx:4402
 AliAnalysisMuMu.cxx:4403
 AliAnalysisMuMu.cxx:4404
 AliAnalysisMuMu.cxx:4405
 AliAnalysisMuMu.cxx:4406
 AliAnalysisMuMu.cxx:4407
 AliAnalysisMuMu.cxx:4408
 AliAnalysisMuMu.cxx:4409
 AliAnalysisMuMu.cxx:4410
 AliAnalysisMuMu.cxx:4411
 AliAnalysisMuMu.cxx:4412
 AliAnalysisMuMu.cxx:4413
 AliAnalysisMuMu.cxx:4414
 AliAnalysisMuMu.cxx:4415
 AliAnalysisMuMu.cxx:4416
 AliAnalysisMuMu.cxx:4417
 AliAnalysisMuMu.cxx:4418
 AliAnalysisMuMu.cxx:4419
 AliAnalysisMuMu.cxx:4420
 AliAnalysisMuMu.cxx:4421
 AliAnalysisMuMu.cxx:4422
 AliAnalysisMuMu.cxx:4423
 AliAnalysisMuMu.cxx:4424
 AliAnalysisMuMu.cxx:4425
 AliAnalysisMuMu.cxx:4426
 AliAnalysisMuMu.cxx:4427
 AliAnalysisMuMu.cxx:4428
 AliAnalysisMuMu.cxx:4429
 AliAnalysisMuMu.cxx:4430
 AliAnalysisMuMu.cxx:4431
 AliAnalysisMuMu.cxx:4432
 AliAnalysisMuMu.cxx:4433
 AliAnalysisMuMu.cxx:4434
 AliAnalysisMuMu.cxx:4435
 AliAnalysisMuMu.cxx:4436
 AliAnalysisMuMu.cxx:4437
 AliAnalysisMuMu.cxx:4438
 AliAnalysisMuMu.cxx:4439
 AliAnalysisMuMu.cxx:4440
 AliAnalysisMuMu.cxx:4441
 AliAnalysisMuMu.cxx:4442
 AliAnalysisMuMu.cxx:4443
 AliAnalysisMuMu.cxx:4444
 AliAnalysisMuMu.cxx:4445
 AliAnalysisMuMu.cxx:4446
 AliAnalysisMuMu.cxx:4447
 AliAnalysisMuMu.cxx:4448
 AliAnalysisMuMu.cxx:4449
 AliAnalysisMuMu.cxx:4450
 AliAnalysisMuMu.cxx:4451
 AliAnalysisMuMu.cxx:4452
 AliAnalysisMuMu.cxx:4453
 AliAnalysisMuMu.cxx:4454
 AliAnalysisMuMu.cxx:4455
 AliAnalysisMuMu.cxx:4456
 AliAnalysisMuMu.cxx:4457
 AliAnalysisMuMu.cxx:4458
 AliAnalysisMuMu.cxx:4459
 AliAnalysisMuMu.cxx:4460
 AliAnalysisMuMu.cxx:4461
 AliAnalysisMuMu.cxx:4462
 AliAnalysisMuMu.cxx:4463
 AliAnalysisMuMu.cxx:4464
 AliAnalysisMuMu.cxx:4465
 AliAnalysisMuMu.cxx:4466
 AliAnalysisMuMu.cxx:4467
 AliAnalysisMuMu.cxx:4468
 AliAnalysisMuMu.cxx:4469
 AliAnalysisMuMu.cxx:4470
 AliAnalysisMuMu.cxx:4471
 AliAnalysisMuMu.cxx:4472
 AliAnalysisMuMu.cxx:4473
 AliAnalysisMuMu.cxx:4474
 AliAnalysisMuMu.cxx:4475
 AliAnalysisMuMu.cxx:4476
 AliAnalysisMuMu.cxx:4477
 AliAnalysisMuMu.cxx:4478
 AliAnalysisMuMu.cxx:4479
 AliAnalysisMuMu.cxx:4480
 AliAnalysisMuMu.cxx:4481
 AliAnalysisMuMu.cxx:4482
 AliAnalysisMuMu.cxx:4483
 AliAnalysisMuMu.cxx:4484
 AliAnalysisMuMu.cxx:4485
 AliAnalysisMuMu.cxx:4486
 AliAnalysisMuMu.cxx:4487
 AliAnalysisMuMu.cxx:4488
 AliAnalysisMuMu.cxx:4489
 AliAnalysisMuMu.cxx:4490
 AliAnalysisMuMu.cxx:4491
 AliAnalysisMuMu.cxx:4492
 AliAnalysisMuMu.cxx:4493
 AliAnalysisMuMu.cxx:4494
 AliAnalysisMuMu.cxx:4495
 AliAnalysisMuMu.cxx:4496
 AliAnalysisMuMu.cxx:4497
 AliAnalysisMuMu.cxx:4498
 AliAnalysisMuMu.cxx:4499
 AliAnalysisMuMu.cxx:4500
 AliAnalysisMuMu.cxx:4501
 AliAnalysisMuMu.cxx:4502
 AliAnalysisMuMu.cxx:4503
 AliAnalysisMuMu.cxx:4504
 AliAnalysisMuMu.cxx:4505
 AliAnalysisMuMu.cxx:4506
 AliAnalysisMuMu.cxx:4507
 AliAnalysisMuMu.cxx:4508
 AliAnalysisMuMu.cxx:4509
 AliAnalysisMuMu.cxx:4510
 AliAnalysisMuMu.cxx:4511
 AliAnalysisMuMu.cxx:4512
 AliAnalysisMuMu.cxx:4513
 AliAnalysisMuMu.cxx:4514
 AliAnalysisMuMu.cxx:4515
 AliAnalysisMuMu.cxx:4516
 AliAnalysisMuMu.cxx:4517
 AliAnalysisMuMu.cxx:4518
 AliAnalysisMuMu.cxx:4519
 AliAnalysisMuMu.cxx:4520
 AliAnalysisMuMu.cxx:4521
 AliAnalysisMuMu.cxx:4522
 AliAnalysisMuMu.cxx:4523
 AliAnalysisMuMu.cxx:4524
 AliAnalysisMuMu.cxx:4525
 AliAnalysisMuMu.cxx:4526
 AliAnalysisMuMu.cxx:4527
 AliAnalysisMuMu.cxx:4528
 AliAnalysisMuMu.cxx:4529
 AliAnalysisMuMu.cxx:4530
 AliAnalysisMuMu.cxx:4531
 AliAnalysisMuMu.cxx:4532
 AliAnalysisMuMu.cxx:4533
 AliAnalysisMuMu.cxx:4534
 AliAnalysisMuMu.cxx:4535
 AliAnalysisMuMu.cxx:4536
 AliAnalysisMuMu.cxx:4537
 AliAnalysisMuMu.cxx:4538
 AliAnalysisMuMu.cxx:4539
 AliAnalysisMuMu.cxx:4540
 AliAnalysisMuMu.cxx:4541
 AliAnalysisMuMu.cxx:4542
 AliAnalysisMuMu.cxx:4543
 AliAnalysisMuMu.cxx:4544
 AliAnalysisMuMu.cxx:4545
 AliAnalysisMuMu.cxx:4546
 AliAnalysisMuMu.cxx:4547
 AliAnalysisMuMu.cxx:4548
 AliAnalysisMuMu.cxx:4549
 AliAnalysisMuMu.cxx:4550
 AliAnalysisMuMu.cxx:4551
 AliAnalysisMuMu.cxx:4552
 AliAnalysisMuMu.cxx:4553
 AliAnalysisMuMu.cxx:4554
 AliAnalysisMuMu.cxx:4555
 AliAnalysisMuMu.cxx:4556
 AliAnalysisMuMu.cxx:4557
 AliAnalysisMuMu.cxx:4558
 AliAnalysisMuMu.cxx:4559
 AliAnalysisMuMu.cxx:4560
 AliAnalysisMuMu.cxx:4561
 AliAnalysisMuMu.cxx:4562
 AliAnalysisMuMu.cxx:4563
 AliAnalysisMuMu.cxx:4564
 AliAnalysisMuMu.cxx:4565
 AliAnalysisMuMu.cxx:4566
 AliAnalysisMuMu.cxx:4567
 AliAnalysisMuMu.cxx:4568
 AliAnalysisMuMu.cxx:4569
 AliAnalysisMuMu.cxx:4570
 AliAnalysisMuMu.cxx:4571
 AliAnalysisMuMu.cxx:4572
 AliAnalysisMuMu.cxx:4573
 AliAnalysisMuMu.cxx:4574
 AliAnalysisMuMu.cxx:4575
 AliAnalysisMuMu.cxx:4576
 AliAnalysisMuMu.cxx:4577
 AliAnalysisMuMu.cxx:4578
 AliAnalysisMuMu.cxx:4579
 AliAnalysisMuMu.cxx:4580
 AliAnalysisMuMu.cxx:4581
 AliAnalysisMuMu.cxx:4582
 AliAnalysisMuMu.cxx:4583
 AliAnalysisMuMu.cxx:4584
 AliAnalysisMuMu.cxx:4585
 AliAnalysisMuMu.cxx:4586
 AliAnalysisMuMu.cxx:4587
 AliAnalysisMuMu.cxx:4588
 AliAnalysisMuMu.cxx:4589
 AliAnalysisMuMu.cxx:4590
 AliAnalysisMuMu.cxx:4591
 AliAnalysisMuMu.cxx:4592
 AliAnalysisMuMu.cxx:4593
 AliAnalysisMuMu.cxx:4594
 AliAnalysisMuMu.cxx:4595
 AliAnalysisMuMu.cxx:4596
 AliAnalysisMuMu.cxx:4597
 AliAnalysisMuMu.cxx:4598
 AliAnalysisMuMu.cxx:4599
 AliAnalysisMuMu.cxx:4600
 AliAnalysisMuMu.cxx:4601
 AliAnalysisMuMu.cxx:4602
 AliAnalysisMuMu.cxx:4603
 AliAnalysisMuMu.cxx:4604
 AliAnalysisMuMu.cxx:4605
 AliAnalysisMuMu.cxx:4606
 AliAnalysisMuMu.cxx:4607
 AliAnalysisMuMu.cxx:4608
 AliAnalysisMuMu.cxx:4609
 AliAnalysisMuMu.cxx:4610
 AliAnalysisMuMu.cxx:4611
 AliAnalysisMuMu.cxx:4612
 AliAnalysisMuMu.cxx:4613
 AliAnalysisMuMu.cxx:4614
 AliAnalysisMuMu.cxx:4615
 AliAnalysisMuMu.cxx:4616
 AliAnalysisMuMu.cxx:4617
 AliAnalysisMuMu.cxx:4618
 AliAnalysisMuMu.cxx:4619
 AliAnalysisMuMu.cxx:4620
 AliAnalysisMuMu.cxx:4621
 AliAnalysisMuMu.cxx:4622
 AliAnalysisMuMu.cxx:4623
 AliAnalysisMuMu.cxx:4624
 AliAnalysisMuMu.cxx:4625
 AliAnalysisMuMu.cxx:4626
 AliAnalysisMuMu.cxx:4627
 AliAnalysisMuMu.cxx:4628
 AliAnalysisMuMu.cxx:4629
 AliAnalysisMuMu.cxx:4630
 AliAnalysisMuMu.cxx:4631
 AliAnalysisMuMu.cxx:4632
 AliAnalysisMuMu.cxx:4633
 AliAnalysisMuMu.cxx:4634
 AliAnalysisMuMu.cxx:4635
 AliAnalysisMuMu.cxx:4636
 AliAnalysisMuMu.cxx:4637
 AliAnalysisMuMu.cxx:4638
 AliAnalysisMuMu.cxx:4639
 AliAnalysisMuMu.cxx:4640
 AliAnalysisMuMu.cxx:4641
 AliAnalysisMuMu.cxx:4642
 AliAnalysisMuMu.cxx:4643
 AliAnalysisMuMu.cxx:4644
 AliAnalysisMuMu.cxx:4645
 AliAnalysisMuMu.cxx:4646
 AliAnalysisMuMu.cxx:4647
 AliAnalysisMuMu.cxx:4648
 AliAnalysisMuMu.cxx:4649
 AliAnalysisMuMu.cxx:4650
 AliAnalysisMuMu.cxx:4651
 AliAnalysisMuMu.cxx:4652
 AliAnalysisMuMu.cxx:4653
 AliAnalysisMuMu.cxx:4654
 AliAnalysisMuMu.cxx:4655
 AliAnalysisMuMu.cxx:4656
 AliAnalysisMuMu.cxx:4657
 AliAnalysisMuMu.cxx:4658
 AliAnalysisMuMu.cxx:4659
 AliAnalysisMuMu.cxx:4660
 AliAnalysisMuMu.cxx:4661
 AliAnalysisMuMu.cxx:4662
 AliAnalysisMuMu.cxx:4663
 AliAnalysisMuMu.cxx:4664
 AliAnalysisMuMu.cxx:4665
 AliAnalysisMuMu.cxx:4666
 AliAnalysisMuMu.cxx:4667
 AliAnalysisMuMu.cxx:4668
 AliAnalysisMuMu.cxx:4669
 AliAnalysisMuMu.cxx:4670
 AliAnalysisMuMu.cxx:4671
 AliAnalysisMuMu.cxx:4672
 AliAnalysisMuMu.cxx:4673
 AliAnalysisMuMu.cxx:4674
 AliAnalysisMuMu.cxx:4675
 AliAnalysisMuMu.cxx:4676
 AliAnalysisMuMu.cxx:4677
 AliAnalysisMuMu.cxx:4678
 AliAnalysisMuMu.cxx:4679
 AliAnalysisMuMu.cxx:4680
 AliAnalysisMuMu.cxx:4681
 AliAnalysisMuMu.cxx:4682
 AliAnalysisMuMu.cxx:4683
 AliAnalysisMuMu.cxx:4684
 AliAnalysisMuMu.cxx:4685
 AliAnalysisMuMu.cxx:4686
 AliAnalysisMuMu.cxx:4687
 AliAnalysisMuMu.cxx:4688
 AliAnalysisMuMu.cxx:4689
 AliAnalysisMuMu.cxx:4690
 AliAnalysisMuMu.cxx:4691
 AliAnalysisMuMu.cxx:4692
 AliAnalysisMuMu.cxx:4693
 AliAnalysisMuMu.cxx:4694
 AliAnalysisMuMu.cxx:4695
 AliAnalysisMuMu.cxx:4696
 AliAnalysisMuMu.cxx:4697
 AliAnalysisMuMu.cxx:4698
 AliAnalysisMuMu.cxx:4699
 AliAnalysisMuMu.cxx:4700
 AliAnalysisMuMu.cxx:4701
 AliAnalysisMuMu.cxx:4702
 AliAnalysisMuMu.cxx:4703
 AliAnalysisMuMu.cxx:4704
 AliAnalysisMuMu.cxx:4705
 AliAnalysisMuMu.cxx:4706
 AliAnalysisMuMu.cxx:4707
 AliAnalysisMuMu.cxx:4708
 AliAnalysisMuMu.cxx:4709
 AliAnalysisMuMu.cxx:4710
 AliAnalysisMuMu.cxx:4711
 AliAnalysisMuMu.cxx:4712
 AliAnalysisMuMu.cxx:4713
 AliAnalysisMuMu.cxx:4714
 AliAnalysisMuMu.cxx:4715
 AliAnalysisMuMu.cxx:4716
 AliAnalysisMuMu.cxx:4717
 AliAnalysisMuMu.cxx:4718
 AliAnalysisMuMu.cxx:4719
 AliAnalysisMuMu.cxx:4720
 AliAnalysisMuMu.cxx:4721
 AliAnalysisMuMu.cxx:4722
 AliAnalysisMuMu.cxx:4723
 AliAnalysisMuMu.cxx:4724
 AliAnalysisMuMu.cxx:4725
 AliAnalysisMuMu.cxx:4726
 AliAnalysisMuMu.cxx:4727
 AliAnalysisMuMu.cxx:4728
 AliAnalysisMuMu.cxx:4729
 AliAnalysisMuMu.cxx:4730
 AliAnalysisMuMu.cxx:4731
 AliAnalysisMuMu.cxx:4732
 AliAnalysisMuMu.cxx:4733
 AliAnalysisMuMu.cxx:4734
 AliAnalysisMuMu.cxx:4735
 AliAnalysisMuMu.cxx:4736
 AliAnalysisMuMu.cxx:4737
 AliAnalysisMuMu.cxx:4738
 AliAnalysisMuMu.cxx:4739
 AliAnalysisMuMu.cxx:4740
 AliAnalysisMuMu.cxx:4741
 AliAnalysisMuMu.cxx:4742
 AliAnalysisMuMu.cxx:4743
 AliAnalysisMuMu.cxx:4744
 AliAnalysisMuMu.cxx:4745
 AliAnalysisMuMu.cxx:4746
 AliAnalysisMuMu.cxx:4747
 AliAnalysisMuMu.cxx:4748
 AliAnalysisMuMu.cxx:4749
 AliAnalysisMuMu.cxx:4750
 AliAnalysisMuMu.cxx:4751
 AliAnalysisMuMu.cxx:4752
 AliAnalysisMuMu.cxx:4753
 AliAnalysisMuMu.cxx:4754
 AliAnalysisMuMu.cxx:4755
 AliAnalysisMuMu.cxx:4756
 AliAnalysisMuMu.cxx:4757
 AliAnalysisMuMu.cxx:4758
 AliAnalysisMuMu.cxx:4759
 AliAnalysisMuMu.cxx:4760
 AliAnalysisMuMu.cxx:4761
 AliAnalysisMuMu.cxx:4762
 AliAnalysisMuMu.cxx:4763
 AliAnalysisMuMu.cxx:4764
 AliAnalysisMuMu.cxx:4765
 AliAnalysisMuMu.cxx:4766
 AliAnalysisMuMu.cxx:4767
 AliAnalysisMuMu.cxx:4768
 AliAnalysisMuMu.cxx:4769
 AliAnalysisMuMu.cxx:4770
 AliAnalysisMuMu.cxx:4771
 AliAnalysisMuMu.cxx:4772
 AliAnalysisMuMu.cxx:4773
 AliAnalysisMuMu.cxx:4774
 AliAnalysisMuMu.cxx:4775
 AliAnalysisMuMu.cxx:4776
 AliAnalysisMuMu.cxx:4777
 AliAnalysisMuMu.cxx:4778
 AliAnalysisMuMu.cxx:4779
 AliAnalysisMuMu.cxx:4780
 AliAnalysisMuMu.cxx:4781
 AliAnalysisMuMu.cxx:4782
 AliAnalysisMuMu.cxx:4783
 AliAnalysisMuMu.cxx:4784
 AliAnalysisMuMu.cxx:4785
 AliAnalysisMuMu.cxx:4786
 AliAnalysisMuMu.cxx:4787
 AliAnalysisMuMu.cxx:4788
 AliAnalysisMuMu.cxx:4789
 AliAnalysisMuMu.cxx:4790
 AliAnalysisMuMu.cxx:4791
 AliAnalysisMuMu.cxx:4792
 AliAnalysisMuMu.cxx:4793
 AliAnalysisMuMu.cxx:4794
 AliAnalysisMuMu.cxx:4795
 AliAnalysisMuMu.cxx:4796
 AliAnalysisMuMu.cxx:4797
 AliAnalysisMuMu.cxx:4798
 AliAnalysisMuMu.cxx:4799
 AliAnalysisMuMu.cxx:4800
 AliAnalysisMuMu.cxx:4801
 AliAnalysisMuMu.cxx:4802
 AliAnalysisMuMu.cxx:4803
 AliAnalysisMuMu.cxx:4804
 AliAnalysisMuMu.cxx:4805
 AliAnalysisMuMu.cxx:4806
 AliAnalysisMuMu.cxx:4807
 AliAnalysisMuMu.cxx:4808
 AliAnalysisMuMu.cxx:4809
 AliAnalysisMuMu.cxx:4810
 AliAnalysisMuMu.cxx:4811
 AliAnalysisMuMu.cxx:4812
 AliAnalysisMuMu.cxx:4813
 AliAnalysisMuMu.cxx:4814
 AliAnalysisMuMu.cxx:4815
 AliAnalysisMuMu.cxx:4816
 AliAnalysisMuMu.cxx:4817
 AliAnalysisMuMu.cxx:4818
 AliAnalysisMuMu.cxx:4819
 AliAnalysisMuMu.cxx:4820
 AliAnalysisMuMu.cxx:4821
 AliAnalysisMuMu.cxx:4822
 AliAnalysisMuMu.cxx:4823
 AliAnalysisMuMu.cxx:4824
 AliAnalysisMuMu.cxx:4825
 AliAnalysisMuMu.cxx:4826
 AliAnalysisMuMu.cxx:4827
 AliAnalysisMuMu.cxx:4828
 AliAnalysisMuMu.cxx:4829
 AliAnalysisMuMu.cxx:4830
 AliAnalysisMuMu.cxx:4831
 AliAnalysisMuMu.cxx:4832
 AliAnalysisMuMu.cxx:4833
 AliAnalysisMuMu.cxx:4834
 AliAnalysisMuMu.cxx:4835
 AliAnalysisMuMu.cxx:4836
 AliAnalysisMuMu.cxx:4837
 AliAnalysisMuMu.cxx:4838
 AliAnalysisMuMu.cxx:4839
 AliAnalysisMuMu.cxx:4840
 AliAnalysisMuMu.cxx:4841
 AliAnalysisMuMu.cxx:4842
 AliAnalysisMuMu.cxx:4843
 AliAnalysisMuMu.cxx:4844
 AliAnalysisMuMu.cxx:4845
 AliAnalysisMuMu.cxx:4846
 AliAnalysisMuMu.cxx:4847
 AliAnalysisMuMu.cxx:4848
 AliAnalysisMuMu.cxx:4849
 AliAnalysisMuMu.cxx:4850
 AliAnalysisMuMu.cxx:4851
 AliAnalysisMuMu.cxx:4852
 AliAnalysisMuMu.cxx:4853
 AliAnalysisMuMu.cxx:4854
 AliAnalysisMuMu.cxx:4855
 AliAnalysisMuMu.cxx:4856
 AliAnalysisMuMu.cxx:4857
 AliAnalysisMuMu.cxx:4858
 AliAnalysisMuMu.cxx:4859
 AliAnalysisMuMu.cxx:4860
 AliAnalysisMuMu.cxx:4861
 AliAnalysisMuMu.cxx:4862
 AliAnalysisMuMu.cxx:4863
 AliAnalysisMuMu.cxx:4864
 AliAnalysisMuMu.cxx:4865
 AliAnalysisMuMu.cxx:4866
 AliAnalysisMuMu.cxx:4867
 AliAnalysisMuMu.cxx:4868
 AliAnalysisMuMu.cxx:4869
 AliAnalysisMuMu.cxx:4870
 AliAnalysisMuMu.cxx:4871
 AliAnalysisMuMu.cxx:4872
 AliAnalysisMuMu.cxx:4873
 AliAnalysisMuMu.cxx:4874
 AliAnalysisMuMu.cxx:4875
 AliAnalysisMuMu.cxx:4876
 AliAnalysisMuMu.cxx:4877
 AliAnalysisMuMu.cxx:4878
 AliAnalysisMuMu.cxx:4879
 AliAnalysisMuMu.cxx:4880
 AliAnalysisMuMu.cxx:4881
 AliAnalysisMuMu.cxx:4882
 AliAnalysisMuMu.cxx:4883
 AliAnalysisMuMu.cxx:4884
 AliAnalysisMuMu.cxx:4885
 AliAnalysisMuMu.cxx:4886
 AliAnalysisMuMu.cxx:4887
 AliAnalysisMuMu.cxx:4888
 AliAnalysisMuMu.cxx:4889
 AliAnalysisMuMu.cxx:4890
 AliAnalysisMuMu.cxx:4891
 AliAnalysisMuMu.cxx:4892
 AliAnalysisMuMu.cxx:4893
 AliAnalysisMuMu.cxx:4894
 AliAnalysisMuMu.cxx:4895
 AliAnalysisMuMu.cxx:4896
 AliAnalysisMuMu.cxx:4897
 AliAnalysisMuMu.cxx:4898
 AliAnalysisMuMu.cxx:4899
 AliAnalysisMuMu.cxx:4900
 AliAnalysisMuMu.cxx:4901
 AliAnalysisMuMu.cxx:4902
 AliAnalysisMuMu.cxx:4903
 AliAnalysisMuMu.cxx:4904
 AliAnalysisMuMu.cxx:4905
 AliAnalysisMuMu.cxx:4906
 AliAnalysisMuMu.cxx:4907
 AliAnalysisMuMu.cxx:4908
 AliAnalysisMuMu.cxx:4909
 AliAnalysisMuMu.cxx:4910
 AliAnalysisMuMu.cxx:4911
 AliAnalysisMuMu.cxx:4912
 AliAnalysisMuMu.cxx:4913
 AliAnalysisMuMu.cxx:4914
 AliAnalysisMuMu.cxx:4915
 AliAnalysisMuMu.cxx:4916
 AliAnalysisMuMu.cxx:4917
 AliAnalysisMuMu.cxx:4918
 AliAnalysisMuMu.cxx:4919
 AliAnalysisMuMu.cxx:4920
 AliAnalysisMuMu.cxx:4921
 AliAnalysisMuMu.cxx:4922
 AliAnalysisMuMu.cxx:4923
 AliAnalysisMuMu.cxx:4924
 AliAnalysisMuMu.cxx:4925
 AliAnalysisMuMu.cxx:4926
 AliAnalysisMuMu.cxx:4927
 AliAnalysisMuMu.cxx:4928
 AliAnalysisMuMu.cxx:4929
 AliAnalysisMuMu.cxx:4930
 AliAnalysisMuMu.cxx:4931
 AliAnalysisMuMu.cxx:4932
 AliAnalysisMuMu.cxx:4933
 AliAnalysisMuMu.cxx:4934
 AliAnalysisMuMu.cxx:4935
 AliAnalysisMuMu.cxx:4936
 AliAnalysisMuMu.cxx:4937
 AliAnalysisMuMu.cxx:4938
 AliAnalysisMuMu.cxx:4939
 AliAnalysisMuMu.cxx:4940
 AliAnalysisMuMu.cxx:4941
 AliAnalysisMuMu.cxx:4942
 AliAnalysisMuMu.cxx:4943
 AliAnalysisMuMu.cxx:4944
 AliAnalysisMuMu.cxx:4945
 AliAnalysisMuMu.cxx:4946
 AliAnalysisMuMu.cxx:4947
 AliAnalysisMuMu.cxx:4948
 AliAnalysisMuMu.cxx:4949
 AliAnalysisMuMu.cxx:4950
 AliAnalysisMuMu.cxx:4951
 AliAnalysisMuMu.cxx:4952
 AliAnalysisMuMu.cxx:4953
 AliAnalysisMuMu.cxx:4954
 AliAnalysisMuMu.cxx:4955
 AliAnalysisMuMu.cxx:4956
 AliAnalysisMuMu.cxx:4957
 AliAnalysisMuMu.cxx:4958
 AliAnalysisMuMu.cxx:4959
 AliAnalysisMuMu.cxx:4960
 AliAnalysisMuMu.cxx:4961
 AliAnalysisMuMu.cxx:4962
 AliAnalysisMuMu.cxx:4963
 AliAnalysisMuMu.cxx:4964
 AliAnalysisMuMu.cxx:4965
 AliAnalysisMuMu.cxx:4966
 AliAnalysisMuMu.cxx:4967
 AliAnalysisMuMu.cxx:4968
 AliAnalysisMuMu.cxx:4969
 AliAnalysisMuMu.cxx:4970
 AliAnalysisMuMu.cxx:4971
 AliAnalysisMuMu.cxx:4972
 AliAnalysisMuMu.cxx:4973
 AliAnalysisMuMu.cxx:4974
 AliAnalysisMuMu.cxx:4975
 AliAnalysisMuMu.cxx:4976
 AliAnalysisMuMu.cxx:4977
 AliAnalysisMuMu.cxx:4978
 AliAnalysisMuMu.cxx:4979
 AliAnalysisMuMu.cxx:4980
 AliAnalysisMuMu.cxx:4981
 AliAnalysisMuMu.cxx:4982
 AliAnalysisMuMu.cxx:4983
 AliAnalysisMuMu.cxx:4984
 AliAnalysisMuMu.cxx:4985
 AliAnalysisMuMu.cxx:4986
 AliAnalysisMuMu.cxx:4987
 AliAnalysisMuMu.cxx:4988
 AliAnalysisMuMu.cxx:4989
 AliAnalysisMuMu.cxx:4990
 AliAnalysisMuMu.cxx:4991
 AliAnalysisMuMu.cxx:4992
 AliAnalysisMuMu.cxx:4993
 AliAnalysisMuMu.cxx:4994
 AliAnalysisMuMu.cxx:4995
 AliAnalysisMuMu.cxx:4996
 AliAnalysisMuMu.cxx:4997
 AliAnalysisMuMu.cxx:4998
 AliAnalysisMuMu.cxx:4999
 AliAnalysisMuMu.cxx:5000
 AliAnalysisMuMu.cxx:5001
 AliAnalysisMuMu.cxx:5002
 AliAnalysisMuMu.cxx:5003
 AliAnalysisMuMu.cxx:5004
 AliAnalysisMuMu.cxx:5005
 AliAnalysisMuMu.cxx:5006
 AliAnalysisMuMu.cxx:5007
 AliAnalysisMuMu.cxx:5008
 AliAnalysisMuMu.cxx:5009
 AliAnalysisMuMu.cxx:5010
 AliAnalysisMuMu.cxx:5011
 AliAnalysisMuMu.cxx:5012
 AliAnalysisMuMu.cxx:5013
 AliAnalysisMuMu.cxx:5014
 AliAnalysisMuMu.cxx:5015
 AliAnalysisMuMu.cxx:5016
 AliAnalysisMuMu.cxx:5017
 AliAnalysisMuMu.cxx:5018
 AliAnalysisMuMu.cxx:5019
 AliAnalysisMuMu.cxx:5020
 AliAnalysisMuMu.cxx:5021
 AliAnalysisMuMu.cxx:5022
 AliAnalysisMuMu.cxx:5023
 AliAnalysisMuMu.cxx:5024
 AliAnalysisMuMu.cxx:5025
 AliAnalysisMuMu.cxx:5026
 AliAnalysisMuMu.cxx:5027
 AliAnalysisMuMu.cxx:5028
 AliAnalysisMuMu.cxx:5029
 AliAnalysisMuMu.cxx:5030
 AliAnalysisMuMu.cxx:5031
 AliAnalysisMuMu.cxx:5032
 AliAnalysisMuMu.cxx:5033
 AliAnalysisMuMu.cxx:5034
 AliAnalysisMuMu.cxx:5035
 AliAnalysisMuMu.cxx:5036
 AliAnalysisMuMu.cxx:5037
 AliAnalysisMuMu.cxx:5038
 AliAnalysisMuMu.cxx:5039
 AliAnalysisMuMu.cxx:5040
 AliAnalysisMuMu.cxx:5041
 AliAnalysisMuMu.cxx:5042
 AliAnalysisMuMu.cxx:5043
 AliAnalysisMuMu.cxx:5044
 AliAnalysisMuMu.cxx:5045
 AliAnalysisMuMu.cxx:5046
 AliAnalysisMuMu.cxx:5047