ROOT logo
/**************************************************************************
 * Copyright(c) 2004, 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.                  *
 **************************************************************************/
// --- ROOT system ---
#include <iostream>
#include <TClonesArray.h>
#include <TFile.h> 
#include <TH1F.h> 
#include <TH1I.h> 
#include <TH2I.h> 
#include <TGeoManager.h>

// --- AliRoot header files ---
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliGeomManager.h"
#include "AliFMDQADataMakerRec.h"
#include "AliFMDDigit.h"
#include "AliFMDRecPoint.h"
#include "AliQAChecker.h"
#include "AliESDFMD.h"
#include "AliFMDParameters.h"
#include "AliFMDRawReader.h"
#include "AliFMDReconstructor.h"
#include "AliRawReader.h"
#include "AliFMDAltroMapping.h"
#include "AliFMDDebug.h"

namespace {
  Int_t colors[3] = {kRed,kGreen,kBlue};
}
//_____________________________________________________________________
// This is the class that collects the QA data for the FMD during
// reconstruction.  
//
// The following data types are picked up:
// - rec points
// - esd data
// - raws
// Author : Hans Hjersing Dalsgaard, hans.dalsgaard@cern.ch
//_____________________________________________________________________

ClassImp(AliFMDQADataMakerRec)
#if 0
; // For Emacs - do not delete!
#endif
           
//_____________________________________________________________________
AliFMDQADataMakerRec::AliFMDQADataMakerRec() 
  : AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kFMD), 
		      "FMD Quality Assurance Data Maker"),
    fRecPointsArray("AliFMDRecPoint", 1000), 
    fReconstructor(0),
    fUseReconstructor(true)
{
  // ctor
 
}

//_____________________________________________________________________
AliFMDQADataMakerRec::AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm) 
  : AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kFMD), 
		      "FMD Quality Assurance Data Maker"),
    fRecPointsArray(qadm.fRecPointsArray), 
    fReconstructor(qadm.fReconstructor),
    fUseReconstructor(qadm.fUseReconstructor)
{
  // copy ctor 
  // Parameters: 
  //    qadm    Object to copy from
  
}
//_____________________________________________________________________
AliFMDQADataMakerRec& 
AliFMDQADataMakerRec::operator = (const AliFMDQADataMakerRec& qadm ) 
{
  // 
  // Assignment operator 
  // 
  // Parameters:
  //    qadm What to assign from 
  // 
  // Return:
  //    Reference to this
  //
  if (&qadm == this) return *this;
  fRecPointsArray   = qadm.fRecPointsArray;
  fReconstructor    = qadm.fReconstructor;
  fUseReconstructor = qadm.fUseReconstructor;
  return *this;
}
//_____________________________________________________________________
AliFMDQADataMakerRec::~AliFMDQADataMakerRec()
{
  // 
  // Destrcutor 
  // 
}


//_____________________________________________________________________ 

void 
AliFMDQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, 
					 TObjArray ** list)
{
  // Detector specific actions at end of cycle
  // do the QA checking
  ResetEventTrigClasses(); // reset triggers list to select all histos
  AliLog::Message(5,"FMD: end of detector cycle",
		  "AliFMDQADataMakerRec","AliFMDQADataMakerRec",
		  "AliFMDQADataMakerRec::EndOfDetectorCycle",
		  "AliFMDQADataMakerRec.cxx",95);
  AliQAChecker::Instance()->Run(AliQAv1::kFMD, task, list);
}

//_____________________________________________________________________ 
TH1* AliFMDQADataMakerRec::MakeADCHist(UShort_t d, Char_t r, Short_t b)
{
  TString name("adc"); 
  TString title("ADC counts");
  Int_t   color = kRed+1; 
  if (d > 0) { 
    name.Append(Form("FMD%d%c", d, r));
    title.Append(Form(" in FMD%d%c", d, r));
    color = colors[d-1]+3+(r == 'I' || r == 'i' ? 0 : 1);
    if (b >= 0) {
      name.Append(Form("_0x%02x", b));
      title.Append(Form("[0x%02x]", b));
    }
  }
  TH1* hist = new TH1F(name, title,1024,0,1024);
  hist->SetXTitle("Amplitude [ADC counts]");
  hist->SetYTitle("Events [log]");
  hist->SetFillStyle(3001);
  hist->SetFillColor(color);
  hist->SetLineColor(color);
  hist->SetMarkerColor(color);
  hist->GetXaxis()->SetNdivisions(408,false);
  hist->SetDirectory(0);
  // hist->SetStats(0);

  return hist;
}
//_____________________________________________________________________ 
TH1* AliFMDQADataMakerRec::MakeELossHist(UShort_t d, Char_t r, Short_t b)
{
  TString name("eloss"); 
  TString title("Energy loss");
  Int_t   color = kBlue+1;
  if (d > 0) { 
    name.Append(Form("FMD%d%c", d, r));
    title.Append(Form(" in FMD%d%c", d, r));
    color = colors[d-1]+3+(r == 'I' || r == 'i' ? 0 : 1);
    if (b >= 0) {
      name.Append(Form("_0x%02x", b));
      title.Append(Form("[0x%02x]", b));
    }
  }
  TH1* hist = new TH1F(name, title,600,0, 15);
  hist->SetXTitle("#Delta/#Delta_{mip}");
  hist->SetYTitle("Events [log]");
  hist->SetFillStyle(3001);
  hist->SetFillColor(color);
  hist->SetLineColor(color);
  hist->SetMarkerColor(color);
  hist->Sumw2();
  hist->SetDirectory(0);
  // hist->SetStats(0);

  return hist;
}


//_____________________________________________________________________ 
void AliFMDQADataMakerRec::InitESDs()
{
  // create Digits histograms in Digits subdir
  Info("InitESDs", "Initializing ESDs");
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  TH1* hist = MakeELossHist();
  Add2ESDsList(hist, 0, !expert, image);
  ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line    
}

//_____________________________________________________________________
void AliFMDQADataMakerRec::InitDigits()
{
  // create Digits histograms in Digits subdir
  Info("InitDigits", "Initializing Digits");
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  TH1* hist = MakeADCHist();
  Add2DigitsList(hist, 0, !expert, image);
  ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
}

//_____________________________________________________________________ 
void AliFMDQADataMakerRec::InitRecPoints()
{
  // create Reconstructed Points histograms in RecPoints subdir
  Info("InitRecPoints", "Initializing RecPoints");
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 

  TH1* hist = MakeELossHist();
  Add2RecPointsList(hist,0, !expert, image);
  ClonePerTrigClass(AliQAv1::kRECPOINTS); // this should be the last linea
}

//_____________________________________________________________________ 
void AliFMDQADataMakerRec::InitRaws()
{
  // create Raws histograms in Raws subdir  
  Info("InitRaws", "Initializing Raws");
  const Bool_t expert   = kTRUE ; // Flag - not the setting
  const Bool_t saveCorr = kTRUE ; // Flag - not setting
  const Bool_t image    = kTRUE ; // Flag - not the setting
  TH2I* hErrors = new TH2I("readoutErrors", "Read out errors", 3, .5, 3.5,
			   160, -.5, 159.5); 
  hErrors->GetXaxis()->SetBinLabel(1, "FMD1");
  hErrors->GetXaxis()->SetBinLabel(2, "FMD2");
  hErrors->GetXaxis()->SetBinLabel(3, "FMD3");
  hErrors->SetYTitle("# errors [log]");
  hErrors->SetZTitle("Events [log]");
  hErrors->SetDirectory(0);
  Add2RawsList(hErrors, 1, !expert, image, !saveCorr);
  //AliInfo(Form("Adding %30s to raw list @ %2d", hErrors->GetName(), 1));

  if (fUseReconstructor && !fReconstructor) {
    // Int_t oldDbg = AliLog::GetDebugLevel("FMD","");
    // AliLog::SetModuleDebugLevel("FMD", 5);

    if (!gGeoManager) {
      Info("InitRaws", "Loading the geometry");
      AliGeomManager::LoadGeometry();
    }

    fReconstructor = new AliFMDReconstructor();
    fReconstructor->SetDiagnose(false);
    fReconstructor->Init();
    // AliLog::SetModuleDebugLevel("FMD", oldDbg);
  }

  TH2* status = new TH2D("status", "Fit status per cycle", 
			  5, .5, 5.5, 4, -.5, 3.5);
  status->SetDirectory(0);
  // status->SetXTitle("Detector");
  // status->SetYTitle("Status");
  status->SetZTitle("N_{cycles} [LOG]");
  status->GetXaxis()->SetBinLabel(1, "FMD1i");
  status->GetXaxis()->SetBinLabel(2, "FMD2i");
  status->GetXaxis()->SetBinLabel(3, "FMD2o");
  status->GetXaxis()->SetBinLabel(4, "FMD3i");
  status->GetXaxis()->SetBinLabel(5, "FMD3o");
  status->GetYaxis()->SetBinLabel(1, "OK");
  status->GetYaxis()->SetBinLabel(2, "Problem");
  status->GetYaxis()->SetBinLabel(3, "Bad");
  status->GetYaxis()->SetBinLabel(4, "What the ...?");
  status->GetXaxis()->SetLabelSize(0.16);
  status->GetYaxis()->SetLabelSize(0.16);
  status->SetStats(0);
  Add2RawsList(status, GetHalfringIndex(4, 'i', 0, 0), 
	       !expert, image, !saveCorr);
	       
  TH1* hist;
  Int_t idx = 0;
  for(UShort_t d = 1; d<=3; d++) {
    UShort_t nR = (d == 1 ? 1 : 2); 
    for(UShort_t q = 0; q < nR; q++) {
      Char_t r = (q == 1 ? 'O' : 'I');
      hist = (fUseReconstructor ? 
	      MakeELossHist(d, r, -1) : 
	      MakeADCHist(d, r, -1));

      Int_t index1 = GetHalfringIndex(d, r, 0, 1);
      idx          = TMath::Max(index1, idx);
      Add2RawsList(hist, index1, !expert, image, !saveCorr);
      //AliInfo(Form("Adding %30s to raw list @ %2d", hist->GetName(), index1));
      
      // If we're using the reconstructor, do not make expert histograms 
      if (fUseReconstructor) continue;
      
      for(UShort_t b = 0; b <= 1; b++) {
	//Hexadecimal board numbers 0x0, 0x1, 0x10, 0x11;
	UShort_t board = (q == 1 ? 0 : 1) + b*16;

	hist = MakeADCHist(d, r, board);
	Int_t index2 = GetHalfringIndex(d, r, board/16,0);
	idx          = TMath::Max(index2, idx);
	Add2RawsList(hist, index2, expert, !image, !saveCorr);
	//AliInfo(Form("Adding %30s to raw list @ %2d",hist->GetName(),index2));
      }
    }
  }
  //
  ClonePerTrigClass(AliQAv1::kRAWS); // this should be the last line
}

#if 0
struct FillESDHist : public AliESDFMD::ForOne
{
  FillESDHist(AliFMDQADataMakerRec* m) : fM(m) {}
  FillESDHist(const FillESDHist& o) : fM(o.fM) {}
  FillESDHist& operator=(const FillESDHist& o) { fM = o.fM; return *this;  }
  Bool_t operator()(UShort_t, Char_t, UShort_t, UShort_t, Float_t m, Float_t) 
  {
    // Float_t mult = fmd->Multiplicity(det,ring,sec,strip);
    if(m == AliESDFMD::kInvalidMult) return true;
    
    fM->FillESDsData(0,m);
    return true;
  }
  AliFMDQADataMakerRec* fM;
};
#endif

//_____________________________________________________________________
void AliFMDQADataMakerRec::MakeESDs(AliESDEvent * esd)
{
  // 
  // Analyse ESD event
  // 
  // Parameters:
  //    esd ESD event
  //
  if(!esd) {
    AliError("FMD ESD object not found!!") ; 
    return;
  }
  AliFMDDebug(2, ("Will loop over ESD data and fill histogram"));

  AliESDFMD* fmd = esd->GetFMDData();
  if (!fmd) return;

#if 0
  FillESDHist f(this);
  fmd->ForEach(f);
#else



  // FIXME - we should use AliESDFMD::ForOne subclass to do this!
  for(UShort_t det=1;det<=3;det++) {
    UShort_t nrng = (det == 1 ? 1 : 2);
    for (UShort_t ir = 0; ir < nrng; ir++) {
      Char_t   ring = (ir == 0 ? 'I' : 'O');
      UShort_t nsec = (ir == 0 ? 20  : 40);
      UShort_t nstr = (ir == 0 ? 512 : 256);
      for(UShort_t sec =0; sec < nsec;  sec++)  {
	for(UShort_t strip = 0; strip < nstr; strip++) {
	  Float_t mult = fmd->Multiplicity(det,ring,sec,strip);
	  if(mult == AliESDFMD::kInvalidMult) continue;
	  
	  FillESDsData(0,mult);
	}
      }
    }
  }
#endif
  IncEvCountCycleESDs();
  IncEvCountTotalESDs();
}


//_____________________________________________________________________
void AliFMDQADataMakerRec::MakeDigits()
{
  // makes data from Digits  
  if(!fDigitsArray)  {
    AliError("FMD Digit object not found!!") ;
    return;
  }
  
  for(Int_t i=0;i<fDigitsArray->GetEntriesFast();i++) {
    //Raw ADC counts
    AliFMDDigit* digit = static_cast<AliFMDDigit*>(fDigitsArray->At(i));
    FillDigitsData(0,digit->Counts());
  }
}

//_____________________________________________________________________
void AliFMDQADataMakerRec::MakeDigits(TTree * digitTree)
{
  // 
  // Analyse digits
  // 
  // Parameters:
  //    digitTree Tree of digits
  //
  if (fDigitsArray) 
    fDigitsArray->Clear();
  else 
    fDigitsArray = new TClonesArray("AliFMDDigit", 1000);

  TBranch*      branch = digitTree->GetBranch("FMD");
  if (!branch) {
    AliWarning("FMD branch in Digit Tree not found") ; 
    return;
  } 
  branch->SetAddress(&fDigitsArray);
  branch->GetEntry(0); 
  MakeDigits();
  //
  IncEvCountCycleDigits();
  IncEvCountTotalDigits();
}

//_____________________________________________________________________
void AliFMDQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
  // 
  // Analyse raw 
  // 
  // Parameters:
  //    rawReader Raw reader
  //
  AliFMDRawReader fmdReader(rawReader,0);
  if (fDigitsArray) fDigitsArray->Clear();
  else              fDigitsArray = new TClonesArray("AliFMDDigit", 1000);
    
  TClonesArray* digitsAddress = fDigitsArray;
    
  rawReader->Reset();
    
  digitsAddress->Clear();
  fmdReader.ReadAdcs(digitsAddress);
  //
  FillRawsData(1,1, fmdReader.GetNErrors(0));
  FillRawsData(1,2, fmdReader.GetNErrors(1));
  FillRawsData(1,3, fmdReader.GetNErrors(2));

  if (fUseReconstructor) { 
    AliESDFMD* fmd = fReconstructor->GetESDObject();
    fmd->Clear();
    
    // AliLog::SetModuleDebugLevel("FMD", 15);
    fReconstructor->ProcessDigits(digitsAddress, fmdReader);

    if (!fmd) AliFatal("No ESD object from reconstructor");

    for(UShort_t det=1;det<=3;det++) {
      UShort_t nrng = (det == 1 ? 1 : 2);
      for (UShort_t ir = 0; ir < nrng; ir++) {
	Char_t   ring = (ir == 0 ? 'I' : 'O');
	UShort_t nsec = (ir == 0 ? 20  : 40);
	UShort_t nstr = (ir == 0 ? 512 : 256);
	for(UShort_t sec =0; sec < nsec;  sec++)  {
	  for(UShort_t strip = 0; strip < nstr; strip++) {
	    Float_t mult = fmd->Multiplicity(det,ring,sec,strip);
	    if(mult == AliESDFMD::kInvalidMult) continue;
	    
	    Int_t index1 = GetHalfringIndex(det, ring, 0, 1);
	    FillRawsData(index1,mult);
	  }
	}
      }
    }
  }
  else {
    for(Int_t i=0;i<digitsAddress->GetEntriesFast();i++) {
      //Raw ADC counts
      AliFMDDigit*      digit = static_cast<AliFMDDigit*>(digitsAddress->At(i));
      UShort_t          det   = digit->Detector();
      Char_t            ring  = digit->Ring();
      UShort_t          sec   = digit->Sector();
      // UShort_t strip = digit->Strip();
      AliFMDParameters* pars  = AliFMDParameters::Instance();
      Short_t           board = pars->GetAltroMap()->Sector2Board(ring, sec);
      
      Int_t index1 = GetHalfringIndex(det, ring, 0, 1);
      FillRawsData(index1,digit->Counts());
      Int_t index2 = GetHalfringIndex(det, ring, board/16,0);
      FillRawsData(index2,digit->Counts());
    }
  }
  //
  IncEvCountCycleRaws();
  IncEvCountTotalRaws();
}

//_____________________________________________________________________
void AliFMDQADataMakerRec::MakeRecPoints(TTree* clustersTree)
{
  // makes data from RecPoints
  
   AliFMDParameters* pars = AliFMDParameters::Instance();
  fRecPointsArray.Clear();
  TBranch *fmdbranch = clustersTree->GetBranch("FMD");
  if (!fmdbranch) { 
    AliError("can't get the branch with the FMD recpoints !");
    return;
  }
  
  TClonesArray* RecPointsAddress = &fRecPointsArray;
  
  fmdbranch->SetAddress(&RecPointsAddress);
  fmdbranch->GetEntry(0);
  TIter next(RecPointsAddress) ; 
  AliFMDRecPoint * rp ; 
  while ((rp = static_cast<AliFMDRecPoint*>(next()))) {
    FillRecPointsData(0,rp->Edep()/pars->GetEdepMip());
  }
  IncEvCountCycleRecPoints();
  IncEvCountTotalRecPoints();
  //
}

//_____________________________________________________________________ 
void AliFMDQADataMakerRec::StartOfDetectorCycle()
{
  // Do an init on the reconstructor.  If we have the
  // same run nothing happens, but if we have a new run, we update our
  // parameters.
  if (fUseReconstructor && fReconstructor) fReconstructor->Init();
  if (fRawsQAList) {
    for (Int_t index = 0 ; index < AliRecoParam::kNSpecies ; index++) {
      if (!fRawsQAList[index]) continue;
      AliRecoParam::EventSpecie_t specie = AliRecoParam::ConvertIndex(index);
      if (specie == AliRecoParam::kCalib || specie == AliRecoParam::kCosmic) 
	continue;

      TIter    nextObject(fRawsQAList[index]);
      TObject* object = 0;
      while ((object = nextObject())) { 
	if (!object->InheritsFrom(TH1::Class())) continue;
	TH1* hist = static_cast<TH1*>(object);
	if (!hist->TestBit(kResetBit)) continue;
	
	AliInfoF("Resetting histogram %s", hist->GetName());
	hist->Reset("M");
	hist->SetBit(kResetBit, false);
      }
    }
  }
}
//_____________________________________________________________________ 
Int_t AliFMDQADataMakerRec::GetHalfringIndex(UShort_t det, 
					     Char_t ring, 
					     UShort_t board, 
					     UShort_t monitor)
{
  // 
  // Get the half-ring index
  // 
  // Parameters:
  //    det      Detector
  //    ring     Ring
  //    board    Board number
  //    monitor  Monitor 
  // 
  // Return:
  //    Half ring index
  //  
  UShort_t iring = (ring == 'I' || ring == 'i' ? 1 : 0);
  Int_t    index = ((((det-1) & 0x3) << 3) | 
		    ((iring   & 0x1) << 2) |
		    ((board   & 0x1) << 1) | 
		    ((monitor & 0x1) << 0));
#if 0
  AliInfo(Form("d=%d, r=%c, b=%d, m=%d -> (%d<<3)|(%d<<2)|(%d<<1)|(%d<<0)=%2d",
	       det, ring, board, monitor, (det-1) & 0x3, iring & 0x1, 
	       board & 0x1, monitor & 0x1, index));
#endif
  return index-2;
}
//_____________________________________________________________________ 
void AliFMDQADataMakerRec::GetHalfringFromIndex(Int_t     idx, 
						UShort_t& det, 
						Char_t&   ring, 
						UShort_t& board, 
						UShort_t& monitor)
{
  det     = ((idx >> 3) & 0x3) + 1;
  ring    = ((idx >> 2) & 0x1) == 1 ? 'I' : 'O';
  board   = ((idx >> 1) & 0x1);
  monitor = ((idx >> 0) & 0x1);
}


//_____________________________________________________________________ 


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