ROOT logo
/***************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Conributors 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.                  *
 **************************************************************************/



////////////////////////////////////////////////////////////////////////
// This class defines the "Standard" reconstruction for the ITS       // 
// detector.                                                          //
//                                                                    //
////////////////////////////////////////////////////////////////////////
#include "TObjArray.h"
#include "TTree.h"

#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliITSClusterFinder.h"
#include "AliITSClusterFinderV2SPD.h"
#include "AliITSClusterFinderV2SDD.h"
#include "AliITSClusterFinderSDDfast.h"
#include "AliITSClusterFinderV2SSD.h"
#include "AliITSDetTypeRec.h"
#include "AliITSDDLModuleMapSDD.h"
#include "AliITSRecPoint.h"
#include "AliITSRecPointContainer.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSMapSDD.h"
#include "AliITSCalibrationSSD.h"
#include "AliITSNoiseSSDv2.h"
#include "AliITSGainSSDv2.h"
#include "AliITSBadChannelsSSDv2.h"
#include "AliITSNoiseSSD.h"
#include "AliITSGainSSD.h"
#include "AliITSBadChannelsSSD.h"
#include "AliITSresponseSDD.h"
#include "AliITSsegmentationSPD.h"
#include "AliITSsegmentationSDD.h"
#include "AliITSsegmentationSSD.h"
#include "AliLog.h"
#include "AliITSRawStreamSPD.h"
#include "AliITSTriggerConditions.h"
#include "AliITSFOSignalsSPD.h"
#include "AliRunLoader.h"
#include "AliDataLoader.h"
#include "AliITSLoader.h"


class AliITSDriftSpeedArraySDD;
class AliITSCorrMapSDD;
class AliITSRecoParam;

const Int_t AliITSDetTypeRec::fgkNdettypes = 3;
const Int_t AliITSDetTypeRec::fgkDefaultNModulesSPD =  240;
const Int_t AliITSDetTypeRec::fgkDefaultNModulesSDD =  260;
const Int_t AliITSDetTypeRec::fgkDefaultNModulesSSD = 1698;

ClassImp(AliITSDetTypeRec)

//________________________________________________________________
AliITSDetTypeRec::AliITSDetTypeRec(): TObject(),
fNMod(0),
fITSgeom(0),
fReconstruction(0),
fSegmentation(0),
fCalibration(0),
fSSDCalibration(0),
fSPDDead(0),
fSPDSparseDead(0),
fTriggerConditions(0),
fDigits(0),
fFOSignals(0),
fDDLMapSDD(0),
fRespSDD(0),
fAveGainSDD(0),
fRecPoints(0),
fNRecPoints(0),
fFirstcall(kTRUE),
fLoadOnlySPDCalib(0),
fFastOrFiredMap(1200){
    // Standard Constructor
    // Inputs:
    //    none.
    // Outputs:
    //    none.
    // Return:
    //   

  fReconstruction = new TObjArray(fgkNdettypes);
  fDigits = new TObjArray(fgkNdettypes);
  for(Int_t i=0; i<3; i++){
    fkDigClassName[i]=0;
  }
  fSSDCalibration=new AliITSCalibrationSSD();
  fNMod = new Int_t [fgkNdettypes];
  fNMod[0] = fgkDefaultNModulesSPD;
  fNMod[1] = fgkDefaultNModulesSDD;
  fNMod[2] = fgkDefaultNModulesSSD;
  fNRecPoints = 0;
  
  
}

//______________________________________________________________________
AliITSDetTypeRec::AliITSDetTypeRec(const AliITSDetTypeRec & rec):TObject(rec),
fNMod(rec.fNMod),
fITSgeom(rec.fITSgeom),
fReconstruction(rec.fReconstruction),
fSegmentation(rec.fSegmentation),
fCalibration(rec.fCalibration),
fSSDCalibration(rec.fSSDCalibration),
fSPDDead(rec.fSPDDead),
fSPDSparseDead(rec.fSPDSparseDead),
fTriggerConditions(rec.fTriggerConditions),
fDigits(rec.fDigits),
fFOSignals(rec.fFOSignals),
fDDLMapSDD(rec.fDDLMapSDD),
fRespSDD(rec.fRespSDD),
fAveGainSDD(rec.fAveGainSDD),
fRecPoints(rec.fRecPoints),
fNRecPoints(rec.fNRecPoints),
fFirstcall(rec.fFirstcall),
fLoadOnlySPDCalib(rec.fLoadOnlySPDCalib),
fFastOrFiredMap(rec.fFastOrFiredMap){

  // Copy constructor. 
  for(Int_t i=0; i<3; i++){    
    fkDigClassName[i]=rec.fkDigClassName[i];  // NB only copies Char_t*, so not so safe, but this code should never be reached anyways
  }
}
//______________________________________________________________________
AliITSDetTypeRec& AliITSDetTypeRec::operator=(const AliITSDetTypeRec& source){
    // Assignment operator. 
    this->~AliITSDetTypeRec();
    new(this) AliITSDetTypeRec(source);
    return *this;

}

//_____________________________________________________________________
AliITSDetTypeRec::~AliITSDetTypeRec(){
  //Destructor

  if(fReconstruction){
    fReconstruction->Delete();
    delete fReconstruction;
  }
  if(fSegmentation){
    fSegmentation->Delete();
    delete fSegmentation;
  }
  if(fCalibration){
    if(!(AliCDBManager::Instance()->GetCacheFlag())) {
      fCalibration->Delete();
      delete fCalibration;
      if(fRespSDD) delete fRespSDD;
      if(fDDLMapSDD) delete fDDLMapSDD;
   }
  }
  if(fSSDCalibration){
    if(!(AliCDBManager::Instance()->GetCacheFlag())) {
      delete fSSDCalibration;
    }
  }
   if(fSPDDead){
    if(!(AliCDBManager::Instance()->GetCacheFlag())) {
      fSPDDead->Delete();
      delete fSPDDead;
    }
  } 
     if(fSPDSparseDead){
    if(!(AliCDBManager::Instance()->GetCacheFlag())) {
      fSPDSparseDead->Delete();
      delete fSPDSparseDead;
    }
  } 
  if(fTriggerConditions){
    if(!(AliCDBManager::Instance()->GetCacheFlag())) {
      fTriggerConditions->Delete();
      delete fTriggerConditions;
    }
  } 
  if(fDigits){
    fDigits->Delete();
    delete fDigits;
  }
  if(fRecPoints){
    fRecPoints->Delete();
    delete fRecPoints;
  }
  delete [] fNMod;
  
  if (fITSgeom) delete fITSgeom;
 
}

//___________________________________________________________________
void AliITSDetTypeRec::SetReconstructionModel(Int_t dettype,AliITSClusterFinder *clf){

  //Set reconstruction model for detector type

  if(fReconstruction==0) fReconstruction = new TObjArray(fgkNdettypes);
  if(fReconstruction->At(dettype)!=0) delete fReconstruction->At(dettype);
  fReconstruction->AddAt(clf,dettype);
}
//______________________________________________________________________
AliITSClusterFinder* AliITSDetTypeRec::GetReconstructionModel(Int_t dettype) const{

  //Get reconstruction model for detector type
  if(fReconstruction==0)  {
    Warning("GetReconstructionModel","fReconstruction is 0!");
    return 0;     
  }
  return (AliITSClusterFinder*)fReconstruction->At(dettype);
}

//______________________________________________________________________
void AliITSDetTypeRec::SetSegmentationModel(Int_t dettype,AliITSsegmentation *seg){
   
  //Set segmentation model for detector type
  
  if(fSegmentation==0) fSegmentation = new TObjArray(fgkNdettypes);
  if(fSegmentation->At(dettype)!=0) delete fSegmentation->At(dettype);
  fSegmentation->AddAt(seg,dettype);

}
//______________________________________________________________________
AliITSsegmentation* AliITSDetTypeRec::GetSegmentationModel(Int_t dettype) const {

  //Get segmentation model for detector type
   
   if(fSegmentation==0) {
     Warning("GetSegmentationModel","fSegmentation is 0!");
     return 0; 
   } 
   return (AliITSsegmentation*)fSegmentation->At(dettype);

}
//_______________________________________________________________________
void AliITSDetTypeRec::SetCalibrationModel(Int_t iMod, AliITSCalibration *cal){

  //Set calibration (response) for the module iMod of type dettype
  if (fCalibration==0) {
    fCalibration = new TObjArray(GetITSgeom()->GetIndexMax());
    fCalibration->SetOwner(kTRUE);
    fCalibration->Clear();
  }

  if (fCalibration->At(iMod) != 0)
    delete (AliITSCalibration*) fCalibration->At(iMod);
  fCalibration->AddAt(cal,iMod);

}
//_______________________________________________________________________
void AliITSDetTypeRec::SetSPDDeadModel(Int_t iMod, AliITSCalibration *cal){

  //Set dead pixel info for the SPD module iMod
  if (fSPDDead==0) {
    fSPDDead = new TObjArray(fgkDefaultNModulesSPD);
    fSPDDead->SetOwner(kTRUE);
    fSPDDead->Clear();
  }

  if (fSPDDead->At(iMod) != 0)
    delete (AliITSCalibration*) fSPDDead->At(iMod);
  fSPDDead->AddAt(cal,iMod);
}
//_______________________________________________________________________
void AliITSDetTypeRec::SetSPDSparseDeadModel(Int_t iMod, AliITSCalibration *cal){

  //Set dead pixel info for the SPD ACTIVE module iMod
  if (fSPDSparseDead==0) {
    fSPDSparseDead = new TObjArray(fgkDefaultNModulesSPD);
    fSPDSparseDead->SetOwner(kTRUE);
    fSPDSparseDead->Clear();
  }

  if (fSPDSparseDead->At(iMod) != 0)
    delete (AliITSCalibration*) fSPDSparseDead->At(iMod);
  fSPDSparseDead->AddAt(cal,iMod);
}
//_______________________________________________________________________
AliITSCalibration* AliITSDetTypeRec::GetCalibrationModel(Int_t iMod) const {
  
  //Get calibration model for module type
  
  if(fCalibration==0) {
    Warning("GetalibrationModel","fCalibration is 0!");
    return 0; 
  }  

  if(iMod<fgkDefaultNModulesSPD+fgkDefaultNModulesSDD){
    return (AliITSCalibration*)fCalibration->At(iMod);
  }else{
    Int_t i=iMod-(fgkDefaultNModulesSPD+fgkDefaultNModulesSDD);
    fSSDCalibration->SetModule(i);
    return (AliITSCalibration*)fSSDCalibration;
  }

}
//_______________________________________________________________________
AliITSCalibration* AliITSDetTypeRec::GetSPDDeadModel(Int_t iMod) const {
  
  //Get SPD dead for module iMod
  
  if(fSPDDead==0) {
    AliWarning("fSPDDead is 0!");
    return 0; 
  }  
  return (AliITSCalibration*)fSPDDead->At(iMod);
}
//_______________________________________________________________________
AliITSCalibration* AliITSDetTypeRec::GetSPDSparseDeadModel(Int_t iMod) const {
  
  //Get SPD dead for module iMod
  
  if(fSPDSparseDead==0) {
    AliWarning("fSPDSparseDead is 0!");
    return 0; 
  }  
  return (AliITSCalibration*)fSPDSparseDead->At(iMod);
}
//_______________________________________________________________________
AliITSTriggerConditions* AliITSDetTypeRec::GetTriggerConditions() const {
  //Get Pixel Trigger Conditions
  if (fTriggerConditions==0) {
    AliWarning("fTriggerConditions is 0!");
  }
  return fTriggerConditions;
}
//______________________________________________________________________
void AliITSDetTypeRec::SetTreeAddressD(TTree* const treeD){
    // Set branch address for the tree of digits.

  const char *det[4] = {"SPD","SDD","SSD","ITS"};
  TBranch *branch;
  const Char_t* digclass;
  Int_t i;
  char branchname[30];

  if(!treeD) return;
  if (fDigits == 0x0) {
    fDigits = new TObjArray(fgkNdettypes);
  }
  else {
    ResetDigits();
  }
  for (i=0; i<fgkNdettypes; i++) {
    digclass = GetDigitClassName(i);
    fDigits->AddAt(new TClonesArray(digclass,1000),i); 
    if (fgkNdettypes==3) snprintf(branchname,29,"%sDigits%s",det[3],det[i]);
    else  snprintf(branchname,29,"%sDigits%d",det[3],i+1);
    branch = treeD->GetBranch(branchname);
    if (branch) branch->SetAddress(&((*fDigits)[i]));
  } 

}

//_______________________________________________________________________
TBranch* AliITSDetTypeRec::MakeBranchInTree(TTree* const tree, 
                           const char* name, const char *classname, 
                           void* address,Int_t size,Int_t splitlevel)
{ 
//
// Makes branch in given tree and diverts them to a separate file
// 
//
//
    
  if (tree == 0x0) {
    Error("MakeBranchInTree","Making Branch %s Tree is NULL",name);
    return 0x0;
  }
  TBranch *branch = tree->GetBranch(name);
  if (branch) {  
    return branch;
  }
  if (classname){
    branch = tree->Branch(name,classname,address,size,splitlevel);
  }
  else {
    branch = tree->Bronch(name, "TClonesArray", address, size, splitlevel);
  }
  
  return branch;
}

//____________________________________________________________________
void AliITSDetTypeRec::SetDefaults(){
  
  //Set defaults for segmentation and response

  if(!GetITSgeom()){
    Warning("SetDefaults","null pointer to AliITSgeomGeom !");
    return;
  }

  AliITSsegmentation* seg;
  if(!GetCalibration()) {AliFatal("Exit");exit(0);}  

  for(Int_t dettype=0;dettype<fgkNdettypes;dettype++){
    if(dettype==0){
      seg = new AliITSsegmentationSPD();
      SetSegmentationModel(dettype,seg);
      SetDigitClassName(dettype,"AliITSdigitSPD");
    }
    if(dettype==1){
      seg = new AliITSsegmentationSDD();
      if(fLoadOnlySPDCalib==kFALSE){
	AliITSCalibrationSDD* cal=(AliITSCalibrationSDD*)GetCalibrationModel(fgkDefaultNModulesSPD+1);
	if(cal->IsAMAt20MHz()){ 
	  seg->SetPadSize(seg->Dpz(0),20.);
	  seg->SetNPads(seg->Npz()/2,128);
	}
      }
      SetSegmentationModel(dettype,seg);
      SetDigitClassName(dettype,"AliITSdigitSDD");
    }
    if(dettype==2){
      AliITSsegmentationSSD* seg2 = new AliITSsegmentationSSD();
      SetSegmentationModel(dettype,seg2);
      SetDigitClassName(dettype,"AliITSdigitSSD");
    }
  }
}
//______________________________________________________________________
Bool_t AliITSDetTypeRec::GetCalibration() {
  // Get Default calibration if a storage is not defined.

  if(!fFirstcall){
    AliITSCalibration* cal = GetCalibrationModel(0);
    if(cal)return kTRUE;
  }else {
    fFirstcall = kFALSE;
  }

  //  SetRunNumber((Int_t)AliCDBManager::Instance()->GetRun());
  //  Int_t run=GetRunNumber();

  Bool_t cacheStatus = AliCDBManager::Instance()->GetCacheFlag();
  if (fCalibration==0) {
    fCalibration = new TObjArray(GetITSgeom()->GetIndexMax());
    fCalibration->SetOwner(!cacheStatus);
    fCalibration->Clear();
  }
    
  Bool_t retCode=GetCalibrationSPD(cacheStatus);
  if(retCode==kFALSE) return kFALSE;

  if(fLoadOnlySPDCalib==kFALSE){
    retCode=GetCalibrationSDD(cacheStatus);
    if(retCode==kFALSE) return kFALSE;
    retCode=GetCalibrationSSD(cacheStatus);
    if(retCode==kFALSE) return kFALSE;
  }

  AliInfo(Form("%i SPD, %i SDD and %i SSD in calibration database",
	       fNMod[0], fNMod[1], fNMod[2]));
  return kTRUE;
}
//______________________________________________________________________
Bool_t AliITSDetTypeRec::GetCalibrationSPD(Bool_t cacheStatus) {
  // Get SPD calibration objects from OCDB
  // dead pixel are not used for local reconstruction

 
  AliCDBEntry *noisySPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDNoisy");
  AliCDBEntry *deadSPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDDead");
  AliCDBEntry *deadSparseSPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDSparseDead");
  AliCDBEntry *pitCond = AliCDBManager::Instance()->Get("TRIGGER/SPD/PITConditions");
  if(!noisySPD || !deadSPD || !pitCond ){
    AliFatal("SPD Calibration object retrieval failed! ");
    return kFALSE;
  }

  TObjArray *calNoisySPD = (TObjArray*) noisySPD->GetObject();
  if (!cacheStatus) noisySPD->SetObject(NULL);
  noisySPD->SetOwner(kTRUE);
 
  TObjArray *calDeadSPD = (TObjArray*) deadSPD->GetObject();
  if (!cacheStatus) deadSPD->SetObject(NULL);
  deadSPD->SetOwner(kTRUE);

  TObjArray *calSparseDeadSPD = (TObjArray*) deadSparseSPD->GetObject();
  if (!cacheStatus) deadSparseSPD->SetObject(NULL);
  deadSparseSPD->SetOwner(kTRUE);

  
  AliITSTriggerConditions *calPitCond = (AliITSTriggerConditions*) pitCond->GetObject();
  if (!cacheStatus) pitCond->SetObject(NULL);
  pitCond->SetOwner(kTRUE);

  if(!cacheStatus){
    delete noisySPD;
    delete deadSPD;
    delete deadSparseSPD;
    delete pitCond;
  }
  if ((!calNoisySPD) || (!calDeadSPD) || (!calSparseDeadSPD) || (!calPitCond)){ 
    AliWarning("Can not get SPD calibration from calibration database !");
    return kFALSE;
  }
  fNMod[0] = calNoisySPD->GetEntries();

  AliITSCalibration* cal;
  for (Int_t i=0; i<fNMod[0]; i++) {
    cal = (AliITSCalibration*) calNoisySPD->At(i);
    SetCalibrationModel(i, cal);
    cal = (AliITSCalibration*) calDeadSPD->At(i);
    SetSPDDeadModel(i, cal);
    cal = (AliITSCalibration*) calSparseDeadSPD->At(i);
    SetSPDSparseDeadModel(i, cal);
  }
  fTriggerConditions = calPitCond;

  return kTRUE;
}

//______________________________________________________________________
Bool_t AliITSDetTypeRec::GetCalibrationSDD(Bool_t cacheStatus) {
  // Get SDD calibration objects from OCDB

  AliCDBEntry *entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD");
  AliCDBEntry *entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD");
  AliCDBEntry *drSpSDD = AliCDBManager::Instance()->Get("ITS/Calib/DriftSpeedSDD");
  AliCDBEntry *ddlMapSDD = AliCDBManager::Instance()->Get("ITS/Calib/DDLMapSDD");
  //   AliCDBEntry *mapASDD = AliCDBManager::Instance()->Get("ITS/Calib/MapsAnodeSDD");
  AliCDBEntry *mapTSDD = AliCDBManager::Instance()->Get("ITS/Calib/MapsTimeSDD");

  if(!entrySDD || !entry2SDD || !drSpSDD || !ddlMapSDD || !mapTSDD ){
    AliFatal("SDD Calibration object retrieval failed! ");
    return kFALSE;
  }  	


    
  TObjArray *calSDD = (TObjArray *)entrySDD->GetObject();
  if(!cacheStatus)entrySDD->SetObject(NULL);
  entrySDD->SetOwner(kTRUE);
 
  AliITSresponseSDD *pSDD = (AliITSresponseSDD*)entry2SDD->GetObject();
  if(!cacheStatus)entry2SDD->SetObject(NULL);
  entry2SDD->SetOwner(kTRUE);

  TObjArray *drSp = (TObjArray *)drSpSDD->GetObject();
  if(!cacheStatus)drSpSDD->SetObject(NULL);
  drSpSDD->SetOwner(kTRUE);

  AliITSDDLModuleMapSDD *ddlsdd=(AliITSDDLModuleMapSDD*)ddlMapSDD->GetObject();
  if(!cacheStatus)ddlMapSDD->SetObject(NULL);
  ddlMapSDD->SetOwner(kTRUE);

//   TObjArray *mapAn = (TObjArray *)mapASDD->GetObject();
//   if(!cacheStatus)mapASDD->SetObject(NULL);
//   mapASDD->SetOwner(kTRUE);

  TObjArray *mapT = (TObjArray *)mapTSDD->GetObject();
  if(!cacheStatus)mapTSDD->SetObject(NULL);
  mapTSDD->SetOwner(kTRUE);


  // DB entries are deleted. In this way metadeta objects are deleted as well
  if(!cacheStatus){
    delete entrySDD;
    delete entry2SDD;
    //delete mapASDD;
    delete mapTSDD;
    delete drSpSDD;
    delete ddlMapSDD;
  }

  if ((!pSDD)||(!calSDD) || (!drSp) || (!ddlsdd) || (!mapT) ){
    AliWarning("Can not get SDD calibration from calibration database !");
    return kFALSE;
  }

  fNMod[1] = calSDD->GetEntries();

  fDDLMapSDD=ddlsdd;
  fRespSDD=pSDD;
  AliITSCalibration* cal;
  Float_t avegain=0.;
  Float_t nGdAnodes=0;
  Bool_t oldMapFormat=kFALSE;
  TObject* objmap=(TObject*)mapT->At(0);
  TString cname(objmap->ClassName());
  if(cname.CompareTo("AliITSMapSDD")==0){ 
    oldMapFormat=kTRUE;
    AliInfo("SDD Maps converted to new format");
  }
  for(Int_t iddl=0; iddl<AliITSDDLModuleMapSDD::GetNDDLs(); iddl++){
    for(Int_t icar=0; icar<AliITSDDLModuleMapSDD::GetNModPerDDL();icar++){
      Int_t iMod=fDDLMapSDD->GetModuleNumber(iddl,icar);
      if(iMod==-1) continue;
      Int_t i=iMod - fgkDefaultNModulesSPD;
      cal = (AliITSCalibration*) calSDD->At(i);
      Int_t i0=2*i;
      Int_t i1=1+2*i;
      for(Int_t iAnode=0;iAnode< ((AliITSCalibrationSDD*)cal)->NOfAnodes(); iAnode++){
	if(((AliITSCalibrationSDD*)cal)->IsBadChannel(iAnode)) continue;
	avegain+= ((AliITSCalibrationSDD*)cal)->GetChannelGain(iAnode);
	nGdAnodes++;
      }
      AliITSDriftSpeedArraySDD* arr0 = (AliITSDriftSpeedArraySDD*) drSp->At(i0);
      AliITSDriftSpeedArraySDD* arr1 = (AliITSDriftSpeedArraySDD*) drSp->At(i1);

      AliITSCorrMapSDD* mt0 = 0;
      AliITSCorrMapSDD* mt1 = 0;
      if(oldMapFormat){ 
	AliITSMapSDD* oldmap0=(AliITSMapSDD*)mapT->At(i0);
	AliITSMapSDD* oldmap1=(AliITSMapSDD*)mapT->At(i1);
	mt0=oldmap0->ConvertToNewFormat();
	mt1=oldmap1->ConvertToNewFormat();
      }else{
	mt0=(AliITSCorrMapSDD*)mapT->At(i0);
	mt1=(AliITSCorrMapSDD*)mapT->At(i1);
      }
      cal->SetDriftSpeed(0,arr0);
      cal->SetDriftSpeed(1,arr1);
      cal->SetMapT(0,mt0);
      cal->SetMapT(1,mt1);
      SetCalibrationModel(iMod, cal);
    }
  }
  if(nGdAnodes) fAveGainSDD=avegain/nGdAnodes;
  return kTRUE;
}


//______________________________________________________________________
Bool_t AliITSDetTypeRec::GetCalibrationSSD(Bool_t cacheStatus) {
  // Get SSD calibration objects from OCDB
  //  AliCDBEntry *entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD");

  AliCDBEntry *entryNoiseSSD = AliCDBManager::Instance()->Get("ITS/Calib/NoiseSSD");
  AliCDBEntry *entryGainSSD = AliCDBManager::Instance()->Get("ITS/Calib/GainSSD");
  AliCDBEntry *entryBadChannelsSSD = AliCDBManager::Instance()->Get("ITS/Calib/BadChannelsSSD");

  if(!entryNoiseSSD || !entryGainSSD || !entryBadChannelsSSD){
    AliFatal("SSD Calibration object retrieval failed! ");
    return kFALSE;
  }  	

  TObject *emptyssd = 0; TString ssdobjectname;
  AliITSNoiseSSDv2 *noiseSSD = NULL; 
  emptyssd = (TObject *)entryNoiseSSD->GetObject();
  ssdobjectname = emptyssd->GetName();
  if(ssdobjectname=="TObjArray") {
    TObjArray *noiseSSDOld = (TObjArray *)entryNoiseSSD->GetObject();
    noiseSSD = new AliITSNoiseSSDv2(); 
    ReadOldSSDNoise(noiseSSDOld, noiseSSD);
  }
  else if(ssdobjectname=="AliITSNoiseSSDv2")
    noiseSSD = (AliITSNoiseSSDv2 *)entryNoiseSSD->GetObject();
  if(!cacheStatus)entryNoiseSSD->SetObject(NULL);
  entryNoiseSSD->SetOwner(kTRUE);

  AliITSGainSSDv2 *gainSSD = NULL;;
  emptyssd = (TObject *)entryGainSSD->GetObject();
  ssdobjectname = emptyssd->GetName();
  if(ssdobjectname=="Gain") {
    TObjArray *gainSSDOld = (TObjArray *)entryGainSSD->GetObject();
    gainSSD = new AliITSGainSSDv2();
    ReadOldSSDGain(gainSSDOld, gainSSD);
  }
  else if(ssdobjectname=="AliITSGainSSDv2")
    gainSSD = (AliITSGainSSDv2 *)entryGainSSD->GetObject();
  if(!cacheStatus)entryGainSSD->SetObject(NULL);
  entryGainSSD->SetOwner(kTRUE);

  AliITSBadChannelsSSDv2 *badChannelsSSD = NULL;
  emptyssd = (TObject *)entryBadChannelsSSD->GetObject();
  ssdobjectname = emptyssd->GetName();
  if(ssdobjectname=="TObjArray") {
    TObjArray *badChannelsSSDOld = (TObjArray *)entryBadChannelsSSD->GetObject();
    badChannelsSSD = new AliITSBadChannelsSSDv2();
    ReadOldSSDBadChannels(badChannelsSSDOld, badChannelsSSD);
  }
  else if(ssdobjectname=="AliITSBadChannelsSSDv2")
    badChannelsSSD = (AliITSBadChannelsSSDv2*)entryBadChannelsSSD->GetObject();
  if(!cacheStatus)entryBadChannelsSSD->SetObject(NULL);
  entryBadChannelsSSD->SetOwner(kTRUE);

  // DB entries are deleted. In this way metadeta objects are deleted as well
  if(!cacheStatus){
    delete entryNoiseSSD;
    delete entryGainSSD;
    delete entryBadChannelsSSD;
  }

  if ((!noiseSSD)|| (!gainSSD)|| (!badChannelsSSD)) {
    AliWarning("Can not get SSD calibration from calibration database !");
    return kFALSE;
  }

  fSSDCalibration->SetNoise(noiseSSD);
  fSSDCalibration->SetGain(gainSSD);
  fSSDCalibration->SetBadChannels(badChannelsSSD);
  //fSSDCalibration->FillBadChipMap();

  return kTRUE;
}

//________________________________________________________________
void AliITSDetTypeRec::SetDefaultClusterFindersV2(Bool_t rawdata, Bool_t fastSDD){

  //Set defaults for cluster finder V2

  if(!GetITSgeom()){
    Warning("SetDefaults","Null pointer to AliITSgeom !");
    return;
  }

  AliITSClusterFinder *clf; 

  for(Int_t dettype=0;dettype<fgkNdettypes;dettype++){
    //SPD
    if(dettype==0){
      if(!GetReconstructionModel(dettype)){
	clf = new AliITSClusterFinderV2SPD(this);
	clf->InitGeometry();
	if(!rawdata) clf->SetDigits(DigitsAddress(0));
	SetReconstructionModel(dettype,clf);

      }
    }
    //SDD
    if(dettype==1){
      if(!GetReconstructionModel(dettype)){
	if(fastSDD){
	  clf = new AliITSClusterFinderSDDfast(this);
	}
	else {
	  clf = new AliITSClusterFinderV2SDD(this);
	}
	clf->InitGeometry();
	if(!rawdata) clf->SetDigits(DigitsAddress(1));
	SetReconstructionModel(dettype,clf);
      }

    }

    //SSD
    if(dettype==2){
      if(!GetReconstructionModel(dettype)){
	clf = new AliITSClusterFinderV2SSD(this);
	clf->InitGeometry();
	if(!rawdata) clf->SetDigits(DigitsAddress(2));
	SetReconstructionModel(dettype,clf);
      }
    }

 }
   
}
//______________________________________________________________________
void AliITSDetTypeRec::MakeBranch(TTree* tree, Option_t* option){

  //Creates branches for clusters and recpoints
  Bool_t cR = (strstr(option,"R")!=0);
  Bool_t cRF = (strstr(option,"RF")!=0);
  
  if(cRF)cR = kFALSE;

  if(cR) MakeBranchR(tree);
  if(cRF) MakeBranchRF(tree);

}

//___________________________________________________________________
void AliITSDetTypeRec::ResetDigits(){
  // Reset number of digits and the digits array for the ITS detector.
  
  if(!fDigits) return;
  for(Int_t i=0;i<fgkNdettypes;i++){
    ResetDigits(i);
  }
}
//___________________________________________________________________
void AliITSDetTypeRec::ResetDigits(Int_t branch){
  // Reset number of digits and the digits array for this branch.
  
  if(fDigits->At(branch)) ((TClonesArray*)fDigits->At(branch))->Clear();

}
//__________________________________________________________________
void AliITSDetTypeRec::MakeBranchR(TTree *treeR, Option_t *opt){

  //Creates tree branches for recpoints
  // Inputs:
  //      cont char *file  File name where RecPoints branch is to be written
  //                       to. If blank it write the SDigits to the same
  //                       file in which the Hits were found.

  Int_t buffsz = 4000;
  char branchname[30];

  // only one branch for rec points for all detector types
  Bool_t oFast= (strstr(opt,"Fast")!=0);
  
  Char_t detname[10] = "ITS";
 
  
  if(oFast){
    snprintf(branchname,29,"%sRecPointsF",detname);
  } else {
    snprintf(branchname,29,"%sRecPoints",detname);
  }
  
  if(!fRecPoints)fRecPoints = new TClonesArray("AliITSRecPoint",1000);
  if (treeR)
    MakeBranchInTree(treeR,branchname,0,&fRecPoints,buffsz,99);
}
//______________________________________________________________________
void AliITSDetTypeRec::SetTreeAddressR(TTree* const treeR){
    // Set branch address for the Reconstructed points Trees.
    // Inputs:
    //      TTree *treeR   Tree containing the RecPoints.
    // Outputs:
    //      none.
    // Return:

   char branchname[30];
   Char_t namedet[10]="ITS";

   if(!treeR) return;
   if(fRecPoints==0x0) fRecPoints = new TClonesArray("AliITSRecPoint",1000);
   TBranch *branch;
   snprintf(branchname,29,"%sRecPoints",namedet);
   branch = treeR->GetBranch(branchname);
   if (branch) {
      branch->SetAddress(&fRecPoints);
    } 
    else {
      snprintf(branchname,29,"%sRecPointsF",namedet);
      branch = treeR->GetBranch(branchname);
      if (branch) {
	branch->SetAddress(&fRecPoints);
      }
   }
}
//____________________________________________________________________
void AliITSDetTypeRec::AddRecPoint(const AliITSRecPoint &r){
    // Add a reconstructed space point to the list
    // Inputs:
    //      const AliITSRecPoint &r RecPoint class to be added to the tree
    //                              of reconstructed points TreeR.
    // Outputs:
    //      none.
    // Return:
    //      none.
    TClonesArray &lrecp = *fRecPoints;
    new(lrecp[fNRecPoints++]) AliITSRecPoint(r);
}

//______________________________________________________________________
void AliITSDetTypeRec::DigitsToRecPoints(TTree *treeD,TTree *treeR,Int_t lastentry,Option_t *opt, Int_t optCluFind){
  // cluster finding and reconstruction of space points
  // the condition below will disappear when the geom class will be
  // initialized for all versions - for the moment it is only for v5 !
  // 7 is the SDD beam test version
  // Inputs:
  //      TTree *treeD     Digits tree
  //      TTree *treeR     Clusters tree
  //      Int_t lastentry  Offset for module when not all of the modules
  //                       are processed.
  //      Option_t *opt    String indicating which ITS sub-detectors should
  //                       be processed. If ="All" then all of the ITS
  //                       sub detectors are processed.

  const char *all = strstr(opt,"All");
  const char *det[3] = {strstr(opt,"SPD"),strstr(opt,"SDD"),
                        strstr(opt,"SSD")};
  if(optCluFind==0){
    SetDefaultClusterFindersV2();
    AliDebug(1,"V2 cluster finder has been selected \n");
  }else{
    SetDefaultClusterFindersV2(kFALSE,kTRUE);
    AliDebug(1,"SPD and SSD V2 Cluster Finder - SDD fast Cluster Finder \n");    
  }

  
  // Reset Fast-OR fired map
  ResetFastOrFiredMap();

  if (all || det[0]) { // SPD present
    // Get the FO signals for this event
    AliRunLoader* runLoader = AliRunLoader::Instance();
    AliITSLoader* itsLoader = (AliITSLoader*) runLoader->GetLoader("ITSLoader");
    if (!itsLoader) {
      AliError("ITS loader is NULL.");
    }
   else {
      fFOSignals = (AliITSFOSignalsSPD*)itsLoader->TreeD()->GetUserInfo()->FindObject("AliITSFOSignalsSPD");
      if(!fFOSignals) AliError("FO signals not retrieved");
     }

  }

  
  AliITSClusterFinder *rec     = 0;
  Int_t id,module,first=0;
  for(module=0;module<GetITSgeom()->GetIndexMax();module++){
      id       = GetITSgeom()->GetModuleType(module);
      if (!all && !det[id]) continue;
      if(det[id]) first = GetITSgeom()->GetStartDet(id);
      rec = (AliITSClusterFinder*)GetReconstructionModel(id);
      TClonesArray *itsDigits  = DigitsAddress(id);
      if (!rec){
	AliFatal("The reconstruction class was not instanciated!");
	return;
      }
      ResetDigits();  // MvL: Not sure we neeed this when rereading anyways
      if (all) {
          treeD->GetEvent(lastentry+module);
        }
    else {
      treeD->GetEvent(lastentry+(module-first));
    }
    Int_t ndigits = itsDigits->GetEntriesFast();
    if (ndigits>0 || id==0) { // for SPD we always want to call FindRawClusters (to process FO signals)
      rec->SetDetTypeRec(this);
      rec->SetDigits(DigitsAddress(id));
      //	rec->SetClusters(ClustersAddress(id));
      rec->FindRawClusters(module);
    } // end if
    treeR->Fill();
    ResetRecPoints();
  }
  
   // Remove PIT in-active chips from Fast-OR fired map
  if (all || det[0]) { // SPD present
    RemoveFastOrFiredInActive();
    // here removing bits which have no associated clusters 
    RemoveFastOrFiredFromDead(GetFiredChipMap(treeR));  
  }

  AliITSRecPointContainer* rpcont = AliITSRecPointContainer::Instance();
  Int_t nClu[6];
  nClu[0]=rpcont->GetNClustersInLayer(1,treeR);
  for(Int_t iLay=2; iLay<=6; iLay++) nClu[iLay-1]=rpcont->GetNClustersInLayerFast(iLay);
  AliInfo(Form("Number of RecPoints in ITS Layers = %d %d %d %d %d %d",
	       nClu[0],nClu[1],nClu[2],nClu[3],nClu[4],nClu[5]));
}
//______________________________________________________________________
void AliITSDetTypeRec::DigitsToRecPoints(AliRawReader* rawReader,TTree *treeR,Option_t *opt){
  // cluster finding and reconstruction of space points
  // the condition below will disappear when the geom class will be
  // initialized for all versions - for the moment it is only for v5 !
  // 7 is the SDD beam test version
  // Inputs:
  //      AliRawReader *rawReader  Pointer to the raw-data reader
  //      TTree *treeR             Clusters tree
  // Outputs:
  //      none.
  // Return:
  //      none.
  const char *all = strstr(opt,"All");
  const char *det[3] = {strstr(opt,"SPD"),strstr(opt,"SDD"),
                        strstr(opt,"SSD")};
  
  Int_t id=0;
  AliITSRecPointContainer* rpc = AliITSRecPointContainer::Instance();
  rpc->FullReset();
  TClonesArray* array = rpc->UncheckedGetClusters(0);
  TBranch *branch = treeR->Branch("ITSRecPoints",&array);
  DigitsToRecPoints(rawReader,opt); 

  Int_t nClusters =0;
  for(Int_t iModule=0;iModule<GetITSgeom()->GetIndexMax();iModule++){
    id = GetITSgeom()->GetModuleType(iModule);
    if (!all && !det[id]) continue;
    array = rpc->UncheckedGetClusters(iModule);
    if(!array){
      AliDebug(1,Form("data for module %d missing!",iModule));
    }
    branch->SetAddress(&array);
    treeR->Fill();
    nClusters+=array->GetEntriesFast();
  }

  rpc->FullReset();

  AliITSRecPointContainer* rpcont = AliITSRecPointContainer::Instance();
  Int_t nClu[6];
  nClu[0]=rpcont->GetNClustersInLayer(1,treeR);
  for(Int_t iLay=2; iLay<=6; iLay++) nClu[iLay-1]=rpcont->GetNClustersInLayerFast(iLay);
  AliInfo(Form("Number of RecPoints in ITS Layers = %d %d %d %d %d %d, Total = %d",
	       nClu[0],nClu[1],nClu[2],nClu[3],nClu[4],nClu[5],nClusters));
}
//______________________________________________________________________
void AliITSDetTypeRec::DigitsToRecPoints(AliRawReader* rawReader,Option_t *opt){
  // cluster finding and reconstruction of space points
  // the condition below will disappear when the geom class will be
  // initialized for all versions - for the moment it is only for v5 !
  // 7 is the SDD beam test version
  // Inputs:
  //      AliRawReader *rawReader  Pointer to the raw-data reader
  // Outputs:
  //      none.
  // Return:
  //      none.
  const char *all = strstr(opt,"All");
  const char *det[3] = {strstr(opt,"SPD"),strstr(opt,"SDD"),
                        strstr(opt,"SSD")};
  
  // Reset Fast-OR fired map
  ResetFastOrFiredMap();
  
  AliITSClusterFinder *rec     = 0;
  Int_t id=0;

  for(id=0;id<3;id++){
    if (!all && !det[id]) continue;
    rec = (AliITSClusterFinder*)GetReconstructionModel(id);
    if (!rec){
      AliFatal("The reconstruction class was not instantiated");
      return;
    }
    rec->SetDetTypeRec(this);
    rec->RawdataToClusters(rawReader);    
  } 
   
  // Remove PIT in-active chips from Fast-OR fired map
  if (all || det[0]) { // SPD present
    RemoveFastOrFiredInActive();
    // here removing bits which have no associated clusters 
    RemoveFastOrFiredFromDead(GetFiredChipMap());
   
  }  
}
//______________________________________________________________________
void AliITSDetTypeRec::ReadOldSSDNoise(const TObjArray *array, 
				       AliITSNoiseSSDv2 *noiseSSD) {
  //Reads the old SSD calibration object and converts it to the new format
  const Int_t fgkSSDSTRIPSPERMODULE = 1536;
  const Int_t fgkSSDPSIDESTRIPSPERMODULE = 768;

  Int_t gNMod = array->GetEntries();
  AliInfo("Converting old calibration object for noise...\n");

  //NOISE
  Double_t noise = 0.0;
  for (Int_t iModule = 0; iModule < gNMod; iModule++) {
    AliITSNoiseSSD *noiseModule = (AliITSNoiseSSD*) (array->At(iModule));
    for(Int_t iStrip = 0; iStrip < fgkSSDSTRIPSPERMODULE; iStrip++) {
      noise = (iStrip < fgkSSDPSIDESTRIPSPERMODULE) ? noiseModule->GetNoiseP(iStrip) : noiseModule->GetNoiseN(1535 - iStrip);
      if(iStrip < fgkSSDPSIDESTRIPSPERMODULE)
	noiseSSD->AddNoiseP(iModule,iStrip,noise);
      if(iStrip >= fgkSSDPSIDESTRIPSPERMODULE)
	noiseSSD->AddNoiseN(iModule,1535 - iStrip,noise);
    }//loop over strips
  }//loop over modules      
}

//______________________________________________________________________
void AliITSDetTypeRec::ReadOldSSDBadChannels(const TObjArray *array, 
					     AliITSBadChannelsSSDv2 *badChannelsSSD) {
  //Reads the old SSD calibration object and converts it to the new format
  Int_t gNMod = array->GetEntries();
  AliInfo("Converting old calibration object for bad channels...");
  for (Int_t iModule = 0; iModule < gNMod; iModule++) {
    //for (Int_t iModule = 0; iModule < 1; iModule++) {
    AliITSBadChannelsSSD *bad = (AliITSBadChannelsSSD*) (array->At(iModule));
    TArrayI arrayPSide = bad->GetBadPChannelsList();
    for(Int_t iPCounter = 0; iPCounter < arrayPSide.GetSize(); iPCounter++) 
      badChannelsSSD->AddBadChannelP(iModule,
				     iPCounter,
				     (Char_t)arrayPSide.At(iPCounter));
        
    TArrayI arrayNSide = bad->GetBadNChannelsList();
    for(Int_t iNCounter = 0; iNCounter < arrayNSide.GetSize(); iNCounter++) 
      badChannelsSSD->AddBadChannelN(iModule,
				     iNCounter,
				     (Char_t)arrayNSide.At(iNCounter));
    
  }//loop over modules      
}

//______________________________________________________________________
void AliITSDetTypeRec::ReadOldSSDGain(const TObjArray *array, 
				      AliITSGainSSDv2 *gainSSD) {
  //Reads the old SSD calibration object and converts it to the new format

  Int_t gNMod = array->GetEntries();
  AliInfo("Converting old calibration object for gain...\n");

  //GAIN
  for (Int_t iModule = 0; iModule < gNMod; iModule++) {
    AliITSGainSSD *gainModule = (AliITSGainSSD*) (array->At(iModule));
    TArrayF arrayPSide = gainModule->GetGainP();
    for(Int_t iPCounter = 0; iPCounter < arrayPSide.GetSize(); iPCounter++)
      gainSSD->AddGainP(iModule,
			iPCounter,
			arrayPSide.At(iPCounter));
    TArrayF arrayNSide = gainModule->GetGainN();
    for(Int_t iNCounter = 0; iNCounter < arrayNSide.GetSize(); iNCounter++)
      gainSSD->AddGainN(iModule,
			iNCounter,
			arrayNSide.At(iNCounter));
  }//loop over modules 
}
//______________________________________________________________________
void AliITSDetTypeRec::RemoveFastOrFiredInActive() {
  // Removes the chips that were in-active in the pixel trigger (from fast-or fired map)

  if (fTriggerConditions==NULL) {
    AliError("Pixel trigger conditions are missing.");
    return;
  }
  Int_t eq   = -1;
  Int_t hs   = -1;
  Int_t chip = -1;
  while (fTriggerConditions->GetNextInActiveChip(eq,hs,chip)) {
    UInt_t chipKey = AliITSRawStreamSPD::GetOfflineChipKeyFromOnline(eq,hs,chip);
    fFastOrFiredMap.SetBitNumber(chipKey,kFALSE);
  }
}
//______________________________________________________________________
TBits AliITSDetTypeRec::GetFiredChipMap() const {
  
  //
  // TBits of the fired chips  
  //
 
  AliITSRecPointContainer* rpc = AliITSRecPointContainer::Instance();

  TBits isfiredchip(1200);
  
   AliITSsegmentationSPD *segSPD = (AliITSsegmentationSPD*)GetSegmentationModel(0);
   if(!segSPD) {
    AliError("no segmentation model for SPD available, the fired chip map is empty. Exiting"); 
    return isfiredchip;
   }
   
  
  for(Int_t imod =0; imod < fgkDefaultNModulesSPD; imod++){
    TClonesArray *array = rpc->UncheckedGetClusters(imod);
    if(!array) continue;
    Int_t nCluster = array->GetEntriesFast();
 
    while(nCluster--) {
      AliITSRecPoint* cluster = (AliITSRecPoint*)array->UncheckedAt(nCluster);
     if (cluster->GetLayer()>1)continue;
     Float_t local[3]={-1,-1};
     local[1]=cluster->GetDetLocalX();
     local[0]=cluster->GetDetLocalZ();
     
     Int_t eq = AliITSRawStreamSPD::GetOnlineEqIdFromOffline(imod);
     Int_t hs = AliITSRawStreamSPD::GetOnlineHSFromOffline(imod);
     Int_t row, col;
     segSPD->LocalToDet(0.5,local[0],row,col);
     Int_t chip = AliITSRawStreamSPD::GetOnlineChipFromOffline(imod,col);
     Int_t chipkey = AliITSRawStreamSPD::GetOfflineChipKeyFromOnline(eq,hs,chip);
     isfiredchip.SetBitNumber(chipkey,kTRUE);
    }
    
  } 
 
  return isfiredchip;
  
}
//______________________________________________________________________
TBits AliITSDetTypeRec::GetFiredChipMap(TTree *treeR) const{
  //
  // TBits of the fired chips  
  //
  TBits isfiredchip(1200);
  
  if(!treeR) {
     AliError("no treeR. fired chip map stays empty. Exiting.");
     return isfiredchip;
   }
   
  AliITSRecPointContainer* rpcont=AliITSRecPointContainer::Instance();
  TClonesArray *recpoints = NULL;
  rpcont->FetchClusters(0,treeR);
  if(!rpcont->GetStatusOK() || !rpcont->IsSPDActive()){
    AliError("no clusters. fired chip map stays empty. Exiting.");
     return isfiredchip;
  }
  
   AliITSsegmentationSPD *segSPD = (AliITSsegmentationSPD*)GetSegmentationModel(0);
      
   for(Int_t imod =0; imod < fgkDefaultNModulesSPD; imod++){
    recpoints = rpcont->UncheckedGetClusters(imod);
    Int_t nCluster = recpoints->GetEntriesFast();
    
    // loop over clusters
    while(nCluster--) {
      AliITSRecPoint* cluster = (AliITSRecPoint*)recpoints->UncheckedAt(nCluster);
      if (cluster->GetLayer()>1)continue;
      Float_t local[3]={-1,-1};
      local[1]=cluster->GetDetLocalX();
      local[0]=cluster->GetDetLocalZ();
      
      Int_t eq = AliITSRawStreamSPD::GetOnlineEqIdFromOffline(imod);
      Int_t hs = AliITSRawStreamSPD::GetOnlineHSFromOffline(imod);
      Int_t row, col;
      segSPD->LocalToDet(0.5,local[0],row,col);
      Int_t chip = AliITSRawStreamSPD::GetOnlineChipFromOffline(imod,col);
      Int_t chipkey = AliITSRawStreamSPD::GetOfflineChipKeyFromOnline(eq,hs,chip);
      isfiredchip.SetBitNumber(chipkey,kTRUE);
    }
  }
 
  return isfiredchip;
}
//______________________________________________________________________
void  AliITSDetTypeRec::RemoveFastOrFiredFromDead(TBits firedchipmap){
  //
  // resetting of the fast-or bit on cluster basis. 
  // fast-or bits can be remnant from SPD ideal simulation (no dead channels)
  //
  
  for(Int_t chipKey=0; chipKey<1200; chipKey++){
    // FO masked chips have been previously removed  
   if(!fFastOrFiredMap.TestBitNumber(chipKey)) continue; 
   if(!firedchipmap.TestBitNumber(chipKey))  {
    fFastOrFiredMap.SetBitNumber(chipKey,kFALSE);
    AliDebug(2,Form("removing bit in key %i \n ",chipKey));
  }
 }
   
}
//______________________________________________________________________
void AliITSDetTypeRec::SetFastOrFiredMapOnline(UInt_t eq, UInt_t hs, UInt_t chip) {
  // Set fast-or fired map for this chip
  Int_t chipKey = AliITSRawStreamSPD::GetOfflineChipKeyFromOnline(eq,hs,chip);
  return SetFastOrFiredMap(chipKey);
}

 AliITSDetTypeRec.cxx:1
 AliITSDetTypeRec.cxx:2
 AliITSDetTypeRec.cxx:3
 AliITSDetTypeRec.cxx:4
 AliITSDetTypeRec.cxx:5
 AliITSDetTypeRec.cxx:6
 AliITSDetTypeRec.cxx:7
 AliITSDetTypeRec.cxx:8
 AliITSDetTypeRec.cxx:9
 AliITSDetTypeRec.cxx:10
 AliITSDetTypeRec.cxx:11
 AliITSDetTypeRec.cxx:12
 AliITSDetTypeRec.cxx:13
 AliITSDetTypeRec.cxx:14
 AliITSDetTypeRec.cxx:15
 AliITSDetTypeRec.cxx:16
 AliITSDetTypeRec.cxx:17
 AliITSDetTypeRec.cxx:18
 AliITSDetTypeRec.cxx:19
 AliITSDetTypeRec.cxx:20
 AliITSDetTypeRec.cxx:21
 AliITSDetTypeRec.cxx:22
 AliITSDetTypeRec.cxx:23
 AliITSDetTypeRec.cxx:24
 AliITSDetTypeRec.cxx:25
 AliITSDetTypeRec.cxx:26
 AliITSDetTypeRec.cxx:27
 AliITSDetTypeRec.cxx:28
 AliITSDetTypeRec.cxx:29
 AliITSDetTypeRec.cxx:30
 AliITSDetTypeRec.cxx:31
 AliITSDetTypeRec.cxx:32
 AliITSDetTypeRec.cxx:33
 AliITSDetTypeRec.cxx:34
 AliITSDetTypeRec.cxx:35
 AliITSDetTypeRec.cxx:36
 AliITSDetTypeRec.cxx:37
 AliITSDetTypeRec.cxx:38
 AliITSDetTypeRec.cxx:39
 AliITSDetTypeRec.cxx:40
 AliITSDetTypeRec.cxx:41
 AliITSDetTypeRec.cxx:42
 AliITSDetTypeRec.cxx:43
 AliITSDetTypeRec.cxx:44
 AliITSDetTypeRec.cxx:45
 AliITSDetTypeRec.cxx:46
 AliITSDetTypeRec.cxx:47
 AliITSDetTypeRec.cxx:48
 AliITSDetTypeRec.cxx:49
 AliITSDetTypeRec.cxx:50
 AliITSDetTypeRec.cxx:51
 AliITSDetTypeRec.cxx:52
 AliITSDetTypeRec.cxx:53
 AliITSDetTypeRec.cxx:54
 AliITSDetTypeRec.cxx:55
 AliITSDetTypeRec.cxx:56
 AliITSDetTypeRec.cxx:57
 AliITSDetTypeRec.cxx:58
 AliITSDetTypeRec.cxx:59
 AliITSDetTypeRec.cxx:60
 AliITSDetTypeRec.cxx:61
 AliITSDetTypeRec.cxx:62
 AliITSDetTypeRec.cxx:63
 AliITSDetTypeRec.cxx:64
 AliITSDetTypeRec.cxx:65
 AliITSDetTypeRec.cxx:66
 AliITSDetTypeRec.cxx:67
 AliITSDetTypeRec.cxx:68
 AliITSDetTypeRec.cxx:69
 AliITSDetTypeRec.cxx:70
 AliITSDetTypeRec.cxx:71
 AliITSDetTypeRec.cxx:72
 AliITSDetTypeRec.cxx:73
 AliITSDetTypeRec.cxx:74
 AliITSDetTypeRec.cxx:75
 AliITSDetTypeRec.cxx:76
 AliITSDetTypeRec.cxx:77
 AliITSDetTypeRec.cxx:78
 AliITSDetTypeRec.cxx:79
 AliITSDetTypeRec.cxx:80
 AliITSDetTypeRec.cxx:81
 AliITSDetTypeRec.cxx:82
 AliITSDetTypeRec.cxx:83
 AliITSDetTypeRec.cxx:84
 AliITSDetTypeRec.cxx:85
 AliITSDetTypeRec.cxx:86
 AliITSDetTypeRec.cxx:87
 AliITSDetTypeRec.cxx:88
 AliITSDetTypeRec.cxx:89
 AliITSDetTypeRec.cxx:90
 AliITSDetTypeRec.cxx:91
 AliITSDetTypeRec.cxx:92
 AliITSDetTypeRec.cxx:93
 AliITSDetTypeRec.cxx:94
 AliITSDetTypeRec.cxx:95
 AliITSDetTypeRec.cxx:96
 AliITSDetTypeRec.cxx:97
 AliITSDetTypeRec.cxx:98
 AliITSDetTypeRec.cxx:99
 AliITSDetTypeRec.cxx:100
 AliITSDetTypeRec.cxx:101
 AliITSDetTypeRec.cxx:102
 AliITSDetTypeRec.cxx:103
 AliITSDetTypeRec.cxx:104
 AliITSDetTypeRec.cxx:105
 AliITSDetTypeRec.cxx:106
 AliITSDetTypeRec.cxx:107
 AliITSDetTypeRec.cxx:108
 AliITSDetTypeRec.cxx:109
 AliITSDetTypeRec.cxx:110
 AliITSDetTypeRec.cxx:111
 AliITSDetTypeRec.cxx:112
 AliITSDetTypeRec.cxx:113
 AliITSDetTypeRec.cxx:114
 AliITSDetTypeRec.cxx:115
 AliITSDetTypeRec.cxx:116
 AliITSDetTypeRec.cxx:117
 AliITSDetTypeRec.cxx:118
 AliITSDetTypeRec.cxx:119
 AliITSDetTypeRec.cxx:120
 AliITSDetTypeRec.cxx:121
 AliITSDetTypeRec.cxx:122
 AliITSDetTypeRec.cxx:123
 AliITSDetTypeRec.cxx:124
 AliITSDetTypeRec.cxx:125
 AliITSDetTypeRec.cxx:126
 AliITSDetTypeRec.cxx:127
 AliITSDetTypeRec.cxx:128
 AliITSDetTypeRec.cxx:129
 AliITSDetTypeRec.cxx:130
 AliITSDetTypeRec.cxx:131
 AliITSDetTypeRec.cxx:132
 AliITSDetTypeRec.cxx:133
 AliITSDetTypeRec.cxx:134
 AliITSDetTypeRec.cxx:135
 AliITSDetTypeRec.cxx:136
 AliITSDetTypeRec.cxx:137
 AliITSDetTypeRec.cxx:138
 AliITSDetTypeRec.cxx:139
 AliITSDetTypeRec.cxx:140
 AliITSDetTypeRec.cxx:141
 AliITSDetTypeRec.cxx:142
 AliITSDetTypeRec.cxx:143
 AliITSDetTypeRec.cxx:144
 AliITSDetTypeRec.cxx:145
 AliITSDetTypeRec.cxx:146
 AliITSDetTypeRec.cxx:147
 AliITSDetTypeRec.cxx:148
 AliITSDetTypeRec.cxx:149
 AliITSDetTypeRec.cxx:150
 AliITSDetTypeRec.cxx:151
 AliITSDetTypeRec.cxx:152
 AliITSDetTypeRec.cxx:153
 AliITSDetTypeRec.cxx:154
 AliITSDetTypeRec.cxx:155
 AliITSDetTypeRec.cxx:156
 AliITSDetTypeRec.cxx:157
 AliITSDetTypeRec.cxx:158
 AliITSDetTypeRec.cxx:159
 AliITSDetTypeRec.cxx:160
 AliITSDetTypeRec.cxx:161
 AliITSDetTypeRec.cxx:162
 AliITSDetTypeRec.cxx:163
 AliITSDetTypeRec.cxx:164
 AliITSDetTypeRec.cxx:165
 AliITSDetTypeRec.cxx:166
 AliITSDetTypeRec.cxx:167
 AliITSDetTypeRec.cxx:168
 AliITSDetTypeRec.cxx:169
 AliITSDetTypeRec.cxx:170
 AliITSDetTypeRec.cxx:171
 AliITSDetTypeRec.cxx:172
 AliITSDetTypeRec.cxx:173
 AliITSDetTypeRec.cxx:174
 AliITSDetTypeRec.cxx:175
 AliITSDetTypeRec.cxx:176
 AliITSDetTypeRec.cxx:177
 AliITSDetTypeRec.cxx:178
 AliITSDetTypeRec.cxx:179
 AliITSDetTypeRec.cxx:180
 AliITSDetTypeRec.cxx:181
 AliITSDetTypeRec.cxx:182
 AliITSDetTypeRec.cxx:183
 AliITSDetTypeRec.cxx:184
 AliITSDetTypeRec.cxx:185
 AliITSDetTypeRec.cxx:186
 AliITSDetTypeRec.cxx:187
 AliITSDetTypeRec.cxx:188
 AliITSDetTypeRec.cxx:189
 AliITSDetTypeRec.cxx:190
 AliITSDetTypeRec.cxx:191
 AliITSDetTypeRec.cxx:192
 AliITSDetTypeRec.cxx:193
 AliITSDetTypeRec.cxx:194
 AliITSDetTypeRec.cxx:195
 AliITSDetTypeRec.cxx:196
 AliITSDetTypeRec.cxx:197
 AliITSDetTypeRec.cxx:198
 AliITSDetTypeRec.cxx:199
 AliITSDetTypeRec.cxx:200
 AliITSDetTypeRec.cxx:201
 AliITSDetTypeRec.cxx:202
 AliITSDetTypeRec.cxx:203
 AliITSDetTypeRec.cxx:204
 AliITSDetTypeRec.cxx:205
 AliITSDetTypeRec.cxx:206
 AliITSDetTypeRec.cxx:207
 AliITSDetTypeRec.cxx:208
 AliITSDetTypeRec.cxx:209
 AliITSDetTypeRec.cxx:210
 AliITSDetTypeRec.cxx:211
 AliITSDetTypeRec.cxx:212
 AliITSDetTypeRec.cxx:213
 AliITSDetTypeRec.cxx:214
 AliITSDetTypeRec.cxx:215
 AliITSDetTypeRec.cxx:216
 AliITSDetTypeRec.cxx:217
 AliITSDetTypeRec.cxx:218
 AliITSDetTypeRec.cxx:219
 AliITSDetTypeRec.cxx:220
 AliITSDetTypeRec.cxx:221
 AliITSDetTypeRec.cxx:222
 AliITSDetTypeRec.cxx:223
 AliITSDetTypeRec.cxx:224
 AliITSDetTypeRec.cxx:225
 AliITSDetTypeRec.cxx:226
 AliITSDetTypeRec.cxx:227
 AliITSDetTypeRec.cxx:228
 AliITSDetTypeRec.cxx:229
 AliITSDetTypeRec.cxx:230
 AliITSDetTypeRec.cxx:231
 AliITSDetTypeRec.cxx:232
 AliITSDetTypeRec.cxx:233
 AliITSDetTypeRec.cxx:234
 AliITSDetTypeRec.cxx:235
 AliITSDetTypeRec.cxx:236
 AliITSDetTypeRec.cxx:237
 AliITSDetTypeRec.cxx:238
 AliITSDetTypeRec.cxx:239
 AliITSDetTypeRec.cxx:240
 AliITSDetTypeRec.cxx:241
 AliITSDetTypeRec.cxx:242
 AliITSDetTypeRec.cxx:243
 AliITSDetTypeRec.cxx:244
 AliITSDetTypeRec.cxx:245
 AliITSDetTypeRec.cxx:246
 AliITSDetTypeRec.cxx:247
 AliITSDetTypeRec.cxx:248
 AliITSDetTypeRec.cxx:249
 AliITSDetTypeRec.cxx:250
 AliITSDetTypeRec.cxx:251
 AliITSDetTypeRec.cxx:252
 AliITSDetTypeRec.cxx:253
 AliITSDetTypeRec.cxx:254
 AliITSDetTypeRec.cxx:255
 AliITSDetTypeRec.cxx:256
 AliITSDetTypeRec.cxx:257
 AliITSDetTypeRec.cxx:258
 AliITSDetTypeRec.cxx:259
 AliITSDetTypeRec.cxx:260
 AliITSDetTypeRec.cxx:261
 AliITSDetTypeRec.cxx:262
 AliITSDetTypeRec.cxx:263
 AliITSDetTypeRec.cxx:264
 AliITSDetTypeRec.cxx:265
 AliITSDetTypeRec.cxx:266
 AliITSDetTypeRec.cxx:267
 AliITSDetTypeRec.cxx:268
 AliITSDetTypeRec.cxx:269
 AliITSDetTypeRec.cxx:270
 AliITSDetTypeRec.cxx:271
 AliITSDetTypeRec.cxx:272
 AliITSDetTypeRec.cxx:273
 AliITSDetTypeRec.cxx:274
 AliITSDetTypeRec.cxx:275
 AliITSDetTypeRec.cxx:276
 AliITSDetTypeRec.cxx:277
 AliITSDetTypeRec.cxx:278
 AliITSDetTypeRec.cxx:279
 AliITSDetTypeRec.cxx:280
 AliITSDetTypeRec.cxx:281
 AliITSDetTypeRec.cxx:282
 AliITSDetTypeRec.cxx:283
 AliITSDetTypeRec.cxx:284
 AliITSDetTypeRec.cxx:285
 AliITSDetTypeRec.cxx:286
 AliITSDetTypeRec.cxx:287
 AliITSDetTypeRec.cxx:288
 AliITSDetTypeRec.cxx:289
 AliITSDetTypeRec.cxx:290
 AliITSDetTypeRec.cxx:291
 AliITSDetTypeRec.cxx:292
 AliITSDetTypeRec.cxx:293
 AliITSDetTypeRec.cxx:294
 AliITSDetTypeRec.cxx:295
 AliITSDetTypeRec.cxx:296
 AliITSDetTypeRec.cxx:297
 AliITSDetTypeRec.cxx:298
 AliITSDetTypeRec.cxx:299
 AliITSDetTypeRec.cxx:300
 AliITSDetTypeRec.cxx:301
 AliITSDetTypeRec.cxx:302
 AliITSDetTypeRec.cxx:303
 AliITSDetTypeRec.cxx:304
 AliITSDetTypeRec.cxx:305
 AliITSDetTypeRec.cxx:306
 AliITSDetTypeRec.cxx:307
 AliITSDetTypeRec.cxx:308
 AliITSDetTypeRec.cxx:309
 AliITSDetTypeRec.cxx:310
 AliITSDetTypeRec.cxx:311
 AliITSDetTypeRec.cxx:312
 AliITSDetTypeRec.cxx:313
 AliITSDetTypeRec.cxx:314
 AliITSDetTypeRec.cxx:315
 AliITSDetTypeRec.cxx:316
 AliITSDetTypeRec.cxx:317
 AliITSDetTypeRec.cxx:318
 AliITSDetTypeRec.cxx:319
 AliITSDetTypeRec.cxx:320
 AliITSDetTypeRec.cxx:321
 AliITSDetTypeRec.cxx:322
 AliITSDetTypeRec.cxx:323
 AliITSDetTypeRec.cxx:324
 AliITSDetTypeRec.cxx:325
 AliITSDetTypeRec.cxx:326
 AliITSDetTypeRec.cxx:327
 AliITSDetTypeRec.cxx:328
 AliITSDetTypeRec.cxx:329
 AliITSDetTypeRec.cxx:330
 AliITSDetTypeRec.cxx:331
 AliITSDetTypeRec.cxx:332
 AliITSDetTypeRec.cxx:333
 AliITSDetTypeRec.cxx:334
 AliITSDetTypeRec.cxx:335
 AliITSDetTypeRec.cxx:336
 AliITSDetTypeRec.cxx:337
 AliITSDetTypeRec.cxx:338
 AliITSDetTypeRec.cxx:339
 AliITSDetTypeRec.cxx:340
 AliITSDetTypeRec.cxx:341
 AliITSDetTypeRec.cxx:342
 AliITSDetTypeRec.cxx:343
 AliITSDetTypeRec.cxx:344
 AliITSDetTypeRec.cxx:345
 AliITSDetTypeRec.cxx:346
 AliITSDetTypeRec.cxx:347
 AliITSDetTypeRec.cxx:348
 AliITSDetTypeRec.cxx:349
 AliITSDetTypeRec.cxx:350
 AliITSDetTypeRec.cxx:351
 AliITSDetTypeRec.cxx:352
 AliITSDetTypeRec.cxx:353
 AliITSDetTypeRec.cxx:354
 AliITSDetTypeRec.cxx:355
 AliITSDetTypeRec.cxx:356
 AliITSDetTypeRec.cxx:357
 AliITSDetTypeRec.cxx:358
 AliITSDetTypeRec.cxx:359
 AliITSDetTypeRec.cxx:360
 AliITSDetTypeRec.cxx:361
 AliITSDetTypeRec.cxx:362
 AliITSDetTypeRec.cxx:363
 AliITSDetTypeRec.cxx:364
 AliITSDetTypeRec.cxx:365
 AliITSDetTypeRec.cxx:366
 AliITSDetTypeRec.cxx:367
 AliITSDetTypeRec.cxx:368
 AliITSDetTypeRec.cxx:369
 AliITSDetTypeRec.cxx:370
 AliITSDetTypeRec.cxx:371
 AliITSDetTypeRec.cxx:372
 AliITSDetTypeRec.cxx:373
 AliITSDetTypeRec.cxx:374
 AliITSDetTypeRec.cxx:375
 AliITSDetTypeRec.cxx:376
 AliITSDetTypeRec.cxx:377
 AliITSDetTypeRec.cxx:378
 AliITSDetTypeRec.cxx:379
 AliITSDetTypeRec.cxx:380
 AliITSDetTypeRec.cxx:381
 AliITSDetTypeRec.cxx:382
 AliITSDetTypeRec.cxx:383
 AliITSDetTypeRec.cxx:384
 AliITSDetTypeRec.cxx:385
 AliITSDetTypeRec.cxx:386
 AliITSDetTypeRec.cxx:387
 AliITSDetTypeRec.cxx:388
 AliITSDetTypeRec.cxx:389
 AliITSDetTypeRec.cxx:390
 AliITSDetTypeRec.cxx:391
 AliITSDetTypeRec.cxx:392
 AliITSDetTypeRec.cxx:393
 AliITSDetTypeRec.cxx:394
 AliITSDetTypeRec.cxx:395
 AliITSDetTypeRec.cxx:396
 AliITSDetTypeRec.cxx:397
 AliITSDetTypeRec.cxx:398
 AliITSDetTypeRec.cxx:399
 AliITSDetTypeRec.cxx:400
 AliITSDetTypeRec.cxx:401
 AliITSDetTypeRec.cxx:402
 AliITSDetTypeRec.cxx:403
 AliITSDetTypeRec.cxx:404
 AliITSDetTypeRec.cxx:405
 AliITSDetTypeRec.cxx:406
 AliITSDetTypeRec.cxx:407
 AliITSDetTypeRec.cxx:408
 AliITSDetTypeRec.cxx:409
 AliITSDetTypeRec.cxx:410
 AliITSDetTypeRec.cxx:411
 AliITSDetTypeRec.cxx:412
 AliITSDetTypeRec.cxx:413
 AliITSDetTypeRec.cxx:414
 AliITSDetTypeRec.cxx:415
 AliITSDetTypeRec.cxx:416
 AliITSDetTypeRec.cxx:417
 AliITSDetTypeRec.cxx:418
 AliITSDetTypeRec.cxx:419
 AliITSDetTypeRec.cxx:420
 AliITSDetTypeRec.cxx:421
 AliITSDetTypeRec.cxx:422
 AliITSDetTypeRec.cxx:423
 AliITSDetTypeRec.cxx:424
 AliITSDetTypeRec.cxx:425
 AliITSDetTypeRec.cxx:426
 AliITSDetTypeRec.cxx:427
 AliITSDetTypeRec.cxx:428
 AliITSDetTypeRec.cxx:429
 AliITSDetTypeRec.cxx:430
 AliITSDetTypeRec.cxx:431
 AliITSDetTypeRec.cxx:432
 AliITSDetTypeRec.cxx:433
 AliITSDetTypeRec.cxx:434
 AliITSDetTypeRec.cxx:435
 AliITSDetTypeRec.cxx:436
 AliITSDetTypeRec.cxx:437
 AliITSDetTypeRec.cxx:438
 AliITSDetTypeRec.cxx:439
 AliITSDetTypeRec.cxx:440
 AliITSDetTypeRec.cxx:441
 AliITSDetTypeRec.cxx:442
 AliITSDetTypeRec.cxx:443
 AliITSDetTypeRec.cxx:444
 AliITSDetTypeRec.cxx:445
 AliITSDetTypeRec.cxx:446
 AliITSDetTypeRec.cxx:447
 AliITSDetTypeRec.cxx:448
 AliITSDetTypeRec.cxx:449
 AliITSDetTypeRec.cxx:450
 AliITSDetTypeRec.cxx:451
 AliITSDetTypeRec.cxx:452
 AliITSDetTypeRec.cxx:453
 AliITSDetTypeRec.cxx:454
 AliITSDetTypeRec.cxx:455
 AliITSDetTypeRec.cxx:456
 AliITSDetTypeRec.cxx:457
 AliITSDetTypeRec.cxx:458
 AliITSDetTypeRec.cxx:459
 AliITSDetTypeRec.cxx:460
 AliITSDetTypeRec.cxx:461
 AliITSDetTypeRec.cxx:462
 AliITSDetTypeRec.cxx:463
 AliITSDetTypeRec.cxx:464
 AliITSDetTypeRec.cxx:465
 AliITSDetTypeRec.cxx:466
 AliITSDetTypeRec.cxx:467
 AliITSDetTypeRec.cxx:468
 AliITSDetTypeRec.cxx:469
 AliITSDetTypeRec.cxx:470
 AliITSDetTypeRec.cxx:471
 AliITSDetTypeRec.cxx:472
 AliITSDetTypeRec.cxx:473
 AliITSDetTypeRec.cxx:474
 AliITSDetTypeRec.cxx:475
 AliITSDetTypeRec.cxx:476
 AliITSDetTypeRec.cxx:477
 AliITSDetTypeRec.cxx:478
 AliITSDetTypeRec.cxx:479
 AliITSDetTypeRec.cxx:480
 AliITSDetTypeRec.cxx:481
 AliITSDetTypeRec.cxx:482
 AliITSDetTypeRec.cxx:483
 AliITSDetTypeRec.cxx:484
 AliITSDetTypeRec.cxx:485
 AliITSDetTypeRec.cxx:486
 AliITSDetTypeRec.cxx:487
 AliITSDetTypeRec.cxx:488
 AliITSDetTypeRec.cxx:489
 AliITSDetTypeRec.cxx:490
 AliITSDetTypeRec.cxx:491
 AliITSDetTypeRec.cxx:492
 AliITSDetTypeRec.cxx:493
 AliITSDetTypeRec.cxx:494
 AliITSDetTypeRec.cxx:495
 AliITSDetTypeRec.cxx:496
 AliITSDetTypeRec.cxx:497
 AliITSDetTypeRec.cxx:498
 AliITSDetTypeRec.cxx:499
 AliITSDetTypeRec.cxx:500
 AliITSDetTypeRec.cxx:501
 AliITSDetTypeRec.cxx:502
 AliITSDetTypeRec.cxx:503
 AliITSDetTypeRec.cxx:504
 AliITSDetTypeRec.cxx:505
 AliITSDetTypeRec.cxx:506
 AliITSDetTypeRec.cxx:507
 AliITSDetTypeRec.cxx:508
 AliITSDetTypeRec.cxx:509
 AliITSDetTypeRec.cxx:510
 AliITSDetTypeRec.cxx:511
 AliITSDetTypeRec.cxx:512
 AliITSDetTypeRec.cxx:513
 AliITSDetTypeRec.cxx:514
 AliITSDetTypeRec.cxx:515
 AliITSDetTypeRec.cxx:516
 AliITSDetTypeRec.cxx:517
 AliITSDetTypeRec.cxx:518
 AliITSDetTypeRec.cxx:519
 AliITSDetTypeRec.cxx:520
 AliITSDetTypeRec.cxx:521
 AliITSDetTypeRec.cxx:522
 AliITSDetTypeRec.cxx:523
 AliITSDetTypeRec.cxx:524
 AliITSDetTypeRec.cxx:525
 AliITSDetTypeRec.cxx:526
 AliITSDetTypeRec.cxx:527
 AliITSDetTypeRec.cxx:528
 AliITSDetTypeRec.cxx:529
 AliITSDetTypeRec.cxx:530
 AliITSDetTypeRec.cxx:531
 AliITSDetTypeRec.cxx:532
 AliITSDetTypeRec.cxx:533
 AliITSDetTypeRec.cxx:534
 AliITSDetTypeRec.cxx:535
 AliITSDetTypeRec.cxx:536
 AliITSDetTypeRec.cxx:537
 AliITSDetTypeRec.cxx:538
 AliITSDetTypeRec.cxx:539
 AliITSDetTypeRec.cxx:540
 AliITSDetTypeRec.cxx:541
 AliITSDetTypeRec.cxx:542
 AliITSDetTypeRec.cxx:543
 AliITSDetTypeRec.cxx:544
 AliITSDetTypeRec.cxx:545
 AliITSDetTypeRec.cxx:546
 AliITSDetTypeRec.cxx:547
 AliITSDetTypeRec.cxx:548
 AliITSDetTypeRec.cxx:549
 AliITSDetTypeRec.cxx:550
 AliITSDetTypeRec.cxx:551
 AliITSDetTypeRec.cxx:552
 AliITSDetTypeRec.cxx:553
 AliITSDetTypeRec.cxx:554
 AliITSDetTypeRec.cxx:555
 AliITSDetTypeRec.cxx:556
 AliITSDetTypeRec.cxx:557
 AliITSDetTypeRec.cxx:558
 AliITSDetTypeRec.cxx:559
 AliITSDetTypeRec.cxx:560
 AliITSDetTypeRec.cxx:561
 AliITSDetTypeRec.cxx:562
 AliITSDetTypeRec.cxx:563
 AliITSDetTypeRec.cxx:564
 AliITSDetTypeRec.cxx:565
 AliITSDetTypeRec.cxx:566
 AliITSDetTypeRec.cxx:567
 AliITSDetTypeRec.cxx:568
 AliITSDetTypeRec.cxx:569
 AliITSDetTypeRec.cxx:570
 AliITSDetTypeRec.cxx:571
 AliITSDetTypeRec.cxx:572
 AliITSDetTypeRec.cxx:573
 AliITSDetTypeRec.cxx:574
 AliITSDetTypeRec.cxx:575
 AliITSDetTypeRec.cxx:576
 AliITSDetTypeRec.cxx:577
 AliITSDetTypeRec.cxx:578
 AliITSDetTypeRec.cxx:579
 AliITSDetTypeRec.cxx:580
 AliITSDetTypeRec.cxx:581
 AliITSDetTypeRec.cxx:582
 AliITSDetTypeRec.cxx:583
 AliITSDetTypeRec.cxx:584
 AliITSDetTypeRec.cxx:585
 AliITSDetTypeRec.cxx:586
 AliITSDetTypeRec.cxx:587
 AliITSDetTypeRec.cxx:588
 AliITSDetTypeRec.cxx:589
 AliITSDetTypeRec.cxx:590
 AliITSDetTypeRec.cxx:591
 AliITSDetTypeRec.cxx:592
 AliITSDetTypeRec.cxx:593
 AliITSDetTypeRec.cxx:594
 AliITSDetTypeRec.cxx:595
 AliITSDetTypeRec.cxx:596
 AliITSDetTypeRec.cxx:597
 AliITSDetTypeRec.cxx:598
 AliITSDetTypeRec.cxx:599
 AliITSDetTypeRec.cxx:600
 AliITSDetTypeRec.cxx:601
 AliITSDetTypeRec.cxx:602
 AliITSDetTypeRec.cxx:603
 AliITSDetTypeRec.cxx:604
 AliITSDetTypeRec.cxx:605
 AliITSDetTypeRec.cxx:606
 AliITSDetTypeRec.cxx:607
 AliITSDetTypeRec.cxx:608
 AliITSDetTypeRec.cxx:609
 AliITSDetTypeRec.cxx:610
 AliITSDetTypeRec.cxx:611
 AliITSDetTypeRec.cxx:612
 AliITSDetTypeRec.cxx:613
 AliITSDetTypeRec.cxx:614
 AliITSDetTypeRec.cxx:615
 AliITSDetTypeRec.cxx:616
 AliITSDetTypeRec.cxx:617
 AliITSDetTypeRec.cxx:618
 AliITSDetTypeRec.cxx:619
 AliITSDetTypeRec.cxx:620
 AliITSDetTypeRec.cxx:621
 AliITSDetTypeRec.cxx:622
 AliITSDetTypeRec.cxx:623
 AliITSDetTypeRec.cxx:624
 AliITSDetTypeRec.cxx:625
 AliITSDetTypeRec.cxx:626
 AliITSDetTypeRec.cxx:627
 AliITSDetTypeRec.cxx:628
 AliITSDetTypeRec.cxx:629
 AliITSDetTypeRec.cxx:630
 AliITSDetTypeRec.cxx:631
 AliITSDetTypeRec.cxx:632
 AliITSDetTypeRec.cxx:633
 AliITSDetTypeRec.cxx:634
 AliITSDetTypeRec.cxx:635
 AliITSDetTypeRec.cxx:636
 AliITSDetTypeRec.cxx:637
 AliITSDetTypeRec.cxx:638
 AliITSDetTypeRec.cxx:639
 AliITSDetTypeRec.cxx:640
 AliITSDetTypeRec.cxx:641
 AliITSDetTypeRec.cxx:642
 AliITSDetTypeRec.cxx:643
 AliITSDetTypeRec.cxx:644
 AliITSDetTypeRec.cxx:645
 AliITSDetTypeRec.cxx:646
 AliITSDetTypeRec.cxx:647
 AliITSDetTypeRec.cxx:648
 AliITSDetTypeRec.cxx:649
 AliITSDetTypeRec.cxx:650
 AliITSDetTypeRec.cxx:651
 AliITSDetTypeRec.cxx:652
 AliITSDetTypeRec.cxx:653
 AliITSDetTypeRec.cxx:654
 AliITSDetTypeRec.cxx:655
 AliITSDetTypeRec.cxx:656
 AliITSDetTypeRec.cxx:657
 AliITSDetTypeRec.cxx:658
 AliITSDetTypeRec.cxx:659
 AliITSDetTypeRec.cxx:660
 AliITSDetTypeRec.cxx:661
 AliITSDetTypeRec.cxx:662
 AliITSDetTypeRec.cxx:663
 AliITSDetTypeRec.cxx:664
 AliITSDetTypeRec.cxx:665
 AliITSDetTypeRec.cxx:666
 AliITSDetTypeRec.cxx:667
 AliITSDetTypeRec.cxx:668
 AliITSDetTypeRec.cxx:669
 AliITSDetTypeRec.cxx:670
 AliITSDetTypeRec.cxx:671
 AliITSDetTypeRec.cxx:672
 AliITSDetTypeRec.cxx:673
 AliITSDetTypeRec.cxx:674
 AliITSDetTypeRec.cxx:675
 AliITSDetTypeRec.cxx:676
 AliITSDetTypeRec.cxx:677
 AliITSDetTypeRec.cxx:678
 AliITSDetTypeRec.cxx:679
 AliITSDetTypeRec.cxx:680
 AliITSDetTypeRec.cxx:681
 AliITSDetTypeRec.cxx:682
 AliITSDetTypeRec.cxx:683
 AliITSDetTypeRec.cxx:684
 AliITSDetTypeRec.cxx:685
 AliITSDetTypeRec.cxx:686
 AliITSDetTypeRec.cxx:687
 AliITSDetTypeRec.cxx:688
 AliITSDetTypeRec.cxx:689
 AliITSDetTypeRec.cxx:690
 AliITSDetTypeRec.cxx:691
 AliITSDetTypeRec.cxx:692
 AliITSDetTypeRec.cxx:693
 AliITSDetTypeRec.cxx:694
 AliITSDetTypeRec.cxx:695
 AliITSDetTypeRec.cxx:696
 AliITSDetTypeRec.cxx:697
 AliITSDetTypeRec.cxx:698
 AliITSDetTypeRec.cxx:699
 AliITSDetTypeRec.cxx:700
 AliITSDetTypeRec.cxx:701
 AliITSDetTypeRec.cxx:702
 AliITSDetTypeRec.cxx:703
 AliITSDetTypeRec.cxx:704
 AliITSDetTypeRec.cxx:705
 AliITSDetTypeRec.cxx:706
 AliITSDetTypeRec.cxx:707
 AliITSDetTypeRec.cxx:708
 AliITSDetTypeRec.cxx:709
 AliITSDetTypeRec.cxx:710
 AliITSDetTypeRec.cxx:711
 AliITSDetTypeRec.cxx:712
 AliITSDetTypeRec.cxx:713
 AliITSDetTypeRec.cxx:714
 AliITSDetTypeRec.cxx:715
 AliITSDetTypeRec.cxx:716
 AliITSDetTypeRec.cxx:717
 AliITSDetTypeRec.cxx:718
 AliITSDetTypeRec.cxx:719
 AliITSDetTypeRec.cxx:720
 AliITSDetTypeRec.cxx:721
 AliITSDetTypeRec.cxx:722
 AliITSDetTypeRec.cxx:723
 AliITSDetTypeRec.cxx:724
 AliITSDetTypeRec.cxx:725
 AliITSDetTypeRec.cxx:726
 AliITSDetTypeRec.cxx:727
 AliITSDetTypeRec.cxx:728
 AliITSDetTypeRec.cxx:729
 AliITSDetTypeRec.cxx:730
 AliITSDetTypeRec.cxx:731
 AliITSDetTypeRec.cxx:732
 AliITSDetTypeRec.cxx:733
 AliITSDetTypeRec.cxx:734
 AliITSDetTypeRec.cxx:735
 AliITSDetTypeRec.cxx:736
 AliITSDetTypeRec.cxx:737
 AliITSDetTypeRec.cxx:738
 AliITSDetTypeRec.cxx:739
 AliITSDetTypeRec.cxx:740
 AliITSDetTypeRec.cxx:741
 AliITSDetTypeRec.cxx:742
 AliITSDetTypeRec.cxx:743
 AliITSDetTypeRec.cxx:744
 AliITSDetTypeRec.cxx:745
 AliITSDetTypeRec.cxx:746
 AliITSDetTypeRec.cxx:747
 AliITSDetTypeRec.cxx:748
 AliITSDetTypeRec.cxx:749
 AliITSDetTypeRec.cxx:750
 AliITSDetTypeRec.cxx:751
 AliITSDetTypeRec.cxx:752
 AliITSDetTypeRec.cxx:753
 AliITSDetTypeRec.cxx:754
 AliITSDetTypeRec.cxx:755
 AliITSDetTypeRec.cxx:756
 AliITSDetTypeRec.cxx:757
 AliITSDetTypeRec.cxx:758
 AliITSDetTypeRec.cxx:759
 AliITSDetTypeRec.cxx:760
 AliITSDetTypeRec.cxx:761
 AliITSDetTypeRec.cxx:762
 AliITSDetTypeRec.cxx:763
 AliITSDetTypeRec.cxx:764
 AliITSDetTypeRec.cxx:765
 AliITSDetTypeRec.cxx:766
 AliITSDetTypeRec.cxx:767
 AliITSDetTypeRec.cxx:768
 AliITSDetTypeRec.cxx:769
 AliITSDetTypeRec.cxx:770
 AliITSDetTypeRec.cxx:771
 AliITSDetTypeRec.cxx:772
 AliITSDetTypeRec.cxx:773
 AliITSDetTypeRec.cxx:774
 AliITSDetTypeRec.cxx:775
 AliITSDetTypeRec.cxx:776
 AliITSDetTypeRec.cxx:777
 AliITSDetTypeRec.cxx:778
 AliITSDetTypeRec.cxx:779
 AliITSDetTypeRec.cxx:780
 AliITSDetTypeRec.cxx:781
 AliITSDetTypeRec.cxx:782
 AliITSDetTypeRec.cxx:783
 AliITSDetTypeRec.cxx:784
 AliITSDetTypeRec.cxx:785
 AliITSDetTypeRec.cxx:786
 AliITSDetTypeRec.cxx:787
 AliITSDetTypeRec.cxx:788
 AliITSDetTypeRec.cxx:789
 AliITSDetTypeRec.cxx:790
 AliITSDetTypeRec.cxx:791
 AliITSDetTypeRec.cxx:792
 AliITSDetTypeRec.cxx:793
 AliITSDetTypeRec.cxx:794
 AliITSDetTypeRec.cxx:795
 AliITSDetTypeRec.cxx:796
 AliITSDetTypeRec.cxx:797
 AliITSDetTypeRec.cxx:798
 AliITSDetTypeRec.cxx:799
 AliITSDetTypeRec.cxx:800
 AliITSDetTypeRec.cxx:801
 AliITSDetTypeRec.cxx:802
 AliITSDetTypeRec.cxx:803
 AliITSDetTypeRec.cxx:804
 AliITSDetTypeRec.cxx:805
 AliITSDetTypeRec.cxx:806
 AliITSDetTypeRec.cxx:807
 AliITSDetTypeRec.cxx:808
 AliITSDetTypeRec.cxx:809
 AliITSDetTypeRec.cxx:810
 AliITSDetTypeRec.cxx:811
 AliITSDetTypeRec.cxx:812
 AliITSDetTypeRec.cxx:813
 AliITSDetTypeRec.cxx:814
 AliITSDetTypeRec.cxx:815
 AliITSDetTypeRec.cxx:816
 AliITSDetTypeRec.cxx:817
 AliITSDetTypeRec.cxx:818
 AliITSDetTypeRec.cxx:819
 AliITSDetTypeRec.cxx:820
 AliITSDetTypeRec.cxx:821
 AliITSDetTypeRec.cxx:822
 AliITSDetTypeRec.cxx:823
 AliITSDetTypeRec.cxx:824
 AliITSDetTypeRec.cxx:825
 AliITSDetTypeRec.cxx:826
 AliITSDetTypeRec.cxx:827
 AliITSDetTypeRec.cxx:828
 AliITSDetTypeRec.cxx:829
 AliITSDetTypeRec.cxx:830
 AliITSDetTypeRec.cxx:831
 AliITSDetTypeRec.cxx:832
 AliITSDetTypeRec.cxx:833
 AliITSDetTypeRec.cxx:834
 AliITSDetTypeRec.cxx:835
 AliITSDetTypeRec.cxx:836
 AliITSDetTypeRec.cxx:837
 AliITSDetTypeRec.cxx:838
 AliITSDetTypeRec.cxx:839
 AliITSDetTypeRec.cxx:840
 AliITSDetTypeRec.cxx:841
 AliITSDetTypeRec.cxx:842
 AliITSDetTypeRec.cxx:843
 AliITSDetTypeRec.cxx:844
 AliITSDetTypeRec.cxx:845
 AliITSDetTypeRec.cxx:846
 AliITSDetTypeRec.cxx:847
 AliITSDetTypeRec.cxx:848
 AliITSDetTypeRec.cxx:849
 AliITSDetTypeRec.cxx:850
 AliITSDetTypeRec.cxx:851
 AliITSDetTypeRec.cxx:852
 AliITSDetTypeRec.cxx:853
 AliITSDetTypeRec.cxx:854
 AliITSDetTypeRec.cxx:855
 AliITSDetTypeRec.cxx:856
 AliITSDetTypeRec.cxx:857
 AliITSDetTypeRec.cxx:858
 AliITSDetTypeRec.cxx:859
 AliITSDetTypeRec.cxx:860
 AliITSDetTypeRec.cxx:861
 AliITSDetTypeRec.cxx:862
 AliITSDetTypeRec.cxx:863
 AliITSDetTypeRec.cxx:864
 AliITSDetTypeRec.cxx:865
 AliITSDetTypeRec.cxx:866
 AliITSDetTypeRec.cxx:867
 AliITSDetTypeRec.cxx:868
 AliITSDetTypeRec.cxx:869
 AliITSDetTypeRec.cxx:870
 AliITSDetTypeRec.cxx:871
 AliITSDetTypeRec.cxx:872
 AliITSDetTypeRec.cxx:873
 AliITSDetTypeRec.cxx:874
 AliITSDetTypeRec.cxx:875
 AliITSDetTypeRec.cxx:876
 AliITSDetTypeRec.cxx:877
 AliITSDetTypeRec.cxx:878
 AliITSDetTypeRec.cxx:879
 AliITSDetTypeRec.cxx:880
 AliITSDetTypeRec.cxx:881
 AliITSDetTypeRec.cxx:882
 AliITSDetTypeRec.cxx:883
 AliITSDetTypeRec.cxx:884
 AliITSDetTypeRec.cxx:885
 AliITSDetTypeRec.cxx:886
 AliITSDetTypeRec.cxx:887
 AliITSDetTypeRec.cxx:888
 AliITSDetTypeRec.cxx:889
 AliITSDetTypeRec.cxx:890
 AliITSDetTypeRec.cxx:891
 AliITSDetTypeRec.cxx:892
 AliITSDetTypeRec.cxx:893
 AliITSDetTypeRec.cxx:894
 AliITSDetTypeRec.cxx:895
 AliITSDetTypeRec.cxx:896
 AliITSDetTypeRec.cxx:897
 AliITSDetTypeRec.cxx:898
 AliITSDetTypeRec.cxx:899
 AliITSDetTypeRec.cxx:900
 AliITSDetTypeRec.cxx:901
 AliITSDetTypeRec.cxx:902
 AliITSDetTypeRec.cxx:903
 AliITSDetTypeRec.cxx:904
 AliITSDetTypeRec.cxx:905
 AliITSDetTypeRec.cxx:906
 AliITSDetTypeRec.cxx:907
 AliITSDetTypeRec.cxx:908
 AliITSDetTypeRec.cxx:909
 AliITSDetTypeRec.cxx:910
 AliITSDetTypeRec.cxx:911
 AliITSDetTypeRec.cxx:912
 AliITSDetTypeRec.cxx:913
 AliITSDetTypeRec.cxx:914
 AliITSDetTypeRec.cxx:915
 AliITSDetTypeRec.cxx:916
 AliITSDetTypeRec.cxx:917
 AliITSDetTypeRec.cxx:918
 AliITSDetTypeRec.cxx:919
 AliITSDetTypeRec.cxx:920
 AliITSDetTypeRec.cxx:921
 AliITSDetTypeRec.cxx:922
 AliITSDetTypeRec.cxx:923
 AliITSDetTypeRec.cxx:924
 AliITSDetTypeRec.cxx:925
 AliITSDetTypeRec.cxx:926
 AliITSDetTypeRec.cxx:927
 AliITSDetTypeRec.cxx:928
 AliITSDetTypeRec.cxx:929
 AliITSDetTypeRec.cxx:930
 AliITSDetTypeRec.cxx:931
 AliITSDetTypeRec.cxx:932
 AliITSDetTypeRec.cxx:933
 AliITSDetTypeRec.cxx:934
 AliITSDetTypeRec.cxx:935
 AliITSDetTypeRec.cxx:936
 AliITSDetTypeRec.cxx:937
 AliITSDetTypeRec.cxx:938
 AliITSDetTypeRec.cxx:939
 AliITSDetTypeRec.cxx:940
 AliITSDetTypeRec.cxx:941
 AliITSDetTypeRec.cxx:942
 AliITSDetTypeRec.cxx:943
 AliITSDetTypeRec.cxx:944
 AliITSDetTypeRec.cxx:945
 AliITSDetTypeRec.cxx:946
 AliITSDetTypeRec.cxx:947
 AliITSDetTypeRec.cxx:948
 AliITSDetTypeRec.cxx:949
 AliITSDetTypeRec.cxx:950
 AliITSDetTypeRec.cxx:951
 AliITSDetTypeRec.cxx:952
 AliITSDetTypeRec.cxx:953
 AliITSDetTypeRec.cxx:954
 AliITSDetTypeRec.cxx:955
 AliITSDetTypeRec.cxx:956
 AliITSDetTypeRec.cxx:957
 AliITSDetTypeRec.cxx:958
 AliITSDetTypeRec.cxx:959
 AliITSDetTypeRec.cxx:960
 AliITSDetTypeRec.cxx:961
 AliITSDetTypeRec.cxx:962
 AliITSDetTypeRec.cxx:963
 AliITSDetTypeRec.cxx:964
 AliITSDetTypeRec.cxx:965
 AliITSDetTypeRec.cxx:966
 AliITSDetTypeRec.cxx:967
 AliITSDetTypeRec.cxx:968
 AliITSDetTypeRec.cxx:969
 AliITSDetTypeRec.cxx:970
 AliITSDetTypeRec.cxx:971
 AliITSDetTypeRec.cxx:972
 AliITSDetTypeRec.cxx:973
 AliITSDetTypeRec.cxx:974
 AliITSDetTypeRec.cxx:975
 AliITSDetTypeRec.cxx:976
 AliITSDetTypeRec.cxx:977
 AliITSDetTypeRec.cxx:978
 AliITSDetTypeRec.cxx:979
 AliITSDetTypeRec.cxx:980
 AliITSDetTypeRec.cxx:981
 AliITSDetTypeRec.cxx:982
 AliITSDetTypeRec.cxx:983
 AliITSDetTypeRec.cxx:984
 AliITSDetTypeRec.cxx:985
 AliITSDetTypeRec.cxx:986
 AliITSDetTypeRec.cxx:987
 AliITSDetTypeRec.cxx:988
 AliITSDetTypeRec.cxx:989
 AliITSDetTypeRec.cxx:990
 AliITSDetTypeRec.cxx:991
 AliITSDetTypeRec.cxx:992
 AliITSDetTypeRec.cxx:993
 AliITSDetTypeRec.cxx:994
 AliITSDetTypeRec.cxx:995
 AliITSDetTypeRec.cxx:996
 AliITSDetTypeRec.cxx:997
 AliITSDetTypeRec.cxx:998
 AliITSDetTypeRec.cxx:999
 AliITSDetTypeRec.cxx:1000
 AliITSDetTypeRec.cxx:1001
 AliITSDetTypeRec.cxx:1002
 AliITSDetTypeRec.cxx:1003
 AliITSDetTypeRec.cxx:1004
 AliITSDetTypeRec.cxx:1005
 AliITSDetTypeRec.cxx:1006
 AliITSDetTypeRec.cxx:1007
 AliITSDetTypeRec.cxx:1008
 AliITSDetTypeRec.cxx:1009
 AliITSDetTypeRec.cxx:1010
 AliITSDetTypeRec.cxx:1011
 AliITSDetTypeRec.cxx:1012
 AliITSDetTypeRec.cxx:1013
 AliITSDetTypeRec.cxx:1014
 AliITSDetTypeRec.cxx:1015
 AliITSDetTypeRec.cxx:1016
 AliITSDetTypeRec.cxx:1017
 AliITSDetTypeRec.cxx:1018
 AliITSDetTypeRec.cxx:1019
 AliITSDetTypeRec.cxx:1020
 AliITSDetTypeRec.cxx:1021
 AliITSDetTypeRec.cxx:1022
 AliITSDetTypeRec.cxx:1023
 AliITSDetTypeRec.cxx:1024
 AliITSDetTypeRec.cxx:1025
 AliITSDetTypeRec.cxx:1026
 AliITSDetTypeRec.cxx:1027
 AliITSDetTypeRec.cxx:1028
 AliITSDetTypeRec.cxx:1029
 AliITSDetTypeRec.cxx:1030
 AliITSDetTypeRec.cxx:1031
 AliITSDetTypeRec.cxx:1032
 AliITSDetTypeRec.cxx:1033
 AliITSDetTypeRec.cxx:1034
 AliITSDetTypeRec.cxx:1035
 AliITSDetTypeRec.cxx:1036
 AliITSDetTypeRec.cxx:1037
 AliITSDetTypeRec.cxx:1038
 AliITSDetTypeRec.cxx:1039
 AliITSDetTypeRec.cxx:1040
 AliITSDetTypeRec.cxx:1041
 AliITSDetTypeRec.cxx:1042
 AliITSDetTypeRec.cxx:1043
 AliITSDetTypeRec.cxx:1044
 AliITSDetTypeRec.cxx:1045
 AliITSDetTypeRec.cxx:1046
 AliITSDetTypeRec.cxx:1047
 AliITSDetTypeRec.cxx:1048
 AliITSDetTypeRec.cxx:1049
 AliITSDetTypeRec.cxx:1050
 AliITSDetTypeRec.cxx:1051
 AliITSDetTypeRec.cxx:1052
 AliITSDetTypeRec.cxx:1053
 AliITSDetTypeRec.cxx:1054
 AliITSDetTypeRec.cxx:1055
 AliITSDetTypeRec.cxx:1056
 AliITSDetTypeRec.cxx:1057
 AliITSDetTypeRec.cxx:1058
 AliITSDetTypeRec.cxx:1059
 AliITSDetTypeRec.cxx:1060
 AliITSDetTypeRec.cxx:1061
 AliITSDetTypeRec.cxx:1062
 AliITSDetTypeRec.cxx:1063
 AliITSDetTypeRec.cxx:1064
 AliITSDetTypeRec.cxx:1065
 AliITSDetTypeRec.cxx:1066
 AliITSDetTypeRec.cxx:1067
 AliITSDetTypeRec.cxx:1068
 AliITSDetTypeRec.cxx:1069
 AliITSDetTypeRec.cxx:1070
 AliITSDetTypeRec.cxx:1071
 AliITSDetTypeRec.cxx:1072
 AliITSDetTypeRec.cxx:1073
 AliITSDetTypeRec.cxx:1074
 AliITSDetTypeRec.cxx:1075
 AliITSDetTypeRec.cxx:1076
 AliITSDetTypeRec.cxx:1077
 AliITSDetTypeRec.cxx:1078
 AliITSDetTypeRec.cxx:1079
 AliITSDetTypeRec.cxx:1080
 AliITSDetTypeRec.cxx:1081
 AliITSDetTypeRec.cxx:1082
 AliITSDetTypeRec.cxx:1083
 AliITSDetTypeRec.cxx:1084
 AliITSDetTypeRec.cxx:1085
 AliITSDetTypeRec.cxx:1086
 AliITSDetTypeRec.cxx:1087
 AliITSDetTypeRec.cxx:1088
 AliITSDetTypeRec.cxx:1089
 AliITSDetTypeRec.cxx:1090
 AliITSDetTypeRec.cxx:1091
 AliITSDetTypeRec.cxx:1092
 AliITSDetTypeRec.cxx:1093
 AliITSDetTypeRec.cxx:1094
 AliITSDetTypeRec.cxx:1095
 AliITSDetTypeRec.cxx:1096
 AliITSDetTypeRec.cxx:1097
 AliITSDetTypeRec.cxx:1098
 AliITSDetTypeRec.cxx:1099
 AliITSDetTypeRec.cxx:1100
 AliITSDetTypeRec.cxx:1101
 AliITSDetTypeRec.cxx:1102
 AliITSDetTypeRec.cxx:1103
 AliITSDetTypeRec.cxx:1104
 AliITSDetTypeRec.cxx:1105
 AliITSDetTypeRec.cxx:1106
 AliITSDetTypeRec.cxx:1107
 AliITSDetTypeRec.cxx:1108
 AliITSDetTypeRec.cxx:1109
 AliITSDetTypeRec.cxx:1110
 AliITSDetTypeRec.cxx:1111
 AliITSDetTypeRec.cxx:1112
 AliITSDetTypeRec.cxx:1113
 AliITSDetTypeRec.cxx:1114
 AliITSDetTypeRec.cxx:1115
 AliITSDetTypeRec.cxx:1116
 AliITSDetTypeRec.cxx:1117
 AliITSDetTypeRec.cxx:1118
 AliITSDetTypeRec.cxx:1119
 AliITSDetTypeRec.cxx:1120
 AliITSDetTypeRec.cxx:1121
 AliITSDetTypeRec.cxx:1122
 AliITSDetTypeRec.cxx:1123
 AliITSDetTypeRec.cxx:1124
 AliITSDetTypeRec.cxx:1125
 AliITSDetTypeRec.cxx:1126
 AliITSDetTypeRec.cxx:1127
 AliITSDetTypeRec.cxx:1128
 AliITSDetTypeRec.cxx:1129
 AliITSDetTypeRec.cxx:1130
 AliITSDetTypeRec.cxx:1131
 AliITSDetTypeRec.cxx:1132
 AliITSDetTypeRec.cxx:1133
 AliITSDetTypeRec.cxx:1134
 AliITSDetTypeRec.cxx:1135
 AliITSDetTypeRec.cxx:1136
 AliITSDetTypeRec.cxx:1137
 AliITSDetTypeRec.cxx:1138
 AliITSDetTypeRec.cxx:1139
 AliITSDetTypeRec.cxx:1140
 AliITSDetTypeRec.cxx:1141
 AliITSDetTypeRec.cxx:1142
 AliITSDetTypeRec.cxx:1143
 AliITSDetTypeRec.cxx:1144
 AliITSDetTypeRec.cxx:1145
 AliITSDetTypeRec.cxx:1146
 AliITSDetTypeRec.cxx:1147
 AliITSDetTypeRec.cxx:1148
 AliITSDetTypeRec.cxx:1149
 AliITSDetTypeRec.cxx:1150
 AliITSDetTypeRec.cxx:1151
 AliITSDetTypeRec.cxx:1152
 AliITSDetTypeRec.cxx:1153
 AliITSDetTypeRec.cxx:1154
 AliITSDetTypeRec.cxx:1155
 AliITSDetTypeRec.cxx:1156
 AliITSDetTypeRec.cxx:1157
 AliITSDetTypeRec.cxx:1158
 AliITSDetTypeRec.cxx:1159
 AliITSDetTypeRec.cxx:1160
 AliITSDetTypeRec.cxx:1161
 AliITSDetTypeRec.cxx:1162
 AliITSDetTypeRec.cxx:1163
 AliITSDetTypeRec.cxx:1164
 AliITSDetTypeRec.cxx:1165
 AliITSDetTypeRec.cxx:1166
 AliITSDetTypeRec.cxx:1167
 AliITSDetTypeRec.cxx:1168
 AliITSDetTypeRec.cxx:1169
 AliITSDetTypeRec.cxx:1170
 AliITSDetTypeRec.cxx:1171
 AliITSDetTypeRec.cxx:1172
 AliITSDetTypeRec.cxx:1173
 AliITSDetTypeRec.cxx:1174
 AliITSDetTypeRec.cxx:1175
 AliITSDetTypeRec.cxx:1176
 AliITSDetTypeRec.cxx:1177
 AliITSDetTypeRec.cxx:1178
 AliITSDetTypeRec.cxx:1179
 AliITSDetTypeRec.cxx:1180
 AliITSDetTypeRec.cxx:1181
 AliITSDetTypeRec.cxx:1182
 AliITSDetTypeRec.cxx:1183
 AliITSDetTypeRec.cxx:1184
 AliITSDetTypeRec.cxx:1185
 AliITSDetTypeRec.cxx:1186
 AliITSDetTypeRec.cxx:1187
 AliITSDetTypeRec.cxx:1188
 AliITSDetTypeRec.cxx:1189
 AliITSDetTypeRec.cxx:1190
 AliITSDetTypeRec.cxx:1191
 AliITSDetTypeRec.cxx:1192
 AliITSDetTypeRec.cxx:1193
 AliITSDetTypeRec.cxx:1194
 AliITSDetTypeRec.cxx:1195
 AliITSDetTypeRec.cxx:1196
 AliITSDetTypeRec.cxx:1197
 AliITSDetTypeRec.cxx:1198
 AliITSDetTypeRec.cxx:1199
 AliITSDetTypeRec.cxx:1200
 AliITSDetTypeRec.cxx:1201
 AliITSDetTypeRec.cxx:1202
 AliITSDetTypeRec.cxx:1203
 AliITSDetTypeRec.cxx:1204
 AliITSDetTypeRec.cxx:1205
 AliITSDetTypeRec.cxx:1206
 AliITSDetTypeRec.cxx:1207
 AliITSDetTypeRec.cxx:1208
 AliITSDetTypeRec.cxx:1209
 AliITSDetTypeRec.cxx:1210
 AliITSDetTypeRec.cxx:1211
 AliITSDetTypeRec.cxx:1212
 AliITSDetTypeRec.cxx:1213
 AliITSDetTypeRec.cxx:1214
 AliITSDetTypeRec.cxx:1215
 AliITSDetTypeRec.cxx:1216
 AliITSDetTypeRec.cxx:1217
 AliITSDetTypeRec.cxx:1218
 AliITSDetTypeRec.cxx:1219
 AliITSDetTypeRec.cxx:1220
 AliITSDetTypeRec.cxx:1221
 AliITSDetTypeRec.cxx:1222
 AliITSDetTypeRec.cxx:1223
 AliITSDetTypeRec.cxx:1224
 AliITSDetTypeRec.cxx:1225
 AliITSDetTypeRec.cxx:1226
 AliITSDetTypeRec.cxx:1227
 AliITSDetTypeRec.cxx:1228
 AliITSDetTypeRec.cxx:1229
 AliITSDetTypeRec.cxx:1230
 AliITSDetTypeRec.cxx:1231
 AliITSDetTypeRec.cxx:1232
 AliITSDetTypeRec.cxx:1233
 AliITSDetTypeRec.cxx:1234
 AliITSDetTypeRec.cxx:1235
 AliITSDetTypeRec.cxx:1236
 AliITSDetTypeRec.cxx:1237
 AliITSDetTypeRec.cxx:1238
 AliITSDetTypeRec.cxx:1239
 AliITSDetTypeRec.cxx:1240
 AliITSDetTypeRec.cxx:1241
 AliITSDetTypeRec.cxx:1242