ROOT logo
#ifndef __CINT__
#include "alles.h"
#include "AliRunDigitizer.h"
#include "AliTPCDigitizer.h"
#include "AliH2F.h"
#include "TTree.h"


#endif

// Marian Ivanov
// test of the tpc merging using AliRunDigitizer and 
// TPC  Hits2Digits, Hits2SDigits and SDigits2Digits macros

// preparation  
// 0. make 2 directorys - ev1 and ev2

// 1.make hits, digits,sdigits and sdigits-digits in both directories 
//  1.a  galice -b -q grun.C and produce hits
//  1.b. cp galice.root galice.root.hits
//  1.c  run AliTPCHits2Digits.C
//  1.d  cp galice.root galice.root.digits
//  1.e  copy back cp galice.root.hits galice.root
//  1.f  run AliTPCSDigits2Digits.C
//  1.g  cp galice.root  galice.root.sdigits
//  1.h  run AliTPCSDigits2Digit.C 
//  1.i  cp galice.root galice.root.dig2

// 2. cp ev1/galice.root/galice.root.sdigit galice.root
// 3. load this macro and run testmerge()

// 4. run test function bellow to compare merged digits with original one
// 5. to be  noticed output ftom testx() function - should be bigger than
//    noise because in proces of digitisation we use different seed
//    of random numbers for diffusion and gas gain
//    -anyway in place where we have the signal should occur the signal in both casses
//    - only the amplitude should be different - by factor of sqrt

      
void testmerge()
{
  // merge two example events
  //
  //it merge two events -one from current directory -second from directory ev2
  
  if(gAlice) delete gAlice;
  AliRunDigitizer * manager = new AliRunDigitizer(2,1);
  manager->SetTreeDTPCBaseName("TreeD_75x40_100x60_150x60_");
  manager->SetInputTreeTPCSBaseName("TreeS_75x40_100x60_150x60_");
  manager->SetInputStream(0,"galice.root");
  manager->SetInputStream(1,"ev2/galice.root.sdigits");
  AliTPCDigitizer *dTPC = new AliTPCDigitizer(manager);
  manager->SetNrOfEventsToWrite(1); 
  TStopwatch timer;
  timer.Start();

  manager->Exec(""); 
  timer.Stop();
  timer.Print();

}

void drawmerged(Int_t sec, Int_t row, Int_t x1=-1, Int_t x2=-1, Int_t y1=-1, Int_t y2=-1)
{
  //if you think that there is memory leak -
  //you are tru but othervise graphic doesn't work
  // sec=0; row =0;
  TFile * f = new TFile("galice.root");
  TFile * f1= new TFile("ev1/galice.root.digits");
  TFile * f2= new TFile("ev2/galice.root.digits");
  TTree * tree = (TTree*)f->Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree1 = (TTree*)f1->Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2->Get("TreeD_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig=0;
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //
  tree->GetBranch("Segment")->SetAddress(&dig);
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  AliTPCParam * param =(AliTPCParam*) f->Get("75x40_100x60");
  if(param){
    delete param;
    param=new AliTPCParamSR();
  }
  else param=(AliTPCParam*) f->Get("75x40_100x60_150x60");
  Int_t index = param->GetIndex(sec,row);
  tree->GetEvent(index);
  tree1->GetEvent(index);
  tree2->GetEvent(index);

  TCanvas * c = new TCanvas(" Test merged digits", "test",600,900);
  c->Divide(1,3);
  //
  c->cd(1);
  AliH2F * his = dig->DrawDigits("cont1",x1,x2,y1,y2);
  his->SetTitle("MergedDigits");
  his->SetName("Merged Digits");
  his->GetXaxis()->SetTitle("time");
  his->GetYaxis()->SetTitle("pad");
  his->DrawClone("cont1");
  //
  c->cd(2);
  AliH2F * his1 =dig1->DrawDigits("cont1",x1,x2,y1,y2); 
  his1->SetTitle("background");
  his1->SetName("background");
  his1->GetXaxis()->SetTitle("time");
  his1->GetYaxis()->SetTitle("pad");
  his1->DrawClone("cont1"); 
  //
  c->cd(3);
  AliH2F * his2 =dig2->DrawDigits("cont1",x1,x2,y1,y2); 
  his2->SetTitle("signal");
  his2->SetName("signal");
  his2->GetXaxis()->SetTitle("time");
  his2->GetYaxis()->SetTitle("pad");
  his2->DrawClone("cont1");  
}


void drawd(TFile * f, Int_t amp1, Int_t amp2)
{
  TTree * tree = (TTree*)f->Get("TreeD_75x40_100x60_150x60_0");
  AliSimDigits *dig=0;
  tree->GetBranch("Segment")->SetAddress(&dig); 
  TH1F * his = new TH1F("his","his",amp2-amp1,amp1,amp2);
  for (Int_t i=0;i<60;i++){  
    tree->GetEvent(i);   
    dig->ExpandBuffer();
    Int_t nrows = dig->GetNRows();
    Int_t ncols = dig->GetNCols();
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){    
	Int_t d  = dig->GetDigitFast(rows,col);
	his->Fill(d);
      }
  }
  his->Draw();
}

void test1(){
  //test of the merged digits
  //compare merged digits with standard digits
  TFile f("galice.root");
  TFile f1("ev1/galice.root.digits");
  TFile f2("ev2/galice.root.digits");
  TTree * tree = (TTree*)f.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree1 = (TTree*)f1.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeD_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig=0;
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //
  tree->GetBranch("Segment")->SetAddress(&dig);
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  //
  for (Int_t i=0;i<6000;i++){
    tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    dig->ExpandBuffer();
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    //
    Int_t nrows = dig->GetNRows();
    Int_t ncols = dig->GetNCols();
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	Int_t d  = dig->GetDigitFast(rows,col);
	Int_t d1 = dig1->GetDigitFast(rows,col);
	Int_t d2 = dig2->GetDigitFast(rows,col);
	
	if (abs(d-(d1+d2))>4)
	  printf("%d\t%d\t%d\t%d\t%d\t%d\n",i,rows,col,d,d1,d2);
      }
  }
}

void test5(){
  //
  //compare merged digits with digits obtained hits2sdig->sdigtodig
  TFile f("galice.root");
  TFile f1("ev1/galice.root.dig2");
  TFile f2("ev2/galice.root.dig2");
  TTree * tree = (TTree*)f.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree1 = (TTree*)f1.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeD_75x40_100x60_150x60_0");

  AliSimDigits *dig=0;
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  
  tree->GetBranch("Segment")->SetAddress(&dig);
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);




  for (Int_t i=0;i<6000;i++){
    tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    dig->ExpandBuffer();
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    
    Int_t nrows = dig->GetNRows();
    Int_t ncols = dig->GetNCols();

    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	Int_t d  = dig->GetDigitFast(rows,col);
	Int_t d1 = dig1->GetDigitFast(rows,col);
	Int_t d2 = dig2->GetDigitFast(rows,col);
	
	if (abs(d-d1-d2)>4)
	//if (d2>5)
	  printf("%d\t%d\t%d\t%d\t%d\t%d\n",i,rows,col,d,d1,d2);
      }
  }
}

void test3(){
  //test of the merged digits
  TFile f("galice.root");
  TFile f1("ev1/galice.root.sdigits");
  TFile f2("ev2/galice.root.sdigits");
  TTree * tree = (TTree*)f.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree1 = (TTree*)f1.Get("TreeS_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeS_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig=0;
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //  
  tree->GetBranch("Segment")->SetAddress(&dig);
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  //
  for (Int_t i=0;i<6000;i++){
    tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    if ( (dig1->GetID()!=i) || (dig2->GetID()!=i) ) {
      printf("missed segments\n");
    }
    //
    dig->ExpandBuffer();
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    //
    Int_t nrows = dig->GetNRows();
    Int_t ncols = dig->GetNCols();
    //
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	Int_t d  = dig->GetDigitFast(rows,col);
	Int_t d1 = dig1->GetDigitFast(rows,col)/16;
	Int_t d2 = dig2->GetDigitFast(rows,col)/16;	
	if (abs(d-d1-d2)>4)
	//if (d2>5)
	  printf("%d\t%d\t%d\t%d\t%d\t%d\n",i,rows,col,d,d1,d2);
      }
  }
}


void TestSDigitsDig2(){
  //test of the digits produced by the Hits2Digits 
  //and Hits2SDigits - SDigits2Digits chain
  TFile f1("galice.root.digits");
  TFile f2("galice.root.dig2");
  //
  TTree * tree1 = (TTree*)f1.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeD_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //  
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  //
  for (Int_t i=0;i<6000;i++){
    //tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    //dig->ExpandBuffer();
    if ( (dig1->GetID()!=i) || (dig2->GetID()!=i) ) {
      printf("miised semgnets\n");
    }
    //        
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    dig1->ExpandTrackBuffer();
    dig2->ExpandTrackBuffer();
    //
    Int_t nrows = dig1->GetNRows();
    Int_t ncols = dig1->GetNCols();
    //
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	Int_t d1 = dig1->GetDigitFast(rows,col);
	Int_t d2 = dig2->GetDigitFast(rows,col);
	Int_t t1_1 =dig1->GetTrackIDFast(rows,col,0);
	Int_t t1_2 =dig1->GetTrackIDFast(rows,col,1);
	Int_t t1_3 =dig1->GetTrackIDFast(rows,col,2);
	//
	Int_t t2_1 =dig2->GetTrackIDFast(rows,col,0);
	Int_t t2_2 =dig2->GetTrackIDFast(rows,col,1);
	Int_t t2_3 =dig2->GetTrackIDFast(rows,col,2);
	//
	if ( (d2>0) && (d1>0))
	  if ( ( ( d2>2) || (d1>2)) && (t2_1!=t1_1)) {
	    printf("%d\t%d\t%d\t\t%d\t%d\n",i,rows,col,t1_1,t2_1);
	    printf("\t\t\t\t%d\t%d\n",d1,d2);
	  }
      }
  }
}

void TestSDigitsDig1(){
  //test of the digits produced by the Hits2Digits 
  //and Hits2SDigits - SDigits2Digits chain
  TFile f1("galice.root.digits");
  TFile f2("galice.root.dig2");
  //
  TTree * tree1 = (TTree*)f1.Get("TreeD_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeD_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //  
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  //
  for (Int_t i=0;i<6000;i++){
    //tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    //dig->ExpandBuffer();
    if ( (dig1->GetID()!=i) || (dig2->GetID()!=i) ) {
      printf("miised semgnets\n");
    }
    //        
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    dig1->ExpandTrackBuffer();
    dig2->ExpandTrackBuffer();
    //
    Int_t nrows = dig1->GetNRows();
    Int_t ncols = dig1->GetNCols();
    //
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	//	Int_t d  = dig->GetDigitFast(rows,col);
	Int_t d1 = dig1->GetDigitFast(rows,col);
	Int_t d2 = dig2->GetDigitFast(rows,col);
 
	//	
	if ( ((d2>4) || (d1>4))  && abs(d1-d2)>4)
 	  printf("%d\t%d\t%d\t\t%d\t%d\n",i,rows,col,d1,d2);
      }
  }
}



void test4(){
  //TPC internal test
  TFile f1("galice.root.sdigits");
  TFile f2("galice.root.digits");
  TTree * tree1 = (TTree*)f1.Get("TreeS_75x40_100x60_150x60_0");
  TTree * tree2 = (TTree*)f2.Get("TreeD_75x40_100x60_150x60_0");
  //
  AliSimDigits *dig1=0;
  AliSimDigits *dig2=0;
  //
  tree1->GetBranch("Segment")->SetAddress(&dig1);
  tree2->GetBranch("Segment")->SetAddress(&dig2);
  //
  for (Int_t i=0;i<6000;i++){
    //tree->GetEvent(i);
    tree1->GetEvent(i);
    tree2->GetEvent(i);
    //dig->ExpandBuffer();
    if ( (dig1->GetID()!=i) || (dig2->GetID()!=i) ) {
      printf("miised semgnets\n");
    }
    //        
    dig1->ExpandBuffer();
    dig2->ExpandBuffer();
    //
    Int_t nrows = dig1->GetNRows();
    Int_t ncols = dig1->GetNCols();
    //
    for (Int_t rows=0;rows<nrows; rows++)
      for (Int_t col=0;col<ncols; col++){
	Int_t d1 = dig1->GetDigitFast(rows,col)/16.;
	Int_t d2 = dig2->GetDigitFast(rows,col);		
	if ((d2>5) &&abs(d1-d2)>2) 	  printf("%d\t%d\t%d\t\t%d\t%d\n",i,rows,col,d1,d2);
      }
  }
}

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