Obsolete classes removed
authorkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Jun 2009 16:24:37 +0000 (16:24 +0000)
committerkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Jun 2009 16:24:37 +0000 (16:24 +0000)
25 files changed:
PHOS/AliPHOSBeamTestEvent.cxx [deleted file]
PHOS/AliPHOSBeamTestEvent.h [deleted file]
PHOS/AliPHOSCalibrManager.cxx [deleted file]
PHOS/AliPHOSCalibrManager.h [deleted file]
PHOS/AliPHOSCalibrationDB.cxx [deleted file]
PHOS/AliPHOSCalibrationDB.h [deleted file]
PHOS/AliPHOSCalibrationData.cxx [deleted file]
PHOS/AliPHOSCalibrationData.h [deleted file]
PHOS/AliPHOSCalibrator.cxx [deleted file]
PHOS/AliPHOSCalibrator.h [deleted file]
PHOS/AliPHOSClusterizerv1.cxx
PHOS/AliPHOSConTableDB.cxx [deleted file]
PHOS/AliPHOSConTableDB.h [deleted file]
PHOS/AliPHOSLoader.cxx
PHOS/AliPHOSLoader.h
PHOS/AliPHOSOnlineMonitor.cxx [deleted file]
PHOS/AliPHOSOnlineMonitor.h [deleted file]
PHOS/AliPHOSRaw2Digits.cxx [deleted file]
PHOS/AliPHOSRaw2Digits.h [deleted file]
PHOS/AliPHOSRawStream2004.cxx [deleted file]
PHOS/AliPHOSRawStream2004.h [deleted file]
PHOS/PHOSbaseLinkDef.h
PHOS/PHOSsimLinkDef.h
PHOS/libPHOSbase.pkg
PHOS/libPHOSsim.pkg

diff --git a/PHOS/AliPHOSBeamTestEvent.cxx b/PHOS/AliPHOSBeamTestEvent.cxx
deleted file mode 100644 (file)
index ad88cc1..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-//_________________________________________________________________________
-// Class for PHOS Beam Test event header. 
-// Contains PHOS specific information 
-//  about triggers, cristal temperature etc.
-//  This class attached as a branch to TreeE 
-//  and used mainly to keep trigger pattern for current event.    
-// 
-//*-- Author : Maxim Volkov (RRC KI) & Dmitri Peressounko (RRC KI & SUBATECH) 
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-
-#include "AliPHOSBeamTestEvent.h"
-
-ClassImp(AliPHOSBeamTestEvent)
-
-
-//____________________________________________________________________________ 
-AliPHOSBeamTestEvent::AliPHOSBeamTestEvent():
-  fBeamEnergy(0.),
-  fPattern(0)
-{
-//Nothig should be set by default.
-}
-
-//____________________________________________________________________________ 
-  AliPHOSBeamTestEvent::~AliPHOSBeamTestEvent()
-{
-
-}
diff --git a/PHOS/AliPHOSBeamTestEvent.h b/PHOS/AliPHOSBeamTestEvent.h
deleted file mode 100644 (file)
index a2803bf..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef ALIPHOSBEAMTESTEVENT_H
-#define ALIPHOSBEAMTESTEVENT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-//_________________________________________________________________________
-//  Class for PHOS Beam Test event header. Contanes all information 
-//  about triggers, temperature of cristals etc.    
-//                  
-//*-- Author: Maxim Volkov (RRC KI) & Dmitri Peressounko (RRC KI & SUBATECH)
-
-
-// --- ROOT system ---
-#include "TObject.h"
-// --- Standard library ---
-
-// --- AliRoot header files ---
-
-class AliPHOSBeamTestEvent:public TObject {
-
-public:
-  AliPHOSBeamTestEvent() ;          // ctor
-
-  virtual ~AliPHOSBeamTestEvent() ; // dtor
-
-  Float_t   GetBeamEnergy(void) const {return fBeamEnergy ;}
-   //energy of the beam used in calibration (if available)
-  UInt_t *  GetUserVector(void)       {return fUserVector ;}
-  UInt_t *  GetHeader(void)           {return fHeader ;}
-  UShort_t  GetPattern(void) const    {return fPattern ;}
-   //Trigger pattern: pedestal, pulser, real event etc.
-  UShort_t *GetScanning(void)         {return fScanning ;}
-  UShort_t *GetCharge(void)           {return fCharge ;}
-  UInt_t *  GetScaler(void)           {return fScaler ;}
-  UShort_t *GetTDC(void)              {return fTDC2228 ;}
-
-  void SetBeamEnergy(Float_t energy ){fBeamEnergy = energy ;}
-  void SetUserVector(UInt_t * uv){
-         for(Int_t i=0;i<16;i++)fUserVector[i]=uv[i];}
-  void SetHeader(UInt_t * h){
-         for(Int_t i=0;i<12;i++)fHeader[i]=h[i];}
-  void SetPattern(UShort_t pat){fPattern=pat ;}
-  void SetScanning(UShort_t * scan){
-        for(Int_t i=0;i<32;i++) fScanning[i]=scan[i] ;}
-  void SetCharge(UShort_t *charg){
-         for(Int_t i=0;i<12;i++) fCharge[i]=charg[i] ;}
-  void SetScaler(UInt_t * sc){
-        for(Int_t i=0;i<12;i++) fScaler[i]=sc[i] ;}
-  void SetTDC(UShort_t * tdc) {
-         for(Int_t i=0;i<12;i++) fTDC2228[i]=tdc[i] ;}
-private:
-  Float_t  fBeamEnergy ;         //Beam energy 
-  UInt_t   fUserVector[16] ;     //ZEBRA Event user vector
-  UInt_t   fHeader[12] ;         //ZEBRA event header
-  UInt_t   fScaler[12] ;         //Scalers, 1 module X 12 (4 byte) ch.
-  UShort_t fPattern ;            //Trigger bit register
-  UShort_t fScanning[32] ;       //Scanning ADCs,4 modulesX8=32 channels
-  UShort_t fCharge[12] ;         //Charge ADCs, 1 module X 12 = 12 ch.
-  UShort_t fTDC2228[32] ;        //LeCroy TDC 2228A, 4 module X 8 =32 ch
-
-  ClassDef(AliPHOSBeamTestEvent,1)  // description 
-
-};
-
-#endif // ALIPHOSBEAMTESTEVENT_H
diff --git a/PHOS/AliPHOSCalibrManager.cxx b/PHOS/AliPHOSCalibrManager.cxx
deleted file mode 100644 (file)
index 26eb334..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-//_________________________________________________________________________
-// Class provides interface between classes 
-// consuming/producing calibration data, 
-// such as AliPHOSClusterizer and AliPHOSCalibrator
-// from one side and database (now just a root file, 
-// later  - AliEn etc.)
-// Use case: 
-//  First Manager should be configured so that is reads data 
-//  from a given source. e.g. from a root file:
-//   AliPHOSCalibrManager * m = AliPHOSCalibrManager::GetInstance("MyCalibrationRootFile.root") ;
-//  After that one can real/write data to this source:
-//  AliPHOSCalibrationData mydata("Gains","v1") ;
-//  ......
-//  m->Write(&mydata) ;
-//  AliPHOSCalibrationData myanotherdata("Gains","v2") ;
-//  m->ReadFromRoot(&myanotherdata) ;
-//
-//*-- Author :  D.Peressounko (RRC KI & SUBATECH) 
-//////////////////////////////////////////////////////////////////////////////
-
-
-// --- ROOT system ---
-#include "TROOT.h"
-#include "TKey.h"
-#include "TFile.h"
-
-// --- Standard library ---
-#include <fstream> 
-
-// --- AliRoot header files ---
-#include "AliLog.h"  
-#include "AliPHOSConTableDB.h"
-#include "AliPHOSCalibrManager.h"
-#include "AliPHOSCalibrationData.h"
-ClassImp(AliPHOSCalibrManager)
-
-  
-  AliPHOSCalibrManager * AliPHOSCalibrManager::fgCaMa = 0 ;
-//____________________________________________________________________________ 
-AliPHOSCalibrManager::AliPHOSCalibrManager() : 
-  fFileName(""),
-  fInputKind(0),
-  fctdb(0)
-{
-  // default ctor: not to be used
-  AliFatal(Form("Should not be used")) ;
-}
-//____________________________________________________________________________ 
-AliPHOSCalibrManager::AliPHOSCalibrManager(const char* filename,const char * kind ):
-  TNamed("AliPHOSCalibrManager",filename),
-  fFileName(filename),
-  fInputKind(0),
-  fctdb(0)
-{
-  if(strcmp(kind,"root")==0){
-    fInputKind = 0 ;
-  }
-  else{
-    fInputKind = 1 ;
-  }
-} 
-
-//____________________________________________________________________________ 
-AliPHOSCalibrManager::AliPHOSCalibrManager(const AliPHOSCalibrManager & manager) : 
-  TNamed(manager), 
-  fFileName(""),
-  fInputKind(0),
-  fctdb(0)
-{
-  // cpy ctor: no need
-  // requested by the Coding Convention
-  Fatal("cpy ctor", "not implemented") ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSCalibrManager::~AliPHOSCalibrManager()
-{
-  //dtor
-  if(fInputKind==0){
-    TFile * f = gROOT->GetFile(fFileName) ;
-    if(f && f->IsOpen())
-      f->Close() ;
-  }
-}
-//____________________________________________________________________________ 
-AliPHOSCalibrManager * AliPHOSCalibrManager::GetInstance(void)
-{ 
-  // gets the instance of the unique object
-  return fgCaMa ;
-}
-//____________________________________________________________________________ 
-AliPHOSCalibrManager * AliPHOSCalibrManager::GetInstance(const char* filename,const char * kind)
-{
-  // Opens source (now only root file) and
-  // returns the instance of the unique object
-  
-  if(!fgCaMa)
-    fgCaMa = new AliPHOSCalibrManager(filename,kind) ;
-  else{
-    if(strcmp(filename,fgCaMa->fFileName.Data())){
-      //Close previous file, construct new Manager
-      delete fgCaMa ;
-      fgCaMa = new AliPHOSCalibrManager(filename,kind) ;
-    }
-  }
-  return fgCaMa ;       
-}
-//____________________________________________________________________________
-void AliPHOSCalibrManager::GetParameters(AliPHOSCalibrationData &data){ 
-  if(fInputKind == 0){
-    ReadFromRoot(data) ;
-  }
-  else{
-    ReadFromASCII(data) ;
-  }
-}
-//____________________________________________________________________________
-void AliPHOSCalibrManager::ReadFromASCII(AliPHOSCalibrationData &data){
-  // We read pedestals and gains from *.dat file with following format:
-  //   0       0       0       0       37.09   1972.   // next nmodrows*nmodcols*ncryrows*ncrycols lines
-  //   0       0       0       1       28.53   2072.   // contains <RR CC r c ped peak>
-  //   0       0       0       2       30.93   1938.   //
-  // where module is an array of 8*8 crystals and RR and CC are module raw and column position 
-
-  if(!fctdb){
-    AliError(Form("Specify Connections Table Database first")) ;
-    return ;
-  }
-  
-  FILE * file = fopen(fFileName, "r");
-  if (!file) {
-    Error("ReadFromASCII", "could not open file %s", fFileName.Data());
-    return;
-  }
-  
-  Bool_t isPed = kFALSE ;
-  if(strcmp(data.GetCategory(),"Pedestals")==0){
-    isPed = 1 ;
-  }
-  else{
-    if(strcmp(data.GetCategory(),"Gains")){
-      Error("ReadFromASCII","Unknown data category: %s",data.GetCategory()) ;
-      return ;
-    }
-  }
-  
-  Int_t modRaw,modCol,raw,col;
-  Float_t ped,pik;
-  Int_t nread = 0 ;
-  while(fscanf(file,"%d %d %d %d %f %f",&modRaw,&modCol,&raw,&col,&ped,&pik)==6){
-    //Calculate plain crystal position:
-    Int_t rawPosition = (modRaw*8+raw)*fctdb->GetNColumns()+modCol*8+col ;
-    Int_t absId =  fctdb->Raw2AbsId(rawPosition);
-    if(isPed){
-      data.SetData(absId,ped) ;
-    }
-    else{
-      if(pik!=0.)
-       data.SetData(absId,1./pik);
-      else
-       data.SetData(absId,0.);
-    }
-    nread++ ;
-  }    
-  if(nread != fctdb->GetNColumns()*fctdb->GetNRaws()){
-    Error("ReadFromASCII","Read %d parameters instead of %d\n",nread,fctdb->GetNColumns()*fctdb->GetNRaws()) ;
-  }
-  fclose(file) ;
-  
-}
-//____________________________________________________________________________
-void AliPHOSCalibrManager::ReadFromRoot(AliPHOSCalibrationData & data)
-{
-  //reads calibration parameters from root file
-  
-  //construct name
-  TString searchname(data.GetCategory()) ;
-  searchname+='_' ;
-  searchname+=data.GetVersion() ;
-  TFile * file = gROOT->GetFile(fFileName) ;
-  if(!file || !file->IsOpen())
-    file = TFile::Open(fFileName) ;
-  if(!file->IsOpen()){
-    AliError(Form("Can not open file %s\n",fFileName.Data() )) ;
-    return ;
-  }
-
-  AliPHOSCalibrationData * tmp = dynamic_cast<AliPHOSCalibrationData*>(file->Get(searchname) ) ;
-  if(!tmp)
-    Error("ReadFromRoot","there is no data %s in file %s",fFileName.Data(),fFileName.Data()) ;
-  else
-    data=(*tmp);
-  
-
-//   TList * list = file->GetListOfKeys() ;
-//   TIter next(list) ;
-//   TKey * key ;
-//   while((key=((TKey*)next()))){
-//     TString kname(key->GetName()) ;
-//     if(kname.BeginsWith(searchname)){
-//       TString sbegin = kname(searchname.Sizeof()-1,
-//                          kname.Last('_')-searchname.Sizeof()+1) ;
-//       TString send   = kname(kname.Last('_')+1,kname.Sizeof()) ;
-//       Int_t begin,end ;
-//       if(sscanf(sbegin.Data(),"%d",&begin) && 
-//      sscanf(send.Data(),"%d",&end)){
-//     if(begin<=run && end >=run){
-//       data=(*dynamic_cast<AliPHOSCalibrationData*>(file->Get(key->GetName()) ));
-//       return ;
-//     }
-//       }
-//     }
-//   }
-//   Error("ReadFromRoot","Can not find key %s for run %d in file %s \n",searchname.Data(),run,fFileName.Data()) ;
-}
-//____________________________________________________________________________
-void AliPHOSCalibrManager::WriteData(AliPHOSCalibrationData &data)
-{
-  //Writes data
-  TFile * file = gROOT->GetFile(fFileName) ;
-  if(!file || !file->IsOpen()){
-    file = TFile::Open(fFileName,"UPDATE") ;
-    if(!file->IsOpen()){
-      AliError(Form("Can not open file %s\n",fFileName.Data() )) ;
-      return ;
-     }
-  }
-  file->cd() ;
-  TString kname(data.GetCategory()) ;
-  kname+='_';
-  kname+=data.GetVersion() ;
-//   kname+='_';
-//   Int_t begin,end ;
-//   data->GetValidityRange(begin,end) ;
-//   kname+=begin ;
-//   kname+='_' ;
-//   kname+=end ;
-  data.Write(kname,TObject::kOverwrite) ;
-  
-}
-//____________________________________________________________________________
-AliPHOSCalibrManager& AliPHOSCalibrManager::operator=(AliPHOSCalibrManager const & cdb)
-{
-  //overloads = operator
-  fFileName = cdb.fFileName;
-  return *this ;
-}
diff --git a/PHOS/AliPHOSCalibrManager.h b/PHOS/AliPHOSCalibrManager.h
deleted file mode 100644 (file)
index ba50660..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef ALIPHOSCALIBRMANAGER_H
-#define ALIPHOSCALIBRMANAGER_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-
-
-//_________________________________________________________________________    
-//                  
-//*-- Author: D.Peressounko (RRC KI & SUBATECH)
-
-
-// --- ROOT system ---
-#include "TNamed.h"
-#include "TString.h" 
-class TArrayF ; 
-// --- Standard library ---
-
-// --- AliRoot header files ---
-class AliPHOSConTableDB ;
-class AliPHOSCalibrationData ;
-
-class AliPHOSCalibrManager:public TNamed {
-
-public:
-  AliPHOSCalibrManager() ;          // ctor
-  AliPHOSCalibrManager(const AliPHOSCalibrManager & manager);
-  virtual ~AliPHOSCalibrManager() ; // dtor
-  static AliPHOSCalibrManager * GetInstance() ;
-  static AliPHOSCalibrManager * GetInstance(const char * filename,const char * kind = "root" ) ; 
-
-  void GetParameters(AliPHOSCalibrationData &data) ; 
-  
-  void SetConTable(AliPHOSConTableDB * ct){fctdb = ct ;}
-
-  void WriteData(AliPHOSCalibrationData &data) ;
-
-  AliPHOSCalibrManager & operator = (const AliPHOSCalibrManager & right) ;
-
-private:
-  //Read gains of pedestals from ascii file
-  void ReadFromASCII(AliPHOSCalibrationData & data) ;
-
-  void ReadFromRoot(AliPHOSCalibrationData &data) ;
-
-  AliPHOSCalibrManager(const char* filename,const char * kind = "root") ;          
-
-private:
-  TString   fFileName ;        //Name of file with calibration data
-  Int_t     fInputKind;        //Kind of input to read/write data
-  AliPHOSConTableDB * fctdb ;  //Connection table used to read from ASCII file
-  
-  static AliPHOSCalibrManager * fgCaMa ; // pointer to the unique instance of singleton
-           
-  ClassDef(AliPHOSCalibrManager,1)  // description 
-
-};
-
-#endif // AliPHOSCALIBRMANAGER_H
diff --git a/PHOS/AliPHOSCalibrationDB.cxx b/PHOS/AliPHOSCalibrationDB.cxx
deleted file mode 100644 (file)
index 780db78..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-//_________________________________________________________________________
-// Short description  
-//
-//*-- Author :  D.Peressounko (RRC KI & SUBATECH) 
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "AliLog.h"  
-#include "AliPHOSCalibrManager.h"
-#include "AliPHOSCalibrationDB.h"
-ClassImp(AliPHOSCalibrationDB)
-
-
-//____________________________________________________________________________ 
-  AliPHOSCalibrationDB::AliPHOSCalibrationDB():fPedestals(), fGains()
-{
-}
-//____________________________________________________________________________ 
-AliPHOSCalibrationDB::AliPHOSCalibrationDB(const char * database):
-  TNamed("AliPHOSCalibrationDB",database),fPedestals("Pedestals"),fGains("Gains"){
-
-} 
-//____________________________________________________________________________ 
-  AliPHOSCalibrationDB::~AliPHOSCalibrationDB()
-{
-}
-//____________________________________________________________________________ 
-Float_t AliPHOSCalibrationDB::Calibrate(Int_t amp, Int_t absId)const 
-{
-  //if absID is known, return calibrated energy, else - zero
-  Float_t ret = (amp - fPedestals.Data(absId))*fGains.Data(absId); 
-  if(ret > 0)
-    return ret ;
-  else
-    return 0.0000001 ; //Should not be zero - to avoid FPE
-}
-
-//____________________________________________________________________________
-void AliPHOSCalibrationDB::GetParameters(void){
-  //In this method we read calibration parameters using AliPHOSCalibrManager
-  //This manager should be configured to read from correct source.
-
-  AliPHOSCalibrManager * man = AliPHOSCalibrManager::GetInstance() ;
-  if(!man){
-    Error("GetParameters","AliPHOSCalibrManager not instanciated") ;
-    return ;
-  }
-
-
-  man->GetParameters(fPedestals) ;
-  man->GetParameters(fGains) ;
-}
-
-//____________________________________________________________________________
-AliPHOSCalibrationDB& AliPHOSCalibrationDB::operator=(AliPHOSCalibrationDB const & cdb)
-{
-  //
-  fPedestals=cdb.fPedestals ;
-  fGains = cdb.fGains;
-  return *this ;
-}
diff --git a/PHOS/AliPHOSCalibrationDB.h b/PHOS/AliPHOSCalibrationDB.h
deleted file mode 100644 (file)
index 781847c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef ALIPHOSCALIBRATIONDB_H
-#define ALIPHOSCALIBRATIONDB_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-//_________________________________________________________________________    
-//                  
-//*-- Author: D.Peressounko (RRC KI & SUBATECH)
-
-
-// --- ROOT system ---
-#include "TNamed.h"
-#include "TString.h" 
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "AliPHOSCalibrationData.h" 
-
-class AliPHOSCalibrationDB:public TNamed {
-
-public:
-  AliPHOSCalibrationDB() ;          // ctor
-  AliPHOSCalibrationDB(const char * database) ;
-  virtual ~AliPHOSCalibrationDB() ; // dtor
-
-  //Main method: calibrates if gains are known, otherwise - returns 0
-  Float_t Calibrate(Int_t amp, Int_t absId)const ;
-
-  //Get calibration parameters using AliPHOSCalibrManager
-  void GetParameters(void) ; 
-
-  AliPHOSCalibrationDB & operator = (const AliPHOSCalibrationDB & ) ;
-private:
-
-  AliPHOSCalibrationData fPedestals ;
-  AliPHOSCalibrationData fGains ;
-
-  ClassDef(AliPHOSCalibrationDB,1)  // description 
-
-};
-
-#endif // AliPHOSCALIBRATIONDB_H
diff --git a/PHOS/AliPHOSCalibrationData.cxx b/PHOS/AliPHOSCalibrationData.cxx
deleted file mode 100644 (file)
index 32c09ac..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/**************************************************************************
- * 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.                  *
- **************************************************************************/
-
-
-//_________________________________________________________________________
-// Calibration data class contains two arrays: 
-// data themselves and their quality (or possibility to check 
-// goodness of the data. 
-// There are two kinds of data in PHOS "Gains" and "Pedestals"
-// each of them have as well title and validity range to distinguish
-// different calibrations.
-//
-//*-- Author : D.Peressounko
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "AliPHOSCalibrationData.h"
-
-
-ClassImp(AliPHOSCalibrationData)
-
-
-//____________________________________________________________________________ 
-AliPHOSCalibrationData::AliPHOSCalibrationData():
-  fCategory(), 
-  fVersion(),
-  fData(0),
-  fDataCheck(0),
-  fBegin(0),
-  fEnd(0)
-{
-  // default ctor
-}
-
-//____________________________________________________________________________ 
-AliPHOSCalibrationData::AliPHOSCalibrationData(const char * category, const char * version, Int_t nchannels):
-  fCategory(category), 
-  fVersion(version),
-  fData(new TArrayF(nchannels)),
-  fDataCheck(new TArrayF(nchannels)),
-  fBegin(0),
-  fEnd(0)
-{
-  // ctor: sets up the calibration IO
-}
-
-//____________________________________________________________________________ 
-AliPHOSCalibrationData::AliPHOSCalibrationData(const AliPHOSCalibrationData & cd):
-  TObject(cd),
-  fCategory(cd.fCategory),
-  fVersion(cd.fVersion),
-  fData(new TArrayF(*cd.fData)),
-  fDataCheck(new TArrayF(*cd.fDataCheck)),
-  fBegin(cd.fBegin),
-  fEnd(cd.fEnd)
-{
-  //copy ctor
-}
-
-//____________________________________________________________________________ 
-  AliPHOSCalibrationData::~AliPHOSCalibrationData()
-{
-  // dtor: deletes the arrays
-  if(fData){
-    delete fData ;
-    fData=0 ;
-  }
-  if(fDataCheck){
-    delete fDataCheck ;
-    fDataCheck=0;
-  }
-}
-//____________________________________________________________________________ 
-Float_t AliPHOSCalibrationData::Data(Int_t channel)const 
-{
-  // returns calibration data for a given channel   
-  return fData->At(channel) ;
-}
-//____________________________________________________________________________ 
-Float_t AliPHOSCalibrationData::DataCheck(Int_t channel)const 
-{
-  // returns calibration data check for a given channel   
-  return fDataCheck->At(channel) ;
-}
-//____________________________________________________________________________ 
-AliPHOSCalibrationData & AliPHOSCalibrationData::operator = (const AliPHOSCalibrationData & rvalue)
-{ 
-  // overload of =
-  if(fData)
-    delete fData; 
-  fData      = new TArrayF(*rvalue.fData) ;
-  if(fDataCheck)
-    delete fDataCheck ;
-  fDataCheck = new TArrayF(*rvalue.fDataCheck) ;
-  fCategory=rvalue.fCategory; 
-  fVersion=rvalue.fVersion ; 
-  fBegin=rvalue.fBegin ;
-  fEnd = rvalue.fEnd ;
-  return *this ;
-}
diff --git a/PHOS/AliPHOSCalibrationData.h b/PHOS/AliPHOSCalibrationData.h
deleted file mode 100644 (file)
index c7057d7..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef ALIPHOSCALIBRATIONDATA_H
-#define ALIPHOSCALIBRATIONDATA_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-//_________________________________________________________________________
-//  Base Class for PHOS     
-//  for Calibration data                 
-//*-- Author:D.Peressounko
-
-
-// --- ROOT system ---
-#include "TArrayF.h"
-#include "TString.h"
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "TObject.h"
-
-class AliPHOSCalibrationData : public TObject {
-
-public:
-  AliPHOSCalibrationData() ;          // Default ctor (empty)
-  AliPHOSCalibrationData(const char* category, const char * version="v1" ,Int_t nchanels = 17920) ; 
-  AliPHOSCalibrationData(const AliPHOSCalibrationData & cd) ;
-  virtual ~AliPHOSCalibrationData() ;
-
-  virtual const char* GetSubsystem(void)const{return "PHOS" ;}
-  virtual const char* GetVersion(void)  const{return fVersion ;}
-  virtual const char* GetCategory(void) const {return fCategory ;} 
-  virtual void  GetValidityRange(Int_t &begin,Int_t &end) const {begin=fBegin;end=fEnd ;}
-  
-  Float_t Data(Int_t channel)const ;
-  Float_t DataCheck(Int_t channel) const ;
-  Int_t   NChannels(void){if(fData) return fData->GetSize() ;
-                          else return 0 ;}
-
-  void SetData(Int_t channel,Float_t data){fData->AddAt(data,channel); }
-  void SetData(TArrayF &array){if(fData) delete fData; fData=new TArrayF(array) ;} ;
-  void SetDataCheck(Int_t channel,Float_t check){fDataCheck->AddAt(check,channel) ;}
-  void SetDataCheck(TArrayF &array){if(fData) delete fDataCheck; fDataCheck=new TArrayF(array) ;} ;
-  void SetValidityRange(Int_t begin,Int_t end){fBegin=begin;fEnd=end;}
-
-  AliPHOSCalibrationData & operator = (const AliPHOSCalibrationData & rvalue) ;
-
-private:
-  TString fCategory; //e.g. Gains, Pedestals,...
-  TString fVersion ; //Version (title)
-  TArrayF * fData ;      //Data themself
-  TArrayF * fDataCheck ; //Parameter to check Data validity (e.g. width of pedestal peak)
-  Int_t   fBegin ; // validity period
-  Int_t   fEnd ;   // validity period
-
-  ClassDef(AliPHOSCalibrationData,1)  // description 
-
-};
-
-#endif // AliPHOSCALIBRATIONDATA_H
diff --git a/PHOS/AliPHOSCalibrator.cxx b/PHOS/AliPHOSCalibrator.cxx
deleted file mode 100644 (file)
index a33b6a5..0000000
+++ /dev/null
@@ -1,754 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-/* History of cvs commits:
- *
- * $Log$
- * Revision 1.12  2006/09/07 18:31:08  kharlov
- * Effective c++ corrections (T.Pocheptsov)
- *
- * Revision 1.11  2006/01/13 16:59:39  kharlov
- * Rename classes to read raw data 2004
- *
- * Revision 1.10  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
- */
-
-//_________________________________________________________________________
-// Class to calculate calibration parameters  from beam tests etc.
-//  First pass - one should calcuate pedestals, in the second pass - gains.
-//
-//     To calculate pedestals we scan pedestals events and fill histos for each
-//     channel. Then in each histo we find maximum and fit it with Gaussian in the 
-//     visinity of the maximum. Extracted mean and width of distribution are put into 
-//     resulting histogram which cheks results for 'reasonability'.
-//
-//     To evaluate gains: scans beam events and calculate gain in the cristall with 
-//     maximal energy deposition, assuming, that 90% of energy deposited in it. 
-//     For each channel separate histogramm is filled. When scan is finished, 
-//     these histograms are fitted with Gaussian and finds mean and width, which 
-//     are put in final histogram. Finaly gains are checked for deviation from mean. 
-
-//     Finally fills database.
-//
-// Use Case:
-//       AliPHOSCalibrator * c = new AliPHOSCalibrator("path/galice.root") ;
-//       c->AddRun("path2/galice.root") ; 
-//       c->ScanPedestals();
-//       c->CalculatePedestals();             
-//       c->WritePedestals();
-//       c->ScanGains() ;
-//       c->CalculateGains() ;
-//       c->WriteGains() ;
-//
-//*-- Author : D.Peressounko  (RRC KI) 
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-#include "TF1.h"
-#include "TFile.h"
-#include "TObjString.h"
-#include "TROOT.h"
-#include "TClonesArray.h"
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "AliLog.h"
-#include "AliPHOSCalibrManager.h"
-#include "AliPHOSCalibrationData.h"
-#include "AliPHOSCalibrator.h"
-#include "AliPHOSConTableDB.h"
-#include "AliRawReaderDate.h"
-#include "AliPHOSRawStream2004.h"
-#include "AliPHOSDigit.h"
-
-#include "AliRawEventHeaderBase.h"
-
-ClassImp(AliPHOSCalibrator)
-
-
-//____________________________________________________________________________ 
-AliPHOSCalibrator::AliPHOSCalibrator() :
-  TTask("AliPHOSCalibrator","Default"),
-  fRunList(0),
-  fPedHistos(0),
-  fGainHistos(0),
-  fhPedestals(0),
-  fhPedestalsWid(0),
-  fhGains(0),
-  fhGainsWid(0),
-  fctdb(0),
-  fConTableDB("Beamtest2002"),
-  fConTableDBFile("ConTableDB.root"),
-  fBeamEnergy(0),
-  fGainAcceptCorr(0),
-  fAcceptCorr(0),
-  fGainMax(0),
-  fNGainBins(0),
-  fNch(0),
-  fNChan(0)  
-{
-  //Default constuctor for root. Normally should not be used
-}
-
-//____________________________________________________________________________ 
-AliPHOSCalibrator::AliPHOSCalibrator(const char* file, const char* title):
-  TTask("AliPHOSCalibrator",title),
-  fRunList(new TList),
-  fPedHistos(0),
-  fGainHistos(0),
-  fhPedestals(0),
-  fhPedestalsWid(0),
-  fhGains(0),
-  fhGainsWid(0),
-  fctdb(0),
-  fConTableDB("Beamtest2002"),
-  fConTableDBFile("ConTableDB.root"),
-  fBeamEnergy(10.),
-  fGainAcceptCorr(5),
-  fAcceptCorr(10),
-  fGainMax(0.1),
-  fNGainBins(100),
-  fNch(0),
-  fNChan(100)
-
-{ 
-  //Constructor which should normally be used.
-  //file: path/galice.root  - header file
-  //title: branch name of PHOS reconstruction (e.g. "Default")
-  fRunList->SetOwner();
-  fRunList->Add(new TObjString(file));
-}
-
-//____________________________________________________________________________ 
-AliPHOSCalibrator::AliPHOSCalibrator(const AliPHOSCalibrator & ctor) : 
-  TTask(ctor),
-  fRunList(0),
-  fPedHistos(0),
-  fGainHistos(0),
-  fhPedestals(0),
-  fhPedestalsWid(0),
-  fhGains(0),
-  fhGainsWid(0),
-  fctdb(0),
-  fConTableDB("Beamtest2002"),
-  fConTableDBFile("ConTableDB.root"),
-  fBeamEnergy(0),
-  fGainAcceptCorr(0),
-  fAcceptCorr(0),
-  fGainMax(0),
-  fNGainBins(0),
-  fNch(0),
-  fNChan(0)  
-{
-  // cpy ctor: no implementation yet
-  // requested by the Coding Convention
-  Fatal("cpy ctor", "not implemented") ;
-}
-
-//____________________________________________________________________________ 
-  AliPHOSCalibrator::~AliPHOSCalibrator()
-{
-  // dtor
-  if(fPedHistos)
-    delete fPedHistos ;
-  if(fGainHistos)
-    delete fGainHistos ;
-  if(fhPedestals)
-    delete fhPedestals ;
-  if(fhPedestalsWid)
-    delete fhPedestalsWid ;
-  if(fctdb)
-    delete fctdb ;
-  if(fRunList)
-    delete fRunList ;
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::AddRun(const char * filename)
-{
-  //Adds one more run to list of runs, which will be scanned in ScanXXX methods
-  
-  TObjString * fn = new TObjString(filename) ;
-  if(!fRunList){
-    fRunList=new TList() ;
-    fRunList->SetOwner() ;
-    fRunList->Add(fn) ;
-    return ;
-  }
-  else{
-    TIter next(fRunList) ;
-    TObjString * r ;
-    while((r=(TObjString *)(next()))){
-      if(fn->String().CompareTo(r->String())==0){
-       AliError(Form("Run already in list: %s",filename)) ;
-       return ;
-      }
-    }
-    fRunList->Add(fn) ;
-  }
-  
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::Exec(Option_t * option)
-{
-  // reads parameters and does the calibration
-  ScanPedestals(option);
-  CalculatePedestals();             
-  WritePedestals();
-  ScanGains(option) ;
-  CalculateGains() ;
-  WriteGains() ;
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::Init(void)
-{
-  // intializes everything
-
-  //check if ConTableDB already read 
-  if(!fctdb){     
-    SetConTableDB(fConTableDBFile) ;
-  }
-
-  fNch = fctdb->GetNchanels() ;
-  fhPedestals   = new TH1F("hPedestals","Pedestals mean",fNch,0.,fNch) ;
-  fhPedestalsWid= new TH1F("hPedestalsWid","Pedestals width",fNch,0.,fNch) ;
-  fhGains       = new TH1F("hGains","Gains ",fNch,0.,fNch) ; 
-  fhGainsWid    = new TH1F("hGainsWid","Gains width",fNch,0.,fNch) ; 
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::SetConTableDB(const char * file,const char * name)
-{
-  //Reads Connection Table database with name "name" from file "file" 
-
-  if(file==0 || name == 0){
-    AliError(Form("Please, specify file with database and its title")) ;
-    return ;
-  }
-  if(fctdb && strcmp(fctdb->GetTitle(),name)==0) //already read
-    return ;
-
-  //else read new one
-  if(fctdb){
-    delete fctdb ;
-    fctdb = 0;
-  }
-
-  TFile * v = gROOT->GetFile(fConTableDBFile) ;
-  if(!v)
-    v = TFile::Open(fConTableDBFile) ;
-  if(!v){
-    AliError(Form("Can not open file with Connection Table DB: %s",fConTableDBFile.Data())) ;
-    return ;
-  }  
-  fctdb = new AliPHOSConTableDB(*(dynamic_cast<AliPHOSConTableDB *>(v->Get("AliPHOSConTableDB")))) ;
-  v->Close() ;
-  
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::PlotPedestal(Int_t chanel)
-{
-  //Plot histogram for a given channel, filled in Scan method
-  if(fPedHistos && fPedHistos->GetEntriesFast()){
-    static_cast<TH1F*>(fPedHistos->At(chanel))->Draw() ;
-  }
-  else{
-    AliInfo(Form("Histograms not created yet! \n")) ;
-  } 
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::PlotPedestals(void)
-{
-  // draws pedestals distribution
-  fhPedestals->Draw() ;
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::PlotGain(Int_t chanel)
-{
-  //Plot histogram for a given channel, filled in Scan method
-  if(fGainHistos && fGainHistos->GetEntriesFast()){
-    static_cast<TH1F*>(fGainHistos->At(chanel))->Draw() ;
-  }
-  else{
-    AliInfo(Form("Histograms not created yet! \n")) ;
-  } 
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::PlotGains(void)
-{
-  // draws gains distribution
-  fhGains->Draw() ;
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::ScanPedestals(Option_t * option )
-{
-  //scan all files in list fRunList and fill pedestal hisgrams
-  //option: "clear" - clear pedestal histograms filled up to now
-  //        "deb" - plot file name currently processed
-
-  if(!fctdb)
-    Init() ;
-
-  if(fPedHistos && strstr(option,"clear"))
-    fPedHistos->Delete() ;
-  if(!fPedHistos)
-    fPedHistos = new TObjArray(fNch) ;
-
-  //Create histos for each channel, fills them and extracts mean values.
-  //First - prepare histos
-  Int_t ich ;
-  for(ich=0;ich<fNch ;ich++){
-    TH1F * h = static_cast<TH1F *>(fPedHistos->At(ich)) ;
-    if(!h ){
-      TString n("hPed");
-      n+=ich ;
-      TString name("Pedestal for channel ") ;
-      name += ich ;
-      fPedHistos->AddAt(new TH1F(n,name,fNChan,0,fNChan),ich) ; 
-    }
-  }
-
-  TIter next(fRunList) ;
-  TObjString * file ;
-  while((file = static_cast<TObjString *>(next()))){
-    if(strstr(option,"deb"))
-      printf("Processing file %s \n ",file->String().Data()) ;
-    
-    //Now open data file
-    AliRawReaderDate *rawReader = new AliRawReaderDate(file->String().Data()) ; 
-    AliPHOSRawStream2004     *rawStream = new AliPHOSRawStream2004(rawReader) ;
-    rawStream->SetConTableDB(fctdb) ;
-    TClonesArray * digits = new TClonesArray("AliPHOSDigit",300) ;
-    Int_t nevents=0 ;
-    //Scan all event in file
-    while(rawReader->NextEvent()){
-      //Is it PHYSICAL event
-      if(rawReader->GetType() == AliRawEventHeaderBase::kPhysicsEvent){
-       nevents++ ;
-       if(rawStream->ReadDigits(digits)){
-         if(rawStream->IsPEDevent()){
-           for(Int_t idigit = 0; idigit<digits->GetEntriesFast() ;  idigit++){
-             AliPHOSDigit * digit = static_cast<AliPHOSDigit *>(digits->At(idigit) ) ;
-             ich = fctdb->AbsId2Raw(digit->GetId());
-             if(ich>=0){
-               Float_t amp = digit->GetAmp() ;
-               TH1F * hh = dynamic_cast<TH1F*>(fPedHistos->At(ich)) ;
-               hh->Fill(amp) ;
-             }
-           }
-         }
-       }
-      }
-    }
-    if(strstr(option,"deb"))
-      AliInfo(Form("   found %d events \n ",nevents)) ;
-    delete rawStream ;
-    delete rawReader ;
-    delete digits ;
-  } 
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::CalculatePedestals()
-{
-  //Fit histograms, filled in ScanPedestals method with Gaussian
-  //find mean and width, check deviation from mean for each channel.
-
-  if(!fPedHistos || !fPedHistos->At(0)){
-    AliError(Form("You should run ScanPedestals first!")) ;
-    return ;
-  }
-
-  //Now fit results with Gauss
-  TF1 * gs = new TF1("gs","gaus",0.,10000.) ;
-  Int_t ich ;
-  for(ich=0;ich<fNch ;ich++){
-    TH1F * h = static_cast<TH1F *>(fPedHistos->At(ich)) ;
-    Int_t max = h->GetMaximumBin() ;
-    Axis_t xmin = max/2. ;
-    Axis_t xmax = max*3/2 ;
-    gs->SetRange(xmin,xmax) ;
-    Double_t par[3] ;
-    par[0] = h->GetBinContent(max) ;
-    par[1] = max ;
-    par[2] = max/3 ;
-    gs->SetParameters(par[0],par[1],par[2]) ;
-    h->Fit("gs","QR") ;
-    gs->GetParameters(par) ;
-    fhPedestals->SetBinContent(ich,par[1]) ;
-    fhPedestals->SetBinError(ich,par[2]) ;
-    fhPedestalsWid->Fill(ich,par[2]) ;
-  }
-  delete gs ;
-
-  //now check reasonability of results
-  TF1 * p0 = new TF1("p0","pol0",0.,fNch) ;
-  fhPedestals->Fit("p0","Q") ;
-  Double_t meanPed ;
-  p0->GetParameters(&meanPed);
-  for(ich=0;ich<fNch ;ich++){
-    Float_t ped =  fhPedestals->GetBinContent(ich) ;
-    if(ped < 0  || ped > meanPed+fAcceptCorr){
-      TString out("Pedestal of channel ") ;
-      out+=ich ;     
-      out+=" is ";
-      out+= ped ;
-      out+= "it is too far from mean " ;
-      out+= meanPed ;
-      AliError(Form("PHOSCalibrator %s",out.Data())) ;
-    }
-  }
-  delete p0 ;
-    
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::ScanGains(Option_t * option)
-{
-  //Scan all runs, listed in fRunList and fill histograms for all channels
-  //options: "clear" - clean histograms, filled up to now
-  //         "deb" - print current file name
-  //         "narrow" - scan only narrow beam events
-
-  if(!fctdb)
-    Init() ;
-  if(fGainHistos && strstr(option,"clear"))
-    fGainHistos->Delete() ;
-  if(!fGainHistos){
-    if(strstr(option,"deball"))
-      AliInfo(Form("creating array for %d channels \n",fNch)) ;            
-    fGainHistos   = new TObjArray(fNch) ;
-  }
-
-  //Create histos for each channel, fills them and extracts mean values.
-  //First - prepare  histos
-
-  if(!fGainHistos->GetEntriesFast()){
-    Int_t ich ;
-    for(ich=0;ich<fNch ;ich++){   
-      TString n("hGain");
-      n+=ich ;
-      TString name("Gains for channel ") ;
-      name += ich ;
-      fGainHistos->AddAt(new TH1F(n,name,fNGainBins,0,fGainMax),ich) ; 
-      //      static_cast<TH1F*>(fGainHistos->At(ich))->Sumw2() ;
-    }
-  }
-
-  TIter next(fRunList) ;
-  TObjString * file ;
-  while((file = static_cast<TObjString *>(next()))){
-    //Now open data file
-    AliRawReaderDate *rawReader = new AliRawReaderDate(file->String().Data()) ; 
-    AliPHOSRawStream2004     *rawStream = new AliPHOSRawStream2004(rawReader) ;
-    rawStream->SetConTableDB(fctdb) ;
-  
-    TClonesArray * digits = new TClonesArray("AliPHOSDigit",300) ;
-    Int_t nevents=0 ;
-    //Scan all event in file
-    while(rawReader->NextEvent()){
-      //Is it PHYSICAL event
-      if(rawReader->GetType() == AliRawEventHeaderBase::kPhysicsEvent){
-       if(rawStream->ReadDigits(digits)){
-         //Test trigger
-         if(rawStream->IsNELevent() || rawStream->IsWELevent()){
-           nevents ++ ;
-           AliPHOSDigit * digit ;
-           Int_t max = 0 ;
-           Int_t imax = 0;
-           for(Int_t idigit = 0; idigit<digits->GetEntriesFast() ;  idigit++){
-             digit = static_cast<AliPHOSDigit *>(digits->At(idigit) ) ;
-             if(digit->GetAmp() > max){
-               imax = idigit ;
-               max = digit->GetAmp() ;
-             }
-           }
-           digit = static_cast<AliPHOSDigit *>(digits->At(imax) ) ;
-           Int_t ich = fctdb->AbsId2Raw(digit->GetId());
-           if(ich>=0){
-             Float_t pedestal = fhPedestals->GetBinContent(ich) ;
-             const Float_t kshowerInCrystall = 0.9 ;
-             Float_t gain = fBeamEnergy*kshowerInCrystall/
-               (digit->GetAmp() - pedestal) ;
-             static_cast<TH1F*>(fGainHistos->At(ich))->Fill(gain) ;
-           } 
-         }
-       }
-      }
-    }
-    delete rawReader ; 
-    delete rawStream ;
-    delete digits ;
-    if(strstr(option,"deb"))       
-      AliInfo(Form("   found %d events \n",nevents)) ;
-  }
-}   
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::CalculateGains(void)
-{
-  //calculates gain
-
-  if(!fGainHistos || !fGainHistos->GetEntriesFast()){
-    AliError(Form("You should run ScanGains first!")) ; 
-    return ;
-  }
-
-  //Fit results with Landau
-  TF1 * gs = new TF1("gs","landau",0.,10000.) ;
-  Int_t ich ;
-  for(ich=0;ich<fNch ;ich++){
-    TH1F * h = static_cast<TH1F *>(fGainHistos->At(ich)) ;
-    Int_t bmax = h->GetMaximumBin() ;
-    Axis_t center = h->GetBinCenter(bmax) ;
-    Axis_t xmin = center - 0.01 ;
-    Axis_t xmax = center + 0.02 ;
-    gs->SetRange(xmin,xmax) ;
-    Double_t par[3] ;
-    par[0] = h->GetBinContent(bmax) ;
-    par[1] = center ;
-    par[2] = 0.001 ;
-    gs->SetParameters(par[0],par[1],par[2]) ;
-    h->Fit("gs","QR") ;
-    gs->GetParameters(par) ;
-    fhGains->SetBinContent(ich,par[1]) ;
-    fhGains->SetBinError(ich,par[2]) ;
-    fhGainsWid->Fill(ich,par[2]) ;
-  }
-  delete gs ;
-
-  //now check reasonability of results
-  TF1 * p0 = new TF1("p0","pol0",0.,fNch) ;
-  fhGains->Fit("p0","Q") ;
-  Double_t meanGain ;
-  p0->GetParameters(&meanGain);
-  for(ich=0;ich<fNch ;ich++){
-    Float_t gain =  fhGains->GetBinContent(ich) ;
-    if(gain < meanGain/fGainAcceptCorr  || gain > meanGain*fGainAcceptCorr){
-      TString out("Gain of channel ") ;
-      out+=ich ;     
-      out+=" is ";
-      out+= gain ;
-      out+= "it is too far from mean " ;
-      out+= meanGain ;
-      AliError(Form("PHOSCalibrator %s",out.Data())) ;
-    }
-  }
-  delete p0 ;
-    
-}
-//____________________________________________________________________________ 
-void AliPHOSCalibrator::ReadFromASCII(const char * filename){
-// We read pedestals and gains from *.dat file with following format:
-//     0       0       0       0       37.09   1972.   // next nmodrows*nmodcols*ncryrows*ncrycols lines
-//     0       0       0       1       28.53   2072.   // contains <RR CC r c ped peak>
-//     0       0       0       2       30.93   1938.   //
-// where module is an array of 8*8 crystals and RR and CC are module raw and column position 
-  FILE * file = fopen(filename, "r");
-  if (!file) {
-    Error("ReadFromASCII", "could not open file %s", filename);
-    return;
-  }
-  if(!fctdb || !fhPedestals || !fhGains){
-    Init() ;
-  }
-  else{
-    //Clean Hitograms
-    Reset() ;
-  }
-
-  Int_t modRaw,modCol,raw,col;
-  Float_t ped,pik;
-  Int_t nread = 0 ;
-  while(fscanf(file,"%d %d %d %d %f %f",&modRaw,&modCol,&raw,&col,&ped,&pik)==6){
-    //Calculate plain crystal position:
-    Int_t rawPosition = (modRaw*8+raw)*fctdb->GetNColumns()+modCol*8+col ;
-    fhPedestals->SetBinContent(rawPosition,ped) ;
-    if(pik!=0.)
-      fhGains->SetBinContent(rawPosition,1./pik);
-    else
-      fhGains->SetBinContent(rawPosition,0.);
-    nread++ ;
-  }    
-  if(nread != fctdb->GetNColumns()*fctdb->GetNRaws()){
-    Error("ReadFromASCII","Read %d parameters instead of %d\n",nread,fctdb->GetNColumns()*fctdb->GetNRaws()) ;
-  }
-  fclose(file) ;
-}
-//_____________________________________________________________________________
-void AliPHOSCalibrator::WritePedestals(const char * version)
-{
-  //Write calculated data to file using AliPHOSCalibrManager
-  //version and validitirange (begin-end) will be used to identify data 
-
-  if(!fctdb){
-    AliError(Form("\n           Please, supply Connection Table DB (use SetConTableDB()) \n" )) ;
-    return ;
-  }
-  //fill data  
-  AliPHOSCalibrationData ped("Pedestals",version);
-  for(Int_t i=0; i<fNch;i++){
-    Int_t absid=fctdb->Raw2AbsId(i) ;
-    ped.SetData(absid,fhPedestals->GetBinContent(i)) ;
-    ped.SetDataCheck(absid,fhPedestalsWid->GetBinContent(i)) ;
-  }
-
-//   //evaluate validity range
-//   if(begin==0){
-//     TIter next(fRunList) ;
-//     Int_t ibegin=99999;
-//     Int_t iend=0 ;
-//     TObjString * file ;
-//     while((file=((TObjString*)next()))){
-//        TString s = file->GetString() ;
-//        TString ss = s(s.Last('_'),s.Last('.'));
-//        Int_t tmp ;
-//        if(sscanf(ss.Data(),"%d",&tmp)){
-//      if(ibegin<tmp)
-//        ibegin=tmp ;  
-//          if(iend>tmp)
-//        iend=tmp ;
-//        }
-//     } 
-//     ped.SetValidityRange(ibegin,iend) ;
-//   }
-//   else        
-//     ped.SetValidityRange(begin,end) ;
-
-  //check, may be Manager instance already configured?
-  AliPHOSCalibrManager * cmngr = AliPHOSCalibrManager::GetInstance() ;
-  if(!cmngr){
-    AliWarning(Form("Using database file 'PHOSBTCalibration.root'")) ;
-    cmngr = AliPHOSCalibrManager::GetInstance("PHOSBTCalibration.root") ;
-  }
-  cmngr->WriteData(ped) ;
-}      
-//_____________________________________________________________________________
-void AliPHOSCalibrator::ReadPedestals(const char * version)
-{ 
-  //Read data from file using AliPHOSCalibrManager 
-  //version and range will be used to choose proper data
-
-  AliPHOSCalibrationData ped("Pedestals",version);
-  AliPHOSCalibrManager * cmngr = AliPHOSCalibrManager::GetInstance() ;
-  if(!cmngr){
-   AliWarning(Form("Using database file 'PHOSBTCalibration.root'")) ;
-   cmngr = AliPHOSCalibrManager::GetInstance("PHOSBTCalibration.root") ;
-  }
-  cmngr->GetParameters(ped) ;
-  Int_t npeds=ped.NChannels() ;
-  fNch = fctdb->GetNchanels() ;
-  if(fhPedestals)
-    delete fhPedestals ;
-  fhPedestals   = new TH1F("hPedestals","Pedestals mean",fNch,0.,fNch) ;
-  for(Int_t i=0;i<npeds;i++){
-    Int_t raw =fctdb->AbsId2Raw(i) ;
-    if(raw){
-      fhPedestals->SetBinContent(raw-1,ped.Data(i)) ;
-      fhPedestals->SetBinError(raw-1,ped.DataCheck(i)) ;
-    }
-  }
-}      
-//_____________________________________________________________________________
-void AliPHOSCalibrator::ReadGains(const char * version)
-{ 
-  //Read data from file using AliPHOSCalibrManager 
-  //version and range will be used to choose proper data
-
-  AliPHOSCalibrationData gains("Gains",version);
-  AliPHOSCalibrManager * cmngr = AliPHOSCalibrManager::GetInstance() ;
-  if(!cmngr){
-    AliWarning(Form("Using database file 'PHOSBTCalibration.root'")) ;
-    cmngr = AliPHOSCalibrManager::GetInstance("PHOSBTCalibration.root") ;
-  }
-  cmngr->GetParameters(gains) ;
-  Int_t npeds=gains.NChannels() ;
-  fNch = fctdb->GetNchanels() ;
-  if(fhGains)
-    delete fhGains ;
-  fhGains   = new TH1F("hGainss","Gains mean",fNch,0.,fNch) ;
-  for(Int_t i=0;i<npeds;i++){
-    Int_t raw =fctdb->AbsId2Raw(i) ;
-    if(raw){
-      fhGains->SetBinContent(raw-1,gains.Data(i)) ;
-      fhGains->SetBinError(raw-1,gains.DataCheck(i)) ;
-    }
-  }
-}      
-//_____________________________________________________________________________
-void AliPHOSCalibrator::WriteGains(const char * version)
-{ 
-  //Write gains through AliPHOSCalibrManager
-  //version and validity range(begin-end) are used to identify data
-
-  if(!fctdb){
-    AliError(Form("\n        Please, supply Connection Table DB (use SetConTableDB()) \n" )) ;
-    return ;
-  }
-
-  AliPHOSCalibrationData gains("Gains",version);
-  for(Int_t i=0; i<fNch;i++){
-    Int_t absid=fctdb->Raw2AbsId(i) ;
-    gains.SetData(absid,fhGains->GetBinContent(i)) ;
-    gains.SetDataCheck(absid,fhGainsWid->GetBinContent(i)) ;
-  }
-//   if(begin==0){
-//     TIter next(fRunList) ;
-//     Int_t ibegin=99999;
-//     Int_t iend=0 ;
-//     TObjString * file ;
-//     while((file=((TObjString*)next()))){
-//        TString s = file->GetString() ;
-//        TSubString ss = s(s.Last('_'),s.Last('.'));
-//        Int_t tmp ;
-//        if(sscanf(ss.Data(),"%d",&tmp)){
-//      if(ibegin<tmp)
-//        ibegin=tmp ;  
-//          if(iend>tmp)
-//        iend=tmp ;
-//        }
-//     } 
-//     gains.SetValidityRange(ibegin,iend) ;
-//   }
-//   else        
-//     gains.SetValidityRange(begin,end) ;
-  AliPHOSCalibrManager * cmngr = AliPHOSCalibrManager::GetInstance() ;
-  if(!cmngr){
-    AliWarning(Form("Using database file 'PHOSBTCalibration.root'")) ;
-    cmngr = AliPHOSCalibrManager::GetInstance("PHOSBTCalibration.root") ;
-  }
-  cmngr->WriteData(gains) ;
-}      
-//_____________________________________________________________________________
-void AliPHOSCalibrator::Print(const Option_t *)const 
-{
-  // prints everything
-  AliInfo(Form("--------------PHOS Calibrator-----------------\n")) ;
-  printf("Files to handle:\n") ;
-  TIter next(fRunList) ;
-  TObjString * r ;
-  while((r=(TObjString *)(next())))
-      printf("                %s\n",r->GetName()) ;
-
-  printf("Name of ConTableDB:.....................%s\n",fConTableDB.Data()) ;
-  printf("File of ConTableDB:.....................%s\n",fConTableDBFile.Data() ) ;
-  printf("Maximal deviation from mean Gain (factor):.%f\n",fGainAcceptCorr) ;
-  printf("Maximal deviation of Pedestal from mean:...%f\n",fAcceptCorr) ; 
-  printf("Range used in Gain histos:..............%f\n",fGainMax) ;
-  printf("Number of bins in Gain histos:..........%d\n",fNGainBins) ;
-  printf("Number of channels to calibrate:........%d\n",fNch) ;
-  printf("Number of bins in pedestal histos:......%d\n",fNChan) ;
-  printf("--------------------------------------------------\n") ;
-}
diff --git a/PHOS/AliPHOSCalibrator.h b/PHOS/AliPHOSCalibrator.h
deleted file mode 100644 (file)
index 26a9d31..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef ALIPHOSCALIBRATOR_H
-#define ALIPHOSCALIBRATOR_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-/* History of cvs commits:
- *
- * $Log$
- * Revision 1.10  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
- */
-
-
-//_________________________________________________________________________
-//  Class for performing calibration in PHOS     
-//                  
-//*-- Author: D.Peressounko (RRC KI & SUBATECH)
-
-
-// --- ROOT system ---
-#include "TTask.h"
-#include "TObjArray.h"
-#include "TH1F.h"  
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-class AliPHOSConTableDB ;
-class AliPHOSDigit ;
-
-class AliPHOSCalibrator: public TTask{
-
-public:
-  AliPHOSCalibrator() ;          // ctor
-  AliPHOSCalibrator(const char* run, const char * title = "Default") ;
-  AliPHOSCalibrator(const AliPHOSCalibrator & ctor);
-  virtual ~AliPHOSCalibrator() ; // dtor
-
-  void AddRun(const char * filename) ; //Add one more file to handle
-
-  virtual void Exec(Option_t * option) ; //Steering method 
-
-  void ScanPedestals(Option_t * option = "append") ;
-  void CalculatePedestals(void) ; //calulates pedestals
-  void ScanGains(Option_t * opt = "append") ; //calculates gains
-  void CalculateGains(void) ; //calculates gains
-
-  void PlotPedestal(Int_t channel) ; //plots distribution of pedestals for given channel
-  void PlotPedestals(void) ;
-  void PlotGain(Int_t channel) ; //Plot histo with gains for a channel
-  void PlotGains() ;             //Plot all gains
-
-  virtual void Print(const Option_t * = "") const ;
-
-  TH1F * PedestalHisto(Int_t channel)
-    {return dynamic_cast<TH1F* >(fPedHistos->At(channel)) ;} ;
-  TH1F * GainHisto(Int_t channel)
-    {return dynamic_cast<TH1F* >(fGainHistos->At(channel)) ;} ;
-
-  
-  TH1F * Pedestals(void){return fhPedestals ;}
-  TH1F * Gains(void){return fhGains ;}
-
-  //Clean resulting histograms
-  void Reset(void){if(fhPedestals)fhPedestals->Reset("ICE");
-                   if(fhGains)fhGains->Reset("ICE");}
-
-  //Set energy of beam used to calibrate
-  void SetBeamEnergy(Float_t e){fBeamEnergy = e;}
-
-  void SetConTableDB(const char * filename, const char * title = "Default") ;
-       //Connection table to convert RawId to AbsId
-
-  void SetNChan(UShort_t nch = 100)
-    {fNChan = nch ; }         //Sets number of channels in pedestal histos
-
-  void SetNGainBins(Int_t nbin = 100)
-    {fNGainBins = nbin ;}  //Set number of bins in gain histograms
-
-  void SetGainMax(Float_t hmax = 0.01)
-    {fGainMax = hmax ;}    //Set range of gain histograms
-
-  void ReadFromASCII(const char * filename) ; //Read gains and pedestals from ascii file
-
-  void WritePedestals(const char * version="v1") ;
-
-  void ReadPedestals(const char * version="v1") ;
-                     
-  void WriteGains(const char * version="v1") ;
-
-  void ReadGains(const char * version="v1") ;
-
-  AliPHOSCalibrator & operator = (const AliPHOSCalibrator & /*rvalue*/){
-    Fatal("operator =","assigment operator is not implemented") ;
-    return *this ;
- }
-
-
-
-private:
-  void Init() ;
-private:
-  TList  * fRunList ;          //list of runs to be handled
-  TObjArray * fPedHistos ;     //Resulting histograms of pedestals
-  TObjArray * fGainHistos;     //Results of Calibration 
-
-  TH1F *   fhPedestals ;      //Mean values of pedestals for different channels
-  TH1F *   fhPedestalsWid ;   //Widths of pedestal distributions for different channels
-  TH1F *   fhGains ;          //Final Gains from fitting procedure
-  TH1F *   fhGainsWid ;       //Width of final gains from fit
-
-  AliPHOSConTableDB * fctdb ; //!Connection map
-  TString  fConTableDB ;      //Name of ConTableDB
-  TString  fConTableDBFile ;  //File where ConTableDB is stored
-
-  Float_t  fBeamEnergy ;      //Calibration beam energy
-  Float_t  fGainAcceptCorr;   //Maximal deviation from mean Gain (factor)
-  Float_t  fAcceptCorr ;      //Maximal deviation of Pedestal from mean for good channel
-
-  Float_t  fGainMax ;         //Range used in Gain histos
-  Int_t    fNGainBins ;       //Number of bins in Gain histos
-
-  Int_t    fNch ;             //Number of channels to calibrate
-  UShort_t fNChan ;           //Number of bins in pedestal histos
-
-  ClassDef(AliPHOSCalibrator,1)  // description 
-
-};
-
-#endif // AliPHOSCALIBRATOR_H
index 78bde2f..14da5e1 100644 (file)
 #include "AliPHOSCpvRecPoint.h"
 #include "AliPHOSDigit.h"
 #include "AliPHOSDigitizer.h"
-#include "AliPHOSCalibrationDB.h"
 #include "AliCDBManager.h"
 #include "AliCDBStorage.h"
 #include "AliCDBEntry.h"
diff --git a/PHOS/AliPHOSConTableDB.cxx b/PHOS/AliPHOSConTableDB.cxx
deleted file mode 100644 (file)
index 83c1676..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-/* History of cvs commits:
- *
- * $Log$
- * Revision 1.11  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
- */
-
-//_________________________________________________________________________
-// Class provides correspondence between "raw numbers" i.e. number of crustall 
-// in prototype and PHOT AbsId numer, used in reconstruction.
-// First it calculates correspondence automatically, assuming, that 
-// prototype, having N raws and M columns is situated in the center 
-// of middle (third) PHOS module. Then this correspondence can be edited 
-// manually. One can convert Raw->AbsId and visa versa AbsId->RawId.
-//
-//*-- Author :  D.Peressounko ("RRC Kurchatov Institute") 
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-#include "TArrayS.h"
-#include "TH2S.h"
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-#include "AliLog.h"
-#include "AliPHOSGeometry.h"
-#include "AliPHOSConTableDB.h"
-
-ClassImp(AliPHOSConTableDB)
-
-
-//____________________________________________________________________________ 
-AliPHOSConTableDB::AliPHOSConTableDB():
-  TNamed("AliPHOSConTableDB","Beamtest2002"),
-  fGeom(0),
-  fProtoRaws(0),
-  fProtoColumns(0),
-  fRawOffset(0),
-  fColOffset(0),
-  fNcrInProto(0),
-  fMinAbsId(0),
-  fMaxAbsId(0),
-  fAbsIdMap(0),
-  fRawIdMap(0)
-{
-  //default constructor, nothing created.
-}
-
-//____________________________________________________________________________ 
-AliPHOSConTableDB::AliPHOSConTableDB(const char * title):
-  TNamed("AliPHOSConTableDB",title),
-  fGeom(0),
-  fProtoRaws(0),
-  fProtoColumns(0),
-  fRawOffset(0),
-  fColOffset(0),
-  fNcrInProto(0),
-  fMinAbsId(0),
-  fMaxAbsId(0),
-  fAbsIdMap(0),
-  fRawIdMap(0)
-{
-  //Normally used constructor 
-  fGeom = AliPHOSGeometry::GetInstance("IHEP","") ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSConTableDB::AliPHOSConTableDB(const AliPHOSConTableDB& cdb):
-  TNamed(cdb.GetName(), cdb.GetTitle()),
-  fGeom(0),
-  fProtoRaws(cdb.fProtoRaws),
-  fProtoColumns(cdb.fProtoColumns),
-  fRawOffset(cdb.fRawOffset),
-  fColOffset(cdb.fColOffset),
-  fNcrInProto(cdb.fNcrInProto),
-  fMinAbsId(cdb.fMinAbsId),
-  fMaxAbsId(cdb.fMaxAbsId),
-  fAbsIdMap(new TArrayS(*(cdb.fAbsIdMap))),
-  fRawIdMap(new TArrayS(*(cdb.fRawIdMap)))
-{
-  //Copy constructor
-}
-
-//____________________________________________________________________________ 
-  AliPHOSConTableDB::~AliPHOSConTableDB()
-{
-  if(fAbsIdMap)
-    delete fAbsIdMap ;
-  if(fRawIdMap)
-    delete fRawIdMap ;
-}
-
-//____________________________________________________________________________ 
-void  AliPHOSConTableDB::BuildDB(void)
-{ 
-  //Make a map between Protopype cristalls and PHOS crystalls
-  //assuming, that prototype is centered in the third module of the PHOS
-  fNcrInProto =fProtoRaws*fProtoColumns ;
-  if(!fNcrInProto){
-    AliError(Form("configuratio of prototype is not known!!!\n Specify number of raws and columns in prototype"));
-    return ;
-  }
-  fRawOffset = (fGeom->GetNPhi() - fProtoRaws)/2 ;
-  fColOffset = (fGeom->GetNZ() - fProtoColumns )/ 2 ;
-  fAbsIdMap = new TArrayS(fNcrInProto) ;
-  fMinAbsId = fGeom->GetNCristalsInModule()*2 +
-    fRawOffset*fGeom->GetNZ()+fColOffset+1 ;
-  fMaxAbsId = fGeom->GetNCristalsInModule()*2 +
-    (fRawOffset + fProtoRaws)*fGeom->GetNZ()- 
-     fColOffset ;
-  fRawIdMap = new TArrayS(fMaxAbsId-fMinAbsId+1) ;
-  for(Int_t raw =0; raw < fProtoRaws ; raw ++){
-    for(Int_t col = 0; col < fProtoColumns ; col ++){
-      Int_t rawId = raw*fProtoColumns + col ;
-      Int_t rel[4] = {3,0,0,0} ; //We assume, that we deal with third module
-      rel[2]=raw + fRawOffset+1 ;
-      rel[3]=col + fColOffset+1 ;
-      Int_t absId ;
-      fGeom->RelToAbsNumbering(rel,absId) ;
-      fAbsIdMap->AddAt(static_cast<UInt_t>(absId),rawId) ;
-      fRawIdMap->AddAt(static_cast<UInt_t>(rawId),absId-fMinAbsId) ;
-    }
-  }
-
-}
-//____________________________________________________________________________ 
-void AliPHOSConTableDB::PlotProtoMap(Option_t * opt)
-{
-  //Visualyse connection table
-
-  TH2S * hMapProto = new TH2S("hMap","Map of Prototype ids",
-                             fGeom->GetNPhi(),0,fGeom->GetNPhi(),
-                             fGeom->GetNZ(),0,fGeom->GetNZ()) ;
-  TH2S * hMapPHOS = new TH2S("hMapPHOS","Map of PHOS ids",
-                            fGeom->GetNPhi(),0,fGeom->GetNPhi(),
-                            fGeom->GetNZ(),0,fGeom->GetNZ()) ;
-  TH2C * hMapBox = new TH2C("hMapBox","Map of Prototype ids",
-                             fGeom->GetNPhi(),0,fGeom->GetNPhi(),
-                             fGeom->GetNZ(),0,fGeom->GetNZ()) ; 
-  for(Int_t raw =0; raw <fGeom->GetNPhi() ; raw ++)
-    for(Int_t col = 0; col <fGeom->GetNZ() ; col ++)
-      hMapBox->SetBinContent(raw+1,col+1,1) ;
-  
-  for(Int_t raw =0; raw < fProtoRaws; raw ++){
-    for(Int_t col = 0; col < fProtoColumns ; col ++){
-      Int_t rawId = col*fProtoRaws + raw ;
-      Int_t rel[4] = {3,0,0,0} ; //We assume, that we deal with third module
-      rel[2]=raw + fRawOffset ;
-      rel[3]=col + fColOffset ;
-      hMapProto->SetBinContent(rel[2]+1,rel[3]+1,rawId);
-      Int_t absId ;
-      fGeom->RelToAbsNumbering(rel,absId) ;
-      hMapPHOS->SetBinContent(rel[2]+1,rel[3]+1,absId) ;
-    }
-  }
-
-
-  if(strstr(opt,"Zoom")||strstr(opt,"zoom")){
-    static_cast<TAxis *>(hMapBox->GetXaxis())->SetRange(fRawOffset+1,fGeom->GetNPhi()-fRawOffset) ;
-    static_cast<TAxis *>(hMapBox->GetYaxis())->SetRange(fColOffset+1,fGeom->GetNZ()-fColOffset) ;    
-  }
-   hMapBox->Draw("box") ;
-   if(strstr(opt,"PHOS"))
-     hMapPHOS->Draw("textsame") ;
-   else
-     hMapProto->Draw("textsame") ;
-
-} 
-//____________________________________________________________________________ 
-Int_t AliPHOSConTableDB::AbsId2Raw(Int_t absId)const{
-  //converts numbering of modules in PHOS into
-  //numbering in prototype
-  if(absId >= fMinAbsId && absId<=fMaxAbsId){    
-    return fRawIdMap->At(absId-fMinAbsId) ;
-  }
-  else
-    return -1 ;
-}
-//____________________________________________________________________________ 
-Int_t AliPHOSConTableDB::Raw2AbsId(Int_t rawId)const{
-  //converts numbering of modules in prototipe into
-  //numbering in PHOS
-  if(rawId >= 0 && rawId<fNcrInProto)
-    return fAbsIdMap->At(rawId) ;
-  else
-    return 0 ;
-}
-//____________________________________________________________________________ 
-void AliPHOSConTableDB::Print(const Option_t *)const {
-//prints configuraion
-
-  TString message ; 
-  message  = " %s %s\n" ;
-  message += "PHOS Geometry configured for " ; 
-  if(fGeom)
-    message += "%s %s \n" ;
-  else
-    message += " null \n"  ;
-
-  AliInfo(Form(message.Data(), GetName(), GetTitle(), fGeom->GetName(), fGeom->GetTitle() )) ; 
-
-  message  = "\n-------Prototype parameters--------\n" ;
-  message += "    number of columns: %d \n" ; 
-  message += "    number of raws:    %d \n" ;
-  message += "    centered in third PHOS module with offsets: \n " ;
-  message += "    raw: %d of %d\n" ;
-  message += "    col: %d of %d\n" ; 
-  message += "------------------------------------ \n" ;
-
-  AliInfo(Form(message.Data(), fProtoColumns, fProtoRaws, fRawOffset, fGeom->GetNPhi(), fColOffset,fGeom->GetNZ() ));   
-}
-//____________________________________________________________________________
-AliPHOSConTableDB& AliPHOSConTableDB::operator=(const AliPHOSConTableDB& cdb){
-//Operator for coding convetion
-  fGeom=cdb.fGeom ;   //! PHOS geometry class
-  fProtoRaws=cdb.fProtoRaws ;        //  Parameters
-  fProtoColumns=cdb.fProtoColumns ;     //  used to calculate
-  fRawOffset=cdb.fRawOffset ;        //  correspondance
-  fColOffset=cdb.fColOffset ;        //  map
-  fNcrInProto=cdb.fNcrInProto ;       //Number of channels in prototype
-  fMinAbsId=cdb.fMinAbsId ;         //Minimal AbsId, corresponding to some prototype cristall.
-  fMaxAbsId=cdb.fMaxAbsId ;         //Maximal AbsId, corresponding to some prototype cristall
-  fAbsIdMap=new TArrayS(*(cdb.fAbsIdMap)) ;         //Map of correspondance between Raw and PHOS ID
-  fRawIdMap=new TArrayS(*(cdb.fRawIdMap)) ;         //Map of correspondance between AbsId and Raw
-  return *this ;
-}
-
-
-
diff --git a/PHOS/AliPHOSConTableDB.h b/PHOS/AliPHOSConTableDB.h
deleted file mode 100644 (file)
index 85f23b7..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef ALIPHOSCONTABLEDB_H
-#define ALIPHOSCONTABLEDB_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-/* History of cvs commits:
- *
- * $Log$
- */
-
-//_________________________________________________________________________
-//  Class for PHOS connection table, i.e. correspondence between 
-//  "cable number" and PHOS AbsId number.
-//                  
-//*-- Author: D.Peressounko "RRC Kurchatov Institute"
-
-
-// --- ROOT system ---
-#include "TNamed.h"
-class TArrayS ;
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-class AliPHOSGeometry ;
-
-class AliPHOSConTableDB: public TNamed {
-
-public:
-  AliPHOSConTableDB() ;          // ctor
-  AliPHOSConTableDB(const char * title) ;          // ctor
-
-  AliPHOSConTableDB(const AliPHOSConTableDB & cdb) ;   // cpy ctor
-  virtual ~AliPHOSConTableDB() ; // dtor
-
-  //Calculate table from known number of raws/columns 
-  //assuming that prototype is situated in the center of 3 PHOS mod.
-  void BuildDB(void) ;
-  Int_t GetNchanels()const {return fNcrInProto ; } 
-  Int_t GetNRaws()const{return fProtoRaws ;} 
-  Int_t GetNColumns()const{return fProtoColumns ;}
-
-  //set the number of columns in prototype
-  void SetNCols(Int_t ncolumns){fProtoColumns = ncolumns ;}
-  //Set the number of raw in prototype
-  void SetNRaws(Int_t nraws){fProtoRaws = nraws ;}
-
-  //Plot correspondance between Prototype Id and PHOS
-  //Options are "Zoom" - only proto region is plotted
-  //            "PHOS" - presents both PHOS and Proto ids
-  void PlotProtoMap(Option_t * opt="Zoom") ; 
-
-  //Transforms channel number in prototype into AbsId number in PHOS
-  Int_t Raw2AbsId(Int_t raw)const ;
-
-  //Transforms AbsId number in PHOS into channel number in prototype 
-  Int_t AbsId2Raw(Int_t AbsId)const ;
-
-  virtual void Print(const Option_t * = "") const ;
-
-
-  AliPHOSConTableDB& operator=(const AliPHOSConTableDB& cdb) ;
-
-private:
-  AliPHOSGeometry * fGeom ;   //! PHOS geometry class
-
-  Int_t     fProtoRaws ;        //  Parameters
-  Int_t     fProtoColumns ;     //  used to calculate
-  Int_t     fRawOffset ;        //  correspondance
-  Int_t     fColOffset ;        //  map
-  Int_t     fNcrInProto ;       //Number of channels in prototype
-  Int_t     fMinAbsId ;         //Minimal AbsId, corresponding to some prototype cristall.
-  Int_t     fMaxAbsId ;         //Maximal AbsId, corresponding to some prototype cristall
-  TArrayS * fAbsIdMap ;         //Map of correspondance between Raw and PHOS ID
-  TArrayS * fRawIdMap ;         //Map of correspondance between AbsId and Raw
-
-  ClassDef(AliPHOSConTableDB,1)  // description 
-
-
-};
-
-#endif // AliPHOSCONTABLEDB_H
index 2d40ac3..a5873e3 100644 (file)
@@ -72,7 +72,6 @@
 #include "AliPHOSLoader.h"
 #include "AliPHOS.h"
 #include "AliPHOSHit.h"
-#include "AliPHOSCalibrationDB.h"
 
 ClassImp(AliPHOSLoader)
 
@@ -90,7 +89,7 @@ const TString AliPHOSLoader::fgkCpvRecPointsBranchName("PHOSCpvRP");//Name for b
 const TString AliPHOSLoader::fgkTrackSegmentsBranchName("PHOSTS");//Name for branch with TrackSegments
 const TString AliPHOSLoader::fgkRecParticlesBranchName("PHOSRP");//Name for branch with Reconstructed Particles
 //____________________________________________________________________________ 
-AliPHOSLoader::AliPHOSLoader() : fBranchTitle(), fcdb(0), fDebug(0), fTmpHits(0x0)
+AliPHOSLoader::AliPHOSLoader() : fBranchTitle(), fDebug(0), fTmpHits(0x0)
 {
   //def ctor
   fTmpHits =  new TClonesArray("AliPHOSHit",1000);
@@ -98,14 +97,14 @@ AliPHOSLoader::AliPHOSLoader() : fBranchTitle(), fcdb(0), fDebug(0), fTmpHits(0x
 //____________________________________________________________________________ 
 AliPHOSLoader::AliPHOSLoader(const Char_t *detname,const Char_t *eventfoldername) :
       AliLoader(detname, eventfoldername),
-      fBranchTitle(), fcdb(0), fDebug(0), fTmpHits(0x0)
+      fBranchTitle(), fDebug(0), fTmpHits(0x0)
 {
   //ctor
 }
 //____________________________________________________________________________ 
 AliPHOSLoader::AliPHOSLoader(const Char_t *detname,TFolder *topfolder):
   AliLoader(detname,topfolder),
-  fBranchTitle(), fcdb(0), fDebug(0), fTmpHits(0x0)
+  fBranchTitle(), fDebug(0), fTmpHits(0x0)
 
 {
   //ctor
@@ -831,34 +830,6 @@ void AliPHOSLoader::CleanRecParticles()
  }
 //____________________________________________________________________________ 
 
-void AliPHOSLoader::ReadCalibrationDB(const char * database,const char * filename)
-{
-  // Read calibration data base from file
-  if(fcdb && (strcmp(database,fcdb->GetTitle())==0))
-    return ;
-
-  TFile * file = gROOT->GetFile(filename) ;
-  if(!file)
-    file = TFile::Open(filename);
-  if(!file){
-    AliError(Form("Cannot open file %s", filename)) ;
-    return ;
-  }
-  if(fcdb)
-    fcdb->Delete() ;
-  fcdb = dynamic_cast<AliPHOSCalibrationDB *>(file->Get("AliPHOSCalibrationDB")) ;
-  if(!fcdb)
-    AliError(Form("No database %s in file %s", database, filename)) ;
-}
-//____________________________________________________________________________ 
-
-// AliPHOSSDigitizer*  AliPHOSLoader::PHOSSDigitizer() 
-// { 
-// //return PHOS SDigitizer
-//  return  dynamic_cast<AliPHOSSDigitizer*>(SDigitizer()) ;
-// }
-
-//____________________________________________________________________________ 
 void AliPHOSLoader::MakeHitsArray()
 {
   // Add Hits array to the data folder
index 0701805..7f9cbc2 100644 (file)
@@ -52,7 +52,6 @@ class AliPHOSEmcRecPoint ;
 class AliPHOSCpvRecPoint ; 
 class AliPHOSTrackSegment ;
 class AliPHOSRecParticle ;  
-class AliPHOSCalibrationDB ;
 class AliPHOSSDigitizer ; 
 class AliPHOSDigitizer ;
   
@@ -176,12 +175,9 @@ public:
 
   Int_t   GetDebug()                     const {return fDebug;      }
   TString GetBranchTitle()               const {return fBranchTitle;}
-  AliPHOSCalibrationDB * CalibrationDB() const {return fcdb;        }
-  void ReadCalibrationDB(const char * name, const char * filename);
   
 protected:
   TString fBranchTitle;            //Title of the branch
-  AliPHOSCalibrationDB * fcdb ;       //!
 
 private:
 
diff --git a/PHOS/AliPHOSOnlineMonitor.cxx b/PHOS/AliPHOSOnlineMonitor.cxx
deleted file mode 100644 (file)
index 02a611e..0000000
+++ /dev/null
@@ -1,764 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-//_________________________________________________________________________
-// Class intended to perform online monitoring of PHOS beamtests
-// Being constructed, produces menu with list of available histograms to fill
-// Once histograms are selected, button "Go" should be pressed to start scan of data.
-// Prepared histograms will be periodically updated during scan of the data.
-// Note:
-// 1. To plot most of histograms, a "Connection Table", relating ADC signal index and AbsId 
-//    of PHOS crystal, should be created beforehand. To do this, call macro
-//       $ALICE_ROOT/PHOS/macros/BeamTest/MakeConTableDB.C 
-//    with apropriate number of raws and columns of prototype.
-// 2. To perform reconstruction and e.g. invariant mass analysis, a "Calibration Database"
-//    should be created beforehand. To do this, call macro 
-//       $ALICE_ROOT/PHOS/macros/BeamTest/MakeConTableDB.C 
-//    to read calibration parameters from file or use AliPHOSCalibrator to calculate 
-//    pedestal and gains.
-// 3. Once histograms are filled with "Go" method, they can be written to file
-//    with WriteHisto("Filename.root") method. 
-//
-//*-- Author : D.Peressounko (RRC KI) after A.V. Kuryakin, (Sarov) 
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-#include "TROOT.h"
-#include "TClonesArray.h"
-#include "TCanvas.h"
-#include "TH1.h"
-#include "TH2.h"
-#include "TGroupButton.h"
-#include "TFile.h"
-#include "TSystem.h"
-
-
-// --- Standard library ---
-#include "TBenchmark.h"
-#include "Riostream.h"
-
-// --- AliRoot header files ---
-#include "AliPHOSOnlineMonitor.h"
-#include "AliPHOSConTableDB.h"
-#include "AliPHOSGeometry.h"
-#include "AliRawReaderDateV3.h"
-#include "AliRawEventHeaderBase.h"
-#include "AliPHOSRawStream2004.h"
-#include "AliPHOSDigit.h"
-#include "AliPHOSClusterizerv1.h"  
-#include "AliPHOSTrackSegmentMakerv1.h"  
-#include "AliPHOSPIDv1.h"  
-#include "AliPHOSCalibrManager.h" 
-#include "AliPHOSCalibrationDB.h"
-#include "AliPHOSRecParticle.h"
-
-ClassImp(AliPHOSOnlineMonitor)
-
-
-//____________________________________________________________________________ 
-AliPHOSOnlineMonitor::AliPHOSOnlineMonitor(): 
-  TDialogCanvas("PHOS","PHOS",150,300),
-  fScanPed(kFALSE),
-  fScanSig(kFALSE),
-  fReconstruct(kFALSE),
-  fNevents(0),
-  fNUpdate(1000),
-  fCanvasList(new TList),
-  fHistosList(new TList),
-  fInputFile(),
-  fGeom(0),
-  fcdb(0)
-{
-  MakeButtons() ;
-  Modified(kTRUE);
-  Update();
-  SetEditable(kFALSE);
-  
-  //add this TFitPanel to the list of cleanups such that in case
-  //the referenced object is deleted, its pointer be reset
-  gROOT->GetListOfCleanups()->Add(this);
-  
-  fRefObject = this;
-  fRefPad    = (TPad*)gROOT->GetSelectedPad();
-
-  fGeom = AliPHOSGeometry::GetInstance("IHEP","") ;
-}
-//____________________________________________________________________________ 
-AliPHOSOnlineMonitor::AliPHOSOnlineMonitor(const char * inputfile): 
-  TDialogCanvas("PHOS","PHOS",150,300),
-  fScanPed(kFALSE),
-  fScanSig(kFALSE),
-  fReconstruct(kFALSE),
-  fNevents(0),
-  fNUpdate(1000),
-  fCanvasList(new TList),
-  fHistosList(new TList),
-  fInputFile(inputfile),
-  fGeom(0),
-  fcdb(0)
-{
-  MakeButtons() ;
-  Modified(kTRUE);
-  Update();
-  SetEditable(kFALSE);
-  
-  //add this TFitPanel to the list of cleanups such that in case
-  //the referenced object is deleted, its pointer be reset
-  gROOT->GetListOfCleanups()->Add(this);
-  
-  fRefObject = this;
-  fRefPad    = (TPad*)gROOT->GetSelectedPad();
-
-  fGeom = AliPHOSGeometry::GetInstance("IHEP","") ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSOnlineMonitor::AliPHOSOnlineMonitor(const AliPHOSOnlineMonitor & /*rhs*/):
-  TDialogCanvas(),
-  fScanPed(kFALSE),
-  fScanSig(kFALSE),
-  fReconstruct(kFALSE),
-  fNevents(0),
-  fNUpdate(0),
-  fCanvasList(0),
-  fHistosList(0),
-  fInputFile(),
-  fGeom(0),
-  fcdb(0)
-{
-  Fatal("AliPHOSOnlineMonitor", "not implemented");
-}
-
-//____________________________________________________________________________ 
-AliPHOSOnlineMonitor & AliPHOSOnlineMonitor::operator = (const AliPHOSOnlineMonitor &)
-{
-  Fatal("operator = ", "not implemented");
-  return *this;
-}
-
-//____________________________________________________________________________ 
-AliPHOSOnlineMonitor::~AliPHOSOnlineMonitor()
-{
-  //Obvious, but unevoidable comment for destructor: cleans up everething.
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  while((c=(TCanvas*)nextCanvas()))
-    delete c ;
-  delete fCanvasList ;
-  
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  while((h=(TH1D*)nextHisto()))
-    delete h ;
-  delete fHistosList ; 
-
-  if(fcdb)
-    delete fcdb ;
-
-}
-//____________________________________________________________________________ 
-void AliPHOSOnlineMonitor::MakeButtons(void){
-  //Make buttons on graphical menu
-  Int_t nButtons = 16;
-  TGroupButton * b ;
-  Float_t xmin = 0.0;
-  Float_t ymin = 0.01;
-  Float_t xmax = 0.99;
-  Float_t ymax = 0.99;
-  Float_t dy = (ymax-ymin)/nButtons ;
-
-  Float_t y2=ymax ;
-  Float_t y1=y2-dy ;
-  b = new TGroupButton("APPLY","Triggers","",xmin,y1,xmax,y2);
-  b->Draw();
-  y2=y1 ;
-  y1=y1-dy ;
-  b = new TGroupButton("APPLY","Pedestals","",xmin,y1,xmax,y2);
-  b->Draw();
-  y2=y1 ;
-  y1=y1-dy ;
-  b = new TGroupButton("APPLY","Spectrum all","",xmin,y1,xmax,y2);
-  b->Draw();
-  y2=y1 ;
-  y1=y1-dy ;
-  b = new TGroupButton("APPLY","Spectrum g","",xmin,y1,xmax,y2);
-  b->Draw();
-  y2=y1 ;
-  y1=y1-dy ;
-  b = new TGroupButton("APPLY","Inv Mass","",xmin,y1,xmax,y2);
-  b->Draw();
-  for(Int_t i=1; i<=5; i++){
-    y2=y1 ;
-    y1=y1-dy ;
-    char name[10] ;
-    sprintf(name,"Edep(ADC) %d",i) ;
-    b = new TGroupButton("APPLY",name,"",xmin,y1,xmax,y2);
-    b->Draw();
-  }
-  for(Int_t i=1; i<=5; i++){
-    y2=y1 ;
-    y1=y1-dy ;
-    char name[10] ;
-    sprintf(name,"Edep(Cal) %d",i) ;
-    b = new TGroupButton("APPLY",name,"",xmin,y1,xmax,y2);
-    b->Draw();
-  }
-  y2=y1 ;
-  y1=y1-dy ;
-  b = new TGroupButton("APPLY","Go","",xmin,y1,xmax,y2);
-  b->SetTextColor(2);
-  b->Draw();
-}
-//____________________________________________________________________________ 
-void AliPHOSOnlineMonitor::Apply(const char *action){
-  //Function to handle button actions
-
-  TDialogCanvas::Apply() ;
-
-  TObject *obj;
-  TGroupButton *button;
-  TIter next(fPrimitives);
-  
-  if (!strcmp(action,"Triggers")) {
-    DrawTriggers() ;
-  }
-
-  if (!strcmp(action,"Pedestals")) {
-    DrawPedestals() ;
-  }
-  if (!strcmp(action,"Spectrum all")) {
-    DrawSpectrum("all") ;
-  }
-  if (!strcmp(action,"Spectrum g")) {
-    DrawSpectrum("gamma") ;
-  }
-  if (!strcmp(action,"Inv Mass")) {
-    DrawMinv() ;
-  }
-  if(strstr(action,"Edep")){
-    Int_t n ;
-    char tmp[10] ;
-    sscanf(action,"%s %d",tmp,&n) ;
-    char opt[5]="" ;
-    if(strstr(action,"Cal"))
-      sprintf(opt,"Cal") ;
-    DrawEdep(n,opt) ;
-  }
-  if (!strcmp(action,"Go")) {
-    Go() ;
-  }
-
-  //Mark button as pressed
-  if(strcmp(action,"Go")){ //Do not mark "Go" button
-    while ((obj = next())) {
-      if (obj->InheritsFrom(TGroupButton::Class())) {
-       button = (TGroupButton*)obj;
-       if(!strcmp(button->GetTitle(),action)){
-         if (button->GetBorderMode() > 0){
-           button->SetBorderMode(-1) ;
-           button->Modified(kTRUE);
-         }
-       }
-      }
-    }
-  }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::SetInputFile(const char * filename){
-  //close previously opened
-  
-  fInputFile = filename ;
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::DrawPedestals(){
-  //Prepare canvas and histograms for drawing pedestals
-
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  Bool_t exists = kFALSE ;
-  while((c=(TCanvas*)nextCanvas())){
-    if(!strcmp(c->GetName(),"Pedestals")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    c = new TDialogCanvas("Pedestals","Pedestals",300,200) ;
-    fCanvasList->AddLast(c) ;
-  }
-  
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  exists = kFALSE ;
-  while((h=(TH1D*)nextHisto())){
-    if(!strcmp(h->GetName(),"hPedestals")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    h = new TH1D("hPedestals","Pedestals per event",fGeom->GetNModules()*fGeom->GetNCristalsInModule(),0.,
-                1.*fGeom->GetNModules()*fGeom->GetNCristalsInModule()) ;
-    fHistosList->AddLast(h) ;
-  }
-  
-  c->cd() ;
-  h->SetStats(0) ;
-  h->Draw() ;
-  fScanPed = kTRUE ; //We will scan pedestals
-
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::DrawTriggers(){
-  //Prepare canvas and histogram for drawing triggers
-
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  Bool_t exists = kFALSE ;
-  while((c=(TCanvas*)nextCanvas())){
-    if(!strcmp(c->GetName(),"Triggers")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    c = new TDialogCanvas("Triggers","Triggers",200,200) ;
-    fCanvasList->AddLast(c) ;
-  }
-  
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  exists = kFALSE ;
-  while((h=(TH1D*)nextHisto())){
-    if(!strcmp(h->GetName(),"hTriggers")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    h = new TH1D("hTriggers","Triggers",2,0.,2.) ;
-    fHistosList->AddLast(h) ;
-  }
-  //Make Labels
-  h->SetBit(TH1::kCanRebin);  
-  h->Fill("LED",0.0000001) ; 
-  h->Fill("PUL",0.0000001) ; 
-  h->Fill("PED",0.0000001) ; 
-  h->Fill("NEL",0.0000001) ; 
-  h->Fill("WEL",0.0000001) ; 
-  h->Fill("SOB",0.0000001) ; 
-  h->Fill("EOB",0.0000001) ; 
-  h->Fill("wrong",0.0000001) ;
-  h->LabelsOption("h");
-  h->LabelsDeflate();
-  h->SetStats(0) ;
-  c->cd() ;
-  h->Draw() ;
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::DrawSpectrum(const char * opt){
-  //Prepare canvas and histograms for drawing spectra of all reconstructed particles or photons
-
-  TString name("Spectrum") ;
-  name+=opt ;
-  
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  Bool_t exists = kFALSE ;
-  while((c=(TCanvas*)nextCanvas())){
-    if(!strcmp(c->GetName(),name.Data())){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    c = new TDialogCanvas(name,name,250,300) ;
-    fCanvasList->AddLast(c) ;
-  }
-  
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  exists = kFALSE ;
-  name.Prepend("h") ;
-  while((h=(TH1D*)nextHisto())){
-    if(!strcmp(h->GetName(),name.Data())){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    h = new TH1D(name,name,100,0.,100.) ;
-    fHistosList->AddLast(h) ;
-  }
-  
-  h->SetStats(0) ;
-  c->cd() ;
-  h->Draw() ;
-  fReconstruct = kTRUE ;
-  fScanSig = kTRUE ; //We will scan pedestals
-
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::DrawMinv(){
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  Bool_t exists = kFALSE ;
-  while((c=(TCanvas*)nextCanvas())){
-    if(!strcmp(c->GetName(),"InvMass")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    c = new TDialogCanvas("InvMass","Invariant mass",300,200) ;
-    fCanvasList->AddLast(c) ;
-  }
-  
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  exists = kFALSE ;
-  while((h=(TH1D*)nextHisto())){
-    if(!strcmp(h->GetName(),"hInvMass")){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    h = new TH1D("hInvMass","hInvMass",1000,0.,1.0) ;
-    fHistosList->AddLast(h) ;
-  }
-  
-  c->cd() ;
-  h->Draw() ;
-  h->SetStats(0) ;
-  fReconstruct = kTRUE ;
-  fScanSig = kTRUE ; //We will scan pedestals
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::DrawEdep(Int_t mod,const char * opt){
-  char name[15] ;
-  sprintf(name,"Edep%s %d",opt,mod) ;
-
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  Bool_t exists = kFALSE ;
-  while((c=(TCanvas*)nextCanvas())){
-    if(!strcmp(c->GetName(),name)){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    c = new TDialogCanvas(name,name,300,200) ;
-    fCanvasList->AddLast(c) ;
-  }
-  
-  TIter nextHisto(fHistosList);
-  TH2D * h ;
-  exists = kFALSE ;
-  sprintf(name,"hEdep%s%d",opt,mod) ;
-  while((h=(TH2D*)nextHisto())){
-    if(!strcmp(h->GetName(),name)){
-      exists = kTRUE ;
-      break;
-    }
-  }
-  if(!exists){
-    h = new TH2D(name,name,fGeom->GetNPhi(),0.,1.*fGeom->GetNPhi(),fGeom->GetNZ(),0.,1.*fGeom->GetNZ()) ;
-    fHistosList->AddLast(h) ;
-  }
-  
-  c->cd() ;
-  h->Draw("col") ;
-  h->SetStats(0) ;
-  fScanSig = kTRUE ; //We will scan signal events
-  if(strstr(opt,"Cal"))
-    fReconstruct = kTRUE ;
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::ScanPedestals(TClonesArray * digits){
-  //This method is called for events with PED trigger
-  //We fill bins with ADC values
-
-  TH1D * h = (TH1D*)gROOT->FindObjectAny("hPedestals");
-  if(!h){
-    Error("ScanPedestals","Can not fild histogram hPedestals") ;
-    return ;
-  }
-  for(Int_t i=0; i<digits->GetEntriesFast(); i++){
-    AliPHOSDigit * dig = static_cast<AliPHOSDigit*>(digits->At(i)) ;
-    h->AddBinContent(dig->GetId(),dig->GetAmp()) ;
-  }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::ScanEdep(TClonesArray * /*digits*/){
-  //Fill 2D distribution of ADC values in NEL and WEL events
-//   AliPHOSGetter * gime = AliPHOSGetter::Instance() ;
-//   AliPHOSCalibrationDB *cdb = 0 ;
-//   if(gime)
-//     cdb = gime->CalibrationDB() ;
-//   Int_t mod = 0 ;
-//   char name[15] ;
-//   TH2D * h = 0 ;
-//   TH2D * hCal = 0 ;
-//   for(Int_t i=0; i<digits->GetEntriesFast(); i++){
-//     AliPHOSDigit * dig = static_cast<AliPHOSDigit*>(digits->At(i)) ;
-//     Int_t relId[4] ;
-//     fGeom->AbsToRelNumbering(dig->GetId(),relId) ;
-//     if(mod != relId[0]){ //new module, look for histograms
-//       mod = relId[0] ;
-//       sprintf(name,"hEdep%d",mod) ;
-//       h = (TH2D*)gROOT->FindObjectAny(name);
-//       sprintf(name,"hEdepCal%d",mod) ;
-//       hCal = (TH2D*)gROOT->FindObjectAny(name);
-//     }
-//     if(h)
-//       h->Fill(relId[2]-0.1,relId[3]-0.1,1.*dig->GetAmp()) ;
-//     if(hCal)
-//       hCal->Fill(relId[2]-0.1,relId[3]-0.1,cdb->Calibrate(dig->GetAmp(),dig->GetId())) ;
-//   }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::ScanRecon(TClonesArray * recParticles){
-  if(!recParticles || recParticles->GetEntries()==0) return ;
-
-  TH1D* hSpectr   = (TH1D*)gROOT->FindObjectAny("hSpectrumall");
-  TH1D* hSpectrGam= (TH1D*)gROOT->FindObjectAny("hSpectrumgamma");
-  TH1D* hInvMass  = (TH1D*)gROOT->FindObjectAny("hInvMass");
-  for(Int_t i=0; i<recParticles->GetEntriesFast() ; i++){
-    AliPHOSRecParticle * p = (AliPHOSRecParticle *)recParticles->At(i) ;
-    if(hSpectr)hSpectr->Fill(p->Energy()) ;
-    if(hSpectrGam && p->IsPhoton())hSpectrGam->Fill(p->Energy()) ;
-    if(hInvMass){
-      for(Int_t j=i+1; j<recParticles->GetEntriesFast() ; j++){
-       AliPHOSRecParticle * p2 = (AliPHOSRecParticle *)recParticles->At(j) ;
-       Double_t e = p->Energy() + p2->Energy() ;
-       Double_t x = p->Px() + p2->Px() ;
-       Double_t y = p->Py() + p2->Py() ;
-       Double_t z = p->Pz() + p2->Pz() ;
-       Double_t m = e*e-x*x-y*y-z*z ;
-       hInvMass->Fill(m>0?TMath::Sqrt(m): 0. ) ;
-      }
-    }
-  }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::ScanTrigger(Int_t trig){
-  //Fills trigger distribution
-
-  TH1D * h = (TH1D*)gROOT->FindObjectAny("hTriggers");
-  if(!h) return ;
-  switch(trig){
-  case AliPHOSRawStream2004::kLED : h->Fill("LED",1.) ; break ;
-  case AliPHOSRawStream2004::kPUL : h->Fill("PUL",1.) ; break ;
-  case AliPHOSRawStream2004::kPED : h->Fill("PED",1.) ; break ;
-  case AliPHOSRawStream2004::kNEL : h->Fill("NEL",1.) ; break ;
-  case AliPHOSRawStream2004::kWEL : h->Fill("WEL",1.) ; break ;
-  case AliPHOSRawStream2004::kSOB : h->Fill("SOB",1.) ; break ;
-  case AliPHOSRawStream2004::kEOB : h->Fill("EOB",1.) ; break ;
-  default : h->Fill("wrong",1.) ;
-  }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::SetConTableDB(const char * filename){
-  //Read ConnectionTableDB from file
-  TFile * file = new TFile(filename) ;
-  AliPHOSConTableDB * tmp = (AliPHOSConTableDB*)file->Get("AliPHOSConTableDB") ;
-  fcdb = new AliPHOSConTableDB(*tmp) ;
-  file->Close() ; 
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::Go(){
-  //Perform scan of curent event
-  gBenchmark->Start("PHOSOnlineMon"); 
-
-  //First test if we need "Connection table" then open it
-  if(!fcdb){
-    SetConTableDB() ;
-    if(fcdb){
-      Info("Go","Read Connection table from file \"ConTableDB.root\"") ;
-    }else{
-      Error("Go","Please, set connection table with SetConTableDB() method") ;
-      return ;
-    }
-  }
-
-//   AliPHOSGetterLight * gime = AliPHOSGetterLight::Instance("PHOS","On Flight") ;
-
-//   //Configure CalibrManager to read data from file
-//   //Create calibration database and read it
-//   AliPHOSCalibrationDB * calibDB = 0 ;
-//   if(fScanSig || fReconstruct){ //We will ned calibration parameters
-//     AliPHOSCalibrManager::GetInstance("CalibrDB.root","root") ;
-//     //If we configured manager to read from ASCII file, 
-//     //give him connection table. OK, it will not harm in any case.
-//     AliPHOSCalibrManager::GetInstance()->SetConTable(fcdb) ;
-    
-//     calibDB = new AliPHOSCalibrationDB("OnLine") ;
-//     calibDB->GetParameters() ; //Read parameters using Manager
-//     gime->SetCalibrationDB(calibDB) ;
-//   }
-  
-//   //Now open data file
-//   AliRawReaderDateV3 *rawReader = new AliRawReaderDateV3(fInputFile) ; 
-//   rawReader->RequireHeader(kFALSE);
-//   AliPHOSRawStream2004     *rawStream = new AliPHOSRawStream2004(rawReader) ;
-//   rawStream->SetConTableDB(fcdb) ;
-  
-//   TClonesArray * digits = gime->Digits() ;
-//   TClonesArray * recParticles = gime->RecParticles() ;
-//   AliPHOSClusterizerv1* clu = 0 ;
-//   AliPHOSTrackSegmentMakerv1 * tsm = 0 ;
-//   AliPHOSPIDv1 * pid = 0 ;
-//   AliPHOSGeometry * phosgeom = AliPHOSGeometry::GetInstance() ;
-//   if(fReconstruct){ //We will need calibation parameters
-//     clu = new AliPHOSClusterizerv1(phosgeom) ;
-//     clu->SetWriting(0) ; //Do not write to file
-// //    clu->SetEmcMinE(0.05) ;  //Minimal energy of the digit
-//     clu->SetEmcLocalMaxCut(0.05) ; //Height of local maximum over environment
-//     clu->SetEmcClusteringThreshold(0.2) ; //Minimal energy to start cluster
-// //    clu->SetUnfolding(kFALSE) ; //Do not unfold
-//     tsm = new AliPHOSTrackSegmentMakerv1(phosgeom);
-//     tsm->SetWriting(0) ; //Do not write to file
-//     pid = new AliPHOSPIDv1(phosgeom) ;
-//     pid->SetWriting(0) ; //Do not write to file    
-//   }
-  
-//   fNevents=0 ;
-//   //Scan all event in file
-//   printf("      ") ;
-//   while(rawReader->NextEvent()){
-//     //Is it PHYSICAL event
-//     if(rawReader->GetType() == AliRawEventHeaderBase::kPhysicsEvent){
-//       fNevents++ ;
-//       if(fNevents%100 ==0){
-//     printf("\b\b\b\b\b\b%6d",fNevents) ;
-//       }
-//       if(rawStream->ReadDigits(digits)){
-       
-//     //Test trigger
-//     //Pedestal Event
-//     ScanTrigger(rawStream->GetTrigger()) ;
-//     if(rawStream->IsPEDevent() && fScanPed){
-//       ScanPedestals(digits) ;
-//     }
-//     if((rawStream->IsNELevent() || rawStream->IsWELevent()) && fScanSig){
-//       ScanEdep(digits) ;
-//       if(fReconstruct){
-//         // PLEASE FIX IT !!!
-//         //      gime->Clusterizer()->Exec("") ;
-//         //      gime->TrackSegmentMaker()->Exec("") ;
-//         //      gime->PID()->Exec("") ;
-//         ScanRecon(recParticles) ;
-//       }
-//     }
-//       }
-      
-//       if(fNevents%fNUpdate == 0 ){ //upate all histograms   
-//     TIter nextCanvas(fCanvasList);
-//     TCanvas * c ;
-//     while((c=(TCanvas*)nextCanvas())){
-//       c->Modified() ;
-//       c->Update() ;
-//     }
-//       }
-//       gSystem->ProcessEvents(); 
-//     }
-//     //    if(fNevents>=200)break ;
-//   }
-//   printf("\n") ;
-//   gBenchmark->Stop("PHOSOnlineMon");
-//   Float_t time = gBenchmark->GetCpuTime("PHOSOnlineMon") ;
-//   printf("took %f seconds for scanning, i.e. %f seconds per event %d  \n",
-//      time,time/fNevents,fNevents) ; 
-  
-//   //Update canvas with histograms at the end
-//   TIter nextCanvas(fCanvasList);
-//   TCanvas * c ;
-//   while((c=(TCanvas*)nextCanvas())){
-//     c->Modified(kTRUE) ;
-//   }
-  
-//   if(clu)delete clu ;
-//   if(tsm)delete tsm ;
-//   if(pid)delete pid ;
-//   printf("delete 1 \n") ;
-//   if(calibDB) delete calibDB ;
-//   delete rawStream ;
-//   delete rawReader ;
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::Clean(){
-  //Cleans content of all histograms
-
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  while((h=(TH1D*)nextHisto())){
-    h->Reset("ISE") ;
-  }
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  while((c=(TCanvas*)nextCanvas())){
-    c->Modified() ;
-  }
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::Reset(){
-  //delets all canvas and histograms,
-  //marks buttons as unpressed
-
-  TIter nextHisto(fHistosList);
-  TH1D * h ;
-  while((h=(TH1D*)nextHisto())){
-    fHistosList->Remove(h) ;
-    delete h ;
-  }
-  TIter nextCanvas(fCanvasList);
-  TCanvas * c ;
-  while((c=(TCanvas*)nextCanvas())){
-    fCanvasList->Remove(c) ;
-    delete c ;
-  }
-  TObject *obj;
-  TGroupButton *button;
-  TIter next(fPrimitives);
-  
-  //Mark buttons as anpressed
-  while ((obj = next())) {
-    if (obj->InheritsFrom(TGroupButton::Class())) {
-      button = (TGroupButton*)obj;
-      if (button->GetBorderMode() < 0){
-       button->SetBorderMode(1) ;
-       button->Modified(kTRUE);
-      }
-    }
-  }
-  
-}
-//____________________________________________________________________________ 
-void  AliPHOSOnlineMonitor::WriteHistograms(const char * filename){
-  //Write filled histograms to file
-  TFile * file = new TFile(filename,"Update") ;
-  file->cd() ;
-  TIter nextHisto(fHistosList);
-  TH1 * h ;
-  while((h=(TH1*)nextHisto())){
-    h->Write(0,TObject::kOverwrite) ;
-  }
-  file->Close() ; 
-}
diff --git a/PHOS/AliPHOSOnlineMonitor.h b/PHOS/AliPHOSOnlineMonitor.h
deleted file mode 100644 (file)
index e757d33..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef ALIPHOSONLINEMONITOR_H
-#define ALIPHOSONLINEMONITOR_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-//_________________________________________________________________________
-//  Simple class for online mnitoring     
-//                  
-//*-- Author: D.Peressouno (RRC KI)
-
-
-// --- ROOT system ---
-#include "TDialogCanvas.h" 
-class TList ;
-class TString ;
-class TClonesArray;
-// --- Standard library ---
-
-// --- AliRoot header files ---
-class AliPHOSGeometry ;
-class AliPHOSConTableDB ;
-
-class AliPHOSOnlineMonitor: public TDialogCanvas{
-
-public:
-  AliPHOSOnlineMonitor() ;          // ctor
-  AliPHOSOnlineMonitor(const char * dataname) ;          // ctor
-  virtual ~AliPHOSOnlineMonitor() ; // dtor
-
-  virtual void Apply(const char *action=""); //Overloaded function to 
-                                             //handle butons
-  void SetInputFile(const char * filename = "run1.dat") ;    //Open new input file
-  void DrawPedestals();    //Scans pedestals in current file
-  void DrawSpectrum(const char * opt);  //Plot spectrum of all registered particles"
-  void DrawMinv() ;        //Plot invariant mass distribution
-  void DrawTriggers() ;        //Plot invariant mass distribution
-  void DrawEdep(Int_t mod,const char * opt) ;//Plots energy deposition per crystal for module
-  void Go() ;
-  void Clean() ;           //Cleans all histograms
-  void Reset() ;           //Removes all canvas and histograms
-
-  void WriteHistograms(const char * filename = "onlineout.root") ;
-
-  void SetConTableDB(const char * filename = "ConTableDB.root") ;
-
- private:
-  void MakeButtons(void) ; //Function to make menu and buttons
-
-  void ScanDigits() ;
-  void ScanTrigger(Int_t trig) ;
-  void ScanPedestals(TClonesArray * digits) ;
-  void ScanEdep(TClonesArray * digits) ;
-  void ScanRecon(TClonesArray * recParticles) ;
-
-private:
-  //They call Fatal, but they are private, user will have compile time error instead
-  //of run-time error. Fatal - because it's not clear, should I copy canvases, 
-  //hists etc.
-  AliPHOSOnlineMonitor(const AliPHOSOnlineMonitor &);
-  AliPHOSOnlineMonitor & operator = (const AliPHOSOnlineMonitor &);
-
-  Bool_t fScanPed ;     //should we analyse pedestal events
-  Bool_t fScanSig;      //should we analyse signal events
-  Bool_t fReconstruct ; //should we reconstruct events
-
-  Int_t fNevents ;      //Number of events processed so far 
-  Int_t fNUpdate ;      //Number of events to update histo 
-
-  TList * fCanvasList ;  //!
-  TList * fHistosList ;  //!
-  
-  TString fInputFile ;
-
-  AliPHOSGeometry   * fGeom ;         //! 
-  AliPHOSConTableDB * fcdb ;          //!
-
-  ClassDef(AliPHOSOnlineMonitor,1)  //PHOS online monitoring  
-
-};
-
-#endif // AliPHOSONLINEMONITOR_H
diff --git a/PHOS/AliPHOSRaw2Digits.cxx b/PHOS/AliPHOSRaw2Digits.cxx
deleted file mode 100644 (file)
index 7d09db5..0000000
+++ /dev/null
@@ -1,682 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-/* History of cvs commits:
- *
- * $Log$
- * Revision 1.14  2007/01/23 10:27:37  alibrary
- * Adding include files where needed for latest ROOT
- *
- * Revision 1.13  2006/09/07 18:31:08  kharlov
- * Effective c++ corrections (T.Pocheptsov)
- *
- * Revision 1.12  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
- */
-
-//_________________________________________________________________________
-// Class designed to convert raw data to aliroot format. We assume, that
-// prototype is situated in the center of 3 PHOS module and convert prototype
-// outpur to AliPHOSDigits. In addition, we fill branch of TreeE with 
-// AliPHOSBeamTestEvent, contaning description of event(triggers etc).
-// Note, that one byte per channel in raw data is transvormed to class 
-// AliPHOSDigit, so finale zise increase ~ 100 times. So output can be split 
-// into peases of reasonable size: each file can not contain more than 
-// fMaxPerFile: if there are still events in raw file, then new directory 
-// is created and header+digits files are written to it.
-// 
-// Use Case:
-//   AliPHOSRaw2Digits * r = new AliPHOSRaw2Digits("path/input.file") ;
-//                   //note, that it can be gzipped file!
-//   //Set position of the target in the given run.
-//   //Z axis along beam direction, from target to prototype (0-surface of prototype)
-//   //X axis along columns of prototype (0-center of prototype)
-//   //Y axis along raws of prototype    (0-center of prototype)
-//   Double_t pos[3]={0,0,-452.} ;
-//   r->SetTargetPosition(pos) ;
-//   //Read/create connection Table:
-//   TFile f("ConTableDB.root") ;
-//   AliPHOSConTableDB * cdb = f.Get("AliPHOSConTableDB") ;
-//   f.Close() ;
-//   r->SetConTableDB(cdb) ;
-//   r->ExecuteTask() ;
-//
-// As a result files galice.root and PHOS.Digits.root should be produced in 
-// current dir, and, possibly, dirs 1,2,3... each with galice.root and PHOS.Digits.root,
-// where the rest of data are written. 
-//
-/*-- Author: Maxim Volkov (RRC KI)
-             Dmitri Peressounko (RRC KI & SUBATECH)
-             Yuri Kharlov (IHEP & SUBATECH)     */
-
-//////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-#include <Bytes.h>
-#include <TClonesArray.h>
-#include <TFile.h>
-#include <TSystem.h>
-#include <TTree.h>
-
-// --- Standard library ---
-
-#include <stdio.h>
-
-// --- AliRoot header files ---
-#include "AliPHOSDigit.h"
-#include "AliPHOSConTableDB.h"
-#include "AliPHOSBeamTestEvent.h"
-#include "AliPHOSRaw2Digits.h"
-#include "AliRun.h"
-
-ClassImp(AliPHOSRaw2Digits)
-  
-//____________________________________________________________________________ 
-AliPHOSRaw2Digits::AliPHOSRaw2Digits() : 
-  fDigits(0),
-  fPHOSHeader(0),
-  fctdb(0),
-  fHeaderFile(0),
-  fDigitsFile(0),
-  fBeamEnergy(0.f),
-  fMaxPerFile(20000),
-  fEvent(0),
-  fStatus(0),
-  fInName(""),
-  fDebug(kFALSE),
-  fIsInitialized(kFALSE),
-  fMK1(0x0123CDEF),
-  fMK2(0x80708070),
-  fMK3(0x4321ABCD),
-  fMK4(0x80618061),
-  fCKW(0x4640E400)
-{
-  //As one can easily see, this is constructor.
-  fTarget[0] = 0 ;
-  fTarget[1] = 0 ;
-  fTarget[2] = 0 ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSRaw2Digits::AliPHOSRaw2Digits(const char * filename) : 
-  TTask("Default",""),
-  fDigits(0),
-  fPHOSHeader(0),
-  fctdb(0),
-  fHeaderFile(0),
-  fDigitsFile(0),
-  fBeamEnergy(0.f),
-  fMaxPerFile(20000),
-  fEvent(0),
-  fStatus(0),
-  fInName(filename),
-  fDebug(kFALSE),
-  fIsInitialized(kFALSE),
-  fMK1(0x0123CDEF),
-  fMK2(0x80708070),
-  fMK3(0x4321ABCD),
-  fMK4(0x80618061),
-  fCKW(0x4640E400)
-{
-  //this constructor should be normally used. Parameters: input file 
-  TString outname(fInName) ;
-  outname.ToLower() ;
-  outname.ReplaceAll(".fz",".root") ;
-  outname.ReplaceAll(".gz","") ;
-  SetTitle(outname);
-
-  fTarget[0] = 0 ;
-  fTarget[1] = 0 ;
-  fTarget[2] = 0 ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSRaw2Digits::AliPHOSRaw2Digits(AliPHOSRaw2Digits & r2d) :
-  TTask(r2d.GetName(), r2d.GetTitle()),
-  fDigits(r2d.fDigits),
-  fPHOSHeader(r2d.fPHOSHeader),
-  fctdb(new AliPHOSConTableDB(*r2d.fctdb)),
-  fHeaderFile(new TFile(r2d.fHeaderFile->GetName(), "new" )),
-  fDigitsFile(new TFile(r2d.fDigitsFile->GetName(), "new" )),
-  fBeamEnergy(r2d.fBeamEnergy),
-  fMaxPerFile(r2d.fMaxPerFile),
-  fEvent(r2d.fEvent),
-  fStatus(r2d.fStatus),
-  fInName(r2d.fInName),
-  fDebug(kFALSE),
-  fIsInitialized(kFALSE),
-  fMK1(r2d.fMK1),
-  fMK2(r2d.fMK2),
-  fMK3(r2d.fMK3),
-  fMK4(r2d.fMK4),
-  fCKW(r2d.fCKW)
-{
-  // cpy ctor. wrong. because dtor can delete fDigits twice (or n times you copy AliPHOSRaw2Digits)
-  //because fHeaderFile and fDigitsFile will recreate existing files etc.
-  fTarget[0] = r2d.fTarget[0] ;
-  fTarget[1] = r2d.fTarget[1] ;
-  fTarget[2] = r2d.fTarget[2] ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSRaw2Digits::~AliPHOSRaw2Digits()
-{
-//destructor
-  if(fPHOSHeader)
-    fPHOSHeader->Delete() ;
-  if(fDigits){
-    fDigits->Delete() ;
-    delete fDigits ;
-  }
-  
-}
-//____________________________________________________________________________ 
-void AliPHOSRaw2Digits::Exec(const Option_t *){
-  //This is steering method performing all the conversion
-
-  if(!fIsInitialized) //need initialization
-    if(!Init())       //failed to initialize
-      return ;
-
-  ProcessRawFile() ;
-
-} 
-//____________________________________________________________________________ 
-Bool_t AliPHOSRaw2Digits::Init(void){
-  //Makes initialization of contaniers
-
-  if(fIsInitialized)
-    return kTRUE;
-
-  //Make container for digits
-  fDigits = new TClonesArray("AliPHOSDigit",1000) ;
-  fPHOSHeader = new  AliPHOSBeamTestEvent() ;
-  fIsInitialized = kTRUE ;
-  return StartRootFiles() ;
-
-}
-//____________________________________________________________________________ 
-Bool_t AliPHOSRaw2Digits::StartRootFiles(void ) const {
-//   //Create PHOS geometry, sets magnetic field to zero, 
-//   //create Generator - to store target position, 
-//   //opens out file, creates TreeE 
-
-//   //create gAlice if nececcary
-//   if(!gAlice)
-//     new AliRun("gAlice","The ALICE Off-line Simulation Framework") ;
-
-//   //Create PHOS
-//   if(!gAlice->GetModule("PHOS"))
-//     new AliPHOSv1("PHOS","GPS2") ;
-
-//   //Set Magnetic field
-//   gAlice->SetField(0,2);  
-
-//   //Set positin of the virtex
-//   AliGenerator * gener = gAlice->Generator() ; 
-//   if(!gener)    
-//     gener = new AliGenBox(1);
-//   Float_t ox = fTarget[1]; 
-//   Float_t oy = fTarget[2]+460.; 
-//   Float_t oz = fTarget[0];
-//   gener->SetOrigin(ox, oy, oz);
-
-//   //make directory 
-//   Int_t nRootFile = (fEvent+1)/fMaxPerFile ;        
-//   if(nRootFile){
-//     char dname[20];
-//     sprintf(dname,"%d",nRootFile) ;
-//     if(gSystem->AccessPathName(dname)) //strange return: 0 if exists
-//       if(gSystem->MakeDirectory(dname)!=0)
-//     Fatal("StartRootFiles","Can not make directory %s \n",dname) ;
-    
-//     if(!gSystem->ChangeDirectory(dname))
-//       Fatal("StartRootFiles","Can not cd to %s\n",dname) ;
-//   }
-
-//   //  Create the output file
-//   TString outname("") ;
-//   if(strstr(GetTitle(),"root")){
-//     outname=GetTitle();
-//   }
-//   else{
-//     outname = fInName ;
-//     outname.ToLower() ;
-//     outname.ReplaceAll(".fz",".root") ;
-//   }
-
-//   fHeaderFile = new TFile(outname,"recreate");
-//   fHeaderFile->SetCompressionLevel(2);
-  
-//   // Create the Root Trees
-  
-//   gime->MakeTree("E") ;
-  
-//   //Fill now TreeE
-//   Int_t splitlevel = 0 ;
-//   Int_t bufferSize = 32000 ;    
-//   TBranch * headerBranch = gAlice->TreeE()->Branch("AliPHOSBeamTestEvent", 
-//                                                "AliPHOSBeamTestEvent", 
-//                                                &fPHOSHeader,bufferSize,splitlevel);
-//   headerBranch->SetName("AliPHOSBeamTestEvent") ;
-
-// //   if(fToSplit){
-// //     fDigitsFile = new TFile("PHOS.Digits.root","recreate") ;
-// //     fDigitsFile->SetCompressionLevel(2) ;
-// //   }
-   return kTRUE ;
-}
-//____________________________________________________________________________ 
-Bool_t AliPHOSRaw2Digits::CloseRootFiles(void ){
-  //cleans everething to start next root file
-  if(fHeaderFile){
-    printf("writing gAlice \n") ;
-    fHeaderFile->cd() ;
-    gAlice->Write(0,TObject::kOverwrite);
-    AliRunLoader::Instance()->TreeE()->Write(0,TObject::kOverwrite);
-  }
-
-  delete gAlice ;
-  
-  if(fHeaderFile){
-    fHeaderFile->Close() ;
-    delete fHeaderFile ;
-    fHeaderFile = 0;
-  }   
-       
-  if(fDigitsFile){
-    fDigitsFile->Close() ;
-    delete fDigitsFile ;
-    fDigitsFile = 0 ;
-  }
-  
-  Int_t nRootFile = (fEvent-1)/fMaxPerFile ;   
-  if(nRootFile){
-    if(!gSystem->ChangeDirectory("../")){
-     Fatal("CloseRootFile","Can not return to initial dir \n") ;      
-     return kFALSE ;
-    }
-  }
-  return kTRUE ;
-}
-//____________________________________________________________________________ 
-Bool_t AliPHOSRaw2Digits::ProcessRawFile(){
-  
-  //Method opens zebra file and reads successively bytes from it,
-  //filling corresponding fields in header and digits.
-  
-  
-  fStatus= -3 ;
-  //First of all, open file and check if it is a zebra file
-  
-  char command[256];
-  sprintf(command,"zcat %s",fInName.Data());
-  FILE *dataFile = popen(command, "r");
-  if (dataFile == NULL) {
-    Warning("ProcessRawFile", " Cannot open file %s\n", fInName.Data() ) ;
-    perror(fInName.Data()) ;
-    fStatus = -1 ;
-    return kFALSE ;
-  }
-
-  // Check if byte ordering is little-endian 
-  UInt_t w = 0x12345678;
-  Int_t swapo = memcmp(&w, "\x78\x56\x34\x12", sizeof(UInt_t)) == 0;
-  if(fDebug)
-    Info("ProcessRawFile", "swapo=%f\n", swapo ) ;
-  
-  
-  UInt_t recBuf[300] ;
-
-  // Read physical record control words 
-  UInt_t nb = 8*sizeof(UInt_t);
-  Int_t n = fread(recBuf, nb, 1, dataFile);
-  if(static_cast<UInt_t>(n) != 1) {
-    if (n < 0 )
-      perror(fInName.Data());
-    else
-      Error("ProcessRawFile", "Could not read physical record control words" ) ;
-    fStatus = -2 ;
-    return kFALSE;
-  }
-  
-  if(fDebug)
-    Info("ProcessRawFile", "recbuf[0] = %d\n", recBuf[0] );
-  
-  // Check if it is a ZEBRA file and if the words are swapped 
-  UInt_t swapi = 0 ;
-  if (recBuf[0] != fMK1) {
-    Swab4(recBuf, &w, 1);
-    if (w != fMK1) {
-      Error("ProcessRawFile", "Does not look like a ZEBRA file\n" ) ;
-      pclose(dataFile) ;
-      fStatus = -2 ;
-      return kFALSE;
-    }
-    swapi=1 ;
-  }
-  
-  if(fDebug){
-    TString message ; 
-    message  = "        w = %f\n" ; 
-    message += "    swapi = %f\n" ; 
-    Info("ProcessRawFile", message.Data(), w, swapi ) ; 
-  }
-  
-  // Get number of words in physical record 
-  UInt_t  nwphr ;
-  if (swapi)
-    Swab4(&recBuf[4],&nwphr,1);
-  else 
-    nwphr = recBuf[4];
-  nwphr*=2; // 1998 -- Now we have 2 records 150 words each 
-
-
-  //start loop over data  
-  // Read rest of record 
-  nb = (nwphr-8)*sizeof(UInt_t);
-  n = fread(&recBuf[8], nb, 1, dataFile) ;
-  if (static_cast<UInt_t>(n) != 1) {
-    if (n < 0 ){
-      perror(fInName.Data());
-      fStatus = -2 ;
-      return kFALSE;
-    }
-  }
-  nb = nwphr *sizeof(UInt_t);
-
-  UInt_t userVector[16] ;
-  UInt_t zheader[12];    
-  UShort_t pattern ;
-  UShort_t scanning[32] ;
-  UShort_t charge[12];
-  UInt_t scaler[12]; 
-  UShort_t tdc2228[32];
-  
-  //read untill the end of file
-  fEvent=0 ;
-  while(1){
-
-    //    StartNewEvent() ;
-    fDigits->Delete() ;
-    if((fEvent%fMaxPerFile == 0) && fEvent ){
-      CloseRootFiles() ;
-      StartRootFiles() ;
-    }
-    gAlice->SetEvent(fEvent%fMaxPerFile) ;
-
-    //Set Beam Energy
-    fPHOSHeader->SetBeamEnergy(fBeamEnergy) ;
-         
-    Int_t i ;
-    for(i=0;i<16;i++)
-      userVector[i]=*(recBuf+21+i);
-    if(!swapi)
-      Swab4(userVector, userVector, 16);     
-    fPHOSHeader->SetUserVector(userVector) ;
-    
-    
-    // ZEBRA event header
-    for(i=0;i<12;i++)
-      zheader[i]=*(recBuf+47+i);
-    if(swapi)
-      Swab4(zheader, zheader, 12);
-    fPHOSHeader->SetHeader(zheader) ;
-    
-    // Swap input 
-    if (swapi)
-      Swab4(recBuf, recBuf, nwphr);
-    
-    /* Physical record control words */
-    UInt_t * recptr = recBuf;  //Pointer to current position
-
-    if(recptr[7] != 1) {
-      Error("ProcessRawFile", "Cannot handle fast blocks" ) ; 
-      fStatus = -2 ;
-      return kFALSE;
-    }    
-    recptr += 8;
-    
-    // Logical record control words   
-    UInt_t lrtyp = recptr[1];
-    if (lrtyp != 3) {
-      Error("ProcessRawFile", "Can not handle logical record type %d", lrtyp ) ;
-      fStatus = -2 ;
-      return kFALSE;
-    }
-    
-    recptr += 2;
-    if (recptr[0] != fCKW) {
-      Error("ProcessRawFile", "Bad check word" ) ;
-      fStatus = -2 ;
-      return kFALSE;
-    }
-    
-    UInt_t  nwuh = recptr[9];
-    recptr += 10+nwuh;
-    
-    // Bank system words 
-    UInt_t nd = recptr[8];           /* Number of data words */
-    recptr += 10;
-    
-    // Data words 
-    UInt_t evtno = recptr[2];                  /* Event number */
-    
-    if(fDebug)
-       Info("ProcessRawFile", "evtno= %d", evtno);
-    
-    UInt_t nh = recptr[4];                  /* Number of header words in data bank */
-    recptr += nh;
-    
-    // Unswap data from VME 
-    if (swapi)
-      Swab4(recptr, recptr, nd-nh-3);
-    
-    // Give buffer to monitor program 
-    //  UInt_t esize = nd-nh-3;
-    //    if (swapo)
-    //       Swab2(recptr, recptr, esize); 
-    // Two byte data are correct after this operation. 
-    //But we're in trouble if the data array contains 4 byte data!
-    
-    // From now on deal with VME data (MSB first, or network byte order).
-    
-    
-    // Fill the event with data from ADCs
-    UChar_t *byteptr=(UChar_t*)recptr;
-    
-    // Trigger bit register  
-    pattern=net2host(*(UShort_t*)byteptr);
-    fPHOSHeader->SetPattern(pattern) ;
-    byteptr+=sizeof(UShort_t);
-    
-    // Either peak ADCs, 10 modulesX8=80 channels, 
-    //or Kurchatov 64+2 channel ADC 
-    //(the rest of the channels padded with 0xffff) 
-    for(i=0;i<80;i++){
-      Int_t peak = static_cast<Int_t>(net2host(*(UShort_t*)byteptr));
-      //make digit
-      Int_t absID = fctdb->Raw2AbsId(i) ;
-      if(absID > 0)
-       new((*fDigits)[i])AliPHOSDigit(-1,absID,peak,0.,i) ;
-      if(fDebug){
-       if(peak>(UShort_t)1000)
-         Info("ProcessRawFile", "event= %d peak[%d] = %f", fEvent, i, peak);
-      }
-      byteptr+=sizeof(UShort_t);
-    }
-    
-    // Scanning ADCs, 4 modulesX8=32 channels
-    for(i=0;i<32;i++){
-      scanning[i]=net2host(*(UShort_t*)byteptr);
-      byteptr+=sizeof(UShort_t);
-    }
-    fPHOSHeader->SetScanning(scanning) ;
-    
-    // Charge ADCs, 1 moduleX12=12 channels
-    for(i=0;i<12;i++){
-      charge[i]=net2host(*(UShort_t*)byteptr);
-      byteptr+=sizeof(UShort_t);
-    }
-    fPHOSHeader->SetCharge(charge) ;
-    
-    // Scalers, 1 moduleX12=12 (4 byte) channels
-    for(i=0;i<12;i++){
-      scaler[i]=net2host(*(UInt_t*)byteptr);
-      byteptr+=sizeof(UInt_t);
-    }
-    fPHOSHeader->SetScaler(scaler) ;
-    
-    // LeCroy TDC 2228A, 4 moduleX8=32 channels
-    for(i=0;i<8;i++){
-      tdc2228[i]=net2host(*(UShort_t*)byteptr);
-      byteptr+=sizeof(UShort_t);
-    }
-    fPHOSHeader->SetTDC(tdc2228) ;
-
-    WriteDigits() ;
-    if(fDebug)
-      Info("ProcessRawFile", "event= %d written", fEvent) ;
-    // Read next record 
-    nb = nwphr *sizeof(UInt_t);
-    n = fread( recBuf, nb,1,dataFile);
-    if (n < 0 ){
-      perror(fInName);
-      fStatus = -2 ;
-      return kFALSE;
-    }
-    if (static_cast<UInt_t>(n) != 1) {
-      pclose(dataFile) ;
-      fStatus = 1 ;
-      return kTRUE ; //all read
-    }
-    fEvent++ ;
-  }
-  CloseRootFiles() ;
-  
-  fStatus = 1 ;  
-  return kTRUE ;  
-}
-
-//____________________________________________________________________________ 
-void AliPHOSRaw2Digits::Swab4(void *from, void *to, size_t nwords)const
-{
-  // The function swaps 4 bytes: byte#3<-->byte#0, byte#2<-->byte#1 
-  register char *pf=static_cast<char*>(from) ;
-  register char *pt=static_cast<char*>(to) ;
-  register char c;
-  while (nwords-- > 0 ) {
-    c = pf[0];
-    pt[0] = pf[3];
-    pt[3] = c;
-    c = pf[1];
-    pt[1] = pf[2];
-    pt[2] = c;
-    pf += 4;
-    pt += 4;
-  }
-}
-
-//____________________________________________________________________________ 
-void AliPHOSRaw2Digits::Swab2(void *from, void *to, size_t nwords)const
-{ 
-  //The function swaps 2x2 bytes: byte#0<-->byte#1, byte#2<-->byte#3 
-  register char *pf=static_cast<char*>(from) ;
-  register char *pt=static_cast<char*>(to);
-  register char c;   
-  while (nwords-- > 0 ) {
-    c = pf[0];
-    pt[0] = pf[1];
-    pt[1] = c;
-    c = pf[2];
-    pt[2] = pf[3];
-    pt[3] = c;
-    pf += 4;
-    pt += 4;
-  }
-}
-
-//____________________________________________________________________________ 
-void AliPHOSRaw2Digits::WriteDigits(void){
-  //In this method we create TreeD, write digits and Raw2Digits to it
-  // and write Header to TreeE. Finally we write TreeD to root file 
-  
-  //Start from Digits
-  fDigits->Sort() ;
-  fDigits->Expand(fDigits->GetEntriesFast()) ;
-  for(Int_t i=0;i<fDigits->GetEntriesFast(); i++)
-    static_cast<AliPHOSDigit*>(fDigits->At(i))->SetIndexInList(i) ;
-
-  char hname[30];
-  sprintf(hname,"TreeD%d",fEvent%fMaxPerFile);
-  TTree * treeD = new TTree(hname,"Digits");
-  //treeD->Write(0,TObject::kOverwrite);
-  
-  // -- create Digits branch
-  Int_t bufferSize = 32000 ;    
-  TBranch * digitsBranch = treeD->Branch("PHOS",&fDigits,bufferSize);
-  digitsBranch->SetTitle("Default");
-  
-  // -- Create Digitizer branch
-  Int_t splitlevel = 0 ;
-  const AliPHOSRaw2Digits * d = this ;
-  TBranch * digitizerBranch = treeD->Branch("AliPHOSRaw2Digits", 
-                                           "AliPHOSRaw2Digits", &d,bufferSize,splitlevel); 
-  digitizerBranch->SetTitle("Default");
-
-  if(fDigitsFile)
-    fDigitsFile->cd() ;
-  digitsBranch->Fill() ;
-  digitizerBranch->Fill() ; 
-  treeD->Write(0,TObject::kOverwrite);
-  delete treeD ;
-
-  //Write header
-  fHeaderFile->cd() ;
-  AliRunLoader::Instance()->TreeE()->Fill();
-}
-//____________________________________________________________________________ 
-void AliPHOSRaw2Digits::Print(const Option_t *)const{
-  //prints current configuration and status.
-
-  printf("----------AliPHOSRaw2Digits---------- \n") ;
-  printf("Current input  File: %s\n",fInName.Data()) ; 
-  printf("Current output File: %s\n", GetTitle()); 
-  printf("Events processes in the last file %d\n",fEvent) ; 
-  printf("Input file status\n") ;
-  switch (fStatus){
-  case 0: printf("`Have not processed yet'\n") ;
-    break ;
-  case 1: printf("`Processed normally'\n") ;
-    break ;
-  case -1: printf("`File not found'\n") ;
-    break ;
-  case -2: printf("`Error in reading'\n") ;
-    break ;
-  case -3: printf("'Interupted'\n") ;
-  default: ;
-  }
-  printf("Connection table: " );
-  if(fctdb)
-    printf("%s %s \n",fctdb->GetName(), fctdb->GetTitle() ) ; 
-  else
-    printf(" no DB \n" );
-
-}
diff --git a/PHOS/AliPHOSRaw2Digits.h b/PHOS/AliPHOSRaw2Digits.h
deleted file mode 100644 (file)
index 771fc40..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef ALIPHOSRAW2DIGITS_H
-#define ALIPHOSRAW2DIGITS_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-/* History of cvs commits:
- *
- * $Log$
- */
-
-//_________________________________________________________________________
-//  Base Class for PHOS     
-//                  
-/*-- Author: Maxim Volkov (RRC KI)
-              Dmitri Peressounko (RRC KI & SUBATECH)
-              Yuri Kharlov (IHEP & SUBATECH)     */
-
-// --- ROOT system ---
-#include "TTask.h"
-class TClonesArray ;
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-class AliPHOSGeometry ;
-class AliPHOSBeamTestEvent ;
-class AliPHOSConTableDB ;
-
-class AliPHOSRaw2Digits : public TTask {
-
-public:
-  AliPHOSRaw2Digits() ;          // ctor
-  AliPHOSRaw2Digits(const char * inputFileName) ;         
-  AliPHOSRaw2Digits(AliPHOSRaw2Digits & r2d) ;          // cpy ctor
-  virtual ~AliPHOSRaw2Digits() ; // dtor
-
-  void Exec(const Option_t * = "") ;
-
-  void SetBeamEnergy(Float_t energy){fBeamEnergy = energy ;}
-  void SetInputFile(TString inname="Run_1234.fz"){fInName=inname ; }
-  void SetDebugLevel(Int_t idebug=1){fDebug=idebug ;}
-
-  //Set position of the target in the given run.
-  //The reference system is following
-  //Z axis along beam direction, from target to prototype (0-surface of prototype)
-  //X axis along columns of prototype (0-center of prototype)
-  //Y axis along raws of prototype    (0-center of prototype)
-  void SetTargetPosition(Double_t * pos)
-    {for(Int_t i=0;i<3;i++)fTarget[i]=pos[i] ;}
-  void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
-  void SetMaxEventsPerFile(Int_t nev=20000){fMaxPerFile = nev ;}
-  void Print(const Option_t * = "")const ;
-  AliPHOSRaw2Digits & operator = ( AliPHOSRaw2Digits & /*r2d*/ ) { return *this ; } 
-  
-private:
-  Bool_t StartRootFiles(void) const ;
-  Bool_t CloseRootFiles(void) ;
-  Bool_t ProcessRawFile() ;
-  void Swab4(void *from, void *to, size_t nwords) const ;
-  void Swab2(void *from, void *to, size_t nwords) const ;
-  Bool_t Init() ;
-  void WriteDigits(void) ;
-
-  TClonesArray * fDigits ;             //!list of final digits
-  AliPHOSBeamTestEvent * fPHOSHeader ; //!PHOSBeamTest header 
-  AliPHOSConTableDB * fctdb ;          //!
-  Double_t fTarget[3] ;                //!Position of the target
-  TFile * fHeaderFile ;                //!galice.root file
-  TFile * fDigitsFile ;                //!file with digits
-  Float_t fBeamEnergy ;    //BeamEnergy 
-  Int_t   fMaxPerFile ;    //!Maximal number  of events per root file
-  Int_t   fEvent ;         //Event number
-  Int_t   fStatus ;        //status of input file: OK, not found etc.
-  TString fInName ;        // FileName of the input file
-  Bool_t  fDebug ;         //!
-  Bool_t  fIsInitialized ; //!
-  UInt_t  fMK1 ;     //!ZEBRA markers
-  UInt_t  fMK2 ;     //!ZEBRA markers
-  UInt_t  fMK3 ;     //!ZEBRA markers
-  UInt_t  fMK4 ;     //!ZEBRA markers
-  UInt_t  fCKW ;     //!ZEBRA markers
-
-  ClassDef(AliPHOSRaw2Digits,1)  // description 
-
-};
-
-#endif // AliPHOSRAW2DIGITS_H
diff --git a/PHOS/AliPHOSRawStream2004.cxx b/PHOS/AliPHOSRawStream2004.cxx
deleted file mode 100644 (file)
index e90512e..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-/**************************************************************************
- * 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$ */
-
-///////////////////////////////////////////////////////////////////////////////
-///
-/// This class provides access to PHOS digits in raw data.
-///
-/// It loops over all PHOS digits in the raw data given by the AliRawReader.
-/// The Next method goes to the next digit. If there are no digits left
-/// it returns kFALSE.
-/// Several getters provide information about the current digit.
-/// usage: 
-/// root > AliRawReaderFile rawReader ; 
-/// root > AliPHOSRawStream2004 input(&rawReader) ; 
-/// root > while (input.Next()) ..... 
-///////////////////////////////////////////////////////////////////////////////
-
-#include "TClonesArray.h"
-#include "TClass.h"
-
-#include "AliPHOSRawStream2004.h"
-#include "AliRawReader.h"
-#include "AliRawEventHeaderBase.h"
-#include "AliPHOSConTableDB.h"
-#include "AliPHOSDigit.h"
-
-#define EVENT_TYPE_MASK      ((UInt_t)0x0000FFFF)
-
-ClassImp(AliPHOSRawStream2004)
-
-//_____________________________________________________________________________
-AliPHOSRawStream2004::AliPHOSRawStream2004(AliRawReader* rawReader) :
-  fRawReader(rawReader),
-  fData(0),
-  fctdb(0),
-  fTrig(0)
-{
-  //Ctor
-}
-
-//_____________________________________________________________________________
-AliPHOSRawStream2004::AliPHOSRawStream2004(const AliPHOSRawStream2004 & rhs) :
-  TObject(rhs),
-  fRawReader(rhs.fRawReader),
-  fData(rhs.fData),
-  fctdb(rhs.fctdb),
-  fTrig(rhs.fTrig)
-{
-  //Copy ctor
-}
-
-//_____________________________________________________________________________
-AliPHOSRawStream2004 & AliPHOSRawStream2004::operator = (const AliPHOSRawStream2004 &rhs)
-{
-  TObject::operator = (rhs);
-  fRawReader = rhs.fRawReader;
-  fData = rhs.fData;
-  fctdb = rhs.fctdb;
-  fTrig = rhs.fTrig;
-  
-  return *this;
-}
-
-//_____________________________________________________________________________
-Bool_t AliPHOSRawStream2004::ReadDigits(TClonesArray * digits){
-
-  Bool_t isOK = kFALSE ;
-  if(!fctdb){
-    Error("ReadDigits","Connection table not set") ;
-    return kFALSE ;
-  }
-
-  if(!digits){
-    Error("ReadDigits","Output array not created") ;
-    return kFALSE ;
-  }
-
-  if(!(digits->GetClass()->InheritsFrom("AliPHOSDigit"))){
-    Error("ReadDigits","Digits contanier made for %s, not AliPHOSDigits",digits->GetClass()->GetName()) ;
-    return kFALSE ;
-  }
-
-  digits->Clear() ;
-
-  //Check, if current event - PHYSICS event
-  if(!((fRawReader->GetType() & EVENT_TYPE_MASK)==AliRawEventHeaderBase::kPhysicsEvent)){
-    return kFALSE ;
-  }
-
-  //Scan subevents until subevent with digits
-  while(fRawReader->ReadNextData(fData)){    
-    switch (fRawReader->GetEquipmentType()){
-    case kPattUnitMarker:
-      if(fRawReader->GetEquipmentId() == kPattUnitEquipId){ //Read PHOS trigger
-       Int_t * patt = (Int_t *)fData;
-       if(fRawReader->GetEquipmentSize() >= (Int_t)sizeof(Int_t))
-         fTrig = patt[0];
-       else
-         fTrig = 0 ;
-      }
-      break;
-    case kPhosAdcMarker:
-      if(fRawReader->GetEquipmentId() == kPhosAdcEquipId){
-       Int_t ndigits = fRawReader->GetEquipmentSize()/sizeof(Int_t);      
-       digits->Expand(ndigits) ;
-       for(Int_t i=0; i<ndigits; i++){
-         Int_t * amps = (Int_t *)fData ;
-         Int_t absID = fctdb->Raw2AbsId(i) ;
-         Int_t time = 0;
-         if(absID>0) //Only real digits are filled, last ADC numbers (if any) are scipped
-           new((*digits)[i]) AliPHOSDigit( -1, absID, amps[i], time) ;
-       }
-       digits->Sort() ;
-       digits->Compress() ;  
-       digits->Expand(digits->GetEntriesFast()) ;
-
-       //Set indexes in list of digits and make true digitization of the energy
-       for (Int_t id = 0 ; id < digits->GetEntriesFast() ; id++) { 
-         AliPHOSDigit * digit = dynamic_cast<AliPHOSDigit*>( digits->At(id) ) ; 
-         digit->SetIndexInList(id) ;     
-       }
-
-       isOK = kTRUE ;
-      }
-      break;
-    case kTdcMarker:
-      if(fRawReader->GetEquipmentId() == kTdcEquipId){
-       // Probably sometime we will need to handle these data 
-      }
-      break;
-    case kChargeAdcMarker:
-      if(fRawReader->GetEquipmentId() == kChargeAdcEquipId){
-       //Probably sometime we will need to handle these data 
-      }
-      break;
-    case kScalerMarker:
-      if(fRawReader->GetEquipmentId() == kScalerEquipId){
-       //Probably sometime we will need to handle these data 
-      }
-      break;
-    default:
-      break;
-    }
-  }
-  return isOK ;
-}
-
diff --git a/PHOS/AliPHOSRawStream2004.h b/PHOS/AliPHOSRawStream2004.h
deleted file mode 100644 (file)
index c45c491..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef ALIPHOSRAWSTREAM2004_H
-#define ALIPHOSRAWSTREAM2004_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-///
-/// This class provides access to PHOS digits in raw data.
-///
-///////////////////////////////////////////////////////////////////////////////
-
-// --- ROOT system ---
-class TClonesArray ;
-
-// --- AliRoot header files ---
-#include "AliAltroRawStream.h"
-class AliRawReader;
-class AliPHOSConTableDB ;
-
-
-class AliPHOSRawStream2004: public TObject {
-
-public :
-  
-  AliPHOSRawStream2004(AliRawReader* rawReader);
-  
-  //Class does not own/free any resources, compiler generated version
-  //are OK, but to supress -Weffc++ we define them explicitly.
-  AliPHOSRawStream2004(const AliPHOSRawStream2004 & rhs);
-  AliPHOSRawStream2004 & operator = (const AliPHOSRawStream2004 & rhs);
-
-  
-
- Bool_t ReadDigits(TClonesArray * digits) ;
-//PHOS does not need this method
- virtual Bool_t    Next(){return kFALSE ;} ; 
- Int_t            GetColumn() const {return 0;}
- Int_t            GetModule() const {return 0;}
- Int_t            GetPrevColumn() const {return 0;}
- Int_t            GetPrevModule() const {return 0;}
- Int_t            GetPrevRow() const {return 0;}
- Int_t            GetRow() const {return 0;}
- Int_t            GetSignal() const {return 0;}
- Int_t            GetTime() const {return 0;}
- Bool_t           IsNewColumn() const {return kFALSE; }
- Bool_t           IsNewModule() const {return kFALSE;}
- Bool_t           IsNewRow() const {return kFALSE ;}
-
- void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
-
- Int_t GetTrigger(void) const {return fTrig ;}
- Bool_t IsLEDevent(void)const {return fTrig == kLED;}
- Bool_t IsPULevent(void)const {return fTrig == kPUL;}
- Bool_t IsPEDevent(void)const {return fTrig == kPED;}
- Bool_t IsWELevent(void)const {return fTrig == kWEL;}
- Bool_t IsNELevent(void)const {return fTrig == kNEL;}
-
-
- public:
- enum {        kLED = 129,     // Physics pattern unit for LED events
-       kPUL =  33,     // Physics pattern unit for PULSER events
-       kPED = 257,     // Physics pattern unit for PEDESTAL events
-       kNEL =1029,     // Physics pattern unit for NARROW ELECTRON events
-       kWEL =1027,     // Physics pattern unit for WIDE ELECTRON events
-       kSOB =2048,     // Pattern unit mask for Start Of Burst trigger or 0 to disable SOB trigger
-       kEOB =4096,     // Pattern unit mask for End   Of Burst trigger or 0 to disable EOB trigger
-
-       kPattUnitMarker = 27,  // Equipment type marker for Pattern Unit
-       kPattUnitEquipId= 64,  // Equipment ID for Pattern Unit
-
-       kPhosAdcMarker = 22,   // Equipment type marker for PhosAdc (Kurchatov ADC)
-       kPhosAdcEquipId= 16,   // Equipment ID for PhosAdc
-
-       kTdcMarker = 26,       // Equipment type marker for Tdc
-       kTdcEquipId=128,       // Equipment ID for Tdc
-
-       kChargeAdcMarker = 24, // Equipment type marker for ChargeAdc
-       kChargeAdcEquipId= 32, // Equipment ID for ChargeAdc
-
-       kScalerMarker = 25,    // Equipment type marker for Scaler
-       kScalerEquipId=256};   // Equipment ID for Scaler
-
-
-protected :
-  AliRawReader*       fRawReader; //! object for reading the raw data
-  UChar_t*            fData;      //! raw data
-  AliPHOSConTableDB * fctdb ;     //! connection between RAW index and AbsId of crystal 
-
-  Int_t fTrig ; //current trigger
-
-  ClassDef(AliPHOSRawStream2004, 0)   // class for reading PHOS raw digits
-};
-
-#endif
index 6e01164..28f6888 100644 (file)
 #pragma link C++ class AliPHOSTrackSegmentMaker+;
 #pragma link C++ class AliPHOSPID+;
 #pragma link C++ class AliPHOSClusterizer+;
-#pragma link C++ class AliPHOSCalibrationDB+;
-#pragma link C++ class AliPHOSCalibrationData+;
-#pragma link C++ class AliPHOSCalibrManager+;
 #pragma link C++ class AliPHOSDigitizer+;
 #pragma link C++ class AliPHOSSDigitizer+;
 #pragma link C++ class AliPHOSDigit+;
 #pragma link C++ class AliPHOSFastRecParticle+;
-#pragma link C++ class AliPHOSRawStream2004+;
 #pragma link C++ class AliPHOSCalibData+;
 #pragma link C++ class AliPHOSCpvCalibData+;
 #pragma link C++ class AliPHOSEmcCalibData+;
@@ -40,7 +36,6 @@
 
 #pragma link C++ class AliPHOSRecoParam+;
 #pragma link C++ class AliPHOSSimParam+;
-#pragma link C++ class AliPHOSConTableDB+;
 
 #pragma link C++ class AliPHOSImpact+;
 #pragma link C++ class AliPHOSTrigger+;
index 17cf7e0..b328b8e 100644 (file)
 #pragma link C++ class AliPHOSvImpacts+;
 #pragma link C++ class AliPHOSCPVDigit+;
 #pragma link C++ class AliPHOSTick+;
-#pragma link C++ class AliPHOSRaw2Digits+;
-#pragma link C++ class AliPHOSBeamTestEvent+;
-#pragma link C++ class AliPHOSCalibrator+;
-#pragma link C++ class AliPHOSOnlineMonitor+;
 #pragma link C++ class AliPHOSQADataMakerSim+;
 
 #endif
index c87cc24..af5a436 100644 (file)
@@ -5,14 +5,12 @@ SRCS          =  \
                  AliPHOSLoader.cxx \
                  AliPHOSHit.cxx AliPHOSTrackSegmentMaker.cxx  AliPHOSPID.cxx \
                  AliPHOSClusterizer.cxx \
-                 AliPHOSCalibrationDB.cxx AliPHOSDigitizer.cxx \
+                 AliPHOSDigitizer.cxx \
                  AliPHOSSDigitizer.cxx AliPHOSDigit.cxx \
-                 AliPHOSFastRecParticle.cxx AliPHOSRawStream2004.cxx \
+                 AliPHOSFastRecParticle.cxx \
                  AliPHOSCalibData.cxx \
-                AliPHOSCalibrationData.cxx \
                  AliPHOSCpvCalibData.cxx \
-                 AliPHOSEmcCalibData.cxx AliPHOSCalibrManager.cxx \
-                AliPHOSConTableDB.cxx \
+                 AliPHOSEmcCalibData.cxx \
                  AliPHOSPulseGenerator.cxx \
                  AliPHOSRawDecoder.cxx \
                  AliPHOSRawDecoderv1.cxx \
index 650f0df..abb93d8 100644 (file)
@@ -4,9 +4,6 @@ SRCS          =  AliPHOS.cxx AliPHOSv0.cxx AliPHOSv1.cxx AliPHOSv2.cxx \
                  AliPHOSvFast.cxx AliPHOSvImpacts.cxx \
                  AliPHOSCPVDigit.cxx  \
                  AliPHOSTick.cxx \
-                 AliPHOSRaw2Digits.cxx AliPHOSBeamTestEvent.cxx \
-                 AliPHOSCalibrator.cxx \
-                 AliPHOSOnlineMonitor.cxx \
                  AliPHOSQADataMakerSim.cxx 
 
 HDRS:= $(SRCS:.cxx=.h)