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.                                   //
//                                                                        //
//  Author:                                                               //
//    Sylwester Radomski (radomski@physi.uni-heidelberg.de)               //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

// --- ROOT system ---
#include <TClonesArray.h>
#include <TFile.h> 
#include <TH1F.h> 
#include <TH2F.h>
#include <TH3F.h>
#include <TProfile.h>
#include <TF1.h>
#include <TCanvas.h>
#include <TTree.h>

// --- AliRoot header files ---
//#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliTRDdigit.h"
#include "AliTRDhit.h"
//#include "AliTRDcluster.h"
#include "AliTRDQADataMakerSim.h"
#include "AliTRDdigitsManager.h"
#include "AliTRDgeometry.h"
#include "AliTRDarrayADC.h"
#include "AliTRDarraySignal.h"
//#include "AliTRDrawStream.h"

#include "AliQAChecker.h"

ClassImp(AliTRDQADataMakerSim)

//____________________________________________________________________________ 
  AliTRDQADataMakerSim::AliTRDQADataMakerSim() : 
  AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kTRD), "TRD Quality Assurance Data Maker"),
  fTmpHits(NULL) 
{
  //
  // Default constructor
}

//____________________________________________________________________________ 
AliTRDQADataMakerSim::AliTRDQADataMakerSim(const AliTRDQADataMakerSim& qadm) :
  AliQADataMakerSim(), 
  fTmpHits(NULL)
{
  //
  // Copy constructor 
  //

  SetName((const char*)qadm.GetName()) ; 
  SetTitle((const char*)qadm.GetTitle()); 

}

//__________________________________________________________________
AliTRDQADataMakerSim& AliTRDQADataMakerSim::operator=(const AliTRDQADataMakerSim& qadm)
{
  //
  // Equal operator.
  //

  this->~AliTRDQADataMakerSim();
  new(this) AliTRDQADataMakerSim(qadm);
  return *this;

}

//____________________________________________________________________________ 
AliTRDQADataMakerSim::~AliTRDQADataMakerSim()
{
  if (fTmpHits) {
    fTmpHits->Clear() ; 
    delete fTmpHits ; 
  }
}

//____________________________________________________________________________ 
void AliTRDQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
  //
  // Detector specific actions at end of cycle
  //
  ResetEventTrigClasses();
  //AliDebug(AliQAv1::GetQADebugLevel(), Form("EndOfCycle", "Fitting RecPoints %d", task));

  // call the checker
  AliQAChecker::Instance()->Run(AliQAv1::kTRD, task, list) ;    


}

//____________________________________________________________________________ 
void AliTRDQADataMakerSim::InitHits()
{
  //
  // Create Hits histograms in Hits subdir
  //
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  const Int_t kNhist = 4;
  TH1F *hist[kNhist];

  hist[0] = new TH1F("qaTRD_hits_det", "TRD hits det;Detector Id of the hit;Counts", 540, -0.5, 539.5) ; 

  hist[1] = new TH1F("qaTRD_hist_Qdrift", "TRD hits Qdrift;Charge from tracks;Counts", 100, 0, 100);
  hist[2] = new TH1F("qaTRD_hist_Qamp", "TRD hits Qamp;Charge from TRD photon;Counts", 100, 0, 100);
  hist[3] = new TH1F("qaTRD_hist_Qphoton", "TRD hits Qphoton;Charge from TRD photon;Counts", 100, 0, 100);

  for(Int_t i=0; i<kNhist; i++) {
    //hist[i]->Sumw2();
    Add2HitsList(hist[i], i, !expert, image);
  }
  //
  ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line
}

//____________________________________________________________________________ 
void AliTRDQADataMakerSim::InitDigits()
{
  //
  // Create Digits histograms in Digits subdir
  //
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  const Int_t kNhist = 3;
  TH1F *hist[kNhist];

  hist[0] = new TH1F("qaTRD_digits_det", "TRD digits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
  hist[1] = new TH1F("qaTRD_digits_time", "TRDdigits time;Time bin;Counts", 40, -0.5, 39.5);
  hist[2] = new TH1F("qaTRD_digits_amp", "TRD digits amp;Amplitude;Counts", 100, -5.5, 94.5);

  for(Int_t i=0; i<kNhist; i++) {
    hist[i]->Sumw2();
    Add2DigitsList(hist[i], i, !expert, image);
  }
  //
  ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
}

//____________________________________________________________________________ 
void AliTRDQADataMakerSim::InitSDigits()
{
  //
  // Create SDigits histograms in SDigits subdir
  //
  const Bool_t expert   = kTRUE ; 
  const Bool_t image    = kTRUE ; 
  
  const Int_t kNhist = 3;
  TH1F *hist[kNhist];

  hist[0] = new TH1F("qaTRD_sdigits_det", "TRD sdigits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
  hist[1] = new TH1F("qaTRD_sdigits_time", "TRD sdigits time;Time bin;Counts", 40, -0.5, 39.5);
  hist[2] = new TH1F("qaTRD_sdigits_amp", "TRD sdigits amp;Amplitude;Counts", 100, 0, 1e7);

  for(Int_t i=0; i<kNhist; i++) {
    hist[i]->Sumw2();
    Add2SDigitsList(hist[i], i, !expert, image);
  }
  //
  ClonePerTrigClass(AliQAv1::kSDIGITS); // this should be the last line
}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeHits()
{
  //
  // Make QA data from Hits
  //
  
  TIter next(fHitsArray); 
  AliTRDhit * hit; 

  while ( (hit = dynamic_cast<AliTRDhit *>(next())) ) {
    FillHitsData(0,hit->GetDetector());
    Double_t q = TMath::Abs(hit->GetCharge());

    if (hit->FromDrift()) FillHitsData(1,q);
    if (hit->FromAmplification()) FillHitsData(2,q);
    if (hit->FromTRphoton()) FillHitsData(3,q);
  }
}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeHits(TTree * hitTree)
{
  //
  // Make QA data from Hits
  //

  if (!CheckPointer(hitTree, "TRD hits tree")) return;

  TBranch *branch = hitTree->GetBranch("TRD");
  if (!CheckPointer(branch, "TRD hits branch")) return;
  
  Int_t nhits = (Int_t)(hitTree->GetTotBytes()/sizeof(AliTRDhit));
  if (fHitsArray)
    fHitsArray->Clear() ; 
  else
   fHitsArray = new TClonesArray("AliTRDhit", nhits+1000);
  
  //Int_t index = 0;
  Int_t nEntries = (Int_t)branch->GetEntries();
  for(Int_t i = 0; i < nEntries; i++) {
    branch->GetEntry(i);
    MakeHits();
    fHitsArray->Clear() ; 
  }
  //
  IncEvCountCycleHits();
  IncEvCountTotalHits();
  //
}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeDigits()
{
  //
  // Makes data from Digits
  //

  if (!fDigitsArray)
    return ; 
  
  TIter next(fDigitsArray) ; 
  AliTRDdigit * digit ; 
  
  // Info("Make digits", "From the arrya");
  
  while ( (digit = dynamic_cast<AliTRDdigit *>(next())) ) {
    if (digit->GetAmp() < 1) continue;
    FillDigitsData(0,digit->GetDetector());
    FillDigitsData(1,digit->GetTime());
    FillDigitsData(2,digit->GetAmp());
  }

}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeDigits(TTree * digits)
{
  //
  // Makes data from digits tree
  //
  // Info("Make digits", "From a tree");

  AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager();
  digitsManager->CreateArrays();
  digitsManager->ReadDigits(digits);
  static TObjArray histDet,histTime,histSignal;
  //
  GetMatchingDigitsData(0,&histDet);
  GetMatchingDigitsData(1,&histTime);
  GetMatchingDigitsData(2,&histSignal);

  for (Int_t i = 0; i < AliTRDgeometry::kNdet; i++) 
    {
      AliTRDarrayADC *digitsIn = (AliTRDarrayADC *) digitsManager->GetDigits(i);      

      // This is to take care of switched off super modules
      if (digitsIn->GetNtime() == 0) continue;
      
      digitsIn->Expand();
      
      //AliTRDSignalIndex* indexes = digitsManager->GetIndexes(i);
      //if (indexes->IsAllocated() == kFALSE) digitsManager->BuildIndexes(i);
      
      Int_t nRows = digitsIn->GetNrow();
      Int_t nCols = digitsIn->GetNcol();
      Int_t nTbins = digitsIn->GetNtime();
      
      for(Int_t row = 0; row < nRows; row++) 
        for(Int_t col = 0; col < nCols; col++) 
          for(Int_t time = 0; time < nTbins; time++) 
            {   
              Float_t signal = digitsIn->GetData(row,col,time);
              if (signal < 1) continue;
              for (int ih=histDet.GetEntriesFast();ih--;) ((TH1*)histDet.UncheckedAt(ih))->Fill(i);
              for (int ih=histTime.GetEntriesFast();ih--;) ((TH1*)histTime.UncheckedAt(ih))->Fill(time);
              for (int ih=histSignal.GetEntriesFast();ih--;) ((TH1*)histSignal.UncheckedAt(ih))->Fill(signal);
            }
      
      //delete digitsIn;
    }
  delete digitsManager;
  //
  IncEvCountCycleDigits();
  IncEvCountTotalDigits();
  //
}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeSDigits()
{
  //
  // Makes data from Digits
  //

  if (!fSDigitsArray)
    return ; 

  TIter next(fSDigitsArray) ; 
  AliTRDdigit * digit ; 
  while ( (digit = dynamic_cast<AliTRDdigit *>(next())) ) {
    FillDigitsData(0,digit->GetDetector());
    FillDigitsData(1,digit->GetTime());
    FillDigitsData(2,digit->GetAmp());
  }

}

//____________________________________________________________________________
void AliTRDQADataMakerSim::MakeSDigits(TTree * digits)
{
  //
  // Makes data from SDigits
  //
  // Check id histograms already created for this Event Specie
  if ( ! GetSDigitsData(0) )
    InitSDigits() ;
  
  AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager();
  digitsManager->SetSDigits(kTRUE);
  digitsManager->CreateArrays();
  digitsManager->ReadDigits(digits);

  static TObjArray histDet,histTime,histSignal;
  //
  GetMatchingSDigitsData(0,&histDet);
  GetMatchingSDigitsData(1,&histTime);
  GetMatchingSDigitsData(2,&histSignal);

  for (Int_t i = 0; i < AliTRDgeometry::kNdet; i++) 
    {
      AliTRDarraySignal *digitsIn = (AliTRDarraySignal *) digitsManager->GetSDigits(i);
  
    // This is to take care of switched off super modules
      if (digitsIn->GetNtime() == 0) continue;
      
    digitsIn->Expand(); 
      
      //AliTRDSignalIndex* indexes = digitsManager->GetIndexes(i);
      //if (indexes->IsAllocated() == kFALSE) digitsManager->BuildIndexes(i);
      Int_t nRows = digitsIn->GetNrow();
      Int_t nCols = digitsIn->GetNcol();
      Int_t nTbins = digitsIn->GetNtime();

      for(Int_t row = 0; row < nRows; row++) 
	{
	  for(Int_t col = 0; col < nCols; col++) 
	    {
	      for(Int_t time = 0; time < nTbins; time++) 
		{	    
		  Float_t signal = digitsIn->GetData(row,col,time);
		  if (signal < 1) continue;
		  for (int ih=histDet.GetEntriesFast();ih--;) ((TH1*)histDet.UncheckedAt(ih))->Fill(i);
		  for (int ih=histTime.GetEntriesFast();ih--;) ((TH1*)histTime.UncheckedAt(ih))->Fill(time);
		  for (int ih=histSignal.GetEntriesFast();ih--;) ((TH1*)histSignal.UncheckedAt(ih))->Fill(signal);
		}
	    }
	}
      // delete digitsIn;
    }
  delete digitsManager;
  //
  IncEvCountCycleSDigits();
  IncEvCountTotalSDigits();  
  //
}

//____________________________________________________________________________ 
void AliTRDQADataMakerSim::StartOfDetectorCycle()
{
  //
  // Detector specific actions at start of cycle
  //

}

//__________________________________________________________________________
Int_t AliTRDQADataMakerSim::CheckPointer(TObject *obj, const char *name) 
{
  //
  // Checks initialization of pointers
  //

  if (!obj) AliWarning(Form("null pointer: %s", name));
  return !!obj;

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