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$ */

//_________________________________________________________________________
///*-- Author: Yves Schutz (SUBATECH)
//           : Aleksei Pavlinov (WSU); Jun 30, 2006 - ALICE numbering scheme
//           : Add decalibration and time calibration arrays: Jul 21, 2011 (GCB)
//           : adapted for DCAL by M.L. Wang CCNU & Subatech Oct-18-2012
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// class for EMCAL calibration                                               //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TMath.h>

#include "AliEMCALCalibData.h"

ClassImp(AliEMCALCalibData)

//__________________________________________________________
AliEMCALCalibData::AliEMCALCalibData() : 
TNamed(), fADCchannelRef(0)
{
  // Default constructor
  Reset();
}

//________________________________________________________________________
AliEMCALCalibData::AliEMCALCalibData(const char* name) : 
TNamed(name,name),fADCchannelRef(0)
{
  // Constructor
  Reset();
}

//______________________________________________________________________
AliEMCALCalibData::AliEMCALCalibData(const AliEMCALCalibData& calibda) :
TNamed(calibda), fADCchannelRef(calibda.fADCchannelRef)
{
  // copy constructor
  SetName (calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  
  Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules;
  Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
  Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24
  
  for(Int_t supermodule = 0; supermodule < nSMod; supermodule++)
  {
    nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
    nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24
    
    //Init all SM equally, even the channels known to not exist.
    
    for(Int_t column = 0; column<nCol; column++)
    {
      for(Int_t row = 0; row<nRow; row++)
      {
        SetADCchannel      (supermodule,column,row, calibda.GetADCchannel      (supermodule,column,row));
        SetADCchannelOnline(supermodule,column,row, calibda.GetADCchannelOnline(supermodule,column,row));
        SetADCchannelDecal (supermodule,column,row, calibda.GetADCchannelDecal (supermodule,column,row));
        SetADCpedestal     (supermodule,column,row, calibda.GetADCpedestal     (supermodule,column,row));
        SetTimeChannelDecal(supermodule,column,row, calibda.GetTimeChannelDecal(supermodule,column,row));
        for(Int_t bc = 0; bc < 4; bc++)
          SetTimeChannel(supermodule,column,row,bc,calibda.GetTimeChannel(supermodule,column,row,bc));
      } // col
    } // row
  } // SM
}

//________________________________________________________________
AliEMCALCalibData &AliEMCALCalibData::operator =(const AliEMCALCalibData& calibda)
{
  // assignment operator
  SetName (calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  
  fADCchannelRef = calibda.GetADCchannelRef() ;
  
  Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules;
  Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
  Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24
  
  for(Int_t supermodule = 0; supermodule < nSMod; supermodule++)
  {
    nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
    nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24

    //Init all SM equally, even the channels known to not exist.
    
    for(Int_t column = 0; column<nCol; column++)
    {
      for(Int_t row = 0; row<nRow; row++)
      {
        SetADCchannel      (supermodule,column,row, calibda.GetADCchannel      (supermodule,column,row));
        SetADCchannelOnline(supermodule,column,row, calibda.GetADCchannelOnline(supermodule,column,row));
        SetADCchannelDecal (supermodule,column,row, calibda.GetADCchannelDecal (supermodule,column,row));
        SetADCpedestal     (supermodule,column,row, calibda.GetADCpedestal     (supermodule,column,row));
        SetTimeChannelDecal(supermodule,column,row, calibda.GetTimeChannelDecal(supermodule,column,row));
        for(Int_t bc = 0; bc < 4; bc++)
          SetTimeChannel(supermodule,column,row,bc,calibda.GetTimeChannel(supermodule,column,row,bc));
      } // col
    } // row
  } // col
  
  return *this;
}

//_____________________________
void AliEMCALCalibData::Reset()
{
  // Set all pedestals to 0 and all ADC channels widths to 1
  
  fADCchannelRef = 0.0162;	
  
  Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules; 
  Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
  Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24

   for (Int_t supermodule=0; supermodule<nSMod; supermodule++)
  {
   nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
   nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24
    
    //Init all SM equally, even the channels known to not exist.

    for (Int_t column=0; column < nCol; column++)
    {
      for (Int_t row = 0; row < nRow; row++)
      {
       
        SetADCchannel      (supermodule,column,row, fADCchannelRef);
        SetADCchannelOnline(supermodule,column,row, fADCchannelRef);
        SetADCchannelDecal (supermodule,column,row, 1);
        SetADCpedestal     (supermodule,column,row, 0);
        SetTimeChannelDecal(supermodule,column,row, 0);
        for(Int_t bc = 0; bc < 4; bc++)
          SetTimeChannel(supermodule,column,row, bc, 0);

      }
    }
  }	
}

//____________________________________________________
void  AliEMCALCalibData::Print(Option_t *option) const
{
  // Print tables of pedestals and ADC channels widths
  // options are: "gain", "ped", "online", "decal", "time", "timdecal", "all"
  
  Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules;
  Int_t nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
  Int_t nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24
  
  for (Int_t supermodule = 0; supermodule < nSMod; supermodule++)
  {
    nCol  = AliEMCALGeoParams::fgkEMCALCols;    //48
    nRow  = AliEMCALGeoParams::fgkEMCALRows;    //24

    //Init all SM equally, even the channels known to not exist.

    printf("============== Supermodule %d\n",supermodule+1);
    for (Int_t column = 0; column < nCol; column++)
    {
      for (Int_t row = 0; row < nRow; row++)
      {
        printf("[col %d,row %d] ",column, row);
        if (strstr(option,"gain") || strstr(option,"all"))
          printf("calib=%2.4f ",GetADCchannel(supermodule,column,row));
        
        if (strstr(option,"online") || strstr(option,"all"))
          printf("calib0=%2.4f ", GetADCchannelOnline(supermodule,column,row));
        
        if (strstr(option,"decal") || strstr(option,"all"))
          printf("calibDecal=%2.4f ",GetADCchannelDecal(supermodule,column,row));
        
        if (strstr(option,"ped") || strstr(option,"all"))
          printf("ped=%2.4f ", GetADCpedestal(supermodule,column,row));
        
        if (strstr(option,"time") || strstr(option,"all"))
          printf("time::bc0 =%2.4f, bc1=%2.4f, bc2=%2.4f, bc3=%2.4f ",
                 GetTimeChannel(supermodule,column,row,0), GetTimeChannel(supermodule,column,row,1), GetTimeChannel(supermodule,column,row,2), GetTimeChannel(supermodule,column,row,3));
        
        if (strstr(option,"timdecal") || strstr(option,"all"))
          printf("timeDecal=%2.4f ", GetTimeChannelDecal(supermodule,column,row));
        
         if (strstr(option,"all") || (row%4==3) ) printf("\n");
      }
    }
  }
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetADCchannel(Int_t supermodule, Int_t column, Int_t row) const
{
  // Set ADC channel witdth values
  // All indexes start from 0!
  // Supermodule, column,raw should follow the ALICE convention:
  // supermodule 0:11, column 0:47, row 0:23
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fADCchannel    [supermodule]   [column][row];
  else                 return fADCchannelDCAL[supermodule-12][column][row];
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetADCchannelOnline(Int_t supermodule, Int_t column, Int_t row) const
{
  // Set ADC channel witdth values, first online calibration parameter
  // All indexes start from 0!
  // Supermodule, column,raw should follow the ALICE convention:
  // supermodule 0:11, column 0:47, row 0:23
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fADCchannelOnline    [supermodule]   [column][row];
  else                 return fADCchannelOnlineDCAL[supermodule-12][column][row];
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetADCchannelDecal(Int_t supermodule, Int_t column, Int_t row) const
{
  // Set ADC channel decalibration witdth values
  // All indexes start from 0!
  // Supermodule, column,raw should follow the ALICE convention:
  // supermodule 0:11, column 0:47, row 0:23
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fADCchannelDecal    [supermodule]   [column][row];
  else                 return fADCchannelDecalDCAL[supermodule-12][column][row];
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetADCpedestal(Int_t supermodule, Int_t column, Int_t row) const
{
  // Get ADC pedestal values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fADCpedestal    [supermodule]   [column][row];
  else                 return fADCpedestalDCAL[supermodule-12][column][row];
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetTimeChannel(Int_t supermodule, Int_t column, Int_t row, Int_t bc) const
{
  // Set channel time values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fTimeChannel    [supermodule]   [column][row][bc];
  else                 return fTimeChannelDCAL[supermodule-12][column][row][bc];
}

//________________________________________________________________
Float_t AliEMCALCalibData::GetTimeChannelDecal(Int_t supermodule, Int_t column, Int_t row) const
{
  // Set channel time decalibrated values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) return fTimeChannelDecal    [supermodule]   [column][row];
  else                 return fTimeChannelDecalDCAL[supermodule-12][column][row];
}

//________________________________________________________________
void AliEMCALCalibData::SetADCchannel(Int_t supermodule, Int_t column, Int_t row, Float_t value)
{ 
  // Set ADC channel width values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fADCchannel    [supermodule]   [column][row] = value;
  else                 fADCchannelDCAL[supermodule-12][column][row] = value;
}

//________________________________________________________________
void AliEMCALCalibData::SetADCchannelOnline(Int_t supermodule, Int_t column, Int_t row, Float_t value)
{
  // Set ADC channel online width values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fADCchannelOnline    [supermodule]   [column][row] = value;
  else                 fADCchannelOnlineDCAL[supermodule-12][column][row] = value;
}

//________________________________________________________________
void AliEMCALCalibData::SetADCchannelDecal(Int_t supermodule, Int_t column, Int_t row, Float_t value)
{ 
  // Set ADC channel width values, decalibration
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fADCchannelDecal    [supermodule]   [column][row] = value;
  else                 fADCchannelDecalDCAL[supermodule-12][column][row] = value;
}

//________________________________________________________________
void AliEMCALCalibData::SetADCpedestal(Int_t supermodule, Int_t column, Int_t row, Float_t value)
{
  // Set ADC pedestal values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fADCpedestal    [supermodule]   [column][row] = value;
  else                 fADCpedestalDCAL[supermodule-12][column][row] = value;
}

//________________________________________________________________
void AliEMCALCalibData::SetTimeChannel(Int_t supermodule, Int_t column, Int_t row, Int_t bc, Float_t value)
{
  // Set time per channel and bunch crossing values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fTimeChannel    [supermodule]   [column][row][bc] = value;
  else                 fTimeChannelDCAL[supermodule-12][column][row][bc] = value;
}

//________________________________________________________________
void AliEMCALCalibData::SetTimeChannelDecal(Int_t supermodule, Int_t column, Int_t row, Float_t value)
{
  // Set decalibrated time per channel values
  // DCal has its own array, starting from SM 12, index 0, same col-row size
  
  if(supermodule < 12) fTimeChannelDecal    [supermodule]   [column][row] = value;
  else                 fTimeChannelDecalDCAL[supermodule-12][column][row] = value;
}



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