ROOT logo
#ifndef ALIPMDCALIBGAIN_H
#define ALIPMDCALIBGAIN_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

#include "TObject.h"

class TH1F;  
class AliRawReader;

class AliPMDCalibGain : public TObject
{
 public:
  AliPMDCalibGain() ;              // ctor
  AliPMDCalibGain(const AliPMDCalibGain &pmdcalibgain);  // copy constructor
  AliPMDCalibGain &operator=(const AliPMDCalibGain &pmdcalibgain); // assignment op

  virtual ~AliPMDCalibGain() ;           // dtor

  Int_t ExtractPedestal(const Char_t *rootFile);    // pedestal 
  Int_t ExtractHotChannel(const Char_t *rootFile);  // Hotchannel root file 
  void  ReadTempFile(const Char_t *tempFile);       // read inter file
  void  WriteTempFile(const Char_t *tempFile);      // write inter file

  Bool_t ProcessEvent(AliRawReader *rawReader, TObjArray *pmdddlcont);  //Looks for iso cells

  void Analyse(TTree *gaintree, TTree *meantree);
  void FindHotCell(TTree *hottree, Float_t xvar); // finds hot cell
  
 private:

  enum
      {
	  kDet    = 2,   // Number of Planes
	  kMaxSMN = 24,  // Number of Modules per plane
	  kMaxRow = 48,  // Number of Rows
	  kMaxCol = 96   // Number of Columns
      };

  Float_t fSMIso[kDet][kMaxSMN];
  Float_t fSMCount[kDet][kMaxSMN];                     // counter
  Float_t fCellIso[kDet][kMaxSMN][kMaxRow][kMaxCol];   // adc of iso cells
  Float_t fCellCount[kDet][kMaxSMN][kMaxRow][kMaxCol]; // counter of iso cell
  Float_t fNhitCell[kDet][kMaxSMN][kMaxRow][kMaxCol];  // counter
  Float_t fPedMeanRMS[kDet][kMaxSMN][kMaxRow][kMaxCol];// Pedestal Mean
  Float_t fHotFlag[kDet][kMaxSMN][kMaxRow][kMaxCol];   // HotChannel Flag 
   
  Float_t fCountSm[kDet][kMaxSMN];     // event counter for each module
  Float_t fTempnhit[kDet][kMaxSMN];    // hit frequency of each module
  Float_t fTempnhitSq[kDet][kMaxSMN];  // square of hit freq. of each mod.
  FILE    *fpw;                        // write the temp file

ClassDef(AliPMDCalibGain,7)            // description 
};
#endif // ALIPMDCALIBGAIN_H
 AliPMDCalibGain.h:1
 AliPMDCalibGain.h:2
 AliPMDCalibGain.h:3
 AliPMDCalibGain.h:4
 AliPMDCalibGain.h:5
 AliPMDCalibGain.h:6
 AliPMDCalibGain.h:7
 AliPMDCalibGain.h:8
 AliPMDCalibGain.h:9
 AliPMDCalibGain.h:10
 AliPMDCalibGain.h:11
 AliPMDCalibGain.h:12
 AliPMDCalibGain.h:13
 AliPMDCalibGain.h:14
 AliPMDCalibGain.h:15
 AliPMDCalibGain.h:16
 AliPMDCalibGain.h:17
 AliPMDCalibGain.h:18
 AliPMDCalibGain.h:19
 AliPMDCalibGain.h:20
 AliPMDCalibGain.h:21
 AliPMDCalibGain.h:22
 AliPMDCalibGain.h:23
 AliPMDCalibGain.h:24
 AliPMDCalibGain.h:25
 AliPMDCalibGain.h:26
 AliPMDCalibGain.h:27
 AliPMDCalibGain.h:28
 AliPMDCalibGain.h:29
 AliPMDCalibGain.h:30
 AliPMDCalibGain.h:31
 AliPMDCalibGain.h:32
 AliPMDCalibGain.h:33
 AliPMDCalibGain.h:34
 AliPMDCalibGain.h:35
 AliPMDCalibGain.h:36
 AliPMDCalibGain.h:37
 AliPMDCalibGain.h:38
 AliPMDCalibGain.h:39
 AliPMDCalibGain.h:40
 AliPMDCalibGain.h:41
 AliPMDCalibGain.h:42
 AliPMDCalibGain.h:43
 AliPMDCalibGain.h:44
 AliPMDCalibGain.h:45
 AliPMDCalibGain.h:46
 AliPMDCalibGain.h:47
 AliPMDCalibGain.h:48
 AliPMDCalibGain.h:49
 AliPMDCalibGain.h:50
 AliPMDCalibGain.h:51
 AliPMDCalibGain.h:52
 AliPMDCalibGain.h:53
 AliPMDCalibGain.h:54
 AliPMDCalibGain.h:55