]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
AliPHOSIndexToObject has been replaced by AliPHOSGetter
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 4 Jul 2001 16:25:46 +0000 (16:25 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 4 Jul 2001 16:25:46 +0000 (16:25 +0000)
PHOS/AliPHOSIndexToObject.cxx [deleted file]
PHOS/AliPHOSIndexToObject.h [deleted file]

diff --git a/PHOS/AliPHOSIndexToObject.cxx b/PHOS/AliPHOSIndexToObject.cxx
deleted file mode 100644 (file)
index ab0bb4f..0000000
+++ /dev/null
@@ -1,689 +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:  */
-
-/* $Log:
-   29.05.2001 Yuri Kharlov:
-              Everywhere reading the treese TTree->GetEvent(i)
-              is replaced by reading the branches TBranch->GetEntry(0)
-*/
-
-//_________________________________________________________________________
-//  A singleton. This class should be used in the analysis stage to get 
-//  reconstructed objects: Digits, RecPoints, TrackSegments and RecParticles,
-//  instead of directly reading them from galice.root file. This container 
-//  ensures, that one reads Digits, made of these particular digits, RecPoints, 
-//  made of these particular RecPoints, TrackSegments and RecParticles. 
-//  This becomes non trivial if there are several identical branches, produced with
-//  different set of parameters. 
-//
-//  An example of how to use (see also class AliPHOSAnalyser):
-//  AliPHOSIndexToObject * please = AliPHOSIndexToObject::GetInstance("galice.root","RecParticles","") ;
-//  for(Int_t irecp = 0; irecp < please->GimeNRecParticles() ; irecp++)
-//     AliPHOSRecParticle * part = please->GimeRecParticle(1) ;
-//     ................
-//  please->GetEvent(event) ;    // reads new event from galice.root
-//                  
-//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (RRC KI & SUBATECH)
-//*--         Complitely redesigned by Dmitri Peressounko March 2001  
-//////////////////////////////////////////////////////////////////////////////
-
-
-// --- ROOT system ---
-
-#include "TFile.h"
-#include "TTree.h"
-#include "TROOT.h"
-#include "TObjString.h"
-#include "TFolder.h"
-
-// --- Standard library ---
-#include <iostream.h>
-
-// --- AliRoot header files ---
-
-#include "AliRun.h"
-#include "AliPHOSIndexToObject.h"
-#include "AliPHOS.h"
-#include "AliPHOSDigitizer.h"
-#include "AliPHOSSDigitizer.h"
-#include "AliPHOSClusterizer.h"
-#include "AliPHOSClusterizerv1.h"
-#include "AliPHOSTrackSegmentMaker.h"
-#include "AliPHOSTrackSegmentMakerv1.h"
-#include "AliPHOSTrackSegment.h"
-#include "AliPHOSPID.h" 
-#include "AliPHOSPIDv1.h"
-
-ClassImp(AliPHOSIndexToObject)
-  
-  AliPHOSIndexToObject * AliPHOSIndexToObject::fgObjGetter = 0 ; 
-
-//____________________________________________________________________________ 
-AliPHOSIndexToObject::AliPHOSIndexToObject(const char* headerFile,const char* branch,const char* branchTitle )
-{
-  //Initialize  all lists
-  fEvent = 0 ;
-
-  fSDigits = new TClonesArray("AliPHOSDigit",100) ;
-  fDigits  = new TClonesArray("AliPHOSDigit",100) ;
-  fEmcRecPoints = new TObjArray(100) ;
-  fCpvRecPoints = new TObjArray(100) ;
-  fTS = new TClonesArray("AliPHOSTrackSegment",100) ;
-  fRecParticles = new TClonesArray("AliPHOSRecParticle",100) ;
-  fPrimaries = new TObjArray(1) ;
-
-  fSDigitizer = 0 ;
-  fDigitizer = 0 ;
-  fClusterizer = 0 ;
-  fTSMaker = 0 ;
-  fPID = 0 ;
-
-  //open headers file
-  fHeaderFile = headerFile ;
-  TFile * file = (TFile*) gROOT->GetFile(fHeaderFile.Data() ) ;
-
-  if(file == 0){
-    if(fHeaderFile.Contains("rfio")) // if we read file using HPSS
-      file =   TFile::Open(fHeaderFile.Data(),"update") ;
-    else
-      file = new TFile(fHeaderFile.Data(),"update") ;
-    gAlice = (AliRun *) file->Get("gAlice") ;
-  }
-
-  // Posts a few item to the white board (folders)
-
-  TFolder * aliceF = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ;
-  AliPHOS * phos   = GetPHOS() ;
-  // -- the geometry
-  TFolder * geomF  = (TFolder*)aliceF->FindObject("folders/Geometry/PHOS") ; 
-  AliPHOSGeometry * geom = phos->GetGeometry() ;  
-  geomF->Add(geom) ; 
-
-  fMaxEvent = (Int_t) gAlice->TreeE()->GetEntries() ;
-
-  DefineBranchTitles(branch,branchTitle) ;
-
-  //Now read all data from trees
-  fEvent = -1 ;
-  GetEvent(0) ;
-
-}
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject:: DefineBranchTitles(const char* startBranch,const char* branchTitle)
-{
-  // Points to the branches of all reconstructed objects with the specified names
-
-  gAlice->GetEvent(0) ;
-  // Read all reconstruction classes to extract titles of 
-  // branches, constituing "reconstruction branch"
-  AliPHOSPID * pids[50];  // here AliPHOSPID's will be stored
-  Int_t ipids = 0 ;
-  AliPHOSTrackSegmentMaker * tsms[50] ; 
-  Int_t itsms = 0 ;
-  AliPHOSClusterizer * clus[50] ;   
-  Int_t iclus = 0 ;
-  AliPHOSDigitizer * digs[50]; 
-  Int_t idigs = 0 ;
-  AliPHOSSDigitizer * sdigs[50];
-  Int_t isdigs = 0 ;
-  
-  //read TreeR
-  TObjArray * branches = gAlice->TreeR()->GetListOfBranches() ;
-  Int_t ibranch;
-  TBranch * branch ;
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    branch=(TBranch *) branches->At(ibranch) ;
-    if( (strcmp(branch->GetName(),"AliPHOSPID") == 0) ){
-      pids[ipids] =  new  AliPHOSPIDv1() ;
-      branch->SetAddress(& (pids[ipids])) ;
-      branch->GetEntry(0) ;
-      ipids++ ;
-    }
-    if( (strcmp(branch->GetName(),"AliPHOSTrackSegmentMaker") == 0) ){
-      tsms[itsms] = new  AliPHOSTrackSegmentMakerv1() ;
-      branch->SetAddress(&(tsms[itsms])) ;
-      branch->GetEntry(0) ;
-      itsms++ ;
-    }
-    if( (strcmp(branch->GetName(),"AliPHOSClusterizer") == 0) ){
-      clus[iclus] = new  AliPHOSClusterizerv1() ;
-      branch->SetAddress(&(clus[iclus])) ;
-      branch->GetEntry(0) ;
-      iclus++ ;
-    }
-  }
-//    gAlice->TreeR()->GetEvent(0) ;
-
-
-  //read TreeD
-  branches = gAlice->TreeD()->GetListOfBranches() ;
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    branch=(TBranch *) branches->At(ibranch) ;
-    if( (strcmp(branch->GetName(),"AliPHOSDigitizer") == 0) ){
-      digs[idigs] = new  AliPHOSDigitizer() ;
-      branch->SetAddress(&(digs[idigs])) ;
-      branch->GetEntry(0) ;
-      idigs++ ;
-    }
-  }
-//    gAlice->TreeD()->GetEvent(0) ;
-
-  //read TreeS
-  branches = gAlice->TreeS()->GetListOfBranches() ;
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    branch=(TBranch *) branches->At(ibranch) ;
-    gAlice->TreeS()->GetBranch(branch->GetName())->GetEntry(0) ; // YK
-    if( (strcmp(branch->GetName(),"AliPHOSSDigitizer") == 0) ){
-      sdigs[isdigs] = new  AliPHOSSDigitizer() ;
-      branch->SetAddress(&(sdigs[isdigs])) ;
-      branch->GetEntry(0) ;
-      isdigs++ ;
-    }
-  }
-//    gAlice->TreeS()->GetEvent(0) ;
-
-  // now choose among read Reconstruction classes those,
-  // which constituite "reconstruction branch"
-  Bool_t pidDefined = kFALSE ;
-  Bool_t tsmDefined = kFALSE ;
-  Bool_t cluDefined = kFALSE ;
-  Bool_t digDefined = kFALSE ;
-  Bool_t sdigDefined = kFALSE ;
-
-  Int_t index ;
-  // First, go from the end (RecParticles) to the beginning(SDigits)
-  if((strcmp(startBranch,"PHOSRP") == 0)||(strcmp(startBranch,"AliPHOSPID") == 0)){
-    fRPTitle = branchTitle ;
-    for(index = 0; index < ipids ; index++){
-      if(fRPTitle.CompareTo(((AliPHOSPID*)pids[index])->GetRecParticlesBranch())== 0){
-       pidDefined = kTRUE ;
-       fTSTitle =((AliPHOSPID*)pids[index])->GetTrackSegmentsBranch() ; 
-      }
-    }
-  }
-  if((strcmp(startBranch,"PHOSTS") == 0)||(strcmp(startBranch,"AliPHOSTrackSegmentMaker") == 0)|| pidDefined ) {
-    if(!pidDefined)
-      fTSTitle = branchTitle ;
-    for(index = 0; index < itsms ; index++)
-      if(fTSTitle.CompareTo(((AliPHOSTrackSegmentMaker*)tsms[index])->GetTrackSegmentsBranch())== 0){
-       tsmDefined = kTRUE ;
-       fRecPointsTitle =((AliPHOSTrackSegmentMaker*)tsms[index])->GetRecPointsBranch() ;
-      }
-  }
-  if((strcmp(startBranch,"PHOSEmcRP") == 0) || 
-     (strcmp(startBranch,"PHOSCpvRP") == 0) ||
-     (strcmp(startBranch,"AliPHOSClusterizer") == 0)  || tsmDefined ) {
-    if(!tsmDefined)
-      fRecPointsTitle = branchTitle ;
-    for(index = 0; index < iclus ; index++)
-      if(fRecPointsTitle.CompareTo(((AliPHOSClusterizer*)clus[index])->GetRecPointsBranch())== 0){
-       cluDefined = kTRUE ;
-       fDigitsTitle =((AliPHOSClusterizer*)clus[index])->GetDigitsBranch() ;
-      }
-  }
-  if((strcmp(startBranch,"PHOS") == 0) || (strcmp(startBranch,"AliPHOSDigitizer") == 0) ||cluDefined ) {
-    if(!cluDefined)
-      fDigitsTitle = branchTitle ; 
-    for(index = 0; index < idigs ; index++) {
-      if(fDigitsTitle.CompareTo(((AliPHOSDigitizer*)digs[index])->GetDigitsBranch())== 0){
-       digDefined = kTRUE ;
-       fSDigitsTitle =((AliPHOSDigitizer*)digs[index])->GetSDigitsBranch() ;
-      }
-    }
-  }
-  for(index = 0; index < idigs ; index++)
-    if(fSDigitsTitle.CompareTo(((AliPHOSSDigitizer*)sdigs[index])->GetSDigitsBranch())== 0)
-      sdigDefined = kTRUE ;
-  
-  if(!sdigDefined){
-    cout << "Can not define titles of branches " << endl ;
-    cout << endl ;
-  }
-
-  // Now we go in the inverse direction: from sdigits to recparticles - for the 
-  // case, if we started decending not from RecParticles, but e.g. from digits
-
-  if( !cluDefined ) {
-    for(index = 0; index < iclus ; index++)
-      if(fDigitsTitle.CompareTo(((AliPHOSClusterizer*)clus[index])->GetDigitsBranch())== 0){
-       cluDefined = kTRUE ;
-       fRecPointsTitle =((AliPHOSClusterizer*)clus[index])->GetRecPointsBranch() ;
-      }
-  }
-  if(! tsmDefined ) {
-    for(index = 0; index < itsms ; index++)
-      if(fRecPointsTitle.CompareTo(((AliPHOSTrackSegmentMaker*)tsms[index])->GetRecPointsBranch())== 0){
-       tsmDefined = kTRUE ;
-       fTSTitle =((AliPHOSTrackSegmentMaker*)tsms[index])->GetTrackSegmentsBranch() ;
-      }
-  }
-  if(!pidDefined){
-    for(index = 0; index < ipids ; index++)
-      if(fTSTitle.CompareTo(((AliPHOSPID*)pids[index])->GetTrackSegmentsBranch())== 0){
-       pidDefined = kTRUE ;
-       fRPTitle = ((AliPHOSPID*)pids[index])->GetRecParticlesBranch() ;
-      }
-  }
-  
-  //delete created objects
-  for(index = 0; index < ipids ; index++)
-    delete pids[index] ;
-  for(index = 0; index < itsms ; index++)
-    delete tsms[index] ;
-  for(index = 0; index < iclus ; index++)
-    delete clus[index] ;
-  for(index = 0; index < idigs ; index++) 
-    delete digs[index] ;
-  for(index = 0; index < isdigs ; index++) 
-    delete sdigs[index] ;
-  
-}
-
-//____________________________________________________________________________ 
-AliPHOSIndexToObject * AliPHOSIndexToObject::GetInstance()
-{
-  // Returns the pointer of the unique instance already defined
-  
-  AliPHOSIndexToObject * rv = 0 ;
-  if ( fgObjGetter )
-    rv = fgObjGetter ;
-  else
-    cout << "AliPHOSIndexToObject::GetInstance ERROR: not yet initialized" << endl ;
-
-  return rv ;
-}
-
-//____________________________________________________________________________ 
-AliPHOSIndexToObject * AliPHOSIndexToObject::GetInstance(const char* headerFile,
-                                                        const char* branch,
-                                                        const char* branchTitle)
-{
-  // Creates and returns the pointer of the unique instance
-  // Must be called only when the environment has changed 
-
-  if(strcmp(branch,"PHOSRP") && strcmp(branch,"AliPHOSPID") &&
-     strcmp(branch,"PHOSTS") && strcmp(branch,"AliPHOSTrackSegmentMaker") && 
-     strcmp(branch,"PHOSEmcRP") && strcmp(branch,"PHOSCpvRP") && strcmp(branch,"AliPHOSClusterizer") &&
-     strcmp(branch,"PHOS") && strcmp(branch,"AliPHOSDigitizer") ){
-    
-    cout << "AliPHOSIndexToObject: wrong branch name specified: " << branch << endl ;
-    cout << "   avalilable names are `PHOSRP', `AliPHOSPID'"<<endl ;
-    cout << "                        `PHOSTS', `AliPHOSTrackSegmentMaker'"<<endl ;
-    cout << "                        `PHOSEmcRP', `PHOSCpvRP', `AliPHOSClusterizer'"<< endl ;
-    cout << "                        `PHOS' and `AliPHOSDigitizer'"<< endl ;
-    return 0 ;
-  }
-
-
-  if ( fgObjGetter )      // delete it if already exists
-    delete fgObjGetter ; 
-
-  fgObjGetter = new AliPHOSIndexToObject(headerFile,branch,branchTitle) ; 
-  
-  return fgObjGetter ; 
-  
-}
-
-//____________________________________________________________________________ 
-  AliPHOSGeometry *  AliPHOSIndexToObject::GetPHOSGeometry() const 
-{
-  // retrieves the geometr from the folder
-
-  TFolder * aliceF = (TFolder *)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ; 
-  TString path("folders/Geometry/PHOS/") ;
-  path += GetPHOS()->GetTitle() ;
-  return (AliPHOSGeometry*)aliceF->FindObject(path.Data()) ; 
-}
-
-//____________________________________________________________________________ 
-  AliPHOS * AliPHOSIndexToObject::GetPHOS() const 
-{
-  // returns the PHOS object 
-  return ( (AliPHOS*)gAlice->GetDetector("PHOS") ); 
-}  
-
-//____________________________________________________________________________ 
-TParticle * AliPHOSIndexToObject::GimePrimary(Int_t index) const
-{
-  // Return primary particle numbered by <index>
-
-  if(index < 0) 
-    return 0 ;
-  
-  Int_t primaryIndex = index % 10000000 ; 
-  Int_t primaryList = (Int_t ) ((index-primaryIndex)/10000000.)  ;
-  
-  if ( primaryList > 0  ) {
-    cout << " IndexToObject does not support currently Mixing of primary " << endl ;
-    cout << "   can not return primary: " << index<< " (list "<< primaryList<< " primary # " << primaryIndex << " )"<<endl ;
-    return 0;
-  }
-  
-  return gAlice->Particle(primaryIndex) ;
-  
-}
-
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject::ReadTreeD()
-{
-  // Read the digit tree gAlice->TreeD()  
-  if(gAlice->TreeD()== 0){
-    cout << "AliPHOSIndexToObject : can not read TreeD " << endl;
-    return ;
-  }
-  
-  TBranch * digitsBranch = 0;
-  TBranch * digitizerBranch = 0;
-  
-  TObjArray * branches = gAlice->TreeD()->GetListOfBranches() ;
-  Int_t ibranch;
-  Bool_t phosNotFound = kTRUE ;
-  Bool_t digitizerNotFound = kTRUE ;
-  
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    
-    if(phosNotFound){
-      digitsBranch=(TBranch *) branches->At(ibranch) ;
-      if( (strcmp(digitsBranch->GetTitle(),fDigitsTitle)==0 ) &&
-         (strcmp(digitsBranch->GetName(),"PHOS") == 0) )
-       phosNotFound = kFALSE ;
-    }
-    if(digitizerNotFound){
-      digitizerBranch = (TBranch *) branches->At(ibranch) ;
-      if( (strcmp(digitizerBranch->GetTitle(),fDigitsTitle) == 0) && 
-         (strcmp(digitizerBranch->GetName(),"AliPHOSDigitizer") == 0) )
-       digitizerNotFound = kFALSE ;
-    } 
-  }
-    
-  if(digitizerNotFound || phosNotFound){
-    cout << "AliPHOSIndexToObject error: " << endl ;
-    cout << "       Can't find Branch with Digits or Digitizer "<< endl ; ;
-    return  ;
-  }
-  
-  digitsBranch   ->SetAddress(&fDigits) ;
-  digitizerBranch->SetAddress(&fDigitizer) ;
-  digitsBranch   ->GetEntry(0) ;
-  digitizerBranch->GetEntry(0) ;
-  
-//    gAlice->TreeD()->GetEvent(0) ;    // YK 29.05.2001
-  
-}
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject::ReadTreeS()
-{
-  // Read the summable digits tree gAlice->TreeS()  
-
-  if(gAlice->TreeS()== 0){
-    cout <<   "AliPHOSIndexToObject: can not read TreeS " << endl ;
-    return ;
-  }
-  
-  TBranch * sdigitsBranch = 0;
-  TBranch * sdigitizerBranch = 0;
-  
-  TObjArray * branches = gAlice->TreeS()->GetListOfBranches() ;
-  Int_t ibranch;
-  Bool_t phosNotFound = kTRUE ;
-  Bool_t sdigitizerNotFound = kTRUE ;
-  
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    
-    if(phosNotFound){
-      sdigitsBranch=(TBranch *) branches->At(ibranch) ;
-      if( (strcmp(sdigitsBranch->GetTitle(),fSDigitsTitle)==0 ) &&
-         (strcmp(sdigitsBranch->GetName(),"PHOS") == 0) )
-       phosNotFound = kFALSE ;
-    }
-    if(sdigitizerNotFound){
-      sdigitizerBranch = (TBranch *) branches->At(ibranch) ;
-      if( (strcmp(sdigitizerBranch->GetTitle(),fSDigitsTitle) == 0) && 
-         (strcmp(sdigitizerBranch->GetName(),"AliPHOSSDigitizer") == 0) )
-       sdigitizerNotFound = kFALSE ;
-    } 
-  }
-  
-  if(sdigitizerNotFound || phosNotFound){
-    cout << "AliPHOSIndexToObject error: " << endl ;
-    cout << "       Can't find Branch with SDigits or SDigitizer "<< endl ; ;
-    return ;
-  }
-  
-  sdigitsBranch   ->SetAddress(&fSDigits) ;
-  sdigitizerBranch->SetAddress(&fSDigitizer) ;
-  sdigitsBranch   ->GetEvent(0) ;
-  sdigitizerBranch->GetEvent(0) ;
-  
-//    gAlice->TreeS()->GetEvent(0) ;    // YK 29.05.2001
-  
-}
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject::ReadTreeR()
-{
-  // Read the reconstrunction tree gAlice->TreeR()
-
-  if(gAlice->TreeR()== 0){
-    cout <<   "AliPHOSIndexToObject: can not read TreeR " << endl ;
-    return ;
-  }
-
-  TBranch * pidBranch = 0;
-  TBranch * rpBranch = 0;
-  TBranch * tsMakerBranch = 0;
-  TBranch * tsBranch = 0;
-  TBranch * emcBranch = 0;
-  TBranch * cpvBranch = 0;
-  TBranch * clusterizerBranch = 0;
-  
-  TObjArray * branches = gAlice->TreeR()->GetListOfBranches() ;
-  Int_t ibranch;
-  Bool_t pidNotFound = kTRUE ;
-  Bool_t rpNotFound = kTRUE ;
-  Bool_t tsMakerNotFound = kTRUE ;
-  Bool_t tsNotFound = kTRUE ;
-  Bool_t emcNotFound = kTRUE ;
-  Bool_t cpvNotFound = kTRUE ;  
-  Bool_t clusterizerNotFound = kTRUE ;
-  
-  for(ibranch = 0;ibranch <branches->GetEntries();ibranch++){
-    
-    if(pidNotFound){
-      pidBranch=(TBranch *) branches->At(ibranch) ;
-      if( (fRPTitle.CompareTo(pidBranch->GetTitle())==0 ) &&
-         (strcmp(pidBranch->GetName(),"AliPHOSPID") == 0) )
-       pidNotFound = kFALSE ;
-    }
-    if(rpNotFound){
-      rpBranch=(TBranch *) branches->At(ibranch) ;
-      if( (fRPTitle.CompareTo(rpBranch->GetTitle())==0 ) &&
-         (strcmp(rpBranch->GetName(),"PHOSRP") == 0) )
-       rpNotFound = kFALSE ;
-    }
-    if(tsMakerNotFound){
-      tsMakerBranch=(TBranch *) branches->At(ibranch) ;
-      if( fTSTitle.CompareTo(tsMakerBranch->GetTitle())==0 )
-       if( strcmp(tsMakerBranch->GetName(),"AliPHOSTrackSegmentMaker") == 0) 
-         tsMakerNotFound = kFALSE ;
-    }
-    if(tsNotFound){
-      tsBranch=(TBranch *) branches->At(ibranch) ;
-      if( fTSTitle.CompareTo(tsBranch->GetTitle())==0 )
-       if( strcmp(tsBranch->GetName(),"PHOSTS") == 0) 
-         tsNotFound = kFALSE ;
-    }  
-    if(emcNotFound){
-      emcBranch=(TBranch *) branches->At(ibranch) ;
-      if( (fRecPointsTitle.CompareTo(emcBranch->GetTitle()) == 0) && 
-         (strcmp(emcBranch->GetName(),"PHOSEmcRP") == 0) )
-       emcNotFound = kFALSE ;
-    }
-    if(cpvNotFound){
-      cpvBranch=(TBranch *) branches->At(ibranch) ;
-      if( (fRecPointsTitle.CompareTo(cpvBranch->GetTitle()) == 0) &&
-         (strcmp(cpvBranch->GetName(),"PHOSCpvRP") == 0) )
-       cpvNotFound = kFALSE ;
-    }
-    if(clusterizerNotFound){
-      clusterizerBranch = (TBranch *) branches->At(ibranch) ;
-      if( (fRecPointsTitle.CompareTo(clusterizerBranch->GetTitle()) == 0) &&
-         (strcmp(clusterizerBranch->GetName(),"AliPHOSClusterizer") == 0) )
-       clusterizerNotFound = kFALSE ;
-    }
-  }
-
-  if(pidNotFound ||rpNotFound ){
-    cout << "AliPHOSIndexToObject error" << endl ;
-    cout << "     Can't find Branch with PID and RecParticles " ;
-    return  ;
-  }
-  if(tsMakerNotFound ||tsNotFound ){
-    cout << "AliPHOSIndexToObject error" << endl ;
-    cout << "       Can't find Branch with TrackSegmentMaker and TrackSegments " ;
-    cout << "       Do nothing" <<endl  ;
-    return ;
-  }
-  if(clusterizerNotFound || emcNotFound || cpvNotFound){
-    cout << "AliPHOSIndexToObject error" << endl ;
-    cout << "       Can't find Branch with RecPoints or Clusterizer " << endl ;
-    return ;
-  }
-
-  //    YK 29.05.2001 : Read branch instead of tree
-  emcBranch        ->SetAddress(&fEmcRecPoints) ;
-  cpvBranch        ->SetAddress(&fCpvRecPoints) ;
-  clusterizerBranch->SetAddress(&fClusterizer) ;
-  emcBranch        ->GetEntry(0) ;
-  cpvBranch        ->GetEntry(0) ;
-  clusterizerBranch->GetEntry(0) ;
-  
-  tsMakerBranch    ->SetAddress(&fTSMaker) ;
-  tsBranch         ->SetAddress(&fTS) ;
-  tsMakerBranch    ->GetEntry(0) ;
-  tsBranch         ->GetEntry(0) ;
-    
-  pidBranch        ->SetAddress(&fPID) ;
-  rpBranch         ->SetAddress(&fRecParticles) ;
-  pidBranch        ->GetEntry(0) ;
-  rpBranch         ->GetEntry(0) ;
-  
-//    gAlice->TreeR()->GetEvent(0) ;    // YK 29.05.2001
-
-}
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject::ReadPrimaries()
-{
-  // Reads specific branches of primaries
-  
-  fNPrimaries = gAlice->GetNtrack();
-  
-  //   //Check, is it necessary to open new files
-  //   TArrayI* events = fDigitizer->GetCurrentEvents() ; 
-  //   TClonesArray * filenames = fDigitizer->GetHeadersFiles() ;
-//   Int_t input ;
-//   for(input = 0; input < filenames->GetEntriesFast(); input++){
-
-//     TObjString * filename = (TObjString *) filenames->At(input) ;
-
-//     //Test, if this file already open
-//     TFile *file = (TFile*) gROOT->GetFile( filename->GetString() ) ;
-//     if(file == 0)
-//       file = new TFile( filename->GetString()) ;
-//     file->cd() ;
-    
-//     // Get Kine Tree from file
-// //     char treeName[20];
-// //     sprintf(treeName,"TreeK%d",events->At(input));
-// //     TTree * treeK = (TTree*)gDirectory->Get(treeName);
-// //     if (treeK) 
-// //       treeK->SetBranchAddress("Particles", &fParticleBuffer);
-// //     else    
-// //       cout << "AliPHOSIndexToObject: cannot find Kine Tree for event:" << events->At(input) << endl;
-
-// //     // Create the particle stack
-// //     if(!fParticles) fParticles = new TClonesArray("TParticle",1000);
-// //     // Build the pointer list
-// //     if(fParticleMap) {     <----
-// //       fParticleMap->Clear();
-// //       fParticleMap->Expand(treeK->GetEntries());
-// //     } else
-// //       fParticleMap = new TObjArray(treeK->GetEntries());
-    
-//     // From gAlice->Particle(i) 
-
-
-// //   if(!(*fParticleMap)[i]) {
-// //     Int_t nentries = fParticles->GetEntries();
-    
-// //     // algorithmic way of getting entry index
-// //     // (primary particles are filled after secondaries)
-// //     Int_t entry;
-// //     if (i<fHeader.GetNprimary())
-// //       entry = i+fHeader.GetNsecondary();
-// //     else 
-// //       entry = i-fHeader.GetNprimary();
-      
-// //     // only check the algorithmic way and give
-// //     // the fatal error if it is wrong
-// //     if (entry != fParticleFileMap[i]) {
-// //       Fatal("Particle",
-// //         "!!!! The algorithmic way is WRONG: !!!\n entry: %d map: %d",
-// //  entry, fParticleFileMap[i]); 
-// //     }  
-      
-// //     fTreeK->GetEntry(fParticleFileMap[i]);
-// //     new ((*fParticles)[nentries]) TParticle(*fParticleBuffer);
-// //     fParticleMap->AddAt((*fParticles)[nentries],i);
-// //   }
-// //   return (TParticle *) (*fParticleMap)[i];
-
-   
-    
-//   }
-
-
-//   //scan over opened files and read corresponding TreeK##
-
-  return ;
-}
-//____________________________________________________________________________ 
-void AliPHOSIndexToObject::GetEvent(Int_t event)
-{
-  // Reads the content of all Tree's S, D and R
-
-  if(event == fEvent) // do nothing
-    return ;
-    
-  if(event > fMaxEvent){
-    cout << "There is no such event " << event << " total # of events " << fMaxEvent << endl ;
-    return ;
-  }
-
-  fEvent = event ;
-  gAlice->GetEvent(fEvent) ;
-  
-  ReadTreeS() ;
-  ReadTreeD() ;
-  ReadTreeR() ;
-  ReadPrimaries() ;
-
-  
-
-}
-
diff --git a/PHOS/AliPHOSIndexToObject.h b/PHOS/AliPHOSIndexToObject.h
deleted file mode 100644 (file)
index 858f954..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef ALIPHOSINDEXTOOBJECT_H
-#define ALIPHOSINDEXTOOBJECT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-//_________________________________________________________________________
-//  A singleton that returns objects from their indexes. 
-//  Should be used on the analysis stage to avoid confusing between different
-//  branches of reconstruction tree: e.g. reading RecPoints and TS made from 
-//  another set of RecPoints.
-// 
-//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (RRC KI & SUBATECH)
-//    
-
-
-// --- ROOT system ---
-#include "TClonesArray.h"
-#include <stdlib.h>
-
-class TString ;
-class TParticle ;
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-
-class AliPHOS ;
-class AliPHOSGeometry ;
-class AliPHOSDigit ;
-class AliPHOSDigitizer ;
-class AliPHOSSDigitizer ;
-class AliPHOSEmcRecPoint ;
-class AliPHOSRecPoint ;
-class AliPHOSClusterizer ;
-class AliPHOSTrackSegment ;
-class AliPHOSTrackSegmentMaker ;
-class AliPHOSRecParticle ;
-class AliPHOSPID ;
-
-class AliPHOSIndexToObject : public TObject {
-  
- public:
-  
-  AliPHOSIndexToObject(){ 
-    // ctor: this is a singleton, the ctor should never be called but cint needs it as public
-    abort() ; 
-  } 
-  AliPHOSIndexToObject(const AliPHOSIndexToObject & obj) {
-    // cpy ctor requested by Coding Convention 
-    // but not yet needed
-    abort() ; 
-  } 
-  
-  virtual ~AliPHOSIndexToObject(){
-    // dtor
-  }
-  
-  void  GetEvent(Int_t event) ; // reads event from file 
-  Int_t GetEventNumber(){ return fEvent; }
-  Int_t GetMaxEvent()   { return fMaxEvent;}
-  AliPHOSGeometry * GetPHOSGeometry() const  ; 
-  AliPHOS * GetPHOS() const ;  
- static AliPHOSIndexToObject * GetInstance(const char* headerFile,const char* branch = "PHOSRP",
-                                           const char* branchTitle =0 ) ; 
-  static AliPHOSIndexToObject * GetInstance() ; 
-  
-  AliPHOSDigit *        GimeSDigit(Int_t index)
-    {if(fSDigits) return (AliPHOSDigit*)fSDigits->At(index); 
-     return 0 ;} 
-  Int_t                 GimeNSDigits() 
-    {if(fSDigits) return fSDigits->GetEntriesFast(); 
-     return 0 ;} 
-  TClonesArray *        GimeDigits(){return fDigits ;}
-  AliPHOSDigit *        GimeDigit(Int_t index) 
-                          {if(fDigits) return (AliPHOSDigit*)fDigits->At(index); 
-                         return 0 ;} 
-  Int_t                 GimeNDigits() 
-                          {if(fDigits) return fDigits->GetEntriesFast(); 
-                         return 0 ;} 
-  TParticle *           GimePrimary(Int_t index) const ;
-  Int_t                 GimeNPrimaries()const { return fNPrimaries; }
-  AliPHOSRecParticle *  GimeRecParticle(Int_t index) 
-                          { if(fRecParticles) return (AliPHOSRecParticle*)fRecParticles->At(index); 
-                         return 0 ;} 
-  Int_t                 GimeNRecParticles() 
-                          { if(fRecParticles) return fRecParticles->GetEntriesFast(); 
-                         return 0 ;} 
-  AliPHOSEmcRecPoint *  GimeEmcRecPoint(Int_t index) 
-                          { if(fEmcRecPoints) return (AliPHOSEmcRecPoint*)fEmcRecPoints->At(index);
-                         return 0 ;} 
-  Int_t                 GimeNEmcRecPoints() 
-                          { if(fEmcRecPoints) return fEmcRecPoints->GetEntriesFast();
-                           return 0 ;} 
-  AliPHOSRecPoint *     GimeCpvRecPoint(Int_t index) 
-                          { if(fCpvRecPoints) return (AliPHOSRecPoint*)fCpvRecPoints->At(index); 
-                           return 0 ;}  
-  Int_t                 GimeNCpvRecPoints() 
-                          { if(fCpvRecPoints) return fCpvRecPoints->GetEntriesFast(); 
-                           return 0 ;}  
-  AliPHOSTrackSegment * GimeTrackSegment(Int_t index) 
-                          { if(fTS) return (AliPHOSTrackSegment*)fTS->At(index); 
-                           return 0 ;} 
-  Int_t                 GimeNTrackSegments() 
-                          { if(fTS) return fTS->GetEntriesFast(); 
-                           return 0 ;} 
-  AliPHOSSDigitizer*    GimeSDigitizer() 
-                          { return fSDigitizer; } 
-  AliPHOSDigitizer*     GimeDigitizer() 
-                          { return fDigitizer; } 
-  AliPHOSClusterizer*   GimeClusterizer() 
-                          { return fClusterizer; } 
-  AliPHOSTrackSegmentMaker* GimeTSMaker() 
-                          { return fTSMaker; } 
-  AliPHOSPID *          GimePID() 
-                          { return fPID; } 
-  
-  AliPHOSIndexToObject & operator = (const AliPHOSIndexToObject & ) {
-    // assignement operator requested by coding convention
-    // but not needed
-    abort() ;
-    return *this ; 
-  }
-  
- private:
-  
-  AliPHOSIndexToObject(const char* headerFile,const char* branch = "RecParticles",
-                                             const char* branchTitle =0) ; 
-  void DefineBranchTitles(const char* branch,const char* branchTitle) ;
-  void ReadTreeR() ;
-  void ReadTreeD() ;
-  void ReadTreeS() ;
-  void ReadPrimaries() ;
-
- private:
-
-  TString        fHeaderFile ;    //!
-  TString        fRPTitle ;       //!
-  TString        fTSTitle ;       //!
-  TString        fRecPointsTitle ;//!
-  TString        fDigitsTitle ;   //!
-  TString        fSDigitsTitle ;  //!
-
-  Int_t          fEvent ;        
-  Int_t          fMaxEvent ;      //! Number of events in currect headers file
-  Int_t          fNPrimaries ;    //! # of primaries
-  
-  TClonesArray * fSDigits ;       //! list of Sdigits
-  TClonesArray * fDigits ;        //! list of digits
-  TObjArray *    fEmcRecPoints ;  //! emc rec points
-  TObjArray *    fCpvRecPoints ;  //! CPV/PPSD rec points
-  TClonesArray * fTS ;            //! TrackSegments
-  TClonesArray * fRecParticles ;  //! RecParticles
-  TObjArray *    fPrimaries ;     //! list of lists of primaries-for the case of mixing
-
-  AliPHOSSDigitizer * fSDigitizer ;     //!
-  AliPHOSDigitizer  * fDigitizer ;      //!
-  AliPHOSClusterizer* fClusterizer ;    //!
-  AliPHOSTrackSegmentMaker * fTSMaker ; //!
-  AliPHOSPID *        fPID ;            //!
-
-  static AliPHOSIndexToObject * fgObjGetter ; // pointer to the unique instance of the singleton 
-
-  ClassDef(AliPHOSIndexToObject,1)  // Algorithm class that provides methods to retrieve objects from a list knowing the index 
-
-};
-
-#endif // AliPHOSINDEXTOOBJECT_H