ROOT logo
// Script to create calibration parameters and store them into CDB
// Thre sets of calibration parameters can be created:
// 1) equal parameters
// 2) randomly distributed parameters for decalibrated detector silumations
// 3) gausian  distributed parameters for decalibrated detector silumations
// 
// Modified from PHOS script for EMCAL by Gustavo Conesa
// May 3, 2007: Modified by Aleksei Pavlinov

//.x $ALICE_ROOT/EMCAL/macros/CalibrationDB/AliEMCALSetCDB.C

#if !defined(__CINT__)
#include <TControlBar.h>
#include <TString.h>
#include <TRandom.h>
#include <TStyle.h>
#include <TH2.h>
#include <TF1.h>
#include <TCanvas.h>

#include "AliRun.h"
#include "AliEMCALCalibData.h"
#include "AliEMCALGeoParams.h"
#include "AliCDBMetaData.h"
#include "AliCDBId.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#endif


void AliEMCALSetCDB()
{
  TControlBar *menu = new TControlBar("vertical","EMCAL CDB");
  menu->AddButton("Help to run EMCAL CDB","Help()",
		  "Explains how to use EMCAL CDS menus");
  menu->AddButton("Equal CC","SetCC(0)",
		  "Set equal calibration coefficients");
  menu->AddButton("Random De-calibration","SetCC(1)",
		  "Set random decalibration calibration coefficients");
  menu->AddButton("Gaussian De-calibration","SetCC(2)",
		  "Set gausian decalibration calibration coefficients");
  menu->AddButton("Read equal CC","GetCC(0)",
		  "Read initial equal calibration coefficients");
  menu->AddButton("Read random CC","GetCC(1)",
		  "Read random decalibration calibration coefficients");
  menu->AddButton("Read gaussian CC","GetCC(2)",
		  "Read gausian decalibration calibration coefficients");
  menu->Show();
}

//------------------------------------------------------------------------
void Help()
{
  char *string =
    "\nSet calibration parameters and write them into ALICE CDB. Press button \"Equal CC\" to create equal pedestals and gain factors. Press button \"Decalibrate\" to create random pedestals and gain factors to imitate decalibrated detector\n";
  printf(string);
}

//------------------------------------------------------------------------
void SetCC(Int_t flag=0)
{
  // Writing calibration coefficients into the Calibration DB
  // Arguments:
  //   flag=0: all calibration coefficients are equal
  //   flag=1: all calibration coefficients random (decalibration)
  //   flag=2: all calibration coefficients have Gaussian random distribution (decalibration)
  // Author: Boris Polishchuk (Boris.Polichtchouk at cern.ch)
  
  TString DBFolder;
  Int_t firstRun   =  0; // What is this
  Int_t lastRun    = 10;
  Int_t beamPeriod =  1;
  char* objFormat  = "";
  
  if      (flag == 0)
  {
    DBFolder  ="local://InitCalibDB";
    firstRun  =  0;
    lastRun   =  AliCDBRunRange::Infinity();
    objFormat = "EMCAL initial gain factors and pedestals";
  }
  else if (flag == 1)
  {
    DBFolder  ="local://DeCalibDB";
    firstRun  =  0;
    lastRun   = AliCDBRunRange::Infinity();
    objFormat = "EMCAL random pedestals and ADC gain factors (12x48x24)";
  }
  else if (flag == 2)
  {
    DBFolder  ="local://DeCalibDB"; // create directory DeCalibDB in current directory
    firstRun  =  0;
    lastRun   = AliCDBRunRange::Infinity();
    objFormat = "EMCAL random pedestals and gausian ADC gain factors (12x48x24)";
  }
  
  AliEMCALCalibData *calibda=new AliEMCALCalibData("EMCAL");
  
  Float_t fADCpedestal = 0.000;
  Float_t fADCchannel  = 0.0162;  // 250 GeV / (16*1024)
  Float_t rDecalibration  = 0.02 * fADCchannel; // 2% decalibration - just a guess
  Float_t cc=0, ped;
  
  TRandom rn;
  Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules;
  
  for(Int_t supermodule=0; supermodule < nSMod; supermodule++)
  {
    Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;
    Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;
    
    // Set all the channels even the known to not exist in 1/3 sm and DCAL
    for(Int_t column=0; column< nCol; column++)
    {
      for(Int_t row=0; row< nRow; row++)
      {
        cc  = fADCchannel;
        ped = fADCpedestal;
        if (flag == 1)
        {
          // Decalibration:
          // Spread calibration coefficients uniformly with
          // Cmax/Cmin = 5, (Cmax-Cmin)/2 = 0.0015
          // and pedestals 0.005 +-10%
          //	  fADCchannel  = rn.Uniform(0.00075,0.00375);
          cc  = rn.Uniform(0.00140,0.00160);
          ped = 0;
        }
        else if (flag == 2)
        { // Gaussian
          cc  = rn.Gaus(fADCchannel, rDecalibration);
          ped = rn.Uniform(0.0045,0.0055);
        }
        
        calibda->SetADCchannel      (supermodule,column,row, cc);
        calibda->SetADCchannelOnline(supermodule,column,row, cc);
        calibda->SetADCpedestal     (supermodule,column,row, ped);
        cout<<"Set SM: "<<supermodule<<" col "<<column<<" row "<<row
        <<" cc "<< cc <<" ped "<<ped<<endl;
      }
    }
  }
  
  //Store calibration data into database
  
  AliCDBMetaData md;
  md.SetComment(objFormat);
  md.SetBeamPeriod(beamPeriod);
  md.SetResponsible("Gustavo Conesa");
  
  AliCDBId id("EMCAL/Calib/Data",firstRun,lastRun); // create in EMCAL/Calib/Data DBFolder
  
  AliCDBManager* man = AliCDBManager::Instance();
  AliCDBStorage* loc = man->GetStorage(DBFolder.Data());
  loc->Put(calibda, id, &md);
  
}

//------------------------------------------------------------------------
void GetCC(Int_t flag=0)
{
  // Read calibration coefficients into the Calibration DB
  // Arguments:
  //   flag=0: all calibration coefficients are equal
  //   flag=1: all calibration coefficients random (decalibration)
  // Author: Yuri.Kharlov at cern.ch
  
  TString DBFolder;
  int drawKey=2;
  
  if      (flag == 0)
  {
    DBFolder  ="local://InitCalibDB";
  }
  else if (flag == 1 || flag == 2)
  {
    //    DBFolder  ="local://DeCalibDB"; // Get DB in current folder
    DBFolder  ="local:///data/r22b/ALICE/PROD/CALIBRATION_May_2007/PI0/DeCalibDB"; // absolute name - Aug 31, 2007
    TString HOST(gSystem->Getenv("HOST"));
    if(HOST.Contains("pc")) { // pdsf; May 31, 2007
      DBFolder  ="local:///eliza5/alice/pavlinov/PROD/CALIBRATION_May_2007/PI0/10GEV/DECALIB/DeCalibDB";
    }
  }
  
  const Int_t runNumber = 0;
  AliEMCALCalibData* clb  = (AliEMCALCalibData*)
  (AliCDBManager::Instance()
   ->GetStorage(DBFolder.Data())
   ->Get("EMCAL/Calib/Data",runNumber)->GetObject());
  
  const Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules;
  Int_t nCC   = 0;
  
  TH2F *hPed[nSMod], *hGain[nSMod], *hGainOnline[nSMod];
  TH1F *hCCSum    = new TH1F("hCCSum"," CC summary (in MeV) ", 200, 0.0, 20.);
  TH1F *hCCOnSum  = new TH1F("hCCSumOn"," CC online summary (in MeV) ", 200, 0.0, 20.);
  TH1F *hPedSum   = new TH1F("hPedSum"," pedestal summary (in MeV) ", 100, 4., 6.);
  
  TCanvas *cPed =0, *cGain =0, *cGainOn =0,
  TCanvas *cPed2=0, *cGain2=0, *cGainOn2=0;
  TCanvas *cPed3=0, *cGain3=0, *cGainOn3=0;
  TCanvas *cPed4=0, *cGain4=0, *cGainOn4=0;
  
  if(drawKey>1)
  {
    cPed     = new TCanvas("cPed" ,"Pedestals Mod 0-5"   , 10,10,400,800);
    cGain    = new TCanvas("cGain","Gain factors Mod 0-5", 410,10,400,800);
    cGainOn  = new TCanvas("cGainOn","Gain online factors Mod 0-5", 410,10,400,800);
    cPed    ->Divide(2,3);
    cGain   ->Divide(2,3);
    cGainOn ->Divide(2,3);
    
    cPed2    = new TCanvas("cPed2","Pedestals SMod 6-11", 10,10,400,800);
    cGain2   = new TCanvas("cGain2","Gain factors SMod 6-11", 410,10,400,800);
    cGainOn2 = new TCanvas("cGainOn2","Gain online factors SMod 6-11", 410,10,400,800);
    cPed2   ->Divide(2,3);
    cGain2  ->Divide(2,3);
    cGainOn2->Divide(2,3);
    
    cPed3    = new TCanvas("cPed3","Pedestals SMod 12-17", 10,10,400,800);
    cGain3   = new TCanvas("cGain3","Gain factors SMod 12-17", 410,10,400,800);
    cGainOn3 = new TCanvas("cGainOn3","Gain online factors SMod 7-17", 410,10,400,800);
    cPed3   ->Divide(2,3);
    cGain3  ->Divide(2,3);
    cGainOn3->Divide(2,3);
    
    cPed4    = new TCanvas("cPed4","Pedestals SMod 18-21", 10,10,400,400);
    cGain4   = new TCanvas("cGain4","Gain factors SMod 18-21", 410,10,400,800);
    cGainOn4 = new TCanvas("cGainOn4","Gain online factors SMod 18-21", 410,10,400,400);
    cPed4   ->Divide(2,2);
    cGain4  ->Divide(2,2);
    cGainOn4->Divide(2,2);

  }
  
  TCanvas *cSum   = new TCanvas("cSum" ,"summary"   , 10,10,600,800);
  cSum->Divide(1,2);
  
  cout<<endl;
  
  for (Int_t supermodule=0; supermodule<nSMod; supermodule++)
  {
    Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;
    Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;
    
//    if(supermodule /2 == 5)
//    nRow = nRow/2;
//    if(supermodule > 11)
//    nCol  = nCol*2/3;
    
    TString namePed="hPed";
    namePed+=supermodule;
    TString titlePed="Pedestals in supermodule ";
    titlePed+=supermodule;
    hPed[supermodule] = new TH2F(namePed.Data(),titlePed.Data(),
                                 nCol,1.,1.*nCol,nRow,1.,1.*nRow);
    
    TString nameGain="hGain";
    TString nameGainOnline="hGainOnline";
    nameGain+=supermodule;
    nameGainOnline+=supermodule;
    TString titleGain="Gain factors in supermodule ";
    titleGain+=supermodule;
    TString titleGainOnline="Gain online factors in supermodule ";
    titleGainOnline+=supermodule;
    hGain      [supermodule] = new TH2F(nameGain.Data(),titleGain.Data(),
                                        nCol,1.,1.*nCol,nRow,1.,1.*nRow);
    hGainOnline[supermodule] = new TH2F(nameGainOnline.Data(),titleGainOnline.Data(),
                                        nCol,1.,1.*nCol,nRow,1.,1.*nRow);
    for (Int_t column=0; column<nCol; column++)
    {
      for (Int_t row=0; row<nRow; row++)
      {
        Float_t ped    = clb->GetADCpedestal     (supermodule,column,row);
        Float_t gainOn = clb->GetADCchannelOnline(supermodule,column,row);
        Float_t gain   = clb->GetADCchannel      (supermodule,column,row);
        //cout<<"Get SM: "<<supermodule<<" col "<<column<<" row "<<row
        //<<" chan "<<gain<<endl;
        hPed       [supermodule]->SetBinContent(column+1,row+1,ped*1.e+3);  // in mev
        hGain      [supermodule]->SetBinContent(column+1,row+1,gain*1.e+3); // in mev
        hGainOnline[supermodule]->SetBinContent(column+1,row+1,gain*1.e+3); // in mev
        
        hPedSum ->Fill(ped   *1.e+3);
        hCCSum  ->Fill(gain  *1.e+3);
        hCCOnSum->Fill(gainOn*1.e+3);
        
        nCC++;
      }
    }
    cout<<" Fill cc for SM "<< supermodule << " nCC "<< nCC << endl;
    
    if(drawKey>1)
    {
      if(supermodule < 6)
      {
        cPed ->cd(supermodule+1);
        hPed[supermodule]->Draw("lego2");
        cGain->cd(supermodule+1);
        hGain[supermodule]->Draw("lego2");
        cGainOn->cd(supermodule+1);
        hGainOnline[supermodule]->Draw("lego2");
      }
      else if(supermodule < 12)
      {
        cPed2 ->cd(supermodule-5);
        hPed[supermodule]->Draw("lego2");
        cGain2->cd(supermodule-5);
        hGain[supermodule]->Draw("lego2");
        cGainOn2->cd(supermodule-5);
        hGainOnline[supermodule]->Draw("lego2");
      }
      else if(supermodule < 18)
      {
        cPed3 ->cd(supermodule-11);
        hPed[supermodule]->Draw("lego2");
        cGain3->cd(supermodule-11);
        hGain[supermodule]->Draw("lego2");
        cGainOn3->cd(supermodule-11);
        hGainOnline[supermodule]->Draw("lego2");
      }
      else
      {
        cPed4 ->cd(supermodule-17);
        hPed[supermodule]->Draw("lego2");
        cGain4->cd(supermodule-17);
        hGain[supermodule]->Draw("lego2");
        cGainOn4->cd(supermodule-17);
        hGainOnline[supermodule]->Draw("lego2");
      }
    }
  }
  cout << " Get "<<nCC<<" calibration coeffs"<<endl;
  
  cSum->cd(1);
  gStyle->SetOptFit(111);
  hCCSum->Fit("gaus");
  hCCSum->SetLineWidth(2);
  hCCSum->GetFunction("gaus")->SetLineColor(2);
  
  cSum->cd(2);
  hPedSum->Draw();
  hPedSum->SetLineWidth(2);
  
  cSum->Update();
  
  if(drawKey>1)
  {
   cPed   ->Print("pedestals_SM_0_6.eps");
   cGain  ->Print("gains_SM_0_5.eps");
   cPed2  ->Print("pedestals_SM_6_11.eps");
   cGain2 ->Print("gains_SM_6_11.eps");
  }
  
}
 AliEMCALSetCDB.C:1
 AliEMCALSetCDB.C:2
 AliEMCALSetCDB.C:3
 AliEMCALSetCDB.C:4
 AliEMCALSetCDB.C:5
 AliEMCALSetCDB.C:6
 AliEMCALSetCDB.C:7
 AliEMCALSetCDB.C:8
 AliEMCALSetCDB.C:9
 AliEMCALSetCDB.C:10
 AliEMCALSetCDB.C:11
 AliEMCALSetCDB.C:12
 AliEMCALSetCDB.C:13
 AliEMCALSetCDB.C:14
 AliEMCALSetCDB.C:15
 AliEMCALSetCDB.C:16
 AliEMCALSetCDB.C:17
 AliEMCALSetCDB.C:18
 AliEMCALSetCDB.C:19
 AliEMCALSetCDB.C:20
 AliEMCALSetCDB.C:21
 AliEMCALSetCDB.C:22
 AliEMCALSetCDB.C:23
 AliEMCALSetCDB.C:24
 AliEMCALSetCDB.C:25
 AliEMCALSetCDB.C:26
 AliEMCALSetCDB.C:27
 AliEMCALSetCDB.C:28
 AliEMCALSetCDB.C:29
 AliEMCALSetCDB.C:30
 AliEMCALSetCDB.C:31
 AliEMCALSetCDB.C:32
 AliEMCALSetCDB.C:33
 AliEMCALSetCDB.C:34
 AliEMCALSetCDB.C:35
 AliEMCALSetCDB.C:36
 AliEMCALSetCDB.C:37
 AliEMCALSetCDB.C:38
 AliEMCALSetCDB.C:39
 AliEMCALSetCDB.C:40
 AliEMCALSetCDB.C:41
 AliEMCALSetCDB.C:42
 AliEMCALSetCDB.C:43
 AliEMCALSetCDB.C:44
 AliEMCALSetCDB.C:45
 AliEMCALSetCDB.C:46
 AliEMCALSetCDB.C:47
 AliEMCALSetCDB.C:48
 AliEMCALSetCDB.C:49
 AliEMCALSetCDB.C:50
 AliEMCALSetCDB.C:51
 AliEMCALSetCDB.C:52
 AliEMCALSetCDB.C:53
 AliEMCALSetCDB.C:54
 AliEMCALSetCDB.C:55
 AliEMCALSetCDB.C:56
 AliEMCALSetCDB.C:57
 AliEMCALSetCDB.C:58
 AliEMCALSetCDB.C:59
 AliEMCALSetCDB.C:60
 AliEMCALSetCDB.C:61
 AliEMCALSetCDB.C:62
 AliEMCALSetCDB.C:63
 AliEMCALSetCDB.C:64
 AliEMCALSetCDB.C:65
 AliEMCALSetCDB.C:66
 AliEMCALSetCDB.C:67
 AliEMCALSetCDB.C:68
 AliEMCALSetCDB.C:69
 AliEMCALSetCDB.C:70
 AliEMCALSetCDB.C:71
 AliEMCALSetCDB.C:72
 AliEMCALSetCDB.C:73
 AliEMCALSetCDB.C:74
 AliEMCALSetCDB.C:75
 AliEMCALSetCDB.C:76
 AliEMCALSetCDB.C:77
 AliEMCALSetCDB.C:78
 AliEMCALSetCDB.C:79
 AliEMCALSetCDB.C:80
 AliEMCALSetCDB.C:81
 AliEMCALSetCDB.C:82
 AliEMCALSetCDB.C:83
 AliEMCALSetCDB.C:84
 AliEMCALSetCDB.C:85
 AliEMCALSetCDB.C:86
 AliEMCALSetCDB.C:87
 AliEMCALSetCDB.C:88
 AliEMCALSetCDB.C:89
 AliEMCALSetCDB.C:90
 AliEMCALSetCDB.C:91
 AliEMCALSetCDB.C:92
 AliEMCALSetCDB.C:93
 AliEMCALSetCDB.C:94
 AliEMCALSetCDB.C:95
 AliEMCALSetCDB.C:96
 AliEMCALSetCDB.C:97
 AliEMCALSetCDB.C:98
 AliEMCALSetCDB.C:99
 AliEMCALSetCDB.C:100
 AliEMCALSetCDB.C:101
 AliEMCALSetCDB.C:102
 AliEMCALSetCDB.C:103
 AliEMCALSetCDB.C:104
 AliEMCALSetCDB.C:105
 AliEMCALSetCDB.C:106
 AliEMCALSetCDB.C:107
 AliEMCALSetCDB.C:108
 AliEMCALSetCDB.C:109
 AliEMCALSetCDB.C:110
 AliEMCALSetCDB.C:111
 AliEMCALSetCDB.C:112
 AliEMCALSetCDB.C:113
 AliEMCALSetCDB.C:114
 AliEMCALSetCDB.C:115
 AliEMCALSetCDB.C:116
 AliEMCALSetCDB.C:117
 AliEMCALSetCDB.C:118
 AliEMCALSetCDB.C:119
 AliEMCALSetCDB.C:120
 AliEMCALSetCDB.C:121
 AliEMCALSetCDB.C:122
 AliEMCALSetCDB.C:123
 AliEMCALSetCDB.C:124
 AliEMCALSetCDB.C:125
 AliEMCALSetCDB.C:126
 AliEMCALSetCDB.C:127
 AliEMCALSetCDB.C:128
 AliEMCALSetCDB.C:129
 AliEMCALSetCDB.C:130
 AliEMCALSetCDB.C:131
 AliEMCALSetCDB.C:132
 AliEMCALSetCDB.C:133
 AliEMCALSetCDB.C:134
 AliEMCALSetCDB.C:135
 AliEMCALSetCDB.C:136
 AliEMCALSetCDB.C:137
 AliEMCALSetCDB.C:138
 AliEMCALSetCDB.C:139
 AliEMCALSetCDB.C:140
 AliEMCALSetCDB.C:141
 AliEMCALSetCDB.C:142
 AliEMCALSetCDB.C:143
 AliEMCALSetCDB.C:144
 AliEMCALSetCDB.C:145
 AliEMCALSetCDB.C:146
 AliEMCALSetCDB.C:147
 AliEMCALSetCDB.C:148
 AliEMCALSetCDB.C:149
 AliEMCALSetCDB.C:150
 AliEMCALSetCDB.C:151
 AliEMCALSetCDB.C:152
 AliEMCALSetCDB.C:153
 AliEMCALSetCDB.C:154
 AliEMCALSetCDB.C:155
 AliEMCALSetCDB.C:156
 AliEMCALSetCDB.C:157
 AliEMCALSetCDB.C:158
 AliEMCALSetCDB.C:159
 AliEMCALSetCDB.C:160
 AliEMCALSetCDB.C:161
 AliEMCALSetCDB.C:162
 AliEMCALSetCDB.C:163
 AliEMCALSetCDB.C:164
 AliEMCALSetCDB.C:165
 AliEMCALSetCDB.C:166
 AliEMCALSetCDB.C:167
 AliEMCALSetCDB.C:168
 AliEMCALSetCDB.C:169
 AliEMCALSetCDB.C:170
 AliEMCALSetCDB.C:171
 AliEMCALSetCDB.C:172
 AliEMCALSetCDB.C:173
 AliEMCALSetCDB.C:174
 AliEMCALSetCDB.C:175
 AliEMCALSetCDB.C:176
 AliEMCALSetCDB.C:177
 AliEMCALSetCDB.C:178
 AliEMCALSetCDB.C:179
 AliEMCALSetCDB.C:180
 AliEMCALSetCDB.C:181
 AliEMCALSetCDB.C:182
 AliEMCALSetCDB.C:183
 AliEMCALSetCDB.C:184
 AliEMCALSetCDB.C:185
 AliEMCALSetCDB.C:186
 AliEMCALSetCDB.C:187
 AliEMCALSetCDB.C:188
 AliEMCALSetCDB.C:189
 AliEMCALSetCDB.C:190
 AliEMCALSetCDB.C:191
 AliEMCALSetCDB.C:192
 AliEMCALSetCDB.C:193
 AliEMCALSetCDB.C:194
 AliEMCALSetCDB.C:195
 AliEMCALSetCDB.C:196
 AliEMCALSetCDB.C:197
 AliEMCALSetCDB.C:198
 AliEMCALSetCDB.C:199
 AliEMCALSetCDB.C:200
 AliEMCALSetCDB.C:201
 AliEMCALSetCDB.C:202
 AliEMCALSetCDB.C:203
 AliEMCALSetCDB.C:204
 AliEMCALSetCDB.C:205
 AliEMCALSetCDB.C:206
 AliEMCALSetCDB.C:207
 AliEMCALSetCDB.C:208
 AliEMCALSetCDB.C:209
 AliEMCALSetCDB.C:210
 AliEMCALSetCDB.C:211
 AliEMCALSetCDB.C:212
 AliEMCALSetCDB.C:213
 AliEMCALSetCDB.C:214
 AliEMCALSetCDB.C:215
 AliEMCALSetCDB.C:216
 AliEMCALSetCDB.C:217
 AliEMCALSetCDB.C:218
 AliEMCALSetCDB.C:219
 AliEMCALSetCDB.C:220
 AliEMCALSetCDB.C:221
 AliEMCALSetCDB.C:222
 AliEMCALSetCDB.C:223
 AliEMCALSetCDB.C:224
 AliEMCALSetCDB.C:225
 AliEMCALSetCDB.C:226
 AliEMCALSetCDB.C:227
 AliEMCALSetCDB.C:228
 AliEMCALSetCDB.C:229
 AliEMCALSetCDB.C:230
 AliEMCALSetCDB.C:231
 AliEMCALSetCDB.C:232
 AliEMCALSetCDB.C:233
 AliEMCALSetCDB.C:234
 AliEMCALSetCDB.C:235
 AliEMCALSetCDB.C:236
 AliEMCALSetCDB.C:237
 AliEMCALSetCDB.C:238
 AliEMCALSetCDB.C:239
 AliEMCALSetCDB.C:240
 AliEMCALSetCDB.C:241
 AliEMCALSetCDB.C:242
 AliEMCALSetCDB.C:243
 AliEMCALSetCDB.C:244
 AliEMCALSetCDB.C:245
 AliEMCALSetCDB.C:246
 AliEMCALSetCDB.C:247
 AliEMCALSetCDB.C:248
 AliEMCALSetCDB.C:249
 AliEMCALSetCDB.C:250
 AliEMCALSetCDB.C:251
 AliEMCALSetCDB.C:252
 AliEMCALSetCDB.C:253
 AliEMCALSetCDB.C:254
 AliEMCALSetCDB.C:255
 AliEMCALSetCDB.C:256
 AliEMCALSetCDB.C:257
 AliEMCALSetCDB.C:258
 AliEMCALSetCDB.C:259
 AliEMCALSetCDB.C:260
 AliEMCALSetCDB.C:261
 AliEMCALSetCDB.C:262
 AliEMCALSetCDB.C:263
 AliEMCALSetCDB.C:264
 AliEMCALSetCDB.C:265
 AliEMCALSetCDB.C:266
 AliEMCALSetCDB.C:267
 AliEMCALSetCDB.C:268
 AliEMCALSetCDB.C:269
 AliEMCALSetCDB.C:270
 AliEMCALSetCDB.C:271
 AliEMCALSetCDB.C:272
 AliEMCALSetCDB.C:273
 AliEMCALSetCDB.C:274
 AliEMCALSetCDB.C:275
 AliEMCALSetCDB.C:276
 AliEMCALSetCDB.C:277
 AliEMCALSetCDB.C:278
 AliEMCALSetCDB.C:279
 AliEMCALSetCDB.C:280
 AliEMCALSetCDB.C:281
 AliEMCALSetCDB.C:282
 AliEMCALSetCDB.C:283
 AliEMCALSetCDB.C:284
 AliEMCALSetCDB.C:285
 AliEMCALSetCDB.C:286
 AliEMCALSetCDB.C:287
 AliEMCALSetCDB.C:288
 AliEMCALSetCDB.C:289
 AliEMCALSetCDB.C:290
 AliEMCALSetCDB.C:291
 AliEMCALSetCDB.C:292
 AliEMCALSetCDB.C:293
 AliEMCALSetCDB.C:294
 AliEMCALSetCDB.C:295
 AliEMCALSetCDB.C:296
 AliEMCALSetCDB.C:297
 AliEMCALSetCDB.C:298
 AliEMCALSetCDB.C:299
 AliEMCALSetCDB.C:300
 AliEMCALSetCDB.C:301
 AliEMCALSetCDB.C:302
 AliEMCALSetCDB.C:303
 AliEMCALSetCDB.C:304
 AliEMCALSetCDB.C:305
 AliEMCALSetCDB.C:306
 AliEMCALSetCDB.C:307
 AliEMCALSetCDB.C:308
 AliEMCALSetCDB.C:309
 AliEMCALSetCDB.C:310
 AliEMCALSetCDB.C:311
 AliEMCALSetCDB.C:312
 AliEMCALSetCDB.C:313
 AliEMCALSetCDB.C:314
 AliEMCALSetCDB.C:315
 AliEMCALSetCDB.C:316
 AliEMCALSetCDB.C:317
 AliEMCALSetCDB.C:318
 AliEMCALSetCDB.C:319
 AliEMCALSetCDB.C:320
 AliEMCALSetCDB.C:321
 AliEMCALSetCDB.C:322
 AliEMCALSetCDB.C:323
 AliEMCALSetCDB.C:324
 AliEMCALSetCDB.C:325
 AliEMCALSetCDB.C:326
 AliEMCALSetCDB.C:327
 AliEMCALSetCDB.C:328
 AliEMCALSetCDB.C:329
 AliEMCALSetCDB.C:330
 AliEMCALSetCDB.C:331
 AliEMCALSetCDB.C:332
 AliEMCALSetCDB.C:333
 AliEMCALSetCDB.C:334
 AliEMCALSetCDB.C:335
 AliEMCALSetCDB.C:336
 AliEMCALSetCDB.C:337
 AliEMCALSetCDB.C:338
 AliEMCALSetCDB.C:339
 AliEMCALSetCDB.C:340
 AliEMCALSetCDB.C:341
 AliEMCALSetCDB.C:342
 AliEMCALSetCDB.C:343
 AliEMCALSetCDB.C:344
 AliEMCALSetCDB.C:345
 AliEMCALSetCDB.C:346
 AliEMCALSetCDB.C:347
 AliEMCALSetCDB.C:348
 AliEMCALSetCDB.C:349
 AliEMCALSetCDB.C:350
 AliEMCALSetCDB.C:351
 AliEMCALSetCDB.C:352
 AliEMCALSetCDB.C:353
 AliEMCALSetCDB.C:354
 AliEMCALSetCDB.C:355
 AliEMCALSetCDB.C:356