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

////////////////////////////////////////////////////////////////////////////
//                                                                        //
// Example: fill pedestal with Gaussian noise                             //
//                                                                        //
//  AliTRDCalibPadStatus ped;                                             //
//  ped.TestEvent(numberofevent);                                         //
//                                                                        //
//  // Method without histo                                               //
//  ped.Analyse();                                                        //
//                                                                        //
//  // Create the histo of the AliTRDCalROC                               //
//  TH2F * histo2dm = ped.GetCalRocMean(0,kFALSE)->MakeHisto2D();         //
//  histo2dm->Scale(10.0);                                                //
//  TH1F * histo1dm = ped.GetCalRocMean(0,kFALSE)->MakeHisto1D();         //
//  histo1dm->Scale(10.0);                                                //
//  TH2F * histo2ds = ped.GetCalRocSquares(0,kFALSE)->MakeHisto2D();      //
//  histo2ds->Scale(10.0);                                                //
//  TH1F * histo1ds = ped.GetCalRocSquares(0,kFALSE)->MakeHisto1D();      //
//  histo1ds->Scale(10.0)                                                 //
//                                                                        //
//  // Draw output                                                        //
//  TCanvas* c1 = new TCanvas;                                            //
//  c1->Divide(2,2);                                                      //
//  c1->cd(1);                                                            //
//  histo2dm->Draw("colz");                                               //
//  c1->cd(2);                                                            //
//  histo1dm->Draw();                                                     //
//  c1->cd(3);                                                            //
//  histo2ds->Draw("colz");                                               //
//  c1->cd(4);                                                            //
//  histo1ds->Draw();                                                     //
//                                                                        //
//  // Method with histo                                                  //
//  ped.AnalyseHisto();                                                   //
//                                                                        //
//  // Take the histo                                                     //
//  TH1F *histo = ped.GetHisto(31);                                       //
//  histo->SetEntries(1);                                                 //
//  histo->Draw();                                                        //
//
// Authors:
//   R. Bailhache (R.Bailhache@gsi.de, rbailhache@ikf.uni-frankfurt.de)
//   J. Book (jbook@ikf.uni-frankfurt.de)
//                                                                                                    //
////////////////////////////////////////////////////////////////////////////


//Root includes
#include <TObjArray.h>
#include <TH2F.h>
#include <TString.h>
#include <TMath.h>
#include <TRandom.h>

//#include <TRandom.h>
#include <TDirectory.h>
#include <TFile.h>

//AliRoot includes
#include <AliMathBase.h>
#include "AliRawReader.h"
#include "AliRawReaderRoot.h"
#include "AliRawReaderDate.h"

//header file
#include "AliLog.h"
#include "AliTRDCalibPadStatus.h"
#include "AliTRDgeometry.h"
#include "AliTRDCommonParam.h"
#include "./Cal/AliTRDCalROC.h"
#include "./Cal/AliTRDCalPadStatus.h"
#include "./Cal/AliTRDCalDet.h"
#include "./Cal/AliTRDCalPad.h"
#include "./Cal/AliTRDCalSingleChamberStatus.h"

#include "AliTRDdigitsManager.h"
#include "AliTRDdigitsParam.h"
#include "AliTRDSignalIndex.h"
#include "AliTRDarraySignal.h"
#include "AliTRDarrayADC.h"
#include "AliTRDfeeParam.h"

#include "AliTRDrawStream.h"

#ifdef ALI_DATE
#include "event.h"
#endif

ClassImp(AliTRDCalibPadStatus) /*FOLD00*/

//_____________________________________________________________________
AliTRDCalibPadStatus::AliTRDCalibPadStatus() : /*FOLD00*/
  TObject(),
  fGeo(0),
  fAdcMin(0),
  fAdcMax(21),
  fDetector(-1),
  fNumberOfTimeBins(0),
  fCalRocArrayMean(540),
  fCalRocArrayRMS(540),
  fCalRocArrayMeand(540),
  fCalRocArrayRMSd(540),
  fHistoArray(540)
{
    //
    // default constructor
    //

  fGeo = new AliTRDgeometry();

}

//_____________________________________________________________________
AliTRDCalibPadStatus::AliTRDCalibPadStatus(const AliTRDCalibPadStatus &ped) : /*FOLD00*/
  TObject(ped),
  fGeo(0),
  fAdcMin(ped.GetAdcMin()),
  fAdcMax(ped.GetAdcMax()),
  fDetector(ped.fDetector),
  fNumberOfTimeBins(ped.fNumberOfTimeBins),
  fCalRocArrayMean(540),
  fCalRocArrayRMS(540),
  fCalRocArrayMeand(540),
  fCalRocArrayRMSd(540),
  fHistoArray(540)
{
    //
    // copy constructor
    //
    for (Int_t idet = 0; idet < 540; idet++){
	const AliTRDCalROC *calRocMean  = (AliTRDCalROC*)ped.fCalRocArrayMean.UncheckedAt(idet);
	const AliTRDCalROC *calRocRMS   = (AliTRDCalROC*)ped.fCalRocArrayRMS.UncheckedAt(idet);
	const AliTRDCalROC *calRocMeand = (AliTRDCalROC*)ped.fCalRocArrayMeand.UncheckedAt(idet);
	const AliTRDCalROC *calRocRMSd  = (AliTRDCalROC*)ped.fCalRocArrayRMSd.UncheckedAt(idet);
	const TH2F         *hped        = (TH2F*)ped.fHistoArray.UncheckedAt(idet);
    
	if ( calRocMean != 0x0 ) fCalRocArrayMean.AddAt(new AliTRDCalROC(*calRocMean), idet);
	if ( calRocRMS != 0x0 )  fCalRocArrayRMS.AddAt(new AliTRDCalROC(*calRocRMS), idet);

	if ( calRocMeand != 0x0 ) fCalRocArrayMeand.AddAt(new AliTRDCalROC(*calRocMeand), idet);
	if ( calRocRMSd != 0x0 )  fCalRocArrayRMSd.AddAt(new AliTRDCalROC(*calRocRMSd), idet);

	if ( hped != 0x0 ){
	  TH2F *hNew = new TH2F(*hped);
	  hNew->SetDirectory(0);
	  fHistoArray.AddAt(hNew,idet);
	}
	
    }
    if (fGeo) {
      delete fGeo;
    }
    fGeo = new AliTRDgeometry();
}

//_____________________________________________________________________
AliTRDCalibPadStatus& AliTRDCalibPadStatus::operator = (const  AliTRDCalibPadStatus &source)
{
  //
  // assignment operator
  //
  if (&source == this) return *this;
  new (this) AliTRDCalibPadStatus(source);

  return *this;
}
//_____________________________________________________________________
AliTRDCalibPadStatus::~AliTRDCalibPadStatus() /*FOLD00*/
{
  //
  // destructor
  //
  fCalRocArrayMean.Delete();
  fCalRocArrayRMS.Delete();
  fCalRocArrayMeand.Delete();
  fCalRocArrayRMSd.Delete();
  fHistoArray.Delete();
  if (fGeo) {
    delete fGeo;
  }
}
//_____________________________________________________________________
void AliTRDCalibPadStatus::Destroy()
{
  //
  // Destroy
  //
  fCalRocArrayMean.Delete();
  fCalRocArrayRMS.Delete();
  fCalRocArrayMeand.Delete();
  fCalRocArrayRMSd.Delete();
  fHistoArray.Delete();
}
//_____________________________________________________________________
Int_t AliTRDCalibPadStatus::UpdateHisto(const Int_t icdet, /*FOLD00*/
					 const Int_t icRow,
					 const Int_t icCol,
					 const Int_t csignal,
					 const Int_t crowMax,
					 const Int_t ccold,
					 const Int_t icMcm,
					 const Int_t icRob
					 )
{
  //
  // Signal filling methode 
  //
  Int_t nbchannel = icRow+icCol*crowMax;
  Int_t mCm = icMcm%4;
  Int_t rOb = icRob%2;

  // now the case of double read channel
  if(ccold > 0){
    nbchannel = (((ccold-1)*8+ (mCm+rOb*4))*crowMax+icRow)+144*crowMax;
    //printf("nbchannel %d, ccold %d, icMcm %d, crowMax %d, icRow %d\n",nbchannel,ccold,icMcm,crowMax,icRow);
  }
  
  // fast filling methode.
  // Attention: the entry counter of the histogram is not increased
  //            this means that e.g. the colz draw option gives an empty plot
  
  Int_t bin = 0;
  
  if ( !(((Int_t)csignal>=fAdcMax ) || ((Int_t)csignal<fAdcMin)) )
    bin = (nbchannel+1)*(fAdcMax-fAdcMin+2)+((Int_t)csignal-fAdcMin+1);

  //GetHisto(icdet,kTRUE)->Fill(csignal,nbchannel);

  GetHisto(icdet,kTRUE)->GetArray()[bin]++;
  
  return 0;
}
//_____________________________________________________________________
Int_t AliTRDCalibPadStatus::ProcessEvent(AliRawReader *rawReader)
{
  //
  // RawReader = AliTRDrawStream (Jochen Klein) 
  //
  // Event Processing loop - AliTRDRawStreamCosmic
  // 0 time bin problem or zero suppression
  // 1 no input
  // 2 input
  // Raw version number: 
  // [3,31] non zero suppressed
  // 2,4 and [32,63] zero suppressed 
  //
  
 

  Int_t withInput = 1;

  AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager(kTRUE);
  digitsManager->CreateArrays();

  AliTRDrawStream *rawStream = new AliTRDrawStream(rawReader);
  rawStream->SetDigitsManager(digitsManager);
  //rawStream->SetNoErrorWarning();
  //rawStream->SetSharedPadReadout(kTRUE);
  
  AliTRDfeeParam *feeParam = AliTRDfeeParam::Instance();

  Int_t det    = 0;
  while ((det = rawStream->NextChamber(digitsManager, NULL, NULL)) >= 0) { //idetector
    if (digitsManager->GetIndexes(det)->HasEntry()) {//QA
      //      printf("there is ADC data on this chamber!\n");
      
       AliTRDarrayADC *digits = (AliTRDarrayADC *) digitsManager->GetDigits(det); //mod
      if (digits->HasData()) { //array
	
	AliTRDSignalIndex   *indexes = digitsManager->GetIndexes(det);
	if (indexes->IsAllocated() == kFALSE) {
	  AliError("Indexes do not exist!");
	  break;
	}
	Int_t iRow  = 0;
	Int_t iCol  = 0;
	indexes->ResetCounters();
	
	while (indexes->NextRCIndex(iRow, iCol)) { //column,row
	
	  AliTRDdigitsParam *digitParam = (AliTRDdigitsParam *)digitsManager->GetDigitsParam();
	  
	  Int_t mcm          = 0;     // MCM from AliTRDfeeParam
	  Int_t rob          = 0;     // ROB from AliTRDfeeParam
	  Int_t extCol       = 0;     // extended column from AliTRDfeeParam  
	  mcm = feeParam->GetMCMfromPad(iRow,iCol);
	  rob = feeParam->GetROBfromPad(iRow,iCol);
	  
	  Int_t idetector  = det;                            //  current detector
	  Int_t iRowMax    = 16;                              //  current rowmax
	  if(GetStack(det) == 2) iRowMax = 12;
	  	  
	  Int_t adc        = 20 - (iCol%18) -1;                 //  current adc
	  Int_t col        = 0;                              //  col!=0 ->Shared Pad
	  extCol = feeParam->GetExtendedPadColFromADC(rob,mcm,adc);
	  //printf("  iCol %d  iRow %d  iRowMax %d  rob %d  mcm %d  adc %d  extCol %d\n",iCol,iRow,iRowMax,rob,mcm,adc,extCol);	  
	  
	  // Signal for regular pads
	  Int_t nbtimebin  = digitParam->GetNTimeBins(idetector);  //  number of time bins read from data	  
	  for(Int_t k = 0; k < nbtimebin; k++){
	    Short_t signal = 0;
	    signal = digits->GetData(iRow,iCol,k);

	    if(signal>0) {
	      UpdateHisto(idetector,iRow,iCol,signal,iRowMax,col,mcm,rob);
	    }
	  }
	  
	  
	  
	  if((adc==3-1 || adc==20-1 || adc==19-1) && (iCol > 1 && iCol <142)  ) { //SHARED PADS
	    
	    switch(adc) {
	    case 2:  
	      adc = 20;                                       //shared Pad adc 
	      mcm = feeParam->GetMCMfromSharedPad(iRow,iCol); //shared Pad mcm 
	      col =  1;
	      break;
	    case 19:  
	      adc = 1;                                        //shared Pad adc  
	      mcm = feeParam->GetMCMfromSharedPad(iRow,iCol); //shared Pad mcm  
	      col =  2;
	      break;
	    case 18: 
	      adc =  0;                                       //shared Pad adc  
	      mcm = feeParam->GetMCMfromSharedPad(iRow,iCol); //shared Pad mcm 
	      col =  3;
	      break;
	    }
	    rob = feeParam->GetROBfromSharedPad(iRow,iCol);     //shared Pad rob 
	    
	    
	    extCol = feeParam->GetExtendedPadColFromADC(rob,mcm,adc);     //extended pad col via the shared pad rob,mcm and adc
	    
	    //printf("SHARED PAD ---  iCol %d  iRow %d  rob %d  mcm %d  adc %d  extCol %d  col %d\n",iCol,iRow,rob,mcm,adc,extCol,col);
	    for(Int_t k = 0; k < nbtimebin; k++){
	      Short_t signal = 0;
	      signal = digits->GetDataByAdcCol(iRow,extCol,k);
	      
	      if(signal>0) {
		UpdateHisto(idetector,iRow,iCol,signal,iRowMax,col,mcm,rob);
	      }
	    }
	  } //shared pads end
	  
	  
	  withInput = 2;
	}//column,row

      }//array
    }//QA
    digitsManager->ClearArrays(det);
  }//idetector
  delete digitsManager;
  delete rawStream;
  return withInput;
  
}

//_____________________________________________________________________
TH2F* AliTRDCalibPadStatus::GetHisto(Int_t det, TObjArray *arr, /*FOLD00*/
				  Int_t nbinsY, Float_t ymin, Float_t ymax,
				  const Char_t *type, Bool_t force)
{
    //
    // return pointer to histogram
    // if force is true create a new histogram if it doesn't exist allready
    //
    if ( !force || arr->UncheckedAt(det) )
	return (TH2F*)arr->UncheckedAt(det);

    // if we are forced and histogram doesn't yes exist create it
    Char_t name[255], title[255];

    snprintf(name,255,"hCalib%s%.3d",type,det);
    snprintf(title,255,"%s calibration histogram detector %.2d;ADC channel;Channel (pad)",type,det);

   
    Int_t nbchannels = fGeo->GetRowMax(GetLayer(det),GetStack(det),GetSector(det))*fGeo->GetColMax(GetLayer(det));
    
    // we will add 3*8*rowMax channels at the end for the double counted
    nbchannels += 3*8*(fGeo->GetRowMax(GetLayer(det),GetStack(det),GetSector(det)));


    // new histogram with calib information. One value for each pad!
    TH2F* hist = new TH2F(name,title,
			  nbinsY, ymin, ymax,
			  nbchannels,0,nbchannels
			  );
    hist->SetDirectory(0);
    arr->AddAt(hist,det);
    return hist;
}

//_____________________________________________________________________
TH2F* AliTRDCalibPadStatus::GetHisto(Int_t det, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to histogram
    // if force is true create a new histogram if it doesn't exist allready
    //
    TObjArray *arr = &fHistoArray;
    return GetHisto(det, arr, fAdcMax-fAdcMin, fAdcMin-0.5, fAdcMax-0.5, "Pedestal", force);
}

//_____________________________________________________________________
AliTRDCalROC* AliTRDCalibPadStatus::GetCalRoc(Int_t det, TObjArray* arr, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to ROC Calibration
    // if force is true create a new AliTRDCalROC if it doesn't exist allready
    //
    if ( !force || arr->UncheckedAt(det) )
	return (AliTRDCalROC*)arr->UncheckedAt(det);

    // if we are forced and histogram doesn't yes exist create it

    // new AliTRDCalROC. One value for each pad!
    AliTRDCalROC *croc = new AliTRDCalROC(GetLayer(det),GetStack(det));
    arr->AddAt(croc,det);
    return croc;
}
//_____________________________________________________________________
AliTRDCalROC* AliTRDCalibPadStatus::GetCalRocMean(Int_t det, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to Carge ROC Calibration
    // if force is true create a new histogram if it doesn't exist allready
    //
    TObjArray *arr = &fCalRocArrayMean;
    return GetCalRoc(det, arr, force);
}

//_____________________________________________________________________
AliTRDCalROC* AliTRDCalibPadStatus::GetCalRocRMS(Int_t det, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to Carge ROC Calibration
    // if force is true create a new histogram if it doesn't exist allready
    //
    TObjArray *arr = &fCalRocArrayRMS;
    return GetCalRoc(det, arr, force);
}
//_____________________________________________________________________
AliTRDCalROC* AliTRDCalibPadStatus::GetCalRocMeand(Int_t det, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to Carge ROC Calibration
    // if force is true create a new histogram if it doesn't exist allready
    //
    TObjArray *arr = &fCalRocArrayMeand;
    return GetCalRoc(det, arr, force);
}

//_____________________________________________________________________
AliTRDCalROC* AliTRDCalibPadStatus::GetCalRocRMSd(Int_t det, Bool_t force) /*FOLD00*/
{
    //
    // return pointer to Carge ROC Calibration
    // if force is true create a new histogram if it doesn't exist allready
    //
    TObjArray *arr = &fCalRocArrayRMSd;
    return GetCalRoc(det, arr, force);
}

//_____________________________________________________________________
void AliTRDCalibPadStatus::AnalyseHisto() /*FOLD00*/
{
    //
    //  Calculate calibration constants
    //

    Int_t nbinsAdc = fAdcMax-fAdcMin;

    TVectorD param(4);
    TMatrixD dummy(3,3);

    Float_t *arrayHP=0;


    for (Int_t idet=0; idet<540; idet++){
	TH2F *hP = GetHisto(idet);
        if ( !hP ) {
	  continue;
	}

        //printf("Entries for %d\n",idet);

	AliTRDCalROC *rocMean     = GetCalRocMean(idet,kTRUE);
	AliTRDCalROC *rocRMS      = GetCalRocRMS(idet,kTRUE);

	arrayHP = hP->GetArray();
        Int_t nChannels = rocMean->GetNchannels();

	for (Int_t iChannel=0; iChannel<nChannels; iChannel++){
            Int_t offset = (nbinsAdc+2)*(iChannel+1)+1;
	    Double_t ret = AliMathBase::FitGaus(arrayHP+offset,nbinsAdc,fAdcMin-0.5,fAdcMax-0.5,&param,&dummy);
	    // if the fitting failed set noise and pedestal to 0
	    if ((ret==-4) || (ret==-1) || (ret==-2)) {
		param[1]=0.0;
		param[2]=0.0;
	    }
	    if((param[1]/10.0) > 65534.0) param[1] = 0.0;
	    if((param[2]/10.0) > 65534.0) param[2] = 0.0;
	    rocMean->SetValue(iChannel,param[1]/10.0);
            rocRMS->SetValue(iChannel,param[2]/10.0);
	}

	// here we analyse doubled read channels
	
	AliTRDCalROC *rocMeand     = GetCalRocMeand(idet,kTRUE);
	AliTRDCalROC *rocRMSd      = GetCalRocRMSd(idet,kTRUE);

	Int_t nrows = rocMeand->GetNrows();
	Int_t shift = 144*nrows;
	Int_t total = shift+3*8*nrows; 

      	for (Int_t iChannel=shift; iChannel<total; iChannel++){
            Int_t offset = (nbinsAdc+2)*(iChannel+1)+1;
	    Double_t ret = AliMathBase::FitGaus(arrayHP+offset,nbinsAdc,fAdcMin-0.5,fAdcMax-0.5,&param,&dummy);
            // if the fitting failed set noise and pedestal to 0
	    if ((ret==-4) || (ret==-1) || (ret==-2)) {
		param[1]=0.0;
		param[2]=0.0;
	    }
	    if((param[1]/10.0) > 65534.0) param[1] = 0.0;
	    if((param[2]/10.0) > 65534.0) param[2] = 0.0;
	    
	    // here we have to recalculate backward
	    Int_t nb   = iChannel-shift;
	    Int_t row  = nb%nrows;
	    Int_t j    = (Int_t)(nb/nrows);
	    Int_t imcm = j%8;
	    Int_t icol = (Int_t)(j/8);
	    
	    Int_t finalcol = 18*imcm;
	    if(icol > 0) icol += 17;
	    else icol = -1;
	    finalcol += icol;

	    Int_t channel = row+finalcol*nrows;

	    //printf("iChannel %d, nrows %d, finalcol %d, row %d, channel %d\n",iChannel,nrows,finalcol,row,channel);
	    if((finalcol < 0) || (finalcol >= 144)) continue;

	    rocMeand->SetValue(channel,param[1]/10.0);
            rocRMSd->SetValue(channel,param[2]/10.0);
	}

    }
      
}

//_______________________________________________________________________________________
AliTRDCalPadStatus* AliTRDCalibPadStatus::CreateCalPadStatus()
{
  //
  // Create Pad Status out of Mean and RMS values
  // The chamber without data are masked, this is the corrected in the preprocessor
  //

  AliTRDCalPadStatus* obj = new AliTRDCalPadStatus("padstatus", "padstatus");
  
  for (Int_t idet=0; idet<540; ++idet)
    {
      AliTRDCalSingleChamberStatus *calROC = obj->GetCalROC(idet);


      if ( !GetCalRocMean(idet)) {
	for(Int_t k = 0; k < calROC->GetNchannels(); k++){
	  calROC->SetStatus(k,AliTRDCalPadStatus::kNotConnected);
	}
	continue;
      }
      

      //Take the stuff
      AliTRDCalROC *calRocMean    = new AliTRDCalROC(*( (AliTRDCalROC *) GetCalRocMean(idet)));
      AliTRDCalROC *calRocRMS     = new AliTRDCalROC(*( (AliTRDCalROC *) GetCalRocRMS(idet)));

      //Take the stuff second chance
      AliTRDCalROC *calRocMeand    = new AliTRDCalROC(*( (AliTRDCalROC *) GetCalRocMeand(idet)));
      AliTRDCalROC *calRocRMSd     = new AliTRDCalROC(*( (AliTRDCalROC *) GetCalRocRMSd(idet)));

      calRocRMS->Unfold();
      calRocRMSd->Unfold();

     
      //Range
      Int_t row      = calROC->GetNrows();
      Int_t col      = calROC->GetNcols();
      
      Double_t rmsmean       = calRocMean->GetRMS()*10.0;
      Double_t meanmean      = calRocMean->GetMean()*10.0;
      Double_t meansquares   = calRocRMS->GetMean();

      
      for(Int_t irow = 0; irow < row; irow++){
	
	// for bridged pads
	Float_t meanprevious = 0.0;
	Float_t rmsprevious  = 0.0; 
	Float_t mean         = 0.0;
	Float_t rms          = 0.0;
	
	for(Int_t icol = 0; icol < col; icol++){
	  
	  mean     = calRocMean->GetValue(icol,irow)*10.0;
	  rms      = calRocRMS->GetValue(icol,irow);

	  if(icol > 0) {
	    meanprevious     = calRocMean->GetValue((icol -1),irow)*10.0;
	    rmsprevious      = calRocRMS->GetValue((icol - 1),irow);
	  }
	  
	  Bool_t pb = kFALSE;
	  // masked if two noisy
	  if((rms <= 0.0001) || (TMath::Abs(mean-meanmean)>(5*rmsmean)) || (TMath::Abs(rms)>(5.0*TMath::Abs(meansquares)))) {
	    
	    pb = kTRUE;
	    // look at second chance
	    Float_t meand     = calRocMeand->GetValue(icol,irow)*10.0;
	    Float_t rmsd      = calRocRMSd->GetValue(icol,irow);
	    
	    if((rmsd <= 0.0001) || (TMath::Abs(meand-meanmean)>(5*rmsmean)) || (TMath::Abs(rmsd)>(5.0*TMath::Abs(meansquares)))) {
	      if((rmsd <= 0.0001) && (rms <= 0.0001)) {
		calROC->SetStatus(icol,irow,AliTRDCalPadStatus::kNotConnected);
	      }
	      else {
		calROC->SetStatus(icol, irow, AliTRDCalPadStatus::kMasked);
	      }
	    }
	    else {
	      calROC->SetStatus(icol, irow, AliTRDCalPadStatus::kReadSecond);
	    }
	  }


	  // bridge if previous pad found something
	  if(!pb) {
	    if((TMath::Abs(meanprevious-mean)<0.000001) && (TMath::Abs(rmsprevious-rms)<0.000001) && (mean > 0.0001)) {
	      //printf("mean previous %f, mean %f, rms %f, rmsprevious %f, col %d\n",meanprevious,mean,rms,rmsprevious,icol);
	      calROC->SetStatus(icol -1 ,irow, AliTRDCalPadStatus::kPadBridgedRight);
	      calROC->SetStatus(icol ,irow, AliTRDCalPadStatus::kPadBridgedLeft);
	    }	    
	  }

	}
      }

      delete calRocMean;
      delete calRocRMS;
      delete calRocMeand;
      delete calRocRMSd;


    }
  
  return obj;
  
}
//_______________________________________________________________________________________
AliTRDCalPad* AliTRDCalibPadStatus::CreateCalPad()
{
  //
  // Create Pad Noise out of RMS values
  //

  AliTRDCalPad* obj = new AliTRDCalPad("PadNoise", "PadNoise");
  
  
  for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)  {
    
    AliTRDCalROC *calROC22 = obj->GetCalROC(det);

    AliTRDCalROC *calRocRMS     = ((AliTRDCalROC *)GetCalRocRMS(det,kTRUE));
   
    for(Int_t k = 0; k < calROC22->GetNchannels(); k++){
      calROC22->SetValue(k,calRocRMS->GetValue(k));
    }

  }
  
  return obj;
  
}

//_______________________________________________________________________________________
AliTRDCalDet* AliTRDCalibPadStatus::CreateCalDet() const
{
  //
  // Create Det Noise correction factor
  //

  AliTRDCalDet* obj = new AliTRDCalDet("DetNoise", "DetNoise (correction factor)");

  for(Int_t l = 0; l < 540; l++){
    obj->SetValue(l,10.0);
  }
  
  return obj;
  
}

//_____________________________________________________________________
void AliTRDCalibPadStatus::DumpToFile(const Char_t *filename, const Char_t *dir, Bool_t append) /*FOLD00*/
{
    //
    //  Write class to file
    //

    TString sDir(dir);
    TString option;

    if ( append )
	option = "update";
    else
        option = "recreate";

    TDirectory *backup = gDirectory;
    TFile f(filename,option.Data());
    f.cd();
    if ( !sDir.IsNull() ){
	f.mkdir(sDir.Data());
	f.cd(sDir);
    }
    this->Write();
    f.Close();

    if ( backup ) backup->cd();
}

//_____________________________________________________________________
void AliTRDCalibPadStatus::SetCalRocMean(AliTRDCalROC *mean, Int_t det) /*FOLD00*/
{
    //
    //  Put the AliTRDCalROC in the array fCalRocArrayMean
    //


  AliTRDCalROC *rocMean = GetCalRocMean(det,kTRUE);
  
  Int_t nChannels = rocMean->GetNchannels();
  
  for (Int_t iChannel=0; iChannel<nChannels; iChannel++){
    
    rocMean->SetValue(iChannel,mean->GetValue(iChannel));
    
  }
  
}

//_____________________________________________________________________
void AliTRDCalibPadStatus::SetCalRocRMS(AliTRDCalROC *rms, Int_t det) /*FOLD00*/
{
    //
    //  Put the AliTRDCalROC in the array fCalRocArrayRMS
    //


  AliTRDCalROC *rocRms = GetCalRocRMS(det,kTRUE);
  
  Int_t nChannels = rocRms->GetNchannels();
  
  for (Int_t iChannel=0; iChannel<nChannels; iChannel++){
    
    rocRms->SetValue(iChannel,rms->GetValue(iChannel));
    
  }
  
}
//_____________________________________________________________________
void AliTRDCalibPadStatus::SetCalRocMeand(AliTRDCalROC *mean, Int_t det) /*FOLD00*/
{
    //
    //  Put the AliTRDCalROC in the array fCalRocArrayMean
    //


  AliTRDCalROC *rocMean = GetCalRocMeand(det,kTRUE);
  
  Int_t nChannels = rocMean->GetNchannels();
  
  for (Int_t iChannel=0; iChannel<nChannels; iChannel++){
    
    rocMean->SetValue(iChannel,mean->GetValue(iChannel));
    
  }
  
}

//_____________________________________________________________________
void AliTRDCalibPadStatus::SetCalRocRMSd(AliTRDCalROC *rms, Int_t det) /*FOLD00*/
{
    //
    //  Put the AliTRDCalROC in the array fCalRocArrayRMS
    //


  AliTRDCalROC *rocRms = GetCalRocRMSd(det,kTRUE);
  
  Int_t nChannels = rocRms->GetNchannels();
  
  for (Int_t iChannel=0; iChannel<nChannels; iChannel++){
    
    rocRms->SetValue(iChannel,rms->GetValue(iChannel));
    
  }
  
}
//_____________________________________________________________________________
Int_t AliTRDCalibPadStatus::GetLayer(Int_t d) const
{
  //
  // Reconstruct the layer number from the detector number
  //

  return ((Int_t) (d % 6));

}

//_____________________________________________________________________________
Int_t AliTRDCalibPadStatus::GetStack(Int_t d) const
{
  //
  // Reconstruct the chamber number from the detector number
  //

  return ((Int_t) (d % 30) / 6);

}

//_____________________________________________________________________________
Int_t AliTRDCalibPadStatus::GetSector(Int_t d) const
{
  //
  // Reconstruct the sector number from the detector number
  //

  return ((Int_t) (d / 30));

}


 AliTRDCalibPadStatus.cxx:1
 AliTRDCalibPadStatus.cxx:2
 AliTRDCalibPadStatus.cxx:3
 AliTRDCalibPadStatus.cxx:4
 AliTRDCalibPadStatus.cxx:5
 AliTRDCalibPadStatus.cxx:6
 AliTRDCalibPadStatus.cxx:7
 AliTRDCalibPadStatus.cxx:8
 AliTRDCalibPadStatus.cxx:9
 AliTRDCalibPadStatus.cxx:10
 AliTRDCalibPadStatus.cxx:11
 AliTRDCalibPadStatus.cxx:12
 AliTRDCalibPadStatus.cxx:13
 AliTRDCalibPadStatus.cxx:14
 AliTRDCalibPadStatus.cxx:15
 AliTRDCalibPadStatus.cxx:16
 AliTRDCalibPadStatus.cxx:17
 AliTRDCalibPadStatus.cxx:18
 AliTRDCalibPadStatus.cxx:19
 AliTRDCalibPadStatus.cxx:20
 AliTRDCalibPadStatus.cxx:21
 AliTRDCalibPadStatus.cxx:22
 AliTRDCalibPadStatus.cxx:23
 AliTRDCalibPadStatus.cxx:24
 AliTRDCalibPadStatus.cxx:25
 AliTRDCalibPadStatus.cxx:26
 AliTRDCalibPadStatus.cxx:27
 AliTRDCalibPadStatus.cxx:28
 AliTRDCalibPadStatus.cxx:29
 AliTRDCalibPadStatus.cxx:30
 AliTRDCalibPadStatus.cxx:31
 AliTRDCalibPadStatus.cxx:32
 AliTRDCalibPadStatus.cxx:33
 AliTRDCalibPadStatus.cxx:34
 AliTRDCalibPadStatus.cxx:35
 AliTRDCalibPadStatus.cxx:36
 AliTRDCalibPadStatus.cxx:37
 AliTRDCalibPadStatus.cxx:38
 AliTRDCalibPadStatus.cxx:39
 AliTRDCalibPadStatus.cxx:40
 AliTRDCalibPadStatus.cxx:41
 AliTRDCalibPadStatus.cxx:42
 AliTRDCalibPadStatus.cxx:43
 AliTRDCalibPadStatus.cxx:44
 AliTRDCalibPadStatus.cxx:45
 AliTRDCalibPadStatus.cxx:46
 AliTRDCalibPadStatus.cxx:47
 AliTRDCalibPadStatus.cxx:48
 AliTRDCalibPadStatus.cxx:49
 AliTRDCalibPadStatus.cxx:50
 AliTRDCalibPadStatus.cxx:51
 AliTRDCalibPadStatus.cxx:52
 AliTRDCalibPadStatus.cxx:53
 AliTRDCalibPadStatus.cxx:54
 AliTRDCalibPadStatus.cxx:55
 AliTRDCalibPadStatus.cxx:56
 AliTRDCalibPadStatus.cxx:57
 AliTRDCalibPadStatus.cxx:58
 AliTRDCalibPadStatus.cxx:59
 AliTRDCalibPadStatus.cxx:60
 AliTRDCalibPadStatus.cxx:61
 AliTRDCalibPadStatus.cxx:62
 AliTRDCalibPadStatus.cxx:63
 AliTRDCalibPadStatus.cxx:64
 AliTRDCalibPadStatus.cxx:65
 AliTRDCalibPadStatus.cxx:66
 AliTRDCalibPadStatus.cxx:67
 AliTRDCalibPadStatus.cxx:68
 AliTRDCalibPadStatus.cxx:69
 AliTRDCalibPadStatus.cxx:70
 AliTRDCalibPadStatus.cxx:71
 AliTRDCalibPadStatus.cxx:72
 AliTRDCalibPadStatus.cxx:73
 AliTRDCalibPadStatus.cxx:74
 AliTRDCalibPadStatus.cxx:75
 AliTRDCalibPadStatus.cxx:76
 AliTRDCalibPadStatus.cxx:77
 AliTRDCalibPadStatus.cxx:78
 AliTRDCalibPadStatus.cxx:79
 AliTRDCalibPadStatus.cxx:80
 AliTRDCalibPadStatus.cxx:81
 AliTRDCalibPadStatus.cxx:82
 AliTRDCalibPadStatus.cxx:83
 AliTRDCalibPadStatus.cxx:84
 AliTRDCalibPadStatus.cxx:85
 AliTRDCalibPadStatus.cxx:86
 AliTRDCalibPadStatus.cxx:87
 AliTRDCalibPadStatus.cxx:88
 AliTRDCalibPadStatus.cxx:89
 AliTRDCalibPadStatus.cxx:90
 AliTRDCalibPadStatus.cxx:91
 AliTRDCalibPadStatus.cxx:92
 AliTRDCalibPadStatus.cxx:93
 AliTRDCalibPadStatus.cxx:94
 AliTRDCalibPadStatus.cxx:95
 AliTRDCalibPadStatus.cxx:96
 AliTRDCalibPadStatus.cxx:97
 AliTRDCalibPadStatus.cxx:98
 AliTRDCalibPadStatus.cxx:99
 AliTRDCalibPadStatus.cxx:100
 AliTRDCalibPadStatus.cxx:101
 AliTRDCalibPadStatus.cxx:102
 AliTRDCalibPadStatus.cxx:103
 AliTRDCalibPadStatus.cxx:104
 AliTRDCalibPadStatus.cxx:105
 AliTRDCalibPadStatus.cxx:106
 AliTRDCalibPadStatus.cxx:107
 AliTRDCalibPadStatus.cxx:108
 AliTRDCalibPadStatus.cxx:109
 AliTRDCalibPadStatus.cxx:110
 AliTRDCalibPadStatus.cxx:111
 AliTRDCalibPadStatus.cxx:112
 AliTRDCalibPadStatus.cxx:113
 AliTRDCalibPadStatus.cxx:114
 AliTRDCalibPadStatus.cxx:115
 AliTRDCalibPadStatus.cxx:116
 AliTRDCalibPadStatus.cxx:117
 AliTRDCalibPadStatus.cxx:118
 AliTRDCalibPadStatus.cxx:119
 AliTRDCalibPadStatus.cxx:120
 AliTRDCalibPadStatus.cxx:121
 AliTRDCalibPadStatus.cxx:122
 AliTRDCalibPadStatus.cxx:123
 AliTRDCalibPadStatus.cxx:124
 AliTRDCalibPadStatus.cxx:125
 AliTRDCalibPadStatus.cxx:126
 AliTRDCalibPadStatus.cxx:127
 AliTRDCalibPadStatus.cxx:128
 AliTRDCalibPadStatus.cxx:129
 AliTRDCalibPadStatus.cxx:130
 AliTRDCalibPadStatus.cxx:131
 AliTRDCalibPadStatus.cxx:132
 AliTRDCalibPadStatus.cxx:133
 AliTRDCalibPadStatus.cxx:134
 AliTRDCalibPadStatus.cxx:135
 AliTRDCalibPadStatus.cxx:136
 AliTRDCalibPadStatus.cxx:137
 AliTRDCalibPadStatus.cxx:138
 AliTRDCalibPadStatus.cxx:139
 AliTRDCalibPadStatus.cxx:140
 AliTRDCalibPadStatus.cxx:141
 AliTRDCalibPadStatus.cxx:142
 AliTRDCalibPadStatus.cxx:143
 AliTRDCalibPadStatus.cxx:144
 AliTRDCalibPadStatus.cxx:145
 AliTRDCalibPadStatus.cxx:146
 AliTRDCalibPadStatus.cxx:147
 AliTRDCalibPadStatus.cxx:148
 AliTRDCalibPadStatus.cxx:149
 AliTRDCalibPadStatus.cxx:150
 AliTRDCalibPadStatus.cxx:151
 AliTRDCalibPadStatus.cxx:152
 AliTRDCalibPadStatus.cxx:153
 AliTRDCalibPadStatus.cxx:154
 AliTRDCalibPadStatus.cxx:155
 AliTRDCalibPadStatus.cxx:156
 AliTRDCalibPadStatus.cxx:157
 AliTRDCalibPadStatus.cxx:158
 AliTRDCalibPadStatus.cxx:159
 AliTRDCalibPadStatus.cxx:160
 AliTRDCalibPadStatus.cxx:161
 AliTRDCalibPadStatus.cxx:162
 AliTRDCalibPadStatus.cxx:163
 AliTRDCalibPadStatus.cxx:164
 AliTRDCalibPadStatus.cxx:165
 AliTRDCalibPadStatus.cxx:166
 AliTRDCalibPadStatus.cxx:167
 AliTRDCalibPadStatus.cxx:168
 AliTRDCalibPadStatus.cxx:169
 AliTRDCalibPadStatus.cxx:170
 AliTRDCalibPadStatus.cxx:171
 AliTRDCalibPadStatus.cxx:172
 AliTRDCalibPadStatus.cxx:173
 AliTRDCalibPadStatus.cxx:174
 AliTRDCalibPadStatus.cxx:175
 AliTRDCalibPadStatus.cxx:176
 AliTRDCalibPadStatus.cxx:177
 AliTRDCalibPadStatus.cxx:178
 AliTRDCalibPadStatus.cxx:179
 AliTRDCalibPadStatus.cxx:180
 AliTRDCalibPadStatus.cxx:181
 AliTRDCalibPadStatus.cxx:182
 AliTRDCalibPadStatus.cxx:183
 AliTRDCalibPadStatus.cxx:184
 AliTRDCalibPadStatus.cxx:185
 AliTRDCalibPadStatus.cxx:186
 AliTRDCalibPadStatus.cxx:187
 AliTRDCalibPadStatus.cxx:188
 AliTRDCalibPadStatus.cxx:189
 AliTRDCalibPadStatus.cxx:190
 AliTRDCalibPadStatus.cxx:191
 AliTRDCalibPadStatus.cxx:192
 AliTRDCalibPadStatus.cxx:193
 AliTRDCalibPadStatus.cxx:194
 AliTRDCalibPadStatus.cxx:195
 AliTRDCalibPadStatus.cxx:196
 AliTRDCalibPadStatus.cxx:197
 AliTRDCalibPadStatus.cxx:198
 AliTRDCalibPadStatus.cxx:199
 AliTRDCalibPadStatus.cxx:200
 AliTRDCalibPadStatus.cxx:201
 AliTRDCalibPadStatus.cxx:202
 AliTRDCalibPadStatus.cxx:203
 AliTRDCalibPadStatus.cxx:204
 AliTRDCalibPadStatus.cxx:205
 AliTRDCalibPadStatus.cxx:206
 AliTRDCalibPadStatus.cxx:207
 AliTRDCalibPadStatus.cxx:208
 AliTRDCalibPadStatus.cxx:209
 AliTRDCalibPadStatus.cxx:210
 AliTRDCalibPadStatus.cxx:211
 AliTRDCalibPadStatus.cxx:212
 AliTRDCalibPadStatus.cxx:213
 AliTRDCalibPadStatus.cxx:214
 AliTRDCalibPadStatus.cxx:215
 AliTRDCalibPadStatus.cxx:216
 AliTRDCalibPadStatus.cxx:217
 AliTRDCalibPadStatus.cxx:218
 AliTRDCalibPadStatus.cxx:219
 AliTRDCalibPadStatus.cxx:220
 AliTRDCalibPadStatus.cxx:221
 AliTRDCalibPadStatus.cxx:222
 AliTRDCalibPadStatus.cxx:223
 AliTRDCalibPadStatus.cxx:224
 AliTRDCalibPadStatus.cxx:225
 AliTRDCalibPadStatus.cxx:226
 AliTRDCalibPadStatus.cxx:227
 AliTRDCalibPadStatus.cxx:228
 AliTRDCalibPadStatus.cxx:229
 AliTRDCalibPadStatus.cxx:230
 AliTRDCalibPadStatus.cxx:231
 AliTRDCalibPadStatus.cxx:232
 AliTRDCalibPadStatus.cxx:233
 AliTRDCalibPadStatus.cxx:234
 AliTRDCalibPadStatus.cxx:235
 AliTRDCalibPadStatus.cxx:236
 AliTRDCalibPadStatus.cxx:237
 AliTRDCalibPadStatus.cxx:238
 AliTRDCalibPadStatus.cxx:239
 AliTRDCalibPadStatus.cxx:240
 AliTRDCalibPadStatus.cxx:241
 AliTRDCalibPadStatus.cxx:242
 AliTRDCalibPadStatus.cxx:243
 AliTRDCalibPadStatus.cxx:244
 AliTRDCalibPadStatus.cxx:245
 AliTRDCalibPadStatus.cxx:246
 AliTRDCalibPadStatus.cxx:247
 AliTRDCalibPadStatus.cxx:248
 AliTRDCalibPadStatus.cxx:249
 AliTRDCalibPadStatus.cxx:250
 AliTRDCalibPadStatus.cxx:251
 AliTRDCalibPadStatus.cxx:252
 AliTRDCalibPadStatus.cxx:253
 AliTRDCalibPadStatus.cxx:254
 AliTRDCalibPadStatus.cxx:255
 AliTRDCalibPadStatus.cxx:256
 AliTRDCalibPadStatus.cxx:257
 AliTRDCalibPadStatus.cxx:258
 AliTRDCalibPadStatus.cxx:259
 AliTRDCalibPadStatus.cxx:260
 AliTRDCalibPadStatus.cxx:261
 AliTRDCalibPadStatus.cxx:262
 AliTRDCalibPadStatus.cxx:263
 AliTRDCalibPadStatus.cxx:264
 AliTRDCalibPadStatus.cxx:265
 AliTRDCalibPadStatus.cxx:266
 AliTRDCalibPadStatus.cxx:267
 AliTRDCalibPadStatus.cxx:268
 AliTRDCalibPadStatus.cxx:269
 AliTRDCalibPadStatus.cxx:270
 AliTRDCalibPadStatus.cxx:271
 AliTRDCalibPadStatus.cxx:272
 AliTRDCalibPadStatus.cxx:273
 AliTRDCalibPadStatus.cxx:274
 AliTRDCalibPadStatus.cxx:275
 AliTRDCalibPadStatus.cxx:276
 AliTRDCalibPadStatus.cxx:277
 AliTRDCalibPadStatus.cxx:278
 AliTRDCalibPadStatus.cxx:279
 AliTRDCalibPadStatus.cxx:280
 AliTRDCalibPadStatus.cxx:281
 AliTRDCalibPadStatus.cxx:282
 AliTRDCalibPadStatus.cxx:283
 AliTRDCalibPadStatus.cxx:284
 AliTRDCalibPadStatus.cxx:285
 AliTRDCalibPadStatus.cxx:286
 AliTRDCalibPadStatus.cxx:287
 AliTRDCalibPadStatus.cxx:288
 AliTRDCalibPadStatus.cxx:289
 AliTRDCalibPadStatus.cxx:290
 AliTRDCalibPadStatus.cxx:291
 AliTRDCalibPadStatus.cxx:292
 AliTRDCalibPadStatus.cxx:293
 AliTRDCalibPadStatus.cxx:294
 AliTRDCalibPadStatus.cxx:295
 AliTRDCalibPadStatus.cxx:296
 AliTRDCalibPadStatus.cxx:297
 AliTRDCalibPadStatus.cxx:298
 AliTRDCalibPadStatus.cxx:299
 AliTRDCalibPadStatus.cxx:300
 AliTRDCalibPadStatus.cxx:301
 AliTRDCalibPadStatus.cxx:302
 AliTRDCalibPadStatus.cxx:303
 AliTRDCalibPadStatus.cxx:304
 AliTRDCalibPadStatus.cxx:305
 AliTRDCalibPadStatus.cxx:306
 AliTRDCalibPadStatus.cxx:307
 AliTRDCalibPadStatus.cxx:308
 AliTRDCalibPadStatus.cxx:309
 AliTRDCalibPadStatus.cxx:310
 AliTRDCalibPadStatus.cxx:311
 AliTRDCalibPadStatus.cxx:312
 AliTRDCalibPadStatus.cxx:313
 AliTRDCalibPadStatus.cxx:314
 AliTRDCalibPadStatus.cxx:315
 AliTRDCalibPadStatus.cxx:316
 AliTRDCalibPadStatus.cxx:317
 AliTRDCalibPadStatus.cxx:318
 AliTRDCalibPadStatus.cxx:319
 AliTRDCalibPadStatus.cxx:320
 AliTRDCalibPadStatus.cxx:321
 AliTRDCalibPadStatus.cxx:322
 AliTRDCalibPadStatus.cxx:323
 AliTRDCalibPadStatus.cxx:324
 AliTRDCalibPadStatus.cxx:325
 AliTRDCalibPadStatus.cxx:326
 AliTRDCalibPadStatus.cxx:327
 AliTRDCalibPadStatus.cxx:328
 AliTRDCalibPadStatus.cxx:329
 AliTRDCalibPadStatus.cxx:330
 AliTRDCalibPadStatus.cxx:331
 AliTRDCalibPadStatus.cxx:332
 AliTRDCalibPadStatus.cxx:333
 AliTRDCalibPadStatus.cxx:334
 AliTRDCalibPadStatus.cxx:335
 AliTRDCalibPadStatus.cxx:336
 AliTRDCalibPadStatus.cxx:337
 AliTRDCalibPadStatus.cxx:338
 AliTRDCalibPadStatus.cxx:339
 AliTRDCalibPadStatus.cxx:340
 AliTRDCalibPadStatus.cxx:341
 AliTRDCalibPadStatus.cxx:342
 AliTRDCalibPadStatus.cxx:343
 AliTRDCalibPadStatus.cxx:344
 AliTRDCalibPadStatus.cxx:345
 AliTRDCalibPadStatus.cxx:346
 AliTRDCalibPadStatus.cxx:347
 AliTRDCalibPadStatus.cxx:348
 AliTRDCalibPadStatus.cxx:349
 AliTRDCalibPadStatus.cxx:350
 AliTRDCalibPadStatus.cxx:351
 AliTRDCalibPadStatus.cxx:352
 AliTRDCalibPadStatus.cxx:353
 AliTRDCalibPadStatus.cxx:354
 AliTRDCalibPadStatus.cxx:355
 AliTRDCalibPadStatus.cxx:356
 AliTRDCalibPadStatus.cxx:357
 AliTRDCalibPadStatus.cxx:358
 AliTRDCalibPadStatus.cxx:359
 AliTRDCalibPadStatus.cxx:360
 AliTRDCalibPadStatus.cxx:361
 AliTRDCalibPadStatus.cxx:362
 AliTRDCalibPadStatus.cxx:363
 AliTRDCalibPadStatus.cxx:364
 AliTRDCalibPadStatus.cxx:365
 AliTRDCalibPadStatus.cxx:366
 AliTRDCalibPadStatus.cxx:367
 AliTRDCalibPadStatus.cxx:368
 AliTRDCalibPadStatus.cxx:369
 AliTRDCalibPadStatus.cxx:370
 AliTRDCalibPadStatus.cxx:371
 AliTRDCalibPadStatus.cxx:372
 AliTRDCalibPadStatus.cxx:373
 AliTRDCalibPadStatus.cxx:374
 AliTRDCalibPadStatus.cxx:375
 AliTRDCalibPadStatus.cxx:376
 AliTRDCalibPadStatus.cxx:377
 AliTRDCalibPadStatus.cxx:378
 AliTRDCalibPadStatus.cxx:379
 AliTRDCalibPadStatus.cxx:380
 AliTRDCalibPadStatus.cxx:381
 AliTRDCalibPadStatus.cxx:382
 AliTRDCalibPadStatus.cxx:383
 AliTRDCalibPadStatus.cxx:384
 AliTRDCalibPadStatus.cxx:385
 AliTRDCalibPadStatus.cxx:386
 AliTRDCalibPadStatus.cxx:387
 AliTRDCalibPadStatus.cxx:388
 AliTRDCalibPadStatus.cxx:389
 AliTRDCalibPadStatus.cxx:390
 AliTRDCalibPadStatus.cxx:391
 AliTRDCalibPadStatus.cxx:392
 AliTRDCalibPadStatus.cxx:393
 AliTRDCalibPadStatus.cxx:394
 AliTRDCalibPadStatus.cxx:395
 AliTRDCalibPadStatus.cxx:396
 AliTRDCalibPadStatus.cxx:397
 AliTRDCalibPadStatus.cxx:398
 AliTRDCalibPadStatus.cxx:399
 AliTRDCalibPadStatus.cxx:400
 AliTRDCalibPadStatus.cxx:401
 AliTRDCalibPadStatus.cxx:402
 AliTRDCalibPadStatus.cxx:403
 AliTRDCalibPadStatus.cxx:404
 AliTRDCalibPadStatus.cxx:405
 AliTRDCalibPadStatus.cxx:406
 AliTRDCalibPadStatus.cxx:407
 AliTRDCalibPadStatus.cxx:408
 AliTRDCalibPadStatus.cxx:409
 AliTRDCalibPadStatus.cxx:410
 AliTRDCalibPadStatus.cxx:411
 AliTRDCalibPadStatus.cxx:412
 AliTRDCalibPadStatus.cxx:413
 AliTRDCalibPadStatus.cxx:414
 AliTRDCalibPadStatus.cxx:415
 AliTRDCalibPadStatus.cxx:416
 AliTRDCalibPadStatus.cxx:417
 AliTRDCalibPadStatus.cxx:418
 AliTRDCalibPadStatus.cxx:419
 AliTRDCalibPadStatus.cxx:420
 AliTRDCalibPadStatus.cxx:421
 AliTRDCalibPadStatus.cxx:422
 AliTRDCalibPadStatus.cxx:423
 AliTRDCalibPadStatus.cxx:424
 AliTRDCalibPadStatus.cxx:425
 AliTRDCalibPadStatus.cxx:426
 AliTRDCalibPadStatus.cxx:427
 AliTRDCalibPadStatus.cxx:428
 AliTRDCalibPadStatus.cxx:429
 AliTRDCalibPadStatus.cxx:430
 AliTRDCalibPadStatus.cxx:431
 AliTRDCalibPadStatus.cxx:432
 AliTRDCalibPadStatus.cxx:433
 AliTRDCalibPadStatus.cxx:434
 AliTRDCalibPadStatus.cxx:435
 AliTRDCalibPadStatus.cxx:436
 AliTRDCalibPadStatus.cxx:437
 AliTRDCalibPadStatus.cxx:438
 AliTRDCalibPadStatus.cxx:439
 AliTRDCalibPadStatus.cxx:440
 AliTRDCalibPadStatus.cxx:441
 AliTRDCalibPadStatus.cxx:442
 AliTRDCalibPadStatus.cxx:443
 AliTRDCalibPadStatus.cxx:444
 AliTRDCalibPadStatus.cxx:445
 AliTRDCalibPadStatus.cxx:446
 AliTRDCalibPadStatus.cxx:447
 AliTRDCalibPadStatus.cxx:448
 AliTRDCalibPadStatus.cxx:449
 AliTRDCalibPadStatus.cxx:450
 AliTRDCalibPadStatus.cxx:451
 AliTRDCalibPadStatus.cxx:452
 AliTRDCalibPadStatus.cxx:453
 AliTRDCalibPadStatus.cxx:454
 AliTRDCalibPadStatus.cxx:455
 AliTRDCalibPadStatus.cxx:456
 AliTRDCalibPadStatus.cxx:457
 AliTRDCalibPadStatus.cxx:458
 AliTRDCalibPadStatus.cxx:459
 AliTRDCalibPadStatus.cxx:460
 AliTRDCalibPadStatus.cxx:461
 AliTRDCalibPadStatus.cxx:462
 AliTRDCalibPadStatus.cxx:463
 AliTRDCalibPadStatus.cxx:464
 AliTRDCalibPadStatus.cxx:465
 AliTRDCalibPadStatus.cxx:466
 AliTRDCalibPadStatus.cxx:467
 AliTRDCalibPadStatus.cxx:468
 AliTRDCalibPadStatus.cxx:469
 AliTRDCalibPadStatus.cxx:470
 AliTRDCalibPadStatus.cxx:471
 AliTRDCalibPadStatus.cxx:472
 AliTRDCalibPadStatus.cxx:473
 AliTRDCalibPadStatus.cxx:474
 AliTRDCalibPadStatus.cxx:475
 AliTRDCalibPadStatus.cxx:476
 AliTRDCalibPadStatus.cxx:477
 AliTRDCalibPadStatus.cxx:478
 AliTRDCalibPadStatus.cxx:479
 AliTRDCalibPadStatus.cxx:480
 AliTRDCalibPadStatus.cxx:481
 AliTRDCalibPadStatus.cxx:482
 AliTRDCalibPadStatus.cxx:483
 AliTRDCalibPadStatus.cxx:484
 AliTRDCalibPadStatus.cxx:485
 AliTRDCalibPadStatus.cxx:486
 AliTRDCalibPadStatus.cxx:487
 AliTRDCalibPadStatus.cxx:488
 AliTRDCalibPadStatus.cxx:489
 AliTRDCalibPadStatus.cxx:490
 AliTRDCalibPadStatus.cxx:491
 AliTRDCalibPadStatus.cxx:492
 AliTRDCalibPadStatus.cxx:493
 AliTRDCalibPadStatus.cxx:494
 AliTRDCalibPadStatus.cxx:495
 AliTRDCalibPadStatus.cxx:496
 AliTRDCalibPadStatus.cxx:497
 AliTRDCalibPadStatus.cxx:498
 AliTRDCalibPadStatus.cxx:499
 AliTRDCalibPadStatus.cxx:500
 AliTRDCalibPadStatus.cxx:501
 AliTRDCalibPadStatus.cxx:502
 AliTRDCalibPadStatus.cxx:503
 AliTRDCalibPadStatus.cxx:504
 AliTRDCalibPadStatus.cxx:505
 AliTRDCalibPadStatus.cxx:506
 AliTRDCalibPadStatus.cxx:507
 AliTRDCalibPadStatus.cxx:508
 AliTRDCalibPadStatus.cxx:509
 AliTRDCalibPadStatus.cxx:510
 AliTRDCalibPadStatus.cxx:511
 AliTRDCalibPadStatus.cxx:512
 AliTRDCalibPadStatus.cxx:513
 AliTRDCalibPadStatus.cxx:514
 AliTRDCalibPadStatus.cxx:515
 AliTRDCalibPadStatus.cxx:516
 AliTRDCalibPadStatus.cxx:517
 AliTRDCalibPadStatus.cxx:518
 AliTRDCalibPadStatus.cxx:519
 AliTRDCalibPadStatus.cxx:520
 AliTRDCalibPadStatus.cxx:521
 AliTRDCalibPadStatus.cxx:522
 AliTRDCalibPadStatus.cxx:523
 AliTRDCalibPadStatus.cxx:524
 AliTRDCalibPadStatus.cxx:525
 AliTRDCalibPadStatus.cxx:526
 AliTRDCalibPadStatus.cxx:527
 AliTRDCalibPadStatus.cxx:528
 AliTRDCalibPadStatus.cxx:529
 AliTRDCalibPadStatus.cxx:530
 AliTRDCalibPadStatus.cxx:531
 AliTRDCalibPadStatus.cxx:532
 AliTRDCalibPadStatus.cxx:533
 AliTRDCalibPadStatus.cxx:534
 AliTRDCalibPadStatus.cxx:535
 AliTRDCalibPadStatus.cxx:536
 AliTRDCalibPadStatus.cxx:537
 AliTRDCalibPadStatus.cxx:538
 AliTRDCalibPadStatus.cxx:539
 AliTRDCalibPadStatus.cxx:540
 AliTRDCalibPadStatus.cxx:541
 AliTRDCalibPadStatus.cxx:542
 AliTRDCalibPadStatus.cxx:543
 AliTRDCalibPadStatus.cxx:544
 AliTRDCalibPadStatus.cxx:545
 AliTRDCalibPadStatus.cxx:546
 AliTRDCalibPadStatus.cxx:547
 AliTRDCalibPadStatus.cxx:548
 AliTRDCalibPadStatus.cxx:549
 AliTRDCalibPadStatus.cxx:550
 AliTRDCalibPadStatus.cxx:551
 AliTRDCalibPadStatus.cxx:552
 AliTRDCalibPadStatus.cxx:553
 AliTRDCalibPadStatus.cxx:554
 AliTRDCalibPadStatus.cxx:555
 AliTRDCalibPadStatus.cxx:556
 AliTRDCalibPadStatus.cxx:557
 AliTRDCalibPadStatus.cxx:558
 AliTRDCalibPadStatus.cxx:559
 AliTRDCalibPadStatus.cxx:560
 AliTRDCalibPadStatus.cxx:561
 AliTRDCalibPadStatus.cxx:562
 AliTRDCalibPadStatus.cxx:563
 AliTRDCalibPadStatus.cxx:564
 AliTRDCalibPadStatus.cxx:565
 AliTRDCalibPadStatus.cxx:566
 AliTRDCalibPadStatus.cxx:567
 AliTRDCalibPadStatus.cxx:568
 AliTRDCalibPadStatus.cxx:569
 AliTRDCalibPadStatus.cxx:570
 AliTRDCalibPadStatus.cxx:571
 AliTRDCalibPadStatus.cxx:572
 AliTRDCalibPadStatus.cxx:573
 AliTRDCalibPadStatus.cxx:574
 AliTRDCalibPadStatus.cxx:575
 AliTRDCalibPadStatus.cxx:576
 AliTRDCalibPadStatus.cxx:577
 AliTRDCalibPadStatus.cxx:578
 AliTRDCalibPadStatus.cxx:579
 AliTRDCalibPadStatus.cxx:580
 AliTRDCalibPadStatus.cxx:581
 AliTRDCalibPadStatus.cxx:582
 AliTRDCalibPadStatus.cxx:583
 AliTRDCalibPadStatus.cxx:584
 AliTRDCalibPadStatus.cxx:585
 AliTRDCalibPadStatus.cxx:586
 AliTRDCalibPadStatus.cxx:587
 AliTRDCalibPadStatus.cxx:588
 AliTRDCalibPadStatus.cxx:589
 AliTRDCalibPadStatus.cxx:590
 AliTRDCalibPadStatus.cxx:591
 AliTRDCalibPadStatus.cxx:592
 AliTRDCalibPadStatus.cxx:593
 AliTRDCalibPadStatus.cxx:594
 AliTRDCalibPadStatus.cxx:595
 AliTRDCalibPadStatus.cxx:596
 AliTRDCalibPadStatus.cxx:597
 AliTRDCalibPadStatus.cxx:598
 AliTRDCalibPadStatus.cxx:599
 AliTRDCalibPadStatus.cxx:600
 AliTRDCalibPadStatus.cxx:601
 AliTRDCalibPadStatus.cxx:602
 AliTRDCalibPadStatus.cxx:603
 AliTRDCalibPadStatus.cxx:604
 AliTRDCalibPadStatus.cxx:605
 AliTRDCalibPadStatus.cxx:606
 AliTRDCalibPadStatus.cxx:607
 AliTRDCalibPadStatus.cxx:608
 AliTRDCalibPadStatus.cxx:609
 AliTRDCalibPadStatus.cxx:610
 AliTRDCalibPadStatus.cxx:611
 AliTRDCalibPadStatus.cxx:612
 AliTRDCalibPadStatus.cxx:613
 AliTRDCalibPadStatus.cxx:614
 AliTRDCalibPadStatus.cxx:615
 AliTRDCalibPadStatus.cxx:616
 AliTRDCalibPadStatus.cxx:617
 AliTRDCalibPadStatus.cxx:618
 AliTRDCalibPadStatus.cxx:619
 AliTRDCalibPadStatus.cxx:620
 AliTRDCalibPadStatus.cxx:621
 AliTRDCalibPadStatus.cxx:622
 AliTRDCalibPadStatus.cxx:623
 AliTRDCalibPadStatus.cxx:624
 AliTRDCalibPadStatus.cxx:625
 AliTRDCalibPadStatus.cxx:626
 AliTRDCalibPadStatus.cxx:627
 AliTRDCalibPadStatus.cxx:628
 AliTRDCalibPadStatus.cxx:629
 AliTRDCalibPadStatus.cxx:630
 AliTRDCalibPadStatus.cxx:631
 AliTRDCalibPadStatus.cxx:632
 AliTRDCalibPadStatus.cxx:633
 AliTRDCalibPadStatus.cxx:634
 AliTRDCalibPadStatus.cxx:635
 AliTRDCalibPadStatus.cxx:636
 AliTRDCalibPadStatus.cxx:637
 AliTRDCalibPadStatus.cxx:638
 AliTRDCalibPadStatus.cxx:639
 AliTRDCalibPadStatus.cxx:640
 AliTRDCalibPadStatus.cxx:641
 AliTRDCalibPadStatus.cxx:642
 AliTRDCalibPadStatus.cxx:643
 AliTRDCalibPadStatus.cxx:644
 AliTRDCalibPadStatus.cxx:645
 AliTRDCalibPadStatus.cxx:646
 AliTRDCalibPadStatus.cxx:647
 AliTRDCalibPadStatus.cxx:648
 AliTRDCalibPadStatus.cxx:649
 AliTRDCalibPadStatus.cxx:650
 AliTRDCalibPadStatus.cxx:651
 AliTRDCalibPadStatus.cxx:652
 AliTRDCalibPadStatus.cxx:653
 AliTRDCalibPadStatus.cxx:654
 AliTRDCalibPadStatus.cxx:655
 AliTRDCalibPadStatus.cxx:656
 AliTRDCalibPadStatus.cxx:657
 AliTRDCalibPadStatus.cxx:658
 AliTRDCalibPadStatus.cxx:659
 AliTRDCalibPadStatus.cxx:660
 AliTRDCalibPadStatus.cxx:661
 AliTRDCalibPadStatus.cxx:662
 AliTRDCalibPadStatus.cxx:663
 AliTRDCalibPadStatus.cxx:664
 AliTRDCalibPadStatus.cxx:665
 AliTRDCalibPadStatus.cxx:666
 AliTRDCalibPadStatus.cxx:667
 AliTRDCalibPadStatus.cxx:668
 AliTRDCalibPadStatus.cxx:669
 AliTRDCalibPadStatus.cxx:670
 AliTRDCalibPadStatus.cxx:671
 AliTRDCalibPadStatus.cxx:672
 AliTRDCalibPadStatus.cxx:673
 AliTRDCalibPadStatus.cxx:674
 AliTRDCalibPadStatus.cxx:675
 AliTRDCalibPadStatus.cxx:676
 AliTRDCalibPadStatus.cxx:677
 AliTRDCalibPadStatus.cxx:678
 AliTRDCalibPadStatus.cxx:679
 AliTRDCalibPadStatus.cxx:680
 AliTRDCalibPadStatus.cxx:681
 AliTRDCalibPadStatus.cxx:682
 AliTRDCalibPadStatus.cxx:683
 AliTRDCalibPadStatus.cxx:684
 AliTRDCalibPadStatus.cxx:685
 AliTRDCalibPadStatus.cxx:686
 AliTRDCalibPadStatus.cxx:687
 AliTRDCalibPadStatus.cxx:688
 AliTRDCalibPadStatus.cxx:689
 AliTRDCalibPadStatus.cxx:690
 AliTRDCalibPadStatus.cxx:691
 AliTRDCalibPadStatus.cxx:692
 AliTRDCalibPadStatus.cxx:693
 AliTRDCalibPadStatus.cxx:694
 AliTRDCalibPadStatus.cxx:695
 AliTRDCalibPadStatus.cxx:696
 AliTRDCalibPadStatus.cxx:697
 AliTRDCalibPadStatus.cxx:698
 AliTRDCalibPadStatus.cxx:699
 AliTRDCalibPadStatus.cxx:700
 AliTRDCalibPadStatus.cxx:701
 AliTRDCalibPadStatus.cxx:702
 AliTRDCalibPadStatus.cxx:703
 AliTRDCalibPadStatus.cxx:704
 AliTRDCalibPadStatus.cxx:705
 AliTRDCalibPadStatus.cxx:706
 AliTRDCalibPadStatus.cxx:707
 AliTRDCalibPadStatus.cxx:708
 AliTRDCalibPadStatus.cxx:709
 AliTRDCalibPadStatus.cxx:710
 AliTRDCalibPadStatus.cxx:711
 AliTRDCalibPadStatus.cxx:712
 AliTRDCalibPadStatus.cxx:713
 AliTRDCalibPadStatus.cxx:714
 AliTRDCalibPadStatus.cxx:715
 AliTRDCalibPadStatus.cxx:716
 AliTRDCalibPadStatus.cxx:717
 AliTRDCalibPadStatus.cxx:718
 AliTRDCalibPadStatus.cxx:719
 AliTRDCalibPadStatus.cxx:720
 AliTRDCalibPadStatus.cxx:721
 AliTRDCalibPadStatus.cxx:722
 AliTRDCalibPadStatus.cxx:723
 AliTRDCalibPadStatus.cxx:724
 AliTRDCalibPadStatus.cxx:725
 AliTRDCalibPadStatus.cxx:726
 AliTRDCalibPadStatus.cxx:727
 AliTRDCalibPadStatus.cxx:728
 AliTRDCalibPadStatus.cxx:729
 AliTRDCalibPadStatus.cxx:730
 AliTRDCalibPadStatus.cxx:731
 AliTRDCalibPadStatus.cxx:732
 AliTRDCalibPadStatus.cxx:733
 AliTRDCalibPadStatus.cxx:734
 AliTRDCalibPadStatus.cxx:735
 AliTRDCalibPadStatus.cxx:736
 AliTRDCalibPadStatus.cxx:737
 AliTRDCalibPadStatus.cxx:738
 AliTRDCalibPadStatus.cxx:739
 AliTRDCalibPadStatus.cxx:740
 AliTRDCalibPadStatus.cxx:741
 AliTRDCalibPadStatus.cxx:742
 AliTRDCalibPadStatus.cxx:743
 AliTRDCalibPadStatus.cxx:744
 AliTRDCalibPadStatus.cxx:745
 AliTRDCalibPadStatus.cxx:746
 AliTRDCalibPadStatus.cxx:747
 AliTRDCalibPadStatus.cxx:748
 AliTRDCalibPadStatus.cxx:749
 AliTRDCalibPadStatus.cxx:750
 AliTRDCalibPadStatus.cxx:751
 AliTRDCalibPadStatus.cxx:752
 AliTRDCalibPadStatus.cxx:753
 AliTRDCalibPadStatus.cxx:754
 AliTRDCalibPadStatus.cxx:755
 AliTRDCalibPadStatus.cxx:756
 AliTRDCalibPadStatus.cxx:757
 AliTRDCalibPadStatus.cxx:758
 AliTRDCalibPadStatus.cxx:759
 AliTRDCalibPadStatus.cxx:760
 AliTRDCalibPadStatus.cxx:761
 AliTRDCalibPadStatus.cxx:762
 AliTRDCalibPadStatus.cxx:763
 AliTRDCalibPadStatus.cxx:764
 AliTRDCalibPadStatus.cxx:765
 AliTRDCalibPadStatus.cxx:766
 AliTRDCalibPadStatus.cxx:767
 AliTRDCalibPadStatus.cxx:768
 AliTRDCalibPadStatus.cxx:769
 AliTRDCalibPadStatus.cxx:770
 AliTRDCalibPadStatus.cxx:771
 AliTRDCalibPadStatus.cxx:772
 AliTRDCalibPadStatus.cxx:773
 AliTRDCalibPadStatus.cxx:774
 AliTRDCalibPadStatus.cxx:775
 AliTRDCalibPadStatus.cxx:776
 AliTRDCalibPadStatus.cxx:777
 AliTRDCalibPadStatus.cxx:778
 AliTRDCalibPadStatus.cxx:779
 AliTRDCalibPadStatus.cxx:780
 AliTRDCalibPadStatus.cxx:781
 AliTRDCalibPadStatus.cxx:782
 AliTRDCalibPadStatus.cxx:783
 AliTRDCalibPadStatus.cxx:784
 AliTRDCalibPadStatus.cxx:785
 AliTRDCalibPadStatus.cxx:786
 AliTRDCalibPadStatus.cxx:787
 AliTRDCalibPadStatus.cxx:788
 AliTRDCalibPadStatus.cxx:789
 AliTRDCalibPadStatus.cxx:790
 AliTRDCalibPadStatus.cxx:791
 AliTRDCalibPadStatus.cxx:792
 AliTRDCalibPadStatus.cxx:793
 AliTRDCalibPadStatus.cxx:794
 AliTRDCalibPadStatus.cxx:795
 AliTRDCalibPadStatus.cxx:796
 AliTRDCalibPadStatus.cxx:797
 AliTRDCalibPadStatus.cxx:798
 AliTRDCalibPadStatus.cxx:799
 AliTRDCalibPadStatus.cxx:800
 AliTRDCalibPadStatus.cxx:801
 AliTRDCalibPadStatus.cxx:802
 AliTRDCalibPadStatus.cxx:803
 AliTRDCalibPadStatus.cxx:804
 AliTRDCalibPadStatus.cxx:805
 AliTRDCalibPadStatus.cxx:806
 AliTRDCalibPadStatus.cxx:807
 AliTRDCalibPadStatus.cxx:808
 AliTRDCalibPadStatus.cxx:809
 AliTRDCalibPadStatus.cxx:810
 AliTRDCalibPadStatus.cxx:811
 AliTRDCalibPadStatus.cxx:812
 AliTRDCalibPadStatus.cxx:813
 AliTRDCalibPadStatus.cxx:814
 AliTRDCalibPadStatus.cxx:815
 AliTRDCalibPadStatus.cxx:816
 AliTRDCalibPadStatus.cxx:817
 AliTRDCalibPadStatus.cxx:818
 AliTRDCalibPadStatus.cxx:819
 AliTRDCalibPadStatus.cxx:820
 AliTRDCalibPadStatus.cxx:821
 AliTRDCalibPadStatus.cxx:822
 AliTRDCalibPadStatus.cxx:823
 AliTRDCalibPadStatus.cxx:824
 AliTRDCalibPadStatus.cxx:825
 AliTRDCalibPadStatus.cxx:826
 AliTRDCalibPadStatus.cxx:827
 AliTRDCalibPadStatus.cxx:828
 AliTRDCalibPadStatus.cxx:829
 AliTRDCalibPadStatus.cxx:830
 AliTRDCalibPadStatus.cxx:831
 AliTRDCalibPadStatus.cxx:832
 AliTRDCalibPadStatus.cxx:833
 AliTRDCalibPadStatus.cxx:834
 AliTRDCalibPadStatus.cxx:835
 AliTRDCalibPadStatus.cxx:836
 AliTRDCalibPadStatus.cxx:837
 AliTRDCalibPadStatus.cxx:838
 AliTRDCalibPadStatus.cxx:839
 AliTRDCalibPadStatus.cxx:840
 AliTRDCalibPadStatus.cxx:841
 AliTRDCalibPadStatus.cxx:842
 AliTRDCalibPadStatus.cxx:843
 AliTRDCalibPadStatus.cxx:844
 AliTRDCalibPadStatus.cxx:845
 AliTRDCalibPadStatus.cxx:846
 AliTRDCalibPadStatus.cxx:847
 AliTRDCalibPadStatus.cxx:848
 AliTRDCalibPadStatus.cxx:849
 AliTRDCalibPadStatus.cxx:850
 AliTRDCalibPadStatus.cxx:851
 AliTRDCalibPadStatus.cxx:852
 AliTRDCalibPadStatus.cxx:853
 AliTRDCalibPadStatus.cxx:854
 AliTRDCalibPadStatus.cxx:855
 AliTRDCalibPadStatus.cxx:856
 AliTRDCalibPadStatus.cxx:857
 AliTRDCalibPadStatus.cxx:858
 AliTRDCalibPadStatus.cxx:859
 AliTRDCalibPadStatus.cxx:860
 AliTRDCalibPadStatus.cxx:861