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$ */

/*
  Produces the data needed to calculate the quality assurance. 
  All data must be mergeable objects.
  Y. Schutz CERN July 2007
*/

// --- ROOT system ---
#include <TClonesArray.h>
#include <TFile.h> 
#include <TH1F.h> 
#include <TH1I.h> 
#include <TH2F.h> 
#include <TParameter.h>

// --- Standard library ---

// --- AliRoot header files ---
#include "AliCaloRawStreamV3.h"
#include "AliESDCaloCluster.h"
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliPHOSQADataMakerRec.h"
#include "AliPHOSDigit.h"
#include "AliPHOSCpvRecPoint.h" 
#include "AliPHOSEmcRecPoint.h" 
#include "AliPHOSRawFitterv0.h"
#include "AliPHOSRawFitterv1.h"
#include "AliPHOSRawFitterv2.h"
#include "AliPHOSReconstructor.h"
#include "AliPHOSRecParticle.h" 
#include "AliPHOSTrackSegment.h" 
#include "AliQAChecker.h"
#include "AliRawReader.h"

ClassImp(AliPHOSQADataMakerRec)
           
//____________________________________________________________________________ 
  AliPHOSQADataMakerRec::AliPHOSQADataMakerRec() : 
  AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kPHOS), "PHOS Quality Assurance Data Maker")
{
  // ctor
}

//____________________________________________________________________________ 
AliPHOSQADataMakerRec::AliPHOSQADataMakerRec(const AliPHOSQADataMakerRec& qadm) :
  AliQADataMakerRec()
{
  //copy ctor 
  SetName((const char*)qadm.GetName()) ; 
  SetTitle((const char*)qadm.GetTitle()); 
}

//__________________________________________________________________
AliPHOSQADataMakerRec& AliPHOSQADataMakerRec::operator = (const AliPHOSQADataMakerRec& qadm )
{
  // Equal operator.
  this->~AliPHOSQADataMakerRec();
  new(this) AliPHOSQADataMakerRec(qadm);
  return *this;
}
 
//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
  //Detector specific actions at end of cycle
  ResetEventTrigClasses();

  for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
    if (! IsValidEventSpecie(specie, list)) continue;
    SetEventSpecie(AliRecoParam::ConvertIndex(specie)); 
    //
    for (int itc=-1;itc<GetNTrigClasses();itc++) {  // RS: loop over all trigger clones
      //
      if(GetRawsData(kHGqualMod0,itc) && GetRawsData(kHGmod0,itc))
	GetRawsData(kHGqualMod0,itc)->Divide( GetRawsData(kHGmod0,itc) );
      if(GetRawsData(kHGqualMod1,itc) && GetRawsData(kHGmod1,itc))
	GetRawsData(kHGqualMod1,itc)->Divide( GetRawsData(kHGmod1,itc) );
      if(GetRawsData(kHGqualMod2,itc) && GetRawsData(kHGmod2,itc))
	GetRawsData(kHGqualMod2,itc)->Divide( GetRawsData(kHGmod2,itc) );
      if(GetRawsData(kHGqualMod3,itc) && GetRawsData(kHGmod3,itc))
	GetRawsData(kHGqualMod3,itc)->Divide( GetRawsData(kHGmod3,itc) );
      if(GetRawsData(kHGqualMod4,itc) && GetRawsData(kHGmod4,itc))
	GetRawsData(kHGqualMod4,itc)->Divide( GetRawsData(kHGmod4,itc) );
      if(GetRawsData(kNRCUHG,itc)) {
	Int_t norm = GetEvCountTotalRaws();
	if (norm < 1) norm = 1;
	TH1F* tmp = (TH1F*)GetRawsData(kNRCUHGnorm,itc);
	tmp->Reset();
	tmp->Add((TH1F*)GetRawsData(kNRCUHG,itc),1./norm);
      }
    } // RS: loop over all trigger clones
  }
  // do the QA checking
  AliQAChecker::Instance()->Run(AliQAv1::kPHOS, task, list) ;  
}

//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::InitESDs()
{
  //Create histograms to controll ESD
 
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 

  TH1F * h1 = new TH1F("hESDPhosSpectrum",  "ESDs spectrum in PHOS; Energy [MeV];Counts"                ,  200, 0.,   20.) ;
  h1->Sumw2() ;
  Add2ESDsList(h1, kESDSpec, !expert, image)  ;

  TH1I * h2 = new TH1I("hESDPhosMul",       "ESDs multiplicity distribution in PHOS; # of clusters;Counts", 100, 0,   100 ) ; 
  h2->Sumw2() ;
  Add2ESDsList(h2, kESDNtot, !expert, image) ;
 
  TH1F * h3 = new TH1F("hESDPhosEtot",      "ESDs total energy;Energy [MeV];Counts"                     , 2000, 0,  200.) ; 
  h3->Sumw2() ;
  Add2ESDsList(h3, kESDEtot, !expert, image) ;  //Expert histo
 
  TH1F * h4 = new TH1F("hESDpid",           "ESDs PID distribution in PHOS;Particle Id;Counts"         , 100, 0.,    1.) ;
  h4->Sumw2() ;
  Add2ESDsList(h4, kESDpid, !expert, image) ; //Expert histo
  //
  ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line	
}

//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::InitDigits()
{
  // create Digits histograms in Digits subdir
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  TH1I * h0 = new TH1I("hPhosDigits",    "Digits amplitude distribution in PHOS;Amplitude [ADC counts];Counts",    500, 0, 1000) ; 
  h0->Sumw2() ;
  Add2DigitsList(h0, kDigits, !expert, image) ;
  TH1I * h1 = new TH1I("hPhosDigitsMul", "Digits multiplicity distribution in PHOS;# of Digits;Entries", 2000, 0, 10000) ; 
  h1->Sumw2() ;
  Add2DigitsList(h1, kDigitsMul, !expert, image) ;
  //
  ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
}

//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::InitRecPoints()
{
  // create Reconstructed Points histograms in RecPoints subdir
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  TH2I * h0 = new TH2I("hRpPHOSxyMod1","RecPoints Rows x Columns for PHOS module 1;Row #;Column #", 64, -72., 72., 56, -63., 63.) ;                             
  Add2RecPointsList(h0,kRPmod1, expert, !image) ;
  TH2I * h1 = new TH2I("hRpPHOSxyMod2","RecPoints Rows x Columns for PHOS module 2;Row #;Column #", 64, -72., 72., 56, -63., 63.) ;                             
  Add2RecPointsList(h1,kRPmod2, expert, !image) ;
  TH2I * h2 = new TH2I("hRpPHOSxyMod3","RecPoints Rows x Columns for PHOS module 3;Row #;Column #", 64, -72., 72., 56, -63., 63.) ;                             
  Add2RecPointsList(h2,kRPmod3, expert, !image) ;
  TH2I * h3 = new TH2I("hRpPHOSxyMod4","RecPoints Rows x Columns for PHOS module 4;Row #;Column #", 64, -72., 72., 56, -63., 63.) ;                             
  Add2RecPointsList(h3,kRPmod4, expert, !image) ;
  TH2I * h4 = new TH2I("hRpPHOSxyMod5","RecPoints Rows x Columns for PHOS module 5;Row #;Column #", 64, -72., 72., 56, -63., 63.) ;                             
  Add2RecPointsList(h4,kRPmod5, expert, !image) ;
 
  TH1F * h5 = new TH1F("hEmcPhosRecPointsSpectrum",  "EMC RecPoints spectrum in PHOS;Energy [MeV];Counts",   2000, 0., 20.) ; 
  h5->Sumw2() ;
  Add2RecPointsList(h5, kRPSpec, !expert, image)  ;

  TH1I * h6 = new TH1I("hEmcPhosRecPointsMul", "EMC RecPoints multiplicity distribution in PHOS;# of EMC Clusters;Entries", 100, 0,  100) ; 
  h6->Sumw2() ;
  Add2RecPointsList(h6, kRPNtot, !expert, image) ;

  TH1I * h7 = new TH1I("hEmcPhosRecPointsEtot", "EMC RecPoints Etot;Energy [MeV];Counts", 200, 0,  200.) ; 
  h7->Sumw2() ;
  Add2RecPointsList(h7, kRPEtot, !expert, image) ;

  TH1I * h8 = new TH1I("hCpvPhosRecPointsMul", "CPV RecPoints multiplicity distribution in PHOS;# of CPV clusters;Counts", 100, 0,  100) ; 
  h8->Sumw2() ;
  Add2RecPointsList(h8, kRPNcpv, !expert, image) ;
  //
  ClonePerTrigClass(AliQAv1::kRECPOINTS); // this should be the last line
}

//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::InitRaws()
{
  // create Raws histograms in Raws subdir
  const Bool_t expert   = kTRUE ; 
  const Bool_t saveCorr = kTRUE ; 
  const Bool_t image    = kTRUE ; 

  TH2I * h0 = new TH2I("hHighPHOSxyMod0","High Gain in PHOS module 0", 64, 0, 64, 56, 0, 56) ;
  h0->SetXTitle("x, cells"); h0->SetYTitle("z, cells");
  Add2RawsList(h0,kHGmod0, expert, !image, !saveCorr) ;
  TH2I * h1 = new TH2I("hHighPHOSxyMod1","High Gain in PHOS module 1", 64, 0, 64, 56, 0, 56) ;
  h1->SetXTitle("x, cells"); h1->SetYTitle("z, cells");
  Add2RawsList(h1,kHGmod1, expert, !image, !saveCorr) ;
  TH2I * h2 = new TH2I("hHighPHOSxyMod2","High Gain in PHOS module 2", 64, 0, 64, 56, 0, 56) ;
  h2->SetXTitle("x, cells"); h2->SetYTitle("z, cells");
  Add2RawsList(h2,kHGmod2, expert, !image, !saveCorr) ;
  TH2I * h3 = new TH2I("hHighPHOSxyMod3","High Gain in PHOS module 3", 64, 0, 64, 56, 0, 56) ;
  h3->SetXTitle("x, cells"); h3->SetYTitle("z, cells");
  Add2RawsList(h3,kHGmod3, expert, !image, !saveCorr) ;
  TH2I * h4 = new TH2I("hHighPHOSxyMod4","High Gain in PHOS module 4", 64, 0, 64, 56, 0, 56) ;
  h4->SetXTitle("x, cells"); h4->SetYTitle("z, cells");
  Add2RawsList(h4,kHGmod4, expert, !image, !saveCorr) ;

  TH2I * h5 = new TH2I("hLowPHOSxyMod0","Low Gain in PHOS module 0", 64, 0, 64, 56, 0, 56) ;
  h5->SetXTitle("x, cells"); h5->SetYTitle("z, cells");
  Add2RawsList(h5,kLGmod0, expert, !image, !saveCorr) ;
  TH2I * h6 = new TH2I("hLowPHOSxyMod1","Low Gain in PHOS module 1", 64, 0, 64, 56, 0, 56) ;
  h6->SetXTitle("x, cells"); h6->SetYTitle("z, cells");
  Add2RawsList(h6,kLGmod1, expert, !image, !saveCorr) ;
  TH2I * h7 = new TH2I("hLowPHOSxyMod2","Low Gain in PHOS module 2", 64, 0, 64, 56, 0, 56) ;
  h7->SetXTitle("x, cells"); h7->SetYTitle("z, cells");
  Add2RawsList(h7,kLGmod2, expert, !image, !saveCorr) ;
  TH2I * h8 = new TH2I("hLowPHOSxyMod3","Low Gain in PHOS module 3", 64, 0, 64, 56, 0, 56) ;
  h8->SetXTitle("x, cells"); h8->SetYTitle("z, cells");
  Add2RawsList(h8,kLGmod3, expert, !image, !saveCorr) ;
  TH2I * h9 = new TH2I("hLowPHOSxyMod4","Low Gain in PHOS module 4", 64, 0, 64, 56, 0, 56) ;
  h9->SetXTitle("x, cells"); h9->SetYTitle("z, cells");
  Add2RawsList(h9,kLGmod4, expert, !image, !saveCorr) ;

  TH1I * h10 = new TH1I("hLowPhosModules",    "Low Gain Hits in EMCA PHOS modules", 5, 0, 5) ;
  h10->SetXTitle("Module number");
  Add2RawsList(h10, kNmodLG, !expert, image, !saveCorr) ;
  TH1I * h11 = new TH1I("hHighPhosModules",   "High Gain Hits in EMCA PHOS modules",5, 0, 5) ;
  h11->SetXTitle("Module number");
  Add2RawsList(h11, kNmodHG, !expert, image, !saveCorr) ;

  TH1I * h11_RCU = new TH1I("hHighPhosRCU",   "PHOS RCU occupancy with HG channels",12, 0, 12) ;
  h11_RCU->SetXTitle("RCU number");
  Add2RawsList(h11_RCU, kNRCUHG, expert, image, !saveCorr) ;
  TH1F * h11_RCUnorm = new TH1F("hHighPhosRCUnorm",   "PHOS RCU normalized occupancy with HG channels",12, 0, 12) ;
  h11_RCUnorm->SetXTitle("RCU number");
  h11_RCUnorm->SetYTitle("N hits per event");
  h11_RCUnorm->Sumw2();
  h11_RCUnorm->SetMarkerStyle(20);
  Add2RawsList(h11_RCUnorm, kNRCUHGnorm, !expert, image, !saveCorr) ;

  TH1F * h12 = new TH1F("hLowPhosRawtime" , "Low Gain Time of raw hits in PHOS" , 500, -50., 200.) ;
  h12->SetXTitle("Time [samples]");
  h12->Sumw2() ;
  Add2RawsList(h12, kLGtime, expert, !image, !saveCorr) ;
  TH1F * h13 = new TH1F("hHighPhosRawtime", "High Gain Time of raw hits in PHOS", 500, -50., 200.) ;
  h13->SetXTitle("Time [samples]");
  h13->Sumw2() ;
  Add2RawsList(h13, kHGtime, expert, !image, !saveCorr) ;

  TH1F * h14 = new TH1F("hLowPhosRawEnergy" , "Low Gain Energy of raw hits in PHOS" , 512, 0., 1024.) ;
  h14->SetXTitle("Energy [ADC counts]");
  h14->Sumw2() ;
  Add2RawsList(h14, kSpecLG, !expert, image, !saveCorr) ;
  TH1F * h15 = new TH1F("hHighPhosRawEnergy", "High Gain Energy of raw hits in PHOS", 512, 0., 1024.) ;
  h15->SetXTitle("Energy [ADC counts]");
  h15->Sumw2() ;
  Add2RawsList(h15, kSpecHG, !expert, image, !saveCorr) ;

  TH1F * h16 = new TH1F("hLowNtot" , "Low Gain Total Number of raw hits in PHOS" , 500, 0., 5000.) ;
  h16->SetXTitle("Number of hits");
  h16->Sumw2() ;
  Add2RawsList(h16, kNtotLG, !expert, image, saveCorr) ;
  TH1F * h17 = new TH1F("hHighNtot", "High Gain Total Number of raw hits in PHOS", 500, 0., 5000.) ;
  h17->SetXTitle("Number of hits");
  h17->Sumw2() ;
  Add2RawsList(h17, kNtotHG, !expert, image, saveCorr) ;

  TH1F * h17_1_0 = new TH1F("hHighNtot_1_0", "High Gain Total Number of raw hits in module 1 RCU0", 500, 0., 1000.) ;
  h17_1_0->SetXTitle("Number of hits");
  h17_1_0->Sumw2() ;
  Add2RawsList(h17_1_0, kNtotHG_1_0, expert, image, saveCorr) ;

  TH1F * h17_1_1 = new TH1F("hHighNtot_1_1", "High Gain Total Number of raw hits in module 1 RCU1", 500, 0., 1000.) ;
  h17_1_1->SetXTitle("Number of hits");
  h17_1_1->Sumw2() ;
  Add2RawsList(h17_1_1, kNtotHG_1_1, expert, image, saveCorr) ;

  TH1F * h17_1_2 = new TH1F("hHighNtot_1_2", "High Gain Total Number of raw hits in module 1 RCU2", 500, 0., 1000.) ;
  h17_1_2->SetXTitle("Number of hits");
  h17_1_2->Sumw2() ;
  Add2RawsList(h17_1_2, kNtotHG_1_2, expert, image, saveCorr) ;

  TH1F * h17_1_3 = new TH1F("hHighNtot_1_3", "High Gain Total Number of raw hits in module 1 RCU3", 500, 0., 1000.) ;
  h17_1_3->SetXTitle("Number of hits");
  h17_1_3->Sumw2() ;
  Add2RawsList(h17_1_3, kNtotHG_1_3, expert, image, saveCorr) ;

  TH1F * h17_2_0 = new TH1F("hHighNtot_2_0", "High Gain Total Number of raw hits in module 2 RCU0", 500, 0., 1000.) ;
  h17_2_0->SetXTitle("Number of hits");
  h17_2_0->Sumw2() ;
  Add2RawsList(h17_2_0, kNtotHG_2_0, expert, image, saveCorr) ;

  TH1F * h17_2_1 = new TH1F("hHighNtot_2_1", "High Gain Total Number of raw hits in module 2 RCU1", 500, 0., 1000.) ;
  h17_2_1->SetXTitle("Number of hits");
  h17_2_1->Sumw2() ;
  Add2RawsList(h17_2_1, kNtotHG_2_1, expert, image, saveCorr) ;

  TH1F * h17_2_2 = new TH1F("hHighNtot_2_2", "High Gain Total Number of raw hits in module 2 RCU2", 500, 0., 1000.) ;
  h17_2_2->SetXTitle("Number of hits");
  h17_2_2->Sumw2() ;
  Add2RawsList(h17_2_2, kNtotHG_2_2, expert, image, saveCorr) ;

  TH1F * h17_2_3 = new TH1F("hHighNtot_2_3", "High Gain Total Number of raw hits in module 2 RCU3", 500, 0., 1000.) ;
  h17_2_3->SetXTitle("Number of hits");
  h17_2_3->Sumw2() ;
  Add2RawsList(h17_2_3, kNtotHG_2_3, expert, image, saveCorr) ;

  TH1F * h17_3_0 = new TH1F("hHighNtot_3_0", "High Gain Total Number of raw hits in module 3 RCU0", 500, 0., 1000.) ;
  h17_3_0->SetXTitle("Number of hits");
  h17_3_0->Sumw2() ;
  Add2RawsList(h17_3_0, kNtotHG_3_0, expert, image, saveCorr) ;

  TH1F * h17_3_1 = new TH1F("hHighNtot_3_1", "High Gain Total Number of raw hits in module 3 RCU1", 500, 0., 1000.) ;
  h17_3_1->SetXTitle("Number of hits");
  h17_3_1->Sumw2() ;
  Add2RawsList(h17_3_1, kNtotHG_3_1, expert, image, saveCorr) ;

  TH1F * h17_3_2 = new TH1F("hHighNtot_3_2", "High Gain Total Number of raw hits in module 3 RCU2", 500, 0., 1000.) ;
  h17_3_2->SetXTitle("Number of hits");
  h17_3_2->Sumw2() ;
  Add2RawsList(h17_3_2, kNtotHG_3_2, expert, image, saveCorr) ;

  TH1F * h17_3_3 = new TH1F("hHighNtot_3_3", "High Gain Total Number of raw hits in module 3 RCU3", 500, 0., 1000.) ;
  h17_3_3->SetXTitle("Number of hits");
  h17_3_3->Sumw2() ;
  Add2RawsList(h17_3_3, kNtotHG_3_3, expert, image, saveCorr) ;

  TH1F * h18 = new TH1F("hLowEtot" , "Low Gain Total Energy of raw hits in PHOS" , 500, 0., 100000.) ;
  h18->SetXTitle("Energy [ADC counts]");
  h18->Sumw2() ;
  Add2RawsList(h18, kEtotLG, !expert, image, saveCorr) ;
  TH1F * h19 = new TH1F("hHighEtot", "High Gain Total Energy of raw hits in PHOS", 500, 0., 100000.) ;
  h19->SetXTitle("Energy [ADC counts]");
  h19->Sumw2() ;
  Add2RawsList(h19, kEtotHG, !expert, image, saveCorr) ;

  TH2F * h20 = new TH2F("hQualHGxyMod0","High Gain signal quality in module 0", 64, 0, 64, 56, 0, 56) ;
  h20->SetXTitle("x, cells"); h20->SetYTitle("z, cells");
  Add2RawsList(h20,kHGqualMod0, expert, !image, !saveCorr) ;
  TH2F * h21 = new TH2F("hQualHGxyMod1","High Gain signal quality in module 1", 64, 0, 64, 56, 0, 56) ;
  h21->SetXTitle("x, cells"); h21->SetYTitle("z, cells");
  Add2RawsList(h21,kHGqualMod1, expert, !image, !saveCorr) ;
  TH2F * h22 = new TH2F("hQualHGxyMod2","High Gain signal quality in module 2", 64, 0, 64, 56, 0, 56) ;
  h22->SetXTitle("x, cells"); h22->SetYTitle("z, cells");
  Add2RawsList(h22,kHGqualMod2, expert, !image, !saveCorr) ;
  TH2F * h23 = new TH2F("hQualHGxyMod3","High Gain signal quality in module 3", 64, 0, 64, 56, 0, 56) ;
  h23->SetXTitle("x, cells"); h23->SetYTitle("z, cells");
  Add2RawsList(h23,kHGqualMod3, expert, !image, !saveCorr) ;
  TH2F * h24 = new TH2F("hQualHGxyMod4","High Gain signal quality in module 4", 64, 0, 64, 56, 0, 56) ;
  h24->SetXTitle("x, cells"); h24->SetYTitle("z, cells");
  Add2RawsList(h24,kHGqualMod4, expert, !image, !saveCorr) ;

  TH2F * h25 = new TH2F("hQualLGxyMod0","Low Gain signal quality in module 0", 64, 0, 64, 56, 0, 56) ;
  h25->SetXTitle("x, cells"); h25->SetYTitle("z, cells");
  Add2RawsList(h25,kLGqualMod0, expert, !image, !saveCorr) ;
  TH2F * h26 = new TH2F("hQualLGxyMod1","Low Gain signal quality in module 1", 64, 0, 64, 56, 0, 56) ;
  h26->SetXTitle("x, cells"); h26->SetYTitle("z, cells");
  Add2RawsList(h26,kLGqualMod1, expert, !image, !saveCorr) ;
  TH2F * h27 = new TH2F("hQualLGxyMod2","Low Gain signal quality in module 2", 64, 0, 64, 56, 0, 56) ;
  h27->SetXTitle("x, cells"); h27->SetYTitle("z, cells");
  Add2RawsList(h27,kLGqualMod2, expert, !image, !saveCorr) ;
  TH2F * h28 = new TH2F("hQualLGxyMod3","Low Gain signal quality in module 3", 64, 0, 64, 56, 0, 56) ;
  h28->SetXTitle("x, cells"); h28->SetYTitle("z, cells");
  Add2RawsList(h28,kLGqualMod3, expert, !image, !saveCorr) ;
  TH2F * h29 = new TH2F("hQualLGxyMod4","Low Gain signal quality in module 4", 64, 0, 64, 56, 0, 56) ;
  h29->SetXTitle("x, cells"); h29->SetYTitle("z, cells");
  Add2RawsList(h29,kLGqualMod4, expert, !image, !saveCorr) ;

  TH1F * h30 = new TH1F("hLGpedRMS" ,"Low Gain pedestal RMS" ,200,0.,20.) ;
  h30->SetXTitle("RMS [ADC counts]");
  h30->Sumw2() ;
  Add2RawsList(h30,kLGpedRMS, expert, !image, !saveCorr) ;
  TH1F * h31 = new TH1F("hHGpedRMS" ,"High Gain pedestal RMS",200,0.,20.) ;
  h31->SetXTitle("RMS [ADC counts]");
  h31->Sumw2() ;
  Add2RawsList(h31,kHGpedRMS, expert, !image, !saveCorr) ;

  TH2F * h32 = new TH2F("hpedRMSHGxyMod0","High Gain pedestal RMS in module 0", 64, 0, 64, 56, 0, 56) ;
  h32->SetXTitle("x, cells"); h32->SetYTitle("z, cells");
  Add2RawsList(h32,kHGpedRMSMod0, expert, !image, !saveCorr) ;
  TH2F * h33 = new TH2F("hpedRMSHGxyMod1","High Gain pedestal RMS in module 1", 64, 0, 64, 56, 0, 56) ;
  h33->SetXTitle("x, cells"); h33->SetYTitle("z, cells");
  Add2RawsList(h33,kHGpedRMSMod1, expert, !image, !saveCorr) ;
  TH2F * h34 = new TH2F("hpedRMSHGxyMod2","High Gain pedestal RMS in module 2", 64, 0, 64, 56, 0, 56) ;
  h34->SetXTitle("x, cells"); h34->SetYTitle("z, cells");
  Add2RawsList(h34,kHGpedRMSMod2, expert, !image, !saveCorr) ;
  TH2F * h35 = new TH2F("hpedRMSHGxyMod3","High Gain pedestal RMS in module 3", 64, 0, 64, 56, 0, 56) ;
  h35->SetXTitle("x, cells"); h35->SetYTitle("z, cells");
  Add2RawsList(h35,kHGpedRMSMod3, expert, !image, !saveCorr) ;
  TH2F * h36 = new TH2F("hpedRMSHGxyMod4","High Gain pedestal RMS in module 4", 64, 0, 64, 56, 0, 56) ;
  h36->SetXTitle("x, cells"); h36->SetYTitle("z, cells");
  Add2RawsList(h36,kHGpedRMSMod4, expert, !image, !saveCorr) ;

  TH2F * h37 = new TH2F("hpedRMSLGxyMod0","Low Gain pedestal RMS in module 0", 64, 0, 64, 56, 0, 56) ;
  h37->SetXTitle("x, cells"); h37->SetYTitle("z, cells");
  Add2RawsList(h37,kLGpedRMSMod0, expert, !image, !saveCorr) ;
  TH2F * h38 = new TH2F("hpedRMSLGxyMod1","Low Gain pedestal RMS in module 1", 64, 0, 64, 56, 0, 56) ;
  h38->SetXTitle("x, cells"); h38->SetYTitle("z, cells");
  Add2RawsList(h38,kLGpedRMSMod1, expert, !image, !saveCorr) ;
  TH2F * h39 = new TH2F("hpedRMSLGxyMod2","Low Gain pedestal RMS in module 2", 64, 0, 64, 56, 0, 56) ;
  h39->SetXTitle("x, cells"); h39->SetYTitle("z, cells");
  Add2RawsList(h39,kLGpedRMSMod2, expert, !image, !saveCorr) ;
  TH2F * h40 = new TH2F("hpedRMSLGxyMod3","Low Gain pedestal RMS in module 3", 64, 0, 64, 56, 0, 56) ;
  h40->SetXTitle("x, cells"); h40->SetYTitle("z, cells");
  Add2RawsList(h40,kLGpedRMSMod3, expert, !image, !saveCorr) ;
  TH2F * h41 = new TH2F("hpedRMSLGxyMod4","Low Gain pedestal RMS in module 4", 64, 0, 64, 56, 0, 56) ;
  h41->SetXTitle("x, cells"); h41->SetYTitle("z, cells");
  Add2RawsList(h41,kLGpedRMSMod4, expert, !image, !saveCorr) ;
  //
  ClonePerTrigClass(AliQAv1::kRAWS); // this should be the last line
}

//____________________________________________________________________________
void AliPHOSQADataMakerRec::MakeESDs(AliESDEvent * esd)
{
  // make QA data from ESDs 
  Int_t nTot = 0 ; 
  Double_t eTot = 0 ; 
  for ( Int_t index = 0; index < esd->GetNumberOfCaloClusters() ; index++ ) {
    AliESDCaloCluster * clu = esd->GetCaloCluster(index) ;
    if( clu->IsPHOS() ) {
      FillESDsData(kESDSpec,clu->E()) ;
      const Double_t * pid = clu->GetPID() ;
      FillESDsData(kESDpid,pid[AliPID::kPhoton]) ;
      eTot+=clu->E() ;
      nTot++ ;
    } 
  }
  FillESDsData(kESDNtot,nTot) ;
  FillESDsData(kESDEtot,eTot) ;
  //
  IncEvCountCycleESDs();
  IncEvCountTotalESDs();
  //
}

//____________________________________________________________________________
void AliPHOSQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
  //Fill prepared histograms with Raw digit properties

  rawReader->Reset() ;

  const TObjArray* maps = AliPHOSRecoParam::GetMappings();
  if(!maps) AliFatal("Cannot retrieve ALTRO mappings!!");

  AliAltroMapping *mapping[20];
  for(Int_t i = 0; i < 20; i++) {
    mapping[i] = (AliAltroMapping*)maps->At(i);
  }

  AliCaloRawStreamV3 fRawStream(rawReader,"PHOS",mapping);

  AliPHOSRawFitterv0 * fitter ;
  if     (strcmp(GetRecoParam()->EMCFitterVersion(),"v1")==0)
    fitter=new AliPHOSRawFitterv1();
  else if(strcmp(GetRecoParam()->EMCFitterVersion(),"v2")==0)
    fitter=new AliPHOSRawFitterv2();
  else
    fitter=new AliPHOSRawFitterv0();
  Double_t lgEtot=0. ;
  Double_t hgEtot=0. ;
  Int_t    lgNtot=0 ;
  Int_t    hgNtot=0 ;
  Int_t    hgNtotM1RCU0=0, hgNtotM1RCU1=0, hgNtotM1RCU2=0, hgNtotM1RCU3=0;
  Int_t    hgNtotM2RCU0=0, hgNtotM2RCU1=0, hgNtotM2RCU2=0, hgNtotM2RCU3=0;
  Int_t    hgNtotM3RCU0=0, hgNtotM3RCU1=0, hgNtotM3RCU2=0, hgNtotM3RCU3=0;


  while (fRawStream.NextDDL()) {
    Int_t RCUnum = fRawStream.GetDDLNumber() - 8;

    while (fRawStream.NextChannel()) {
      Int_t module   = fRawStream.GetModule();
      Int_t cellX    = fRawStream.GetCellX();
      Int_t cellZ    = fRawStream.GetCellZ();
      Int_t caloFlag = fRawStream.GetCaloFlag(); // 0=LG, 1=HG, 2=TRU

      if(caloFlag!=0 && caloFlag!=1) continue; //TRU data!

      fitter->SetChannelGeo(module+1,cellX+1,cellZ+1,caloFlag);

      if(fitter->GetAmpOffset()==0 && fitter->GetAmpThreshold()==0) {
	Short_t altroCFG1 = fRawStream.GetAltroCFG1();
	Bool_t ZeroSuppressionEnabled = (altroCFG1 >> 15) & 0x1;
	if(ZeroSuppressionEnabled) {
	  Short_t offset = (altroCFG1 >> 10) & 0xf;
	  Short_t threshold = altroCFG1 & 0x3ff;
	  fitter->SubtractPedestals(kFALSE);
	  fitter->SetAmpOffset(offset);
	  fitter->SetAmpThreshold(threshold);
	}
	else
	  fitter->SubtractPedestals(kTRUE);
      }

      Int_t nBunches = 0;
      while (fRawStream.NextBunch()) {
	nBunches++;
	if (nBunches > 1) continue;
	const UShort_t *sig = fRawStream.GetSignals();
	Int_t sigStart      = fRawStream.GetStartTimeBin();
	Int_t sigLength     = fRawStream.GetBunchLength();
	fitter->Eval(sig,sigStart,sigLength);
      } // End of NextBunch()

      Double_t energy = fitter->GetEnergy() ; 
      Double_t time   = fitter->GetTime() ;

      if (caloFlag == 0) { // LG
	FillRawsData(kLGpedRMS,fitter->GetPedestalRMS()) ;
	switch(module){
        case 0: FillRawsData(kLGmod0,cellX,cellZ) ; break ;
        case 1: FillRawsData(kLGmod1,cellX,cellZ) ; break ;
        case 2: FillRawsData(kLGmod2,cellX,cellZ) ; break ;
        case 3: FillRawsData(kLGmod3,cellX,cellZ) ; break ;
        case 4: FillRawsData(kLGmod4,cellX,cellZ) ; break ;
	}
	switch (module){
        case 0: FillRawsData(kLGpedRMSMod0,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
        case 1: FillRawsData(kLGpedRMSMod1,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
        case 2: FillRawsData(kLGpedRMSMod2,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
        case 3: FillRawsData(kLGpedRMSMod3,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
        case 4: FillRawsData(kLGpedRMSMod4,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	}
	//if quality was evaluated, fill histo
	if(strcmp(GetRecoParam()->EMCFitterVersion(),"v1")==0){
	  switch (module){
	  case 0: FillRawsData(kLGqualMod0,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 1: FillRawsData(kLGqualMod1,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 2: FillRawsData(kLGqualMod2,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 3: FillRawsData(kLGqualMod3,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 4: FillRawsData(kLGqualMod4,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  }
	}                                  
	FillRawsData(kNmodLG,module) ;
	FillRawsData(kLGtime,time) ; 
	FillRawsData(kSpecLG,energy) ;    
	lgEtot+=energy ;
	lgNtot++ ;   
      }
      else if (caloFlag == 1) { // HG        
	FillRawsData(kHGpedRMS,fitter->GetPedestalRMS()) ;
	switch (module){
	case 0: FillRawsData(kHGmod0,cellX,cellZ) ; break ;
	case 1: FillRawsData(kHGmod1,cellX,cellZ) ; break ;
	case 2: FillRawsData(kHGmod2,cellX,cellZ) ; break ;
	case 3: FillRawsData(kHGmod3,cellX,cellZ) ; break ;
	case 4: FillRawsData(kHGmod4,cellX,cellZ) ; break ;
	}
	switch (module){
	case 0: FillRawsData(kHGpedRMSMod0,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	case 1: FillRawsData(kHGpedRMSMod1,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	case 2: FillRawsData(kHGpedRMSMod2,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	case 3: FillRawsData(kHGpedRMSMod3,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	case 4: FillRawsData(kHGpedRMSMod4,cellX,cellZ,fitter->GetPedestalRMS()) ; break ;
	}               
	//if quality was evaluated, fill histo
	if(strcmp(GetRecoParam()->EMCFitterVersion(),"v1")==0){
	  switch (module){
	  case 0: FillRawsData(kHGqualMod0,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 1: FillRawsData(kHGqualMod1,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 2: FillRawsData(kHGqualMod2,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 3: FillRawsData(kHGqualMod3,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  case 4: FillRawsData(kHGqualMod4,cellX,cellZ,fitter->GetSignalQuality()) ; break ;
	  }	  
	}
	FillRawsData(kNmodHG,module) ; 
	FillRawsData(kNRCUHG,RCUnum) ; 
	FillRawsData(kHGtime,time) ;  
	FillRawsData(kSpecHG,energy) ;
	hgEtot+=energy ; 
	hgNtot++ ;  
        if(RCUnum==0)hgNtotM1RCU0++;
        if(RCUnum==1)hgNtotM1RCU1++;
        if(RCUnum==2)hgNtotM1RCU2++;
        if(RCUnum==3)hgNtotM1RCU3++;
        if(RCUnum==4)hgNtotM2RCU0++;
        if(RCUnum==5)hgNtotM2RCU1++;
        if(RCUnum==6)hgNtotM2RCU2++;
        if(RCUnum==7)hgNtotM2RCU3++;
        if(RCUnum==8)hgNtotM3RCU0++;
        if(RCUnum==9)hgNtotM3RCU1++;
        if(RCUnum==10)hgNtotM3RCU2++;
        if(RCUnum==11)hgNtotM3RCU3++;
      }
    }  // End of NextChannel
  } // End of NextDDL
  delete fitter;

  FillRawsData(kEtotLG,lgEtot) ; 
  TParameter<double> * p;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
					FindObject(Form("%s_%s_%s", GetName(), 
							AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), 
							GetRawsData(kEtotLG)->GetName()))) ; 
  if (p) p->SetVal(lgEtot) ; 
  FillRawsData(kEtotHG,hgEtot) ;  
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
					FindObject(Form("%s_%s_%s", GetName(), 
							AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), 
							GetRawsData(kEtotHG)->GetName()))) ; 
  if (p) p->SetVal(hgEtot) ; 
  FillRawsData(kNtotLG,lgNtot) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
					FindObject(Form("%s_%s_%s", GetName(), 
							AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), 
							GetRawsData(kNtotLG)->GetName()))) ; 
  if (p) p->SetVal(lgNtot) ; 
  FillRawsData(kNtotHG,hgNtot) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
					FindObject(Form("%s_%s_%s", 
							GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), 
							GetRawsData(kNtotHG)->GetName()))) ; 
  if (p) p->SetVal(hgNtot) ; 

  FillRawsData(kNtotHG_1_0,hgNtotM1RCU0) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_1_0)->GetName()))) ;
  if (p) p->SetVal(hgNtotM1RCU0) ;

  FillRawsData(kNtotHG_1_1,hgNtotM1RCU1) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_1_1)->GetName()))) ;
  if (p) p->SetVal(hgNtotM1RCU1) ;

  FillRawsData(kNtotHG_1_2,hgNtotM1RCU2) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_1_2)->GetName()))) ;
  if (p) p->SetVal(hgNtotM1RCU2) ;

  FillRawsData(kNtotHG_1_3,hgNtotM1RCU3) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_1_3)->GetName()))) ;
  if (p) p->SetVal(hgNtotM1RCU3) ;

  FillRawsData(kNtotHG_2_0,hgNtotM2RCU0) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_2_0)->GetName()))) ;
  if (p) p->SetVal(hgNtotM2RCU0) ;

  FillRawsData(kNtotHG_2_1,hgNtotM2RCU1) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_2_1)->GetName()))) ;
  if (p) p->SetVal(hgNtotM2RCU1) ;

  FillRawsData(kNtotHG_2_2,hgNtotM2RCU2) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_2_2)->GetName()))) ;
  if (p) p->SetVal(hgNtotM2RCU2) ;

  FillRawsData(kNtotHG_2_3,hgNtotM2RCU3) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_2_3)->GetName()))) ;
  if (p) p->SetVal(hgNtotM2RCU3) ;

  FillRawsData(kNtotHG_3_0,hgNtotM3RCU0) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_3_0)->GetName()))) ;
  if (p) p->SetVal(hgNtotM3RCU0) ;

  FillRawsData(kNtotHG_3_1,hgNtotM3RCU1) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_3_1)->GetName()))) ;
  if (p) p->SetVal(hgNtotM3RCU1) ;

  FillRawsData(kNtotHG_3_2,hgNtotM3RCU2) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_3_2)->GetName()))) ;
  if (p) p->SetVal(hgNtotM3RCU2) ;

  FillRawsData(kNtotHG_3_3,hgNtotM3RCU3) ;
  p = dynamic_cast<TParameter<double>*>(GetParameterList()->
                                        FindObject(Form("%s_%s_%s",
                                                        GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(),
                                                        GetRawsData(kNtotHG_3_3)->GetName()))) ;
  if (p) p->SetVal(hgNtotM3RCU3) ;

  //
  IncEvCountCycleRaws();
  IncEvCountTotalRaws();
  //
}

//____________________________________________________________________________
void AliPHOSQADataMakerRec::MakeDigits()
{
  // makes data from Digits
  
  if ( ! GetDigitsData(kDigitsMul) ) InitDigits() ;
  FillDigitsData(kDigitsMul,fDigitsArray->GetEntriesFast()) ; 
  TIter next(fDigitsArray) ; 
  AliPHOSDigit * digit ; 
  while ( (digit = dynamic_cast<AliPHOSDigit *>(next())) ) {
    FillDigitsData(kDigits, digit->GetEnergy()) ;
  }  
  //
}

//____________________________________________________________________________
void AliPHOSQADataMakerRec::MakeDigits(TTree * digitTree)
{
  // makes data from Digit Tree
  if (fDigitsArray) 
    fDigitsArray->Clear() ; 
  else 
    fDigitsArray = new TClonesArray("AliPHOSDigit", 1000) ; 
  
  TBranch * branch = digitTree->GetBranch("PHOS") ;
  if ( ! branch ) {AliWarning("PHOS branch in Digit Tree not found"); return;} 
  branch->SetAddress(&fDigitsArray) ;
  branch->GetEntry(0) ; 
  MakeDigits() ; 
  //
  IncEvCountCycleDigits();
  IncEvCountTotalDigits();
  //
}

//____________________________________________________________________________
void AliPHOSQADataMakerRec::MakeRecPoints(TTree * clustersTree)
{
  {
    // makes data from RecPoints
    TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP");
    if (!emcbranch) { 
      AliError("can't get the branch with the PHOS EMC clusters !");
      return;
    }
    
    TObjArray * emcrecpoints = new TObjArray(100) ;
    emcbranch->SetAddress(&emcrecpoints);
    emcbranch->GetEntry(0);
    
    FillRecPointsData(kRPNtot,emcrecpoints->GetEntriesFast()) ; 
    TIter next(emcrecpoints) ; 
    AliPHOSEmcRecPoint * rp ; 
    Double_t eTot = 0. ; 
    while ( (rp = static_cast<AliPHOSEmcRecPoint *>(next())) ) {
      FillRecPointsData(kRPSpec, rp->GetEnergy()) ;
      Int_t mod = rp->GetPHOSMod() ;
      TVector3 pos ;
      rp->GetLocalPosition(pos) ;
      switch(mod){
        case 1: FillRecPointsData(kRPmod1,pos.X(),pos.Z()) ; break ;
        case 2: FillRecPointsData(kRPmod2,pos.X(),pos.Z()) ; break ;
        case 3: FillRecPointsData(kRPmod3,pos.X(),pos.Z()) ; break ;
        case 4: FillRecPointsData(kRPmod4,pos.X(),pos.Z()) ; break ;
        case 5: FillRecPointsData(kRPmod5,pos.X(),pos.Z()) ; break ;
      }
      eTot+= rp->GetEnergy() ;
    }
    FillRecPointsData(kRPEtot,eTot) ;
    emcrecpoints->Delete();
    delete emcrecpoints;
  }
  {
    TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP");
    if (!cpvbranch) { 
      AliError("can't get the branch with the PHOS CPV clusters !");
      return;
    }
    TObjArray *cpvrecpoints = new TObjArray(100) ;
    cpvbranch->SetAddress(&cpvrecpoints);
    cpvbranch->GetEntry(0);
    
    FillRecPointsData(kRPNcpv,cpvrecpoints->GetEntriesFast()) ; 
    cpvrecpoints->Delete();
    delete cpvrecpoints;
  }
  //
  IncEvCountCycleRecPoints();
  IncEvCountTotalRecPoints();
  //
}

//____________________________________________________________________________ 
void AliPHOSQADataMakerRec::StartOfDetectorCycle()
{
  //Detector specific actions at start of cycle
  
}
 AliPHOSQADataMakerRec.cxx:1
 AliPHOSQADataMakerRec.cxx:2
 AliPHOSQADataMakerRec.cxx:3
 AliPHOSQADataMakerRec.cxx:4
 AliPHOSQADataMakerRec.cxx:5
 AliPHOSQADataMakerRec.cxx:6
 AliPHOSQADataMakerRec.cxx:7
 AliPHOSQADataMakerRec.cxx:8
 AliPHOSQADataMakerRec.cxx:9
 AliPHOSQADataMakerRec.cxx:10
 AliPHOSQADataMakerRec.cxx:11
 AliPHOSQADataMakerRec.cxx:12
 AliPHOSQADataMakerRec.cxx:13
 AliPHOSQADataMakerRec.cxx:14
 AliPHOSQADataMakerRec.cxx:15
 AliPHOSQADataMakerRec.cxx:16
 AliPHOSQADataMakerRec.cxx:17
 AliPHOSQADataMakerRec.cxx:18
 AliPHOSQADataMakerRec.cxx:19
 AliPHOSQADataMakerRec.cxx:20
 AliPHOSQADataMakerRec.cxx:21
 AliPHOSQADataMakerRec.cxx:22
 AliPHOSQADataMakerRec.cxx:23
 AliPHOSQADataMakerRec.cxx:24
 AliPHOSQADataMakerRec.cxx:25
 AliPHOSQADataMakerRec.cxx:26
 AliPHOSQADataMakerRec.cxx:27
 AliPHOSQADataMakerRec.cxx:28
 AliPHOSQADataMakerRec.cxx:29
 AliPHOSQADataMakerRec.cxx:30
 AliPHOSQADataMakerRec.cxx:31
 AliPHOSQADataMakerRec.cxx:32
 AliPHOSQADataMakerRec.cxx:33
 AliPHOSQADataMakerRec.cxx:34
 AliPHOSQADataMakerRec.cxx:35
 AliPHOSQADataMakerRec.cxx:36
 AliPHOSQADataMakerRec.cxx:37
 AliPHOSQADataMakerRec.cxx:38
 AliPHOSQADataMakerRec.cxx:39
 AliPHOSQADataMakerRec.cxx:40
 AliPHOSQADataMakerRec.cxx:41
 AliPHOSQADataMakerRec.cxx:42
 AliPHOSQADataMakerRec.cxx:43
 AliPHOSQADataMakerRec.cxx:44
 AliPHOSQADataMakerRec.cxx:45
 AliPHOSQADataMakerRec.cxx:46
 AliPHOSQADataMakerRec.cxx:47
 AliPHOSQADataMakerRec.cxx:48
 AliPHOSQADataMakerRec.cxx:49
 AliPHOSQADataMakerRec.cxx:50
 AliPHOSQADataMakerRec.cxx:51
 AliPHOSQADataMakerRec.cxx:52
 AliPHOSQADataMakerRec.cxx:53
 AliPHOSQADataMakerRec.cxx:54
 AliPHOSQADataMakerRec.cxx:55
 AliPHOSQADataMakerRec.cxx:56
 AliPHOSQADataMakerRec.cxx:57
 AliPHOSQADataMakerRec.cxx:58
 AliPHOSQADataMakerRec.cxx:59
 AliPHOSQADataMakerRec.cxx:60
 AliPHOSQADataMakerRec.cxx:61
 AliPHOSQADataMakerRec.cxx:62
 AliPHOSQADataMakerRec.cxx:63
 AliPHOSQADataMakerRec.cxx:64
 AliPHOSQADataMakerRec.cxx:65
 AliPHOSQADataMakerRec.cxx:66
 AliPHOSQADataMakerRec.cxx:67
 AliPHOSQADataMakerRec.cxx:68
 AliPHOSQADataMakerRec.cxx:69
 AliPHOSQADataMakerRec.cxx:70
 AliPHOSQADataMakerRec.cxx:71
 AliPHOSQADataMakerRec.cxx:72
 AliPHOSQADataMakerRec.cxx:73
 AliPHOSQADataMakerRec.cxx:74
 AliPHOSQADataMakerRec.cxx:75
 AliPHOSQADataMakerRec.cxx:76
 AliPHOSQADataMakerRec.cxx:77
 AliPHOSQADataMakerRec.cxx:78
 AliPHOSQADataMakerRec.cxx:79
 AliPHOSQADataMakerRec.cxx:80
 AliPHOSQADataMakerRec.cxx:81
 AliPHOSQADataMakerRec.cxx:82
 AliPHOSQADataMakerRec.cxx:83
 AliPHOSQADataMakerRec.cxx:84
 AliPHOSQADataMakerRec.cxx:85
 AliPHOSQADataMakerRec.cxx:86
 AliPHOSQADataMakerRec.cxx:87
 AliPHOSQADataMakerRec.cxx:88
 AliPHOSQADataMakerRec.cxx:89
 AliPHOSQADataMakerRec.cxx:90
 AliPHOSQADataMakerRec.cxx:91
 AliPHOSQADataMakerRec.cxx:92
 AliPHOSQADataMakerRec.cxx:93
 AliPHOSQADataMakerRec.cxx:94
 AliPHOSQADataMakerRec.cxx:95
 AliPHOSQADataMakerRec.cxx:96
 AliPHOSQADataMakerRec.cxx:97
 AliPHOSQADataMakerRec.cxx:98
 AliPHOSQADataMakerRec.cxx:99
 AliPHOSQADataMakerRec.cxx:100
 AliPHOSQADataMakerRec.cxx:101
 AliPHOSQADataMakerRec.cxx:102
 AliPHOSQADataMakerRec.cxx:103
 AliPHOSQADataMakerRec.cxx:104
 AliPHOSQADataMakerRec.cxx:105
 AliPHOSQADataMakerRec.cxx:106
 AliPHOSQADataMakerRec.cxx:107
 AliPHOSQADataMakerRec.cxx:108
 AliPHOSQADataMakerRec.cxx:109
 AliPHOSQADataMakerRec.cxx:110
 AliPHOSQADataMakerRec.cxx:111
 AliPHOSQADataMakerRec.cxx:112
 AliPHOSQADataMakerRec.cxx:113
 AliPHOSQADataMakerRec.cxx:114
 AliPHOSQADataMakerRec.cxx:115
 AliPHOSQADataMakerRec.cxx:116
 AliPHOSQADataMakerRec.cxx:117
 AliPHOSQADataMakerRec.cxx:118
 AliPHOSQADataMakerRec.cxx:119
 AliPHOSQADataMakerRec.cxx:120
 AliPHOSQADataMakerRec.cxx:121
 AliPHOSQADataMakerRec.cxx:122
 AliPHOSQADataMakerRec.cxx:123
 AliPHOSQADataMakerRec.cxx:124
 AliPHOSQADataMakerRec.cxx:125
 AliPHOSQADataMakerRec.cxx:126
 AliPHOSQADataMakerRec.cxx:127
 AliPHOSQADataMakerRec.cxx:128
 AliPHOSQADataMakerRec.cxx:129
 AliPHOSQADataMakerRec.cxx:130
 AliPHOSQADataMakerRec.cxx:131
 AliPHOSQADataMakerRec.cxx:132
 AliPHOSQADataMakerRec.cxx:133
 AliPHOSQADataMakerRec.cxx:134
 AliPHOSQADataMakerRec.cxx:135
 AliPHOSQADataMakerRec.cxx:136
 AliPHOSQADataMakerRec.cxx:137
 AliPHOSQADataMakerRec.cxx:138
 AliPHOSQADataMakerRec.cxx:139
 AliPHOSQADataMakerRec.cxx:140
 AliPHOSQADataMakerRec.cxx:141
 AliPHOSQADataMakerRec.cxx:142
 AliPHOSQADataMakerRec.cxx:143
 AliPHOSQADataMakerRec.cxx:144
 AliPHOSQADataMakerRec.cxx:145
 AliPHOSQADataMakerRec.cxx:146
 AliPHOSQADataMakerRec.cxx:147
 AliPHOSQADataMakerRec.cxx:148
 AliPHOSQADataMakerRec.cxx:149
 AliPHOSQADataMakerRec.cxx:150
 AliPHOSQADataMakerRec.cxx:151
 AliPHOSQADataMakerRec.cxx:152
 AliPHOSQADataMakerRec.cxx:153
 AliPHOSQADataMakerRec.cxx:154
 AliPHOSQADataMakerRec.cxx:155
 AliPHOSQADataMakerRec.cxx:156
 AliPHOSQADataMakerRec.cxx:157
 AliPHOSQADataMakerRec.cxx:158
 AliPHOSQADataMakerRec.cxx:159
 AliPHOSQADataMakerRec.cxx:160
 AliPHOSQADataMakerRec.cxx:161
 AliPHOSQADataMakerRec.cxx:162
 AliPHOSQADataMakerRec.cxx:163
 AliPHOSQADataMakerRec.cxx:164
 AliPHOSQADataMakerRec.cxx:165
 AliPHOSQADataMakerRec.cxx:166
 AliPHOSQADataMakerRec.cxx:167
 AliPHOSQADataMakerRec.cxx:168
 AliPHOSQADataMakerRec.cxx:169
 AliPHOSQADataMakerRec.cxx:170
 AliPHOSQADataMakerRec.cxx:171
 AliPHOSQADataMakerRec.cxx:172
 AliPHOSQADataMakerRec.cxx:173
 AliPHOSQADataMakerRec.cxx:174
 AliPHOSQADataMakerRec.cxx:175
 AliPHOSQADataMakerRec.cxx:176
 AliPHOSQADataMakerRec.cxx:177
 AliPHOSQADataMakerRec.cxx:178
 AliPHOSQADataMakerRec.cxx:179
 AliPHOSQADataMakerRec.cxx:180
 AliPHOSQADataMakerRec.cxx:181
 AliPHOSQADataMakerRec.cxx:182
 AliPHOSQADataMakerRec.cxx:183
 AliPHOSQADataMakerRec.cxx:184
 AliPHOSQADataMakerRec.cxx:185
 AliPHOSQADataMakerRec.cxx:186
 AliPHOSQADataMakerRec.cxx:187
 AliPHOSQADataMakerRec.cxx:188
 AliPHOSQADataMakerRec.cxx:189
 AliPHOSQADataMakerRec.cxx:190
 AliPHOSQADataMakerRec.cxx:191
 AliPHOSQADataMakerRec.cxx:192
 AliPHOSQADataMakerRec.cxx:193
 AliPHOSQADataMakerRec.cxx:194
 AliPHOSQADataMakerRec.cxx:195
 AliPHOSQADataMakerRec.cxx:196
 AliPHOSQADataMakerRec.cxx:197
 AliPHOSQADataMakerRec.cxx:198
 AliPHOSQADataMakerRec.cxx:199
 AliPHOSQADataMakerRec.cxx:200
 AliPHOSQADataMakerRec.cxx:201
 AliPHOSQADataMakerRec.cxx:202
 AliPHOSQADataMakerRec.cxx:203
 AliPHOSQADataMakerRec.cxx:204
 AliPHOSQADataMakerRec.cxx:205
 AliPHOSQADataMakerRec.cxx:206
 AliPHOSQADataMakerRec.cxx:207
 AliPHOSQADataMakerRec.cxx:208
 AliPHOSQADataMakerRec.cxx:209
 AliPHOSQADataMakerRec.cxx:210
 AliPHOSQADataMakerRec.cxx:211
 AliPHOSQADataMakerRec.cxx:212
 AliPHOSQADataMakerRec.cxx:213
 AliPHOSQADataMakerRec.cxx:214
 AliPHOSQADataMakerRec.cxx:215
 AliPHOSQADataMakerRec.cxx:216
 AliPHOSQADataMakerRec.cxx:217
 AliPHOSQADataMakerRec.cxx:218
 AliPHOSQADataMakerRec.cxx:219
 AliPHOSQADataMakerRec.cxx:220
 AliPHOSQADataMakerRec.cxx:221
 AliPHOSQADataMakerRec.cxx:222
 AliPHOSQADataMakerRec.cxx:223
 AliPHOSQADataMakerRec.cxx:224
 AliPHOSQADataMakerRec.cxx:225
 AliPHOSQADataMakerRec.cxx:226
 AliPHOSQADataMakerRec.cxx:227
 AliPHOSQADataMakerRec.cxx:228
 AliPHOSQADataMakerRec.cxx:229
 AliPHOSQADataMakerRec.cxx:230
 AliPHOSQADataMakerRec.cxx:231
 AliPHOSQADataMakerRec.cxx:232
 AliPHOSQADataMakerRec.cxx:233
 AliPHOSQADataMakerRec.cxx:234
 AliPHOSQADataMakerRec.cxx:235
 AliPHOSQADataMakerRec.cxx:236
 AliPHOSQADataMakerRec.cxx:237
 AliPHOSQADataMakerRec.cxx:238
 AliPHOSQADataMakerRec.cxx:239
 AliPHOSQADataMakerRec.cxx:240
 AliPHOSQADataMakerRec.cxx:241
 AliPHOSQADataMakerRec.cxx:242
 AliPHOSQADataMakerRec.cxx:243
 AliPHOSQADataMakerRec.cxx:244
 AliPHOSQADataMakerRec.cxx:245
 AliPHOSQADataMakerRec.cxx:246
 AliPHOSQADataMakerRec.cxx:247
 AliPHOSQADataMakerRec.cxx:248
 AliPHOSQADataMakerRec.cxx:249
 AliPHOSQADataMakerRec.cxx:250
 AliPHOSQADataMakerRec.cxx:251
 AliPHOSQADataMakerRec.cxx:252
 AliPHOSQADataMakerRec.cxx:253
 AliPHOSQADataMakerRec.cxx:254
 AliPHOSQADataMakerRec.cxx:255
 AliPHOSQADataMakerRec.cxx:256
 AliPHOSQADataMakerRec.cxx:257
 AliPHOSQADataMakerRec.cxx:258
 AliPHOSQADataMakerRec.cxx:259
 AliPHOSQADataMakerRec.cxx:260
 AliPHOSQADataMakerRec.cxx:261
 AliPHOSQADataMakerRec.cxx:262
 AliPHOSQADataMakerRec.cxx:263
 AliPHOSQADataMakerRec.cxx:264
 AliPHOSQADataMakerRec.cxx:265
 AliPHOSQADataMakerRec.cxx:266
 AliPHOSQADataMakerRec.cxx:267
 AliPHOSQADataMakerRec.cxx:268
 AliPHOSQADataMakerRec.cxx:269
 AliPHOSQADataMakerRec.cxx:270
 AliPHOSQADataMakerRec.cxx:271
 AliPHOSQADataMakerRec.cxx:272
 AliPHOSQADataMakerRec.cxx:273
 AliPHOSQADataMakerRec.cxx:274
 AliPHOSQADataMakerRec.cxx:275
 AliPHOSQADataMakerRec.cxx:276
 AliPHOSQADataMakerRec.cxx:277
 AliPHOSQADataMakerRec.cxx:278
 AliPHOSQADataMakerRec.cxx:279
 AliPHOSQADataMakerRec.cxx:280
 AliPHOSQADataMakerRec.cxx:281
 AliPHOSQADataMakerRec.cxx:282
 AliPHOSQADataMakerRec.cxx:283
 AliPHOSQADataMakerRec.cxx:284
 AliPHOSQADataMakerRec.cxx:285
 AliPHOSQADataMakerRec.cxx:286
 AliPHOSQADataMakerRec.cxx:287
 AliPHOSQADataMakerRec.cxx:288
 AliPHOSQADataMakerRec.cxx:289
 AliPHOSQADataMakerRec.cxx:290
 AliPHOSQADataMakerRec.cxx:291
 AliPHOSQADataMakerRec.cxx:292
 AliPHOSQADataMakerRec.cxx:293
 AliPHOSQADataMakerRec.cxx:294
 AliPHOSQADataMakerRec.cxx:295
 AliPHOSQADataMakerRec.cxx:296
 AliPHOSQADataMakerRec.cxx:297
 AliPHOSQADataMakerRec.cxx:298
 AliPHOSQADataMakerRec.cxx:299
 AliPHOSQADataMakerRec.cxx:300
 AliPHOSQADataMakerRec.cxx:301
 AliPHOSQADataMakerRec.cxx:302
 AliPHOSQADataMakerRec.cxx:303
 AliPHOSQADataMakerRec.cxx:304
 AliPHOSQADataMakerRec.cxx:305
 AliPHOSQADataMakerRec.cxx:306
 AliPHOSQADataMakerRec.cxx:307
 AliPHOSQADataMakerRec.cxx:308
 AliPHOSQADataMakerRec.cxx:309
 AliPHOSQADataMakerRec.cxx:310
 AliPHOSQADataMakerRec.cxx:311
 AliPHOSQADataMakerRec.cxx:312
 AliPHOSQADataMakerRec.cxx:313
 AliPHOSQADataMakerRec.cxx:314
 AliPHOSQADataMakerRec.cxx:315
 AliPHOSQADataMakerRec.cxx:316
 AliPHOSQADataMakerRec.cxx:317
 AliPHOSQADataMakerRec.cxx:318
 AliPHOSQADataMakerRec.cxx:319
 AliPHOSQADataMakerRec.cxx:320
 AliPHOSQADataMakerRec.cxx:321
 AliPHOSQADataMakerRec.cxx:322
 AliPHOSQADataMakerRec.cxx:323
 AliPHOSQADataMakerRec.cxx:324
 AliPHOSQADataMakerRec.cxx:325
 AliPHOSQADataMakerRec.cxx:326
 AliPHOSQADataMakerRec.cxx:327
 AliPHOSQADataMakerRec.cxx:328
 AliPHOSQADataMakerRec.cxx:329
 AliPHOSQADataMakerRec.cxx:330
 AliPHOSQADataMakerRec.cxx:331
 AliPHOSQADataMakerRec.cxx:332
 AliPHOSQADataMakerRec.cxx:333
 AliPHOSQADataMakerRec.cxx:334
 AliPHOSQADataMakerRec.cxx:335
 AliPHOSQADataMakerRec.cxx:336
 AliPHOSQADataMakerRec.cxx:337
 AliPHOSQADataMakerRec.cxx:338
 AliPHOSQADataMakerRec.cxx:339
 AliPHOSQADataMakerRec.cxx:340
 AliPHOSQADataMakerRec.cxx:341
 AliPHOSQADataMakerRec.cxx:342
 AliPHOSQADataMakerRec.cxx:343
 AliPHOSQADataMakerRec.cxx:344
 AliPHOSQADataMakerRec.cxx:345
 AliPHOSQADataMakerRec.cxx:346
 AliPHOSQADataMakerRec.cxx:347
 AliPHOSQADataMakerRec.cxx:348
 AliPHOSQADataMakerRec.cxx:349
 AliPHOSQADataMakerRec.cxx:350
 AliPHOSQADataMakerRec.cxx:351
 AliPHOSQADataMakerRec.cxx:352
 AliPHOSQADataMakerRec.cxx:353
 AliPHOSQADataMakerRec.cxx:354
 AliPHOSQADataMakerRec.cxx:355
 AliPHOSQADataMakerRec.cxx:356
 AliPHOSQADataMakerRec.cxx:357
 AliPHOSQADataMakerRec.cxx:358
 AliPHOSQADataMakerRec.cxx:359
 AliPHOSQADataMakerRec.cxx:360
 AliPHOSQADataMakerRec.cxx:361
 AliPHOSQADataMakerRec.cxx:362
 AliPHOSQADataMakerRec.cxx:363
 AliPHOSQADataMakerRec.cxx:364
 AliPHOSQADataMakerRec.cxx:365
 AliPHOSQADataMakerRec.cxx:366
 AliPHOSQADataMakerRec.cxx:367
 AliPHOSQADataMakerRec.cxx:368
 AliPHOSQADataMakerRec.cxx:369
 AliPHOSQADataMakerRec.cxx:370
 AliPHOSQADataMakerRec.cxx:371
 AliPHOSQADataMakerRec.cxx:372
 AliPHOSQADataMakerRec.cxx:373
 AliPHOSQADataMakerRec.cxx:374
 AliPHOSQADataMakerRec.cxx:375
 AliPHOSQADataMakerRec.cxx:376
 AliPHOSQADataMakerRec.cxx:377
 AliPHOSQADataMakerRec.cxx:378
 AliPHOSQADataMakerRec.cxx:379
 AliPHOSQADataMakerRec.cxx:380
 AliPHOSQADataMakerRec.cxx:381
 AliPHOSQADataMakerRec.cxx:382
 AliPHOSQADataMakerRec.cxx:383
 AliPHOSQADataMakerRec.cxx:384
 AliPHOSQADataMakerRec.cxx:385
 AliPHOSQADataMakerRec.cxx:386
 AliPHOSQADataMakerRec.cxx:387
 AliPHOSQADataMakerRec.cxx:388
 AliPHOSQADataMakerRec.cxx:389
 AliPHOSQADataMakerRec.cxx:390
 AliPHOSQADataMakerRec.cxx:391
 AliPHOSQADataMakerRec.cxx:392
 AliPHOSQADataMakerRec.cxx:393
 AliPHOSQADataMakerRec.cxx:394
 AliPHOSQADataMakerRec.cxx:395
 AliPHOSQADataMakerRec.cxx:396
 AliPHOSQADataMakerRec.cxx:397
 AliPHOSQADataMakerRec.cxx:398
 AliPHOSQADataMakerRec.cxx:399
 AliPHOSQADataMakerRec.cxx:400
 AliPHOSQADataMakerRec.cxx:401
 AliPHOSQADataMakerRec.cxx:402
 AliPHOSQADataMakerRec.cxx:403
 AliPHOSQADataMakerRec.cxx:404
 AliPHOSQADataMakerRec.cxx:405
 AliPHOSQADataMakerRec.cxx:406
 AliPHOSQADataMakerRec.cxx:407
 AliPHOSQADataMakerRec.cxx:408
 AliPHOSQADataMakerRec.cxx:409
 AliPHOSQADataMakerRec.cxx:410
 AliPHOSQADataMakerRec.cxx:411
 AliPHOSQADataMakerRec.cxx:412
 AliPHOSQADataMakerRec.cxx:413
 AliPHOSQADataMakerRec.cxx:414
 AliPHOSQADataMakerRec.cxx:415
 AliPHOSQADataMakerRec.cxx:416
 AliPHOSQADataMakerRec.cxx:417
 AliPHOSQADataMakerRec.cxx:418
 AliPHOSQADataMakerRec.cxx:419
 AliPHOSQADataMakerRec.cxx:420
 AliPHOSQADataMakerRec.cxx:421
 AliPHOSQADataMakerRec.cxx:422
 AliPHOSQADataMakerRec.cxx:423
 AliPHOSQADataMakerRec.cxx:424
 AliPHOSQADataMakerRec.cxx:425
 AliPHOSQADataMakerRec.cxx:426
 AliPHOSQADataMakerRec.cxx:427
 AliPHOSQADataMakerRec.cxx:428
 AliPHOSQADataMakerRec.cxx:429
 AliPHOSQADataMakerRec.cxx:430
 AliPHOSQADataMakerRec.cxx:431
 AliPHOSQADataMakerRec.cxx:432
 AliPHOSQADataMakerRec.cxx:433
 AliPHOSQADataMakerRec.cxx:434
 AliPHOSQADataMakerRec.cxx:435
 AliPHOSQADataMakerRec.cxx:436
 AliPHOSQADataMakerRec.cxx:437
 AliPHOSQADataMakerRec.cxx:438
 AliPHOSQADataMakerRec.cxx:439
 AliPHOSQADataMakerRec.cxx:440
 AliPHOSQADataMakerRec.cxx:441
 AliPHOSQADataMakerRec.cxx:442
 AliPHOSQADataMakerRec.cxx:443
 AliPHOSQADataMakerRec.cxx:444
 AliPHOSQADataMakerRec.cxx:445
 AliPHOSQADataMakerRec.cxx:446
 AliPHOSQADataMakerRec.cxx:447
 AliPHOSQADataMakerRec.cxx:448
 AliPHOSQADataMakerRec.cxx:449
 AliPHOSQADataMakerRec.cxx:450
 AliPHOSQADataMakerRec.cxx:451
 AliPHOSQADataMakerRec.cxx:452
 AliPHOSQADataMakerRec.cxx:453
 AliPHOSQADataMakerRec.cxx:454
 AliPHOSQADataMakerRec.cxx:455
 AliPHOSQADataMakerRec.cxx:456
 AliPHOSQADataMakerRec.cxx:457
 AliPHOSQADataMakerRec.cxx:458
 AliPHOSQADataMakerRec.cxx:459
 AliPHOSQADataMakerRec.cxx:460
 AliPHOSQADataMakerRec.cxx:461
 AliPHOSQADataMakerRec.cxx:462
 AliPHOSQADataMakerRec.cxx:463
 AliPHOSQADataMakerRec.cxx:464
 AliPHOSQADataMakerRec.cxx:465
 AliPHOSQADataMakerRec.cxx:466
 AliPHOSQADataMakerRec.cxx:467
 AliPHOSQADataMakerRec.cxx:468
 AliPHOSQADataMakerRec.cxx:469
 AliPHOSQADataMakerRec.cxx:470
 AliPHOSQADataMakerRec.cxx:471
 AliPHOSQADataMakerRec.cxx:472
 AliPHOSQADataMakerRec.cxx:473
 AliPHOSQADataMakerRec.cxx:474
 AliPHOSQADataMakerRec.cxx:475
 AliPHOSQADataMakerRec.cxx:476
 AliPHOSQADataMakerRec.cxx:477
 AliPHOSQADataMakerRec.cxx:478
 AliPHOSQADataMakerRec.cxx:479
 AliPHOSQADataMakerRec.cxx:480
 AliPHOSQADataMakerRec.cxx:481
 AliPHOSQADataMakerRec.cxx:482
 AliPHOSQADataMakerRec.cxx:483
 AliPHOSQADataMakerRec.cxx:484
 AliPHOSQADataMakerRec.cxx:485
 AliPHOSQADataMakerRec.cxx:486
 AliPHOSQADataMakerRec.cxx:487
 AliPHOSQADataMakerRec.cxx:488
 AliPHOSQADataMakerRec.cxx:489
 AliPHOSQADataMakerRec.cxx:490
 AliPHOSQADataMakerRec.cxx:491
 AliPHOSQADataMakerRec.cxx:492
 AliPHOSQADataMakerRec.cxx:493
 AliPHOSQADataMakerRec.cxx:494
 AliPHOSQADataMakerRec.cxx:495
 AliPHOSQADataMakerRec.cxx:496
 AliPHOSQADataMakerRec.cxx:497
 AliPHOSQADataMakerRec.cxx:498
 AliPHOSQADataMakerRec.cxx:499
 AliPHOSQADataMakerRec.cxx:500
 AliPHOSQADataMakerRec.cxx:501
 AliPHOSQADataMakerRec.cxx:502
 AliPHOSQADataMakerRec.cxx:503
 AliPHOSQADataMakerRec.cxx:504
 AliPHOSQADataMakerRec.cxx:505
 AliPHOSQADataMakerRec.cxx:506
 AliPHOSQADataMakerRec.cxx:507
 AliPHOSQADataMakerRec.cxx:508
 AliPHOSQADataMakerRec.cxx:509
 AliPHOSQADataMakerRec.cxx:510
 AliPHOSQADataMakerRec.cxx:511
 AliPHOSQADataMakerRec.cxx:512
 AliPHOSQADataMakerRec.cxx:513
 AliPHOSQADataMakerRec.cxx:514
 AliPHOSQADataMakerRec.cxx:515
 AliPHOSQADataMakerRec.cxx:516
 AliPHOSQADataMakerRec.cxx:517
 AliPHOSQADataMakerRec.cxx:518
 AliPHOSQADataMakerRec.cxx:519
 AliPHOSQADataMakerRec.cxx:520
 AliPHOSQADataMakerRec.cxx:521
 AliPHOSQADataMakerRec.cxx:522
 AliPHOSQADataMakerRec.cxx:523
 AliPHOSQADataMakerRec.cxx:524
 AliPHOSQADataMakerRec.cxx:525
 AliPHOSQADataMakerRec.cxx:526
 AliPHOSQADataMakerRec.cxx:527
 AliPHOSQADataMakerRec.cxx:528
 AliPHOSQADataMakerRec.cxx:529
 AliPHOSQADataMakerRec.cxx:530
 AliPHOSQADataMakerRec.cxx:531
 AliPHOSQADataMakerRec.cxx:532
 AliPHOSQADataMakerRec.cxx:533
 AliPHOSQADataMakerRec.cxx:534
 AliPHOSQADataMakerRec.cxx:535
 AliPHOSQADataMakerRec.cxx:536
 AliPHOSQADataMakerRec.cxx:537
 AliPHOSQADataMakerRec.cxx:538
 AliPHOSQADataMakerRec.cxx:539
 AliPHOSQADataMakerRec.cxx:540
 AliPHOSQADataMakerRec.cxx:541
 AliPHOSQADataMakerRec.cxx:542
 AliPHOSQADataMakerRec.cxx:543
 AliPHOSQADataMakerRec.cxx:544
 AliPHOSQADataMakerRec.cxx:545
 AliPHOSQADataMakerRec.cxx:546
 AliPHOSQADataMakerRec.cxx:547
 AliPHOSQADataMakerRec.cxx:548
 AliPHOSQADataMakerRec.cxx:549
 AliPHOSQADataMakerRec.cxx:550
 AliPHOSQADataMakerRec.cxx:551
 AliPHOSQADataMakerRec.cxx:552
 AliPHOSQADataMakerRec.cxx:553
 AliPHOSQADataMakerRec.cxx:554
 AliPHOSQADataMakerRec.cxx:555
 AliPHOSQADataMakerRec.cxx:556
 AliPHOSQADataMakerRec.cxx:557
 AliPHOSQADataMakerRec.cxx:558
 AliPHOSQADataMakerRec.cxx:559
 AliPHOSQADataMakerRec.cxx:560
 AliPHOSQADataMakerRec.cxx:561
 AliPHOSQADataMakerRec.cxx:562
 AliPHOSQADataMakerRec.cxx:563
 AliPHOSQADataMakerRec.cxx:564
 AliPHOSQADataMakerRec.cxx:565
 AliPHOSQADataMakerRec.cxx:566
 AliPHOSQADataMakerRec.cxx:567
 AliPHOSQADataMakerRec.cxx:568
 AliPHOSQADataMakerRec.cxx:569
 AliPHOSQADataMakerRec.cxx:570
 AliPHOSQADataMakerRec.cxx:571
 AliPHOSQADataMakerRec.cxx:572
 AliPHOSQADataMakerRec.cxx:573
 AliPHOSQADataMakerRec.cxx:574
 AliPHOSQADataMakerRec.cxx:575
 AliPHOSQADataMakerRec.cxx:576
 AliPHOSQADataMakerRec.cxx:577
 AliPHOSQADataMakerRec.cxx:578
 AliPHOSQADataMakerRec.cxx:579
 AliPHOSQADataMakerRec.cxx:580
 AliPHOSQADataMakerRec.cxx:581
 AliPHOSQADataMakerRec.cxx:582
 AliPHOSQADataMakerRec.cxx:583
 AliPHOSQADataMakerRec.cxx:584
 AliPHOSQADataMakerRec.cxx:585
 AliPHOSQADataMakerRec.cxx:586
 AliPHOSQADataMakerRec.cxx:587
 AliPHOSQADataMakerRec.cxx:588
 AliPHOSQADataMakerRec.cxx:589
 AliPHOSQADataMakerRec.cxx:590
 AliPHOSQADataMakerRec.cxx:591
 AliPHOSQADataMakerRec.cxx:592
 AliPHOSQADataMakerRec.cxx:593
 AliPHOSQADataMakerRec.cxx:594
 AliPHOSQADataMakerRec.cxx:595
 AliPHOSQADataMakerRec.cxx:596
 AliPHOSQADataMakerRec.cxx:597
 AliPHOSQADataMakerRec.cxx:598
 AliPHOSQADataMakerRec.cxx:599
 AliPHOSQADataMakerRec.cxx:600
 AliPHOSQADataMakerRec.cxx:601
 AliPHOSQADataMakerRec.cxx:602
 AliPHOSQADataMakerRec.cxx:603
 AliPHOSQADataMakerRec.cxx:604
 AliPHOSQADataMakerRec.cxx:605
 AliPHOSQADataMakerRec.cxx:606
 AliPHOSQADataMakerRec.cxx:607
 AliPHOSQADataMakerRec.cxx:608
 AliPHOSQADataMakerRec.cxx:609
 AliPHOSQADataMakerRec.cxx:610
 AliPHOSQADataMakerRec.cxx:611
 AliPHOSQADataMakerRec.cxx:612
 AliPHOSQADataMakerRec.cxx:613
 AliPHOSQADataMakerRec.cxx:614
 AliPHOSQADataMakerRec.cxx:615
 AliPHOSQADataMakerRec.cxx:616
 AliPHOSQADataMakerRec.cxx:617
 AliPHOSQADataMakerRec.cxx:618
 AliPHOSQADataMakerRec.cxx:619
 AliPHOSQADataMakerRec.cxx:620
 AliPHOSQADataMakerRec.cxx:621
 AliPHOSQADataMakerRec.cxx:622
 AliPHOSQADataMakerRec.cxx:623
 AliPHOSQADataMakerRec.cxx:624
 AliPHOSQADataMakerRec.cxx:625
 AliPHOSQADataMakerRec.cxx:626
 AliPHOSQADataMakerRec.cxx:627
 AliPHOSQADataMakerRec.cxx:628
 AliPHOSQADataMakerRec.cxx:629
 AliPHOSQADataMakerRec.cxx:630
 AliPHOSQADataMakerRec.cxx:631
 AliPHOSQADataMakerRec.cxx:632
 AliPHOSQADataMakerRec.cxx:633
 AliPHOSQADataMakerRec.cxx:634
 AliPHOSQADataMakerRec.cxx:635
 AliPHOSQADataMakerRec.cxx:636
 AliPHOSQADataMakerRec.cxx:637
 AliPHOSQADataMakerRec.cxx:638
 AliPHOSQADataMakerRec.cxx:639
 AliPHOSQADataMakerRec.cxx:640
 AliPHOSQADataMakerRec.cxx:641
 AliPHOSQADataMakerRec.cxx:642
 AliPHOSQADataMakerRec.cxx:643
 AliPHOSQADataMakerRec.cxx:644
 AliPHOSQADataMakerRec.cxx:645
 AliPHOSQADataMakerRec.cxx:646
 AliPHOSQADataMakerRec.cxx:647
 AliPHOSQADataMakerRec.cxx:648
 AliPHOSQADataMakerRec.cxx:649
 AliPHOSQADataMakerRec.cxx:650
 AliPHOSQADataMakerRec.cxx:651
 AliPHOSQADataMakerRec.cxx:652
 AliPHOSQADataMakerRec.cxx:653
 AliPHOSQADataMakerRec.cxx:654
 AliPHOSQADataMakerRec.cxx:655
 AliPHOSQADataMakerRec.cxx:656
 AliPHOSQADataMakerRec.cxx:657
 AliPHOSQADataMakerRec.cxx:658
 AliPHOSQADataMakerRec.cxx:659
 AliPHOSQADataMakerRec.cxx:660
 AliPHOSQADataMakerRec.cxx:661
 AliPHOSQADataMakerRec.cxx:662
 AliPHOSQADataMakerRec.cxx:663
 AliPHOSQADataMakerRec.cxx:664
 AliPHOSQADataMakerRec.cxx:665
 AliPHOSQADataMakerRec.cxx:666
 AliPHOSQADataMakerRec.cxx:667
 AliPHOSQADataMakerRec.cxx:668
 AliPHOSQADataMakerRec.cxx:669
 AliPHOSQADataMakerRec.cxx:670
 AliPHOSQADataMakerRec.cxx:671
 AliPHOSQADataMakerRec.cxx:672
 AliPHOSQADataMakerRec.cxx:673
 AliPHOSQADataMakerRec.cxx:674
 AliPHOSQADataMakerRec.cxx:675
 AliPHOSQADataMakerRec.cxx:676
 AliPHOSQADataMakerRec.cxx:677
 AliPHOSQADataMakerRec.cxx:678
 AliPHOSQADataMakerRec.cxx:679
 AliPHOSQADataMakerRec.cxx:680
 AliPHOSQADataMakerRec.cxx:681
 AliPHOSQADataMakerRec.cxx:682
 AliPHOSQADataMakerRec.cxx:683
 AliPHOSQADataMakerRec.cxx:684
 AliPHOSQADataMakerRec.cxx:685
 AliPHOSQADataMakerRec.cxx:686
 AliPHOSQADataMakerRec.cxx:687
 AliPHOSQADataMakerRec.cxx:688
 AliPHOSQADataMakerRec.cxx:689
 AliPHOSQADataMakerRec.cxx:690
 AliPHOSQADataMakerRec.cxx:691
 AliPHOSQADataMakerRec.cxx:692
 AliPHOSQADataMakerRec.cxx:693
 AliPHOSQADataMakerRec.cxx:694
 AliPHOSQADataMakerRec.cxx:695
 AliPHOSQADataMakerRec.cxx:696
 AliPHOSQADataMakerRec.cxx:697
 AliPHOSQADataMakerRec.cxx:698
 AliPHOSQADataMakerRec.cxx:699
 AliPHOSQADataMakerRec.cxx:700
 AliPHOSQADataMakerRec.cxx:701
 AliPHOSQADataMakerRec.cxx:702
 AliPHOSQADataMakerRec.cxx:703
 AliPHOSQADataMakerRec.cxx:704
 AliPHOSQADataMakerRec.cxx:705
 AliPHOSQADataMakerRec.cxx:706
 AliPHOSQADataMakerRec.cxx:707
 AliPHOSQADataMakerRec.cxx:708
 AliPHOSQADataMakerRec.cxx:709
 AliPHOSQADataMakerRec.cxx:710
 AliPHOSQADataMakerRec.cxx:711
 AliPHOSQADataMakerRec.cxx:712
 AliPHOSQADataMakerRec.cxx:713
 AliPHOSQADataMakerRec.cxx:714
 AliPHOSQADataMakerRec.cxx:715
 AliPHOSQADataMakerRec.cxx:716
 AliPHOSQADataMakerRec.cxx:717
 AliPHOSQADataMakerRec.cxx:718
 AliPHOSQADataMakerRec.cxx:719
 AliPHOSQADataMakerRec.cxx:720
 AliPHOSQADataMakerRec.cxx:721
 AliPHOSQADataMakerRec.cxx:722
 AliPHOSQADataMakerRec.cxx:723
 AliPHOSQADataMakerRec.cxx:724
 AliPHOSQADataMakerRec.cxx:725
 AliPHOSQADataMakerRec.cxx:726
 AliPHOSQADataMakerRec.cxx:727
 AliPHOSQADataMakerRec.cxx:728
 AliPHOSQADataMakerRec.cxx:729
 AliPHOSQADataMakerRec.cxx:730
 AliPHOSQADataMakerRec.cxx:731
 AliPHOSQADataMakerRec.cxx:732
 AliPHOSQADataMakerRec.cxx:733
 AliPHOSQADataMakerRec.cxx:734
 AliPHOSQADataMakerRec.cxx:735
 AliPHOSQADataMakerRec.cxx:736
 AliPHOSQADataMakerRec.cxx:737
 AliPHOSQADataMakerRec.cxx:738
 AliPHOSQADataMakerRec.cxx:739
 AliPHOSQADataMakerRec.cxx:740
 AliPHOSQADataMakerRec.cxx:741
 AliPHOSQADataMakerRec.cxx:742
 AliPHOSQADataMakerRec.cxx:743
 AliPHOSQADataMakerRec.cxx:744
 AliPHOSQADataMakerRec.cxx:745
 AliPHOSQADataMakerRec.cxx:746
 AliPHOSQADataMakerRec.cxx:747
 AliPHOSQADataMakerRec.cxx:748
 AliPHOSQADataMakerRec.cxx:749
 AliPHOSQADataMakerRec.cxx:750
 AliPHOSQADataMakerRec.cxx:751
 AliPHOSQADataMakerRec.cxx:752
 AliPHOSQADataMakerRec.cxx:753
 AliPHOSQADataMakerRec.cxx:754
 AliPHOSQADataMakerRec.cxx:755
 AliPHOSQADataMakerRec.cxx:756
 AliPHOSQADataMakerRec.cxx:757
 AliPHOSQADataMakerRec.cxx:758
 AliPHOSQADataMakerRec.cxx:759
 AliPHOSQADataMakerRec.cxx:760
 AliPHOSQADataMakerRec.cxx:761
 AliPHOSQADataMakerRec.cxx:762
 AliPHOSQADataMakerRec.cxx:763
 AliPHOSQADataMakerRec.cxx:764
 AliPHOSQADataMakerRec.cxx:765
 AliPHOSQADataMakerRec.cxx:766
 AliPHOSQADataMakerRec.cxx:767
 AliPHOSQADataMakerRec.cxx:768
 AliPHOSQADataMakerRec.cxx:769
 AliPHOSQADataMakerRec.cxx:770
 AliPHOSQADataMakerRec.cxx:771
 AliPHOSQADataMakerRec.cxx:772
 AliPHOSQADataMakerRec.cxx:773
 AliPHOSQADataMakerRec.cxx:774
 AliPHOSQADataMakerRec.cxx:775
 AliPHOSQADataMakerRec.cxx:776
 AliPHOSQADataMakerRec.cxx:777
 AliPHOSQADataMakerRec.cxx:778
 AliPHOSQADataMakerRec.cxx:779
 AliPHOSQADataMakerRec.cxx:780
 AliPHOSQADataMakerRec.cxx:781
 AliPHOSQADataMakerRec.cxx:782
 AliPHOSQADataMakerRec.cxx:783
 AliPHOSQADataMakerRec.cxx:784
 AliPHOSQADataMakerRec.cxx:785
 AliPHOSQADataMakerRec.cxx:786
 AliPHOSQADataMakerRec.cxx:787
 AliPHOSQADataMakerRec.cxx:788
 AliPHOSQADataMakerRec.cxx:789
 AliPHOSQADataMakerRec.cxx:790
 AliPHOSQADataMakerRec.cxx:791
 AliPHOSQADataMakerRec.cxx:792
 AliPHOSQADataMakerRec.cxx:793
 AliPHOSQADataMakerRec.cxx:794
 AliPHOSQADataMakerRec.cxx:795
 AliPHOSQADataMakerRec.cxx:796
 AliPHOSQADataMakerRec.cxx:797
 AliPHOSQADataMakerRec.cxx:798
 AliPHOSQADataMakerRec.cxx:799
 AliPHOSQADataMakerRec.cxx:800
 AliPHOSQADataMakerRec.cxx:801
 AliPHOSQADataMakerRec.cxx:802
 AliPHOSQADataMakerRec.cxx:803
 AliPHOSQADataMakerRec.cxx:804
 AliPHOSQADataMakerRec.cxx:805
 AliPHOSQADataMakerRec.cxx:806
 AliPHOSQADataMakerRec.cxx:807
 AliPHOSQADataMakerRec.cxx:808
 AliPHOSQADataMakerRec.cxx:809
 AliPHOSQADataMakerRec.cxx:810
 AliPHOSQADataMakerRec.cxx:811
 AliPHOSQADataMakerRec.cxx:812
 AliPHOSQADataMakerRec.cxx:813
 AliPHOSQADataMakerRec.cxx:814
 AliPHOSQADataMakerRec.cxx:815