ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)

#include <stdio.h>
#include <stdlib.h>
#include <TROOT.h>
#include <Riostream.h>
#include <TClassTable.h>
#include <TStyle.h>
#include <TMath.h>
#include <TGrid.h>
#include <TFile.h>
#include <TCanvas.h>
#include <TH1.h>
#include <TH2.h>
#include <TProfile.h>
#include <TLine.h>
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliPDG.h"
#include "STEER/ESD/AliESDEvent.h"
#include "STEER/ESD/AliESDZDC.h"

#endif
void CheckAlienZDCESD(Int_t year=2010, const char* period="10f", 
	Int_t nRun=0, Int_t recoPass=1, Int_t nMaxFiles=1,
	Bool_t plot=kFALSE, Bool_t esdWordCut=kFALSE)
{
  
 if(nRun==0){
   printf("\n\n YOU MUST PROVIDE A RUN NUMBER!!! \n\n");
   return;
 }
  
 // Histogram definition
 // ----------------------------------------------------------------
 TH2F *centroidZNsideC = new TH2F("centroidZNsideC","Impact point over ZNC",100,-3.5,3.5,100,-3.5,3.5);
  centroidZNsideC->SetXTitle("X_{ZNC} (cm)");
  centroidZNsideC->SetYTitle("Y_{ZNC} (cm)");
 TH2F * centroidZNsideA = new TH2F("centroidZNsideA","Impact point over ZNA",100,-3.5,3.5,100,-3.5,3.5);
  centroidZNsideA->SetXTitle("X_{ZNA} (cm)");
  centroidZNsideA->SetYTitle("Y_{ZNA} (cm)");
 TH1F * enZNC = new TH1F("enZNC", "ZNC signal",100,0.,2000.);
  enZNC->SetXTitle("E (GeV)");
 TH1F * enZPC = new TH1F("enZPC", "ZPC signal",100,0.,2000.);
  enZPC->SetXTitle("E (GeV)");
 TH1F * enZNA = new TH1F("enZNA", "ZNA signal",100,0.,2000.);
  enZNA->SetXTitle("E (GeV)");
 TH1F * enZPA = new TH1F("enZPA", "ZPA signal",100,0.,2000.);
  enZPA->SetXTitle("E (GeV)");
 TH1D * enZEM1 = new TH1D("enZEM1", "Energy in ZEM1",100,0.,2000.);
  enZEM1->SetXTitle("E (GeV)");
 TH1D * enZEM2 = new TH1D("enZEM2", "Energy in ZEM2",100,0.,2000.);
  enZEM2->SetXTitle("E (GeV)");
 // ----------------------------------------------------------------
 TH1D * hZNCTow[5]; TH1D * hZPCTow[5]; 
 TH1D * hZNATow[5]; TH1D * hZPATow[5]; 
 char nomehistznc[30], nomehistzpc[30], nomehistzna[30], nomehistzpa[30];
 for(Int_t i=0; i<5; i++){
   sprintf(nomehistznc,"ZNC-pm%d",i);
   hZNCTow[i] = new TH1D(nomehistznc, nomehistznc, 100, 0.,1200.);
   sprintf(nomehistzpc,"ZPC-pm%d",i);
   hZPCTow[i] = new TH1D(nomehistzpc, nomehistzpc, 100, 0.,1200.);
   sprintf(nomehistzna,"ZNA-pm%d",i);
   hZNATow[i] = new TH1D(nomehistzna, nomehistzna, 100, 0.,1200.);
   sprintf(nomehistzpa,"ZPA-pm%d",i);
   hZPATow[i] = new TH1D(nomehistzpa, nomehistzpa, 100, 0.,1200.);
 }
 //
 TH1F *hESDword = new TH1F("hESDword","hESDword",6,0.5,6.5);
 hESDword->SetXTitle("ZDC trigger pattern"); 

 
 // ----------------------------------------------------------------
 // %%%%% TDCs
 // ----------------------------------------------------------------
 TH1F * hTDC[11];
 for(Int_t itdc=0; itdc<11; itdc++){
    
    if(itdc==0)      hTDC[itdc] = new TH1F("TDCZNC", "TDC ZNC", 200, -150., 50.);
    else if(itdc==1) hTDC[itdc] = new TH1F("TDCZNA", "TDC ZNA", 200, -150., 50.);
    else if(itdc==2) hTDC[itdc] = new TH1F("TDCL0", "TDC L0", 100, 250., 350.);
    else if(itdc==3) hTDC[itdc] = new TH1F("TDCADCgate", "TDC ADCgate", 100, 500., 600.);
    else if(itdc==4) hTDC[itdc] = new TH1F("TDCZNsum", "TDC ZNsum", 60, -100., -40.);
    else if(itdc==5) hTDC[itdc] = new TH1F("TDCZNdiff", "TDC ZNdiff", 60, -30., 30.);
    else if(itdc==6) hTDC[itdc] = new TH1F("TDCZPC", "TDC ZPC", 200, -150., 50.);
    else if(itdc==7) hTDC[itdc] = new TH1F("TDCZPA", "TDC ZPA", 200, -150., 50.);
    else if(itdc==8) hTDC[itdc] = new TH1F("TDCZEM1", "TDC ZEM1", 200, -150., 50.);
    else if(itdc==9) hTDC[itdc] = new TH1F("TDCZEM2", "TDC ZEM2", 200, -150., 50.);
    else if(itdc==10) hTDC[itdc] = new TH1F("TDCorZN", "TDC OR ZN", 400, -150., 50.);
    
    hTDC[itdc]->SetXTitle("TDC (ns)");
 }
 
 TH2F *hDebunch = new TH2F("hDebunch","hDebunch",240,-30.,30.,240,-30.,30.);
 hDebunch->SetYTitle("t_{ZNC}+t_{ZNA} (ns)");
 hDebunch->SetXTitle("t_{ZNC}-t_{ZNA} (ns)");
 
 TH1F * hTDCcorr[4];
 for(Int_t itdc=0; itdc<4; itdc++){
    if(itdc==0)      hTDCcorr[itdc] = new TH1F("TDCZNCcorr", "TDC ZNC corr", 200, -100., 100.);
    else if(itdc==1) hTDCcorr[itdc] = new TH1F("TDCZNAcorr", "TDC ZNA corr", 200, -100., 100.);
    else if(itdc==2) hTDCcorr[itdc] = new TH1F("TDCDiffcorr", "TDC Diff corr", 100, -50., 50.);
    else if(itdc==3) hTDCcorr[itdc] = new TH1F("TDCSumcorr", "TDC Sum corr", 100, -50., 50.);
    
    hTDCcorr[itdc]->SetXTitle("TDC (ns)");
 }

 TGrid::Connect("alien:",0,0,"t");
 gSystem->Exec(Form("gbbox find \"/alice/data/%d/LHC%s/000%d/ESDs/pass%d\" \"AliESDs.root\" > ESDFiles.txt",
       year, period, nRun, recoPass));
 //gSystem->Exec(Form("gbbox find \"/alice/data/%d/LHC%s/000%d/ESDs/hlt_clustering\" \"AliESDs.root\" > ESDFiles.txt",
 //      year, period, nRun));
 FILE* listruns=fopen("ESDFiles.txt","r");
 
 char esdFileName[200], filnamalien[200];
 char yperiod, dirESD;
 // 
 Int_t nAnalyzedFiles=0;
 Int_t nevPhys=0, nevZNC=0, nevZPC=0, nevZNA=0, nevZPA=0, nevZEM1=0, nevZEM2=0;
 
 while(!feof(listruns)){
  
 if(nAnalyzedFiles!=nMaxFiles){
  
  int st = fscanf(listruns,"%s\n",esdFileName);    
  Char_t directory[100];
  sprintf(directory,"/alice/data/%d",year);
  if(!strstr(esdFileName,directory)) continue;
  sscanf(esdFileName,"/alice/data/%d/LHC%s/000%d/ESDs/pass%d/%s/AliESDs.root",&year,&yperiod,&nRun,&recoPass,&dirESD);
  //sscanf(esdFileName,"/alice/data/%d/LHC%s/000%d/ESDs/hlt_clustering/%s/AliESDs.root",&year,&yperiod,&nRun,&dirESD);
  sprintf(filnamalien,"alien://%s",esdFileName);
  printf("\n Opening file: %s\n",filnamalien);
 
  // open the ESD file
  TFile* esdFile = TFile::Open(filnamalien);
  if(!esdFile) {
    Error("CheckZDCESD", "opening ESD file %s failed",filnamalien);
    return;
  }
  
  AliESDEvent* esd = new AliESDEvent();
  TTree* tree = (TTree*) esdFile->Get("esdTree");
  if(!tree) {
    Error("CheckZDCESD", "No ESD tree found");
    return;
  }
  
  tree->SetBranchStatus("*", 0);
  tree->SetBranchStatus("AliESDHeader*", 1);
  tree->SetBranchStatus("AliESDRun*", 1);
  tree->SetBranchStatus("AliESDZDC*", 1);
  tree->SetBranchStatus("PrimaryVertex*", 1);
  tree->SetBranchStatus("SPDVertex*", 1);
  tree->SetBranchStatus("AliESDVZERO*", 1);

  esd->ReadFromTree(tree);
  
  Int_t nevents = (Int_t)tree->GetEntries();
  printf("\n    No. of events in ESD tree = %d\n", nevents);
  for(Int_t iEvent=0; iEvent<nevents; iEvent++){
    // get the event summary data
    tree->GetEvent(iEvent);
    
    //
    if(esd->GetEventType() == 7){
      if(!esd) {
        Error("CheckESD", "no ESD object found for event %d", iEvent);
        return;
      }
    
      Double_t sumQznc=0., sumQzpc=0., sumQzna=0., sumQzpa=0.;
    
      AliESDZDC *esdZDC = esd->GetESDZDC();
      //printf("    ev.%d  \n",nevPhys);
      //esdZDC->Print("");
      nevPhys++;

      
      Double_t centrZNC[2]={-999.,-999.}, centrZNA[2]={-999.,-999.};
      esdZDC->GetZNCentroidInPbPb(2760.,centrZNC, centrZNA);
      //
      Double_t energyZNC = esdZDC->GetZDCN1Energy();
      Double_t energyZPC = esdZDC->GetZDCP1Energy();
      Double_t energyZNA = esdZDC->GetZDCN2Energy();
      Double_t energyZPA = esdZDC->GetZDCP2Energy();
      Double_t energyZEM1 = esdZDC->GetZDCEMEnergy(0);
      Double_t energyZEM2 = esdZDC->GetZDCEMEnergy(1);
      const Double_t * towZNC = esdZDC->GetZN1TowerEnergy();
      const Double_t * towZPC = esdZDC->GetZP1TowerEnergy();
      const Double_t * towZNA = esdZDC->GetZN2TowerEnergy();
      const Double_t * towZPA = esdZDC->GetZP2TowerEnergy();
      UInt_t iWord = esdZDC->GetESDQuality();
      //
      if((iWord & 0x00000001) == 0x00000001){
        nevZNA++;   
	hESDword->Fill(1.);
      }
      if((iWord & 0x00000002) == 0x00000002){
        nevZPA++;   
	hESDword->Fill(2.);
      }
      if((iWord & 0x00000004) == 0x00000004){
        nevZEM1++;  
	hESDword->Fill(3.);
      }
      if((iWord & 0x00000008) == 0x00000008){
        nevZEM2++;  
	hESDword->Fill(4.);
      }
      if((iWord & 0x00000010) == 0x00000010){
        nevZNC++;   
	hESDword->Fill(5.);
      }
      if((iWord & 0x00000020) == 0x00000020){
        nevZPC++;   
	hESDword->Fill(6.);
      }
      enZNC->Fill(energyZNC);
      enZPC->Fill(energyZPC);
      enZNA->Fill(energyZNA);
      enZPA->Fill(energyZPA);
      enZEM1->Fill(energyZEM1);
      enZEM2->Fill(energyZEM2);
      //
      for(Int_t jj=0; jj<5; jj++){
        if(esdWordCut){
          if((iWord & 0x00000010) == 0x00000010) hZNCTow[jj]->Fill(towZNC[jj]);
          if((iWord & 0x00000020) == 0x00000020) hZPCTow[jj]->Fill(towZPC[jj]);
          if((iWord & 0x00000001) == 0x00000001) hZNATow[jj]->Fill(towZNA[jj]);
          if((iWord & 0x00000002) == 0x00000002) hZPATow[jj]->Fill(towZPA[jj]);
        }
	else{
	  hZNCTow[jj]->Fill(towZNC[jj]);
          hZPCTow[jj]->Fill(towZPC[jj]);
	  hZNATow[jj]->Fill(towZNA[jj]);
          hZPATow[jj]->Fill(towZPA[jj]);
        }
        //
      	if(jj!=0){
          if(esdWordCut){
            if((iWord & 0x00000010) == 0x00000010) sumQznc += towZNC[jj];
	    if((iWord & 0x00000020) == 0x00000020) sumQzpc += towZPC[jj];
            if((iWord & 0x00000001) == 0x00000001) sumQzna += towZNA[jj];
	    if((iWord & 0x00000002) == 0x00000002) sumQzpa += towZPA[jj];
          }
	  else{
	    sumQznc += towZNC[jj];
	    sumQzpc += towZPC[jj];
	    sumQzna += towZNA[jj];
	    sumQzpa += towZPA[jj];
	  }
        }
      }
      //

      if(centrZNA[0]!=-999. && centrZNA[1]!=-999) centroidZNsideA->Fill(centrZNA[0], centrZNA[1], towZNA[0]);
      if(centrZNC[0]!=-999. && centrZNC[1]!=-999) centroidZNsideC->Fill(centrZNC[0], centrZNC[1], towZNC[0]);
/*      if(esdWordCut){
        if((iWord & 0x00000010) == 0x00000010) {
	  hSumQZNC->Fill(sumQznc);
        }
	//
        if((iWord & 0x00000020) == 0x00000020) {
	  hSumQZPC->Fill(sumQzpc);
        }
	
      }
      else{
        hSumQZNC->Fill(sumQznc);
        //
        hSumQZPC->Fill(sumQzpc);
      }
      //
      hSumQZNA->Fill(sumQzna);
      hSumQZPA->Fill(sumQzpa);
*/

      Int_t tdcData[32][4];
      Float_t tdcCorr[32][4];
      for(int ij=0; ij<32; ij++){
         for(int ik=0; ik<4;ik++){
	   tdcData[ij][ik] = 9999.;
	   tdcCorr[ij][ik] = -9999./0.025;
	 }
      }
      Float_t tdcC=-9999./0.025, tdcA=-9999./0.025, tdcGate=-9999./0.025, tdcL0=-9999./0.025;
      Float_t tdcDiff=-9999./0.025, tdcSum=-9999./0.025;
      Float_t tdcZPC=-9999./0.025, tdcZPA=-9999./0.025;
      Float_t tdcZEM1=-9999./0.025, tdcZEM2=-9999./0.025;
      Float_t tdcZNCcorr=-9999./0.025, tdcZNAcorr=-9999./0.025;
      //
      for(Int_t itdc=0; itdc<21; itdc++){
         for(Int_t j=0; j<4; j++){
	    
	    tdcData[itdc][j] = esdZDC->GetZDCTDCData(itdc, j);
	    if(tdcData[itdc][j] == 0.) continue; //change in 9999
	    
	 //printf(" TDC ch.%d hit %d:  %f   ns\n",itdc,j,0.025*esdZDC->GetZDCTDCData(itdc, j));
	    tdcCorr[itdc][j] = esdZDC->GetZDCTDCCorrected(itdc, j);
	 //printf("                  %f ns\n",esdZDC->GetZDCTDCCorrected(itdc, j));
            if(itdc==12 && j==0 && (tdcData[10][0]!=0. && tdcData[12][0]!=0.)){ //change in 9999!!!
	       tdcDiff = esdZDC->GetZDCTimeDiff();
	       tdcSum = esdZDC->GetZDCTimeSum();
	    }
	    
	    if(itdc==8 && tdcData[itdc][j]!=0.){
	      tdcZEM1 = 0.025*(tdcData[itdc][j]);
	    }
	    else if(itdc==9 && tdcData[itdc][j]!=0.){
	      tdcZEM2 = 0.025*(tdcData[itdc][j]);
	    }
	    else if(itdc==10 && tdcData[itdc][j]!=0.){
	      tdcC = 0.025*(tdcData[itdc][j]); 
	      tdcZNCcorr = tdcCorr[itdc][j];
	      hTDCcorr[0]->Fill(tdcZNCcorr);
	    }
	    else if(itdc==11 && tdcData[itdc][j]!=0.){
	      tdcZPC = 0.025*(tdcData[itdc][j]);
	    }
	    else if(itdc==12 && tdcData[itdc][j]!=0.){
	      tdcA = 0.025*(tdcData[itdc][j]); 
	      tdcZNAcorr = tdcCorr[itdc][j];
	      hTDCcorr[1]->Fill(tdcZNAcorr);
	    }
	    else if(itdc==13 && tdcData[itdc][j]!=0.){
	      tdcZPA = 0.025*(tdcData[itdc][j]);
	    }
	    else if(itdc==14 && tdcData[itdc][j]!=0.){
	      tdcGate = 0.025*tdcData[itdc][j];
	      hTDC[3]->Fill(tdcGate);
	    }
	    else if(itdc==15 && tdcData[itdc][j]!=0.){
	      tdcL0 = 0.025*tdcData[itdc][j];
	      hTDC[2]->Fill(tdcL0);
              //
	      if(tdcC!=-9999./0.025)    hTDC[0]->Fill(tdcC-tdcL0);
              if(tdcA!=-9999./0.025)    hTDC[1]->Fill(tdcA-tdcL0);
              if(tdcZPC!=-9999./0.025)  hTDC[6]->Fill(tdcZPC-tdcL0);
              if(tdcZPA!=-9999./0.025)  hTDC[7]->Fill(tdcZPA-tdcL0);
              if(tdcZEM1!=-9999./0.025) hTDC[8]->Fill(tdcZEM1-tdcL0);
              if(tdcZEM2!=-9999./0.025) hTDC[9]->Fill(tdcZEM2-tdcL0);
              if(tdcC!=-9999./0.025 && tdcA!=-9999./0.025 && tdcL0!=-9999./0.025){
                tdcC = tdcC-tdcL0;
	        tdcA = tdcA-tdcL0;
                hTDC[4]->Fill(tdcC+tdcA);
                hTDC[5]->Fill(tdcC-tdcA);
                //printf(" TDCdata: sum %f  diff %f ", tdcC+tdcA, tdcC-tdcA);
             	//hDebunch->Fill(tdcC-tdcA+2.1, tdcC+tdcA+65.5);
              }
              if(tdcZNAcorr!=-9999./0.025 && tdcZNCcorr!=-9999./0.025  && tdcL0!=-9999./0.025){
             	hTDCcorr[2]->Fill(tdcZNCcorr-tdcZNAcorr);
             	hTDCcorr[3]->Fill(tdcZNCcorr+tdcZNAcorr);
             	hDebunch->Fill(tdcDiff, tdcSum);
                //printf("        TDCcorr: sum %f  diff %f (ns) \n", tdcSum, tdcDiff);
              }
	    }
	    else if(itdc==18 && tdcData[itdc][j]!=0.){
	      hTDC[10]->Fill(0.025*tdcData[itdc][j]-tdcL0);
	    }
	 }
      }//tdc scan
      

    }//physics event
      
    
  }//event loop
  
  nAnalyzedFiles++;
  esdFile->Close();
  }//if(nAnalyzedFiles<=nMaxFiles)
  else{
    printf("\t %d files analyzed\n\n",nMaxFiles);
    break;
  }
 } // while closing
  
/* printf("    No. of events over threshold: ZNA: %d  ZPA: %d  ZEM1: %d "
        " ZEM2: %d  ZNC: %d  ZPC: %d\n\n", 
        nevZNA, nevZPA, nevZEM1, nevZEM2, nevZNC, nevZPC);*/
   
  TFile * fileout = new TFile("ESDhistos.root","recreate");
  fileout->cd();
  centroidZNsideC->Write();
  centroidZNsideA->Write();
  enZNC->Write();
  enZNA->Write();
  enZPC->Write();
  enZPA->Write();
  enZEM1->Write();
  enZEM2->Write();
  for(Int_t jj=0; jj<5; jj++){
      hZNCTow[jj]->Write();
      hZPCTow[jj]->Write();
      hZNATow[jj]->Write();
      hZPATow[jj]->Write();
  }
  /*hSumQZNC->Write();
  hSumQZPC->Write();
  hSumQZNA->Write();
  hSumQZPA->Write();*/
  //
  hESDword->Write();
  for(Int_t jj=0; jj<11; jj++) hTDC[jj]->Write();
  for(Int_t jj=0; jj<4; jj++) hTDCcorr[jj]->Write();
  //
  fileout->Close();
	
 if(plot){  
  //***********************************************************
  // #### ROOT initialization
  gROOT->Reset();
  gStyle->SetCanvasColor(10);
  gStyle->SetFrameFillColor(10);
  gStyle->SetOptTitle(1);
  if(esdWordCut) gStyle->SetOptStat(1111111);
  else gStyle->SetOptStat(1111);
  gStyle->SetOptFit(0);
  gStyle->SetTitleTextColor(4);
  gStyle->SetStatTextColor(4);
  gStyle->SetStatX(0.92);
  gStyle->SetStatY(0.92);
  gStyle->SetLineColor(1);
  gStyle->SetPalette(1);
  gStyle->SetPadTopMargin(0.04);
  gStyle->SetPadRightMargin(0.04);
  gStyle->SetPadBottomMargin(0.14);
  gStyle->SetPadLeftMargin(0.16); 
   

  //-------------------------------------------------
  TCanvas *c1 = new TCanvas("c1","ZDCs + ZEMs signals",400,0,500,800);
  c1->Divide(2,3);
  c1->cd(1);
  gPad->SetLogy(1);
  enZNC->Draw("");
  enZNC->SetLineColor(kBlue);
  enZNC->SetFillColor(kBlue);
  c1->cd(2);
  gPad->SetLogy(1);
  enZPC->Draw("");
  enZPC->SetLineColor(kBlue+3);
  enZPC->SetFillColor(kBlue+3);
  c1->cd(3);
  gPad->SetLogy(1);
  enZEM1->SetLineColor(kRed);
  enZEM1->SetFillColor(kRed);
  enZEM1->Draw("");
  c1->cd(4);
  gPad->SetLogy(1);
  enZEM2->SetLineColor(kRed);
  enZEM2->SetFillColor(kRed);
  enZEM2->Draw("");
  c1->cd(5);
  gPad->SetLogy(1);
  enZNA->Draw("");
  enZNA->SetLineColor(kRed);
  enZNA->SetFillColor(kRed);
  c1->cd(6);
  gPad->SetLogy(1);
  enZPA->Draw("");
  enZPA->SetLineColor(kRed+1);
  enZPA->SetFillColor(kRed+1);  
  
  //-------------------------------------------------
  TCanvas *c3 = new TCanvas("c3","Side C ZDCs",0,0,800,400);
  c3->Divide(5,2);
  c3->cd(1);
  gPad->SetLogy(1);
  hZNCTow[0]->SetLineColor(kBlue);
  hZNCTow[0]->SetFillColor(kBlue);
  hZNCTow[0]->Draw("");
  c3->cd(2);
  gPad->SetLogy(1);
  hZNCTow[1]->SetLineColor(kBlue);
  hZNCTow[1]->SetFillColor(kBlue);
  hZNCTow[1]->Draw("");
  c3->cd(3);
  gPad->SetLogy(1);
  hZNCTow[2]->SetLineColor(kBlue);
  hZNCTow[2]->SetFillColor(kBlue);
  hZNCTow[2]->Draw("");
  c3->cd(4);
  gPad->SetLogy(1);
  hZNCTow[3]->SetLineColor(kBlue);
  hZNCTow[3]->SetFillColor(kBlue);
  hZNCTow[3]->Draw("");
  c3->cd(5);
  gPad->SetLogy(1);
  hZNCTow[4]->SetLineColor(kBlue);
  hZNCTow[4]->SetFillColor(kBlue);
  hZNCTow[4]->Draw("");
  //
  c3->cd(6);
  gPad->SetLogy(1);
  hZPCTow[0]->SetLineColor(kBlue+3);
  hZPCTow[0]->SetFillColor(kBlue+3);
  hZPCTow[0]->Draw("");
  c3->cd(7);
  gPad->SetLogy(1);
  hZPCTow[1]->SetLineColor(kBlue+3);
  hZPCTow[1]->SetFillColor(kBlue+3);
  hZPCTow[1]->Draw("");
  c3->cd(8);
  gPad->SetLogy(1);
  hZPCTow[2]->SetLineColor(kBlue+3);
  hZPCTow[2]->SetFillColor(kBlue+3);
  hZPCTow[2]->Draw("");
  c3->cd(9);
  gPad->SetLogy(1);
  hZPCTow[3]->SetLineColor(kBlue+3);
  hZPCTow[3]->SetFillColor(kBlue+3);
  hZPCTow[3]->Draw("");
  c3->cd(10);
  gPad->SetLogy(1);
  hZPCTow[4]->SetLineColor(kBlue+3);
  hZPCTow[4]->SetFillColor(kBlue+3);
  hZPCTow[4]->Draw("");
  
  
  //-------------------------------------------------
  TCanvas *c32 = new TCanvas("c32","side A ZDCs",700,0,800,400);
  c32->Divide(5,2);
  c32->cd(1);
  gPad->SetLogy(1);
  hZNATow[0]->SetLineColor(kRed);
  hZNATow[0]->SetFillColor(kRed);
  hZNATow[0]->Draw("");
  c32->cd(2);
  gPad->SetLogy(1);
  hZNATow[1]->SetLineColor(kRed);
  hZNATow[1]->SetFillColor(kRed);
  hZNATow[1]->Draw("");
  c32->cd(3);
  gPad->SetLogy(1);
  hZNATow[2]->SetLineColor(kRed);
  hZNATow[2]->SetFillColor(kRed);
  hZNATow[2]->Draw("");
  c32->cd(4);
  gPad->SetLogy(1);
  hZNATow[3]->SetLineColor(kRed);
  hZNATow[3]->SetFillColor(kRed);
  hZNATow[3]->Draw("");
  c32->cd(5);
  gPad->SetLogy(1);
  hZNATow[4]->SetLineColor(kRed);
  hZNATow[4]->SetFillColor(kRed);
  hZNATow[4]->Draw("");
  //
  c32->cd(6);
  gPad->SetLogy(1);
  hZPATow[0]->SetLineColor(kRed+1);
  hZPATow[0]->SetFillColor(kRed+1);
  hZPATow[0]->Draw("");
  c32->cd(7);
  gPad->SetLogy(1);
  hZPATow[1]->SetLineColor(kRed+1);
  hZPATow[1]->SetFillColor(kRed+1);
  hZPATow[1]->Draw("");
  c32->cd(8);
  gPad->SetLogy(1);
  hZPATow[2]->SetLineColor(kRed+1);
  hZPATow[2]->SetFillColor(kRed+1);
  hZPATow[2]->Draw("");
  c32->cd(9);
  gPad->SetLogy(1);
  hZPATow[3]->SetLineColor(kRed+1);
  hZPATow[3]->SetFillColor(kRed+1);
  hZPATow[3]->Draw("");
  c32->cd(10);
  gPad->SetLogy(1);
  hZPATow[4]->SetLineColor(kRed+1);
  hZPATow[4]->SetFillColor(kRed+1);
  hZPATow[4]->Draw("");
  
  //-------------------------------------------------
  TCanvas *c4 = new TCanvas("c4","TDCs",400,0,700,500);
  c4->Divide(3,2);
  c4->cd(1);
  hTDC[1]->SetFillColor(kPink); hTDC[1]->SetLineColor(kPink);
  hTDC[1]->Draw("");
  c4->cd(2);
  hTDC[3]->SetFillColor(kPink+4); hTDC[3]->SetLineColor(kPink+4);
  hTDC[3]->Draw("");
  c4->cd(3);
  hTDC[5]->SetFillColor(kGreen); hTDC[5]->SetLineColor(kGreen);
  hTDC[5]->Draw("");
  c4->cd(4);
  hTDC[7]->SetFillColor(kGreen+2); hTDC[7]->SetLineColor(kGreen+2);
  hTDC[7]->Draw("");
  c4->cd(5);
  hTDC[8]->SetFillColor(kAzure); hTDC[8]->SetLineColor(kAzure);
  hTDC[8]->Draw("");
  c4->cd(6);
  hTDC[9]->SetFillColor(kAzure+5); hTDC[9]->SetLineColor(kAzure+5);
  hTDC[9]->Draw("");
 }

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