ROOT logo

/**************************************************************************
 * Copyright(c) 1998-2009, 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.                  *
 **************************************************************************/

//-----------------------------------------------------------------
//         AliSpectraAODHistoManager class
//-----------------------------------------------------------------

#include "TChain.h"
#include "TTree.h"
#include "TLegend.h"
#include "TH1.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TCanvas.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
#include "AliAODEvent.h"
#include "AliAODInputHandler.h"
#include "AliAnalysisTaskESDfilter.h"
#include "AliAnalysisDataContainer.h"
#include "AliSpectraAODHistoManager.h"

#include <iostream>

using namespace std;

ClassImp(AliSpectraAODHistoManager)


using namespace AliSpectraNameSpace;
#include "HistogramNames.cxx" // generate this automatically running createNames.py 

const char * kParticleSpecies[] =
  {
    "PionPlus",
    "KaonPlus",
    "ProtonPlus",
    "PionMinus",
    "KaonMinus",
    "ProtonMinus",
  };


AliSpectraAODHistoManager::AliSpectraAODHistoManager(const char *name,Int_t nrebin): TNamed(name, "AOD Spectra Histo Manager"), fOutputList(0), fNRebin(0)
{
  // ctor
  fNRebin=nrebin;
  fOutputList = new TList;
  fOutputList->SetOwner();
  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);
  for (Int_t ihist  = 0; ihist < kNHist ; ihist++)
    {
      if (ihist <= kNPtGenHist) BookPtGenHistogram(kHistName[ihist]);  // PT histos
      if (ihist > kNPtGenHist && ihist <= kNPtGenAllChHist) BookPtGenAllChHistogram(kHistName[ihist]);  // PT histos
      if (ihist > kNPtGenAllChHist && ihist <= kNPtRecHist) BookPtRecHistogram(kHistName[ihist]);  // PT histos
      if (ihist > kNPtRecHist && ihist <= kNPtRecAllChHist) BookPtRecAllChHistogram(kHistName[ihist]);  // PT histos
      if (ihist > kNPtRecAllChHist && ihist <= kNHistPID) BookPIDHistogram(kHistName[ihist]);  // PID histos
      if (ihist > kNHistPID && ihist <= kNHistNSig) BookNSigHistogram(kHistName[ihist]);  // NSigmaSep histos
    }
  
  TH1::AddDirectory(oldStatus);
}

//_______________________________________________________

TH2F* AliSpectraAODHistoManager::BookPtGenHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking pt gen histogram %s", name));
   
  //standard histo
  const Double_t templBins[] = {0.05,0.1,0.12,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0};
  Int_t nbinsTempl=52;
   
  TH2F * hist = new TH2F(name,Form("P_{T} distribution (%s)", name),nbinsTempl,templBins,2,-0.5,1.5);//need to be at least 1 becuase the generated are filled with (pt,IsPhysPrim)
  hist->GetXaxis()->SetTitle("generated P_{T} (GeV / c)");
  hist->GetYaxis()->SetTitle("IsPhysicalPrimary()");
  hist->SetMarkerStyle(kFullCircle);
  hist->Sumw2();
  fOutputList->Add(hist);
   
  return hist;
}

//_______________________________________________________

TH2F* AliSpectraAODHistoManager::BookPtGenAllChHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking pt gen histogram - no PID %s", name));
   
  //standard histo
  const Double_t templBins[] = {0.05,0.1,0.12,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0,5.5,6.0,6.5,7,7.5,8,8.5,9,9.5,10};
  Int_t nbinsTempl=62;
   
  TH2F * hist = new TH2F(name,Form("P_{T} distribution (All Ch) (%s)", name),nbinsTempl,templBins,2,-0.5,1.5);//need to be at least 1 becuase the generated are filled with (pt,IsPhysPrim)
  hist->GetXaxis()->SetTitle("generated P_{T} (GeV / c)");
  hist->GetYaxis()->SetTitle("IsPhysicalPrimary()");
  hist->SetMarkerStyle(kFullCircle);
  hist->Sumw2();
  fOutputList->Add(hist);
   
  return hist;
}


//_______________________________________________________
TH2F* AliSpectraAODHistoManager::BookPtRecHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking pt rec histogram %s,  rebin:%d", name, fNRebin));
   
  //standard histo
  const Double_t templBins[] = {0.05,0.1,0.12,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0};
  Int_t nbinsTempl=52;
   
  TH2F * hist = new TH2F(name,Form("reconstructed P_{T} distribution (%s)", name),nbinsTempl,templBins,3000,-3,3);//need to be at least 1 becuase the generated are filled with (pt,IsPhysPrim)
  if(fNRebin!=0)hist->RebinY(fNRebin);
  hist->GetXaxis()->SetTitle("P_{T} (GeV / c)");
  hist->GetYaxis()->SetTitle("DCA xy");
  hist->SetMarkerStyle(kFullCircle);
  hist->Sumw2();
  fOutputList->Add(hist);

  return hist;
}

//_______________________________________________________
TH2F* AliSpectraAODHistoManager::BookPtRecAllChHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking pt rec histogram %s,  rebin:%d", name, fNRebin));
   
  //standard histo
  const Double_t templBins[] = {0.05,0.1,0.12,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0,5.5,6.0,6.5,7,7.5,8,8.5,9,9.5,10};
  Int_t nbinsTempl=62;
   
  TH2F * hist = new TH2F(name,Form("reconstructed P_{T} distribution (All Ch)  (%s)", name),nbinsTempl,templBins,3000,-3,3);//need to be at least 1 becuase the generated are filled with (pt,IsPhysPrim)
  if(fNRebin!=0)hist->RebinY(fNRebin);
  hist->GetXaxis()->SetTitle("P_{T} (GeV / c)");
  hist->GetYaxis()->SetTitle("DCA xy");
  hist->SetMarkerStyle(kFullCircle);
  hist->Sumw2();
  fOutputList->Add(hist);

  return hist;
}

//_____________________________________________________________________________

TH2F* AliSpectraAODHistoManager::BookPIDHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking PID histogram %s, rebin:%d", name, fNRebin));

  TH2F * hist = new TH2F(name, Form("Particle Identification (%s)", name), 1000, 0, 2.5, 2000, -1000, 1000);
  if(fNRebin!=0){
    hist->RebinY(fNRebin);
    hist->RebinX(fNRebin);
  }
  hist->GetXaxis()->SetTitle("(GeV / c)");
  hist->GetYaxis()->SetTitle("PID signal");
  //  hist->Sumw2();
  fOutputList->Add(hist);

  return hist;
}

//_____________________________________________________________________________

TH2F* AliSpectraAODHistoManager::BookNSigHistogram(const char * name)
{
  // Return a pt histogram with predefined binning, set the ID and add it to the output list
  AliInfo(Form("Booking NSigma histogram %s, rebin:%d", name, fNRebin));
  
  TH2F * hist = new TH2F(name, Form("Particle Identification (%s)", name), 1000, 0, 2.5, 2000,-40, 40);
  if(fNRebin!=0){
    hist->RebinY(fNRebin);
    hist->RebinX(fNRebin);
  }
  hist->GetXaxis()->SetTitle("P (GeV / c)");
  hist->GetYaxis()->SetTitle("TPC");
  //hist->Sumw2();
  fOutputList->Add(hist);
  
  return hist;
}

//_____________________________________________________________________________

TH1F* AliSpectraAODHistoManager::GetPtHistogram1D(const char * name,Double_t minDCA,Double_t maxDCA)
{
  //   //return the projection of the TH2 (pt,DCA) in the DCA bin range [firstDCAbin,lastDCAbin]
  //   //if minDCA=-1 && maxDCA=-1 the projection is done using the full DCA range
  TH2F *hist=(TH2F*)fOutputList->FindObject(name);
  TH1F *outhist=0x0;
  Printf("--- Projecting %s on Xaxis[%f,%f]:",name,minDCA,maxDCA);
  if(minDCA==-1 && maxDCA==-1){
    outhist=(TH1F*)hist->ProjectionX("_px",0,-1,"e");
    Printf("Full Range");
  }else {
    Int_t firstbin=hist->GetYaxis()->FindBin(minDCA);
    Int_t lastbin=hist->GetYaxis()->FindBin(maxDCA);
    Printf("firstbin: %d lastbin: %d",firstbin,lastbin);
    outhist=(TH1F*)hist->ProjectionX("_px",firstbin,lastbin,"e");
  }
  Printf("Entries outhist: %.0f   Entries hist: %.0f",outhist->GetEntries(),hist->GetEntries());
  return outhist;
}

//_____________________________________________________________________________

TH1F* AliSpectraAODHistoManager::GetDCAHistogram1D(const char * name,Double_t minPt,Double_t maxPt)
{
  //   //return the projection of the TH2 (pt,DCA) in the DCA bin range [firstDCAbin,lastDCAbin]
  //   //if minPt=-1 && maxPt=-1 the projection is done using the full DCA range
  TH2F *hist=(TH2F*)fOutputList->FindObject(name);
  TH1F *outhist=0x0;
  Printf("--- Projecting %s on Yaxis[%f,%f]:",name,minPt,maxPt);
  if(minPt==-1 && maxPt==-1){
    outhist=(TH1F*)hist->ProjectionY("_py",0,-1,"e");
    Printf("Full Range");
  }else {
    Int_t firstbin=hist->GetXaxis()->FindBin(minPt);
    Int_t lastbin=hist->GetXaxis()->FindBin(maxPt);
    Printf("firstbin: %d lastbin: %d",firstbin,lastbin);
    outhist=(TH1F*)hist->ProjectionY("_py",firstbin,lastbin,"e");
    Printf("GetDCAHistogram1D(%s) BinRange:%d  %d  Pt Range: %f %f",hist->GetName(),firstbin,lastbin,hist->GetXaxis()->GetBinLowEdge(firstbin),hist->GetXaxis()->GetBinLowEdge(firstbin)+hist->GetXaxis()->GetBinWidth(lastbin));
  }
  Printf("Entries outhist: %.0f   Entries hist: %.0f",outhist->GetEntries(),hist->GetEntries());
  return outhist;
}

//_____________________________________________________________________________

Long64_t AliSpectraAODHistoManager::Merge(TCollection* list)
{
  // Merge a list of AliSpectraAODHistoManager objects with this.
  // Returns the number of merged objects (including this).

  //  AliInfo("Merging");

  if (!list)
    return 0;

  if (list->IsEmpty())
    return 1;

  TIterator* iter = list->MakeIterator();
  TObject* obj;

  // collections of all histograms
  TList collections;

  Int_t count = 0;

  while ((obj = iter->Next())) {
    AliSpectraAODHistoManager* entry = dynamic_cast<AliSpectraAODHistoManager*> (obj);
    if (entry == 0) 
      continue;

    TList * hlist = entry->GetOutputList();      
    collections.Add(hlist);
    count++;
  }
  
  fOutputList->Merge(&collections);
  
  delete iter;

  return count+1;
}


TH1* AliSpectraAODHistoManager::GetHistogram1D(UInt_t histoType, UInt_t particleType, UInt_t charge) {
  // GetHistogram using particle ID and histogram type
  Int_t baseId = -1;

  if (particleType == kSpUndefined) {
    AliError ("Trying to get histo for undefined particle");
    return 0;
  }

  switch(histoType) {
  case kHistPtGenTruePrimary:
    baseId = kHistPtGenTruePrimaryPionPlus;
    break;
  case kHistPtRecSigma:
    baseId = kHistPtRecSigmaPionPlus;
    break;
  case kHistPtRecTrue:
    baseId = kHistPtRecTruePionPlus;
    break;
  case kHistPtRecTruePrimary:
    baseId = kHistPtRecTruePrimaryPionPlus;
    break;
  case kHistPtRecPrimary:
    baseId = kHistPtRecPrimaryPionPlus;
    break;
  case kHistPtRecSigmaPrimary:
    baseId = kHistPtRecSigmaPrimaryPionPlus;
    break;
  case kHistPtRecSigmaSecondaryMaterial:
    baseId = kHistPtRecSigmaSecondaryMaterialPionPlus;
    break;
  case kHistPtRecSigmaSecondaryWeakDecay:
    baseId = kHistPtRecSigmaSecondaryWeakDecayPionPlus;
    break;
  case kHistNSigTPC:
    baseId = kHistNSigPionTPC;
    break;
  case kHistNSigTOF:
    baseId = kHistNSigPionTOF;
    break;
  case kHistNSigTPCTOF:
    baseId = kHistNSigPionTPCTOF;
    break;
  default:
    baseId = -1;
  }
  
  if (baseId < 0)
    AliFatal(Form("Wrong histogram type %d", histoType));

  //cout << "T[" << histoType << "] ID["<< baseId <<"] P["<<particleType<<"] C[" << charge 
  //     << " --> ["<< baseId + particleType + 3*(charge) <<"] = " ;

  baseId = baseId + particleType + 3*(charge);

  //cout <<  GetHistogram(baseId)->GetName() << endl;

  return GetHistogram(baseId);
}

TH2* AliSpectraAODHistoManager::GetHistogram2D(UInt_t histoType, UInt_t particleType, UInt_t charge){
  // returns histo based on ids, casting it to TH2*
  return (TH2*) GetHistogram1D(histoType,particleType,charge);


}
 AliSpectraAODHistoManager.cxx:1
 AliSpectraAODHistoManager.cxx:2
 AliSpectraAODHistoManager.cxx:3
 AliSpectraAODHistoManager.cxx:4
 AliSpectraAODHistoManager.cxx:5
 AliSpectraAODHistoManager.cxx:6
 AliSpectraAODHistoManager.cxx:7
 AliSpectraAODHistoManager.cxx:8
 AliSpectraAODHistoManager.cxx:9
 AliSpectraAODHistoManager.cxx:10
 AliSpectraAODHistoManager.cxx:11
 AliSpectraAODHistoManager.cxx:12
 AliSpectraAODHistoManager.cxx:13
 AliSpectraAODHistoManager.cxx:14
 AliSpectraAODHistoManager.cxx:15
 AliSpectraAODHistoManager.cxx:16
 AliSpectraAODHistoManager.cxx:17
 AliSpectraAODHistoManager.cxx:18
 AliSpectraAODHistoManager.cxx:19
 AliSpectraAODHistoManager.cxx:20
 AliSpectraAODHistoManager.cxx:21
 AliSpectraAODHistoManager.cxx:22
 AliSpectraAODHistoManager.cxx:23
 AliSpectraAODHistoManager.cxx:24
 AliSpectraAODHistoManager.cxx:25
 AliSpectraAODHistoManager.cxx:26
 AliSpectraAODHistoManager.cxx:27
 AliSpectraAODHistoManager.cxx:28
 AliSpectraAODHistoManager.cxx:29
 AliSpectraAODHistoManager.cxx:30
 AliSpectraAODHistoManager.cxx:31
 AliSpectraAODHistoManager.cxx:32
 AliSpectraAODHistoManager.cxx:33
 AliSpectraAODHistoManager.cxx:34
 AliSpectraAODHistoManager.cxx:35
 AliSpectraAODHistoManager.cxx:36
 AliSpectraAODHistoManager.cxx:37
 AliSpectraAODHistoManager.cxx:38
 AliSpectraAODHistoManager.cxx:39
 AliSpectraAODHistoManager.cxx:40
 AliSpectraAODHistoManager.cxx:41
 AliSpectraAODHistoManager.cxx:42
 AliSpectraAODHistoManager.cxx:43
 AliSpectraAODHistoManager.cxx:44
 AliSpectraAODHistoManager.cxx:45
 AliSpectraAODHistoManager.cxx:46
 AliSpectraAODHistoManager.cxx:47
 AliSpectraAODHistoManager.cxx:48
 AliSpectraAODHistoManager.cxx:49
 AliSpectraAODHistoManager.cxx:50
 AliSpectraAODHistoManager.cxx:51
 AliSpectraAODHistoManager.cxx:52
 AliSpectraAODHistoManager.cxx:53
 AliSpectraAODHistoManager.cxx:54
 AliSpectraAODHistoManager.cxx:55
 AliSpectraAODHistoManager.cxx:56
 AliSpectraAODHistoManager.cxx:57
 AliSpectraAODHistoManager.cxx:58
 AliSpectraAODHistoManager.cxx:59
 AliSpectraAODHistoManager.cxx:60
 AliSpectraAODHistoManager.cxx:61
 AliSpectraAODHistoManager.cxx:62
 AliSpectraAODHistoManager.cxx:63
 AliSpectraAODHistoManager.cxx:64
 AliSpectraAODHistoManager.cxx:65
 AliSpectraAODHistoManager.cxx:66
 AliSpectraAODHistoManager.cxx:67
 AliSpectraAODHistoManager.cxx:68
 AliSpectraAODHistoManager.cxx:69
 AliSpectraAODHistoManager.cxx:70
 AliSpectraAODHistoManager.cxx:71
 AliSpectraAODHistoManager.cxx:72
 AliSpectraAODHistoManager.cxx:73
 AliSpectraAODHistoManager.cxx:74
 AliSpectraAODHistoManager.cxx:75
 AliSpectraAODHistoManager.cxx:76
 AliSpectraAODHistoManager.cxx:77
 AliSpectraAODHistoManager.cxx:78
 AliSpectraAODHistoManager.cxx:79
 AliSpectraAODHistoManager.cxx:80
 AliSpectraAODHistoManager.cxx:81
 AliSpectraAODHistoManager.cxx:82
 AliSpectraAODHistoManager.cxx:83
 AliSpectraAODHistoManager.cxx:84
 AliSpectraAODHistoManager.cxx:85
 AliSpectraAODHistoManager.cxx:86
 AliSpectraAODHistoManager.cxx:87
 AliSpectraAODHistoManager.cxx:88
 AliSpectraAODHistoManager.cxx:89
 AliSpectraAODHistoManager.cxx:90
 AliSpectraAODHistoManager.cxx:91
 AliSpectraAODHistoManager.cxx:92
 AliSpectraAODHistoManager.cxx:93
 AliSpectraAODHistoManager.cxx:94
 AliSpectraAODHistoManager.cxx:95
 AliSpectraAODHistoManager.cxx:96
 AliSpectraAODHistoManager.cxx:97
 AliSpectraAODHistoManager.cxx:98
 AliSpectraAODHistoManager.cxx:99
 AliSpectraAODHistoManager.cxx:100
 AliSpectraAODHistoManager.cxx:101
 AliSpectraAODHistoManager.cxx:102
 AliSpectraAODHistoManager.cxx:103
 AliSpectraAODHistoManager.cxx:104
 AliSpectraAODHistoManager.cxx:105
 AliSpectraAODHistoManager.cxx:106
 AliSpectraAODHistoManager.cxx:107
 AliSpectraAODHistoManager.cxx:108
 AliSpectraAODHistoManager.cxx:109
 AliSpectraAODHistoManager.cxx:110
 AliSpectraAODHistoManager.cxx:111
 AliSpectraAODHistoManager.cxx:112
 AliSpectraAODHistoManager.cxx:113
 AliSpectraAODHistoManager.cxx:114
 AliSpectraAODHistoManager.cxx:115
 AliSpectraAODHistoManager.cxx:116
 AliSpectraAODHistoManager.cxx:117
 AliSpectraAODHistoManager.cxx:118
 AliSpectraAODHistoManager.cxx:119
 AliSpectraAODHistoManager.cxx:120
 AliSpectraAODHistoManager.cxx:121
 AliSpectraAODHistoManager.cxx:122
 AliSpectraAODHistoManager.cxx:123
 AliSpectraAODHistoManager.cxx:124
 AliSpectraAODHistoManager.cxx:125
 AliSpectraAODHistoManager.cxx:126
 AliSpectraAODHistoManager.cxx:127
 AliSpectraAODHistoManager.cxx:128
 AliSpectraAODHistoManager.cxx:129
 AliSpectraAODHistoManager.cxx:130
 AliSpectraAODHistoManager.cxx:131
 AliSpectraAODHistoManager.cxx:132
 AliSpectraAODHistoManager.cxx:133
 AliSpectraAODHistoManager.cxx:134
 AliSpectraAODHistoManager.cxx:135
 AliSpectraAODHistoManager.cxx:136
 AliSpectraAODHistoManager.cxx:137
 AliSpectraAODHistoManager.cxx:138
 AliSpectraAODHistoManager.cxx:139
 AliSpectraAODHistoManager.cxx:140
 AliSpectraAODHistoManager.cxx:141
 AliSpectraAODHistoManager.cxx:142
 AliSpectraAODHistoManager.cxx:143
 AliSpectraAODHistoManager.cxx:144
 AliSpectraAODHistoManager.cxx:145
 AliSpectraAODHistoManager.cxx:146
 AliSpectraAODHistoManager.cxx:147
 AliSpectraAODHistoManager.cxx:148
 AliSpectraAODHistoManager.cxx:149
 AliSpectraAODHistoManager.cxx:150
 AliSpectraAODHistoManager.cxx:151
 AliSpectraAODHistoManager.cxx:152
 AliSpectraAODHistoManager.cxx:153
 AliSpectraAODHistoManager.cxx:154
 AliSpectraAODHistoManager.cxx:155
 AliSpectraAODHistoManager.cxx:156
 AliSpectraAODHistoManager.cxx:157
 AliSpectraAODHistoManager.cxx:158
 AliSpectraAODHistoManager.cxx:159
 AliSpectraAODHistoManager.cxx:160
 AliSpectraAODHistoManager.cxx:161
 AliSpectraAODHistoManager.cxx:162
 AliSpectraAODHistoManager.cxx:163
 AliSpectraAODHistoManager.cxx:164
 AliSpectraAODHistoManager.cxx:165
 AliSpectraAODHistoManager.cxx:166
 AliSpectraAODHistoManager.cxx:167
 AliSpectraAODHistoManager.cxx:168
 AliSpectraAODHistoManager.cxx:169
 AliSpectraAODHistoManager.cxx:170
 AliSpectraAODHistoManager.cxx:171
 AliSpectraAODHistoManager.cxx:172
 AliSpectraAODHistoManager.cxx:173
 AliSpectraAODHistoManager.cxx:174
 AliSpectraAODHistoManager.cxx:175
 AliSpectraAODHistoManager.cxx:176
 AliSpectraAODHistoManager.cxx:177
 AliSpectraAODHistoManager.cxx:178
 AliSpectraAODHistoManager.cxx:179
 AliSpectraAODHistoManager.cxx:180
 AliSpectraAODHistoManager.cxx:181
 AliSpectraAODHistoManager.cxx:182
 AliSpectraAODHistoManager.cxx:183
 AliSpectraAODHistoManager.cxx:184
 AliSpectraAODHistoManager.cxx:185
 AliSpectraAODHistoManager.cxx:186
 AliSpectraAODHistoManager.cxx:187
 AliSpectraAODHistoManager.cxx:188
 AliSpectraAODHistoManager.cxx:189
 AliSpectraAODHistoManager.cxx:190
 AliSpectraAODHistoManager.cxx:191
 AliSpectraAODHistoManager.cxx:192
 AliSpectraAODHistoManager.cxx:193
 AliSpectraAODHistoManager.cxx:194
 AliSpectraAODHistoManager.cxx:195
 AliSpectraAODHistoManager.cxx:196
 AliSpectraAODHistoManager.cxx:197
 AliSpectraAODHistoManager.cxx:198
 AliSpectraAODHistoManager.cxx:199
 AliSpectraAODHistoManager.cxx:200
 AliSpectraAODHistoManager.cxx:201
 AliSpectraAODHistoManager.cxx:202
 AliSpectraAODHistoManager.cxx:203
 AliSpectraAODHistoManager.cxx:204
 AliSpectraAODHistoManager.cxx:205
 AliSpectraAODHistoManager.cxx:206
 AliSpectraAODHistoManager.cxx:207
 AliSpectraAODHistoManager.cxx:208
 AliSpectraAODHistoManager.cxx:209
 AliSpectraAODHistoManager.cxx:210
 AliSpectraAODHistoManager.cxx:211
 AliSpectraAODHistoManager.cxx:212
 AliSpectraAODHistoManager.cxx:213
 AliSpectraAODHistoManager.cxx:214
 AliSpectraAODHistoManager.cxx:215
 AliSpectraAODHistoManager.cxx:216
 AliSpectraAODHistoManager.cxx:217
 AliSpectraAODHistoManager.cxx:218
 AliSpectraAODHistoManager.cxx:219
 AliSpectraAODHistoManager.cxx:220
 AliSpectraAODHistoManager.cxx:221
 AliSpectraAODHistoManager.cxx:222
 AliSpectraAODHistoManager.cxx:223
 AliSpectraAODHistoManager.cxx:224
 AliSpectraAODHistoManager.cxx:225
 AliSpectraAODHistoManager.cxx:226
 AliSpectraAODHistoManager.cxx:227
 AliSpectraAODHistoManager.cxx:228
 AliSpectraAODHistoManager.cxx:229
 AliSpectraAODHistoManager.cxx:230
 AliSpectraAODHistoManager.cxx:231
 AliSpectraAODHistoManager.cxx:232
 AliSpectraAODHistoManager.cxx:233
 AliSpectraAODHistoManager.cxx:234
 AliSpectraAODHistoManager.cxx:235
 AliSpectraAODHistoManager.cxx:236
 AliSpectraAODHistoManager.cxx:237
 AliSpectraAODHistoManager.cxx:238
 AliSpectraAODHistoManager.cxx:239
 AliSpectraAODHistoManager.cxx:240
 AliSpectraAODHistoManager.cxx:241
 AliSpectraAODHistoManager.cxx:242
 AliSpectraAODHistoManager.cxx:243
 AliSpectraAODHistoManager.cxx:244
 AliSpectraAODHistoManager.cxx:245
 AliSpectraAODHistoManager.cxx:246
 AliSpectraAODHistoManager.cxx:247
 AliSpectraAODHistoManager.cxx:248
 AliSpectraAODHistoManager.cxx:249
 AliSpectraAODHistoManager.cxx:250
 AliSpectraAODHistoManager.cxx:251
 AliSpectraAODHistoManager.cxx:252
 AliSpectraAODHistoManager.cxx:253
 AliSpectraAODHistoManager.cxx:254
 AliSpectraAODHistoManager.cxx:255
 AliSpectraAODHistoManager.cxx:256
 AliSpectraAODHistoManager.cxx:257
 AliSpectraAODHistoManager.cxx:258
 AliSpectraAODHistoManager.cxx:259
 AliSpectraAODHistoManager.cxx:260
 AliSpectraAODHistoManager.cxx:261
 AliSpectraAODHistoManager.cxx:262
 AliSpectraAODHistoManager.cxx:263
 AliSpectraAODHistoManager.cxx:264
 AliSpectraAODHistoManager.cxx:265
 AliSpectraAODHistoManager.cxx:266
 AliSpectraAODHistoManager.cxx:267
 AliSpectraAODHistoManager.cxx:268
 AliSpectraAODHistoManager.cxx:269
 AliSpectraAODHistoManager.cxx:270
 AliSpectraAODHistoManager.cxx:271
 AliSpectraAODHistoManager.cxx:272
 AliSpectraAODHistoManager.cxx:273
 AliSpectraAODHistoManager.cxx:274
 AliSpectraAODHistoManager.cxx:275
 AliSpectraAODHistoManager.cxx:276
 AliSpectraAODHistoManager.cxx:277
 AliSpectraAODHistoManager.cxx:278
 AliSpectraAODHistoManager.cxx:279
 AliSpectraAODHistoManager.cxx:280
 AliSpectraAODHistoManager.cxx:281
 AliSpectraAODHistoManager.cxx:282
 AliSpectraAODHistoManager.cxx:283
 AliSpectraAODHistoManager.cxx:284
 AliSpectraAODHistoManager.cxx:285
 AliSpectraAODHistoManager.cxx:286
 AliSpectraAODHistoManager.cxx:287
 AliSpectraAODHistoManager.cxx:288
 AliSpectraAODHistoManager.cxx:289
 AliSpectraAODHistoManager.cxx:290
 AliSpectraAODHistoManager.cxx:291
 AliSpectraAODHistoManager.cxx:292
 AliSpectraAODHistoManager.cxx:293
 AliSpectraAODHistoManager.cxx:294
 AliSpectraAODHistoManager.cxx:295
 AliSpectraAODHistoManager.cxx:296
 AliSpectraAODHistoManager.cxx:297
 AliSpectraAODHistoManager.cxx:298
 AliSpectraAODHistoManager.cxx:299
 AliSpectraAODHistoManager.cxx:300
 AliSpectraAODHistoManager.cxx:301
 AliSpectraAODHistoManager.cxx:302
 AliSpectraAODHistoManager.cxx:303
 AliSpectraAODHistoManager.cxx:304
 AliSpectraAODHistoManager.cxx:305
 AliSpectraAODHistoManager.cxx:306
 AliSpectraAODHistoManager.cxx:307
 AliSpectraAODHistoManager.cxx:308
 AliSpectraAODHistoManager.cxx:309
 AliSpectraAODHistoManager.cxx:310
 AliSpectraAODHistoManager.cxx:311
 AliSpectraAODHistoManager.cxx:312
 AliSpectraAODHistoManager.cxx:313
 AliSpectraAODHistoManager.cxx:314
 AliSpectraAODHistoManager.cxx:315
 AliSpectraAODHistoManager.cxx:316
 AliSpectraAODHistoManager.cxx:317
 AliSpectraAODHistoManager.cxx:318
 AliSpectraAODHistoManager.cxx:319
 AliSpectraAODHistoManager.cxx:320
 AliSpectraAODHistoManager.cxx:321
 AliSpectraAODHistoManager.cxx:322
 AliSpectraAODHistoManager.cxx:323
 AliSpectraAODHistoManager.cxx:324
 AliSpectraAODHistoManager.cxx:325
 AliSpectraAODHistoManager.cxx:326
 AliSpectraAODHistoManager.cxx:327
 AliSpectraAODHistoManager.cxx:328
 AliSpectraAODHistoManager.cxx:329
 AliSpectraAODHistoManager.cxx:330
 AliSpectraAODHistoManager.cxx:331
 AliSpectraAODHistoManager.cxx:332
 AliSpectraAODHistoManager.cxx:333
 AliSpectraAODHistoManager.cxx:334
 AliSpectraAODHistoManager.cxx:335
 AliSpectraAODHistoManager.cxx:336
 AliSpectraAODHistoManager.cxx:337
 AliSpectraAODHistoManager.cxx:338
 AliSpectraAODHistoManager.cxx:339
 AliSpectraAODHistoManager.cxx:340
 AliSpectraAODHistoManager.cxx:341
 AliSpectraAODHistoManager.cxx:342
 AliSpectraAODHistoManager.cxx:343
 AliSpectraAODHistoManager.cxx:344
 AliSpectraAODHistoManager.cxx:345
 AliSpectraAODHistoManager.cxx:346
 AliSpectraAODHistoManager.cxx:347
 AliSpectraAODHistoManager.cxx:348
 AliSpectraAODHistoManager.cxx:349
 AliSpectraAODHistoManager.cxx:350
 AliSpectraAODHistoManager.cxx:351
 AliSpectraAODHistoManager.cxx:352
 AliSpectraAODHistoManager.cxx:353
 AliSpectraAODHistoManager.cxx:354
 AliSpectraAODHistoManager.cxx:355
 AliSpectraAODHistoManager.cxx:356