-Bool_t AliPHOSGetter::PostRecPoints(const char * name) const
-{ // -------------- RecPoints -------------------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/EMCARecPoints/name
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/CPVRecPoints/name
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS")) ;
-
- if ( !phosFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post RPo -> Folder //" << fRecoFolder->GetName() << "/PHOS/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post Rpo -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/" << endl;
- }
- phosFolder = fRecoFolder->AddFolder("PHOS", "Reconstructed data from PHOS") ;
- }
-
- // EMCA RecPoints
- TFolder * phosRPoEMCAFolder = dynamic_cast<TFolder*>(phosFolder->FindObject("EMCARecPoints")) ;
- if ( !phosRPoEMCAFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post RPo -> Folder //" << fRecoFolder->GetName() << "/PHOS/EMCARecPoints/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post Rpo -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/EMCARecPoints" << endl;
- }
- phosRPoEMCAFolder = phosFolder->AddFolder("EMCARecPoints", "EMCA RecPoints from PHOS") ;
- }
-
- TObject * erp = phosFolder->FindObject( name ) ;
- if ( !erp ) {
- TObjArray * emcrp = new TObjArray(100) ;
- emcrp->SetName(name) ;
- phosRPoEMCAFolder->Add(emcrp) ;
- }
-
- // CPV RecPoints
- TFolder * phosRPoCPVFolder = dynamic_cast<TFolder*>(phosFolder->FindObject("CPVRecPoints")) ;
- if ( !phosRPoCPVFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post RPo -> Folder //" << fRecoFolder->GetName() << "/PHOS/CPVRecPoints/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post Rpo -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/CPVRecPoints/" << endl;
- }
- phosRPoCPVFolder = phosFolder->AddFolder("CPVRecPoints", "CPV RecPoints from PHOS") ;
- }
-
- TObject * crp = phosRPoCPVFolder->FindObject( name ) ;
- if ( !crp ) {
- TObjArray * cpvrp = new TObjArray(100) ;
- cpvrp->SetName(name) ;
- phosRPoCPVFolder->Add(cpvrp) ;
- }
- return kTRUE;
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::EmcRecPointsRef(const char * name) const
-{ // -------------- RecPoints -------------------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/EMCARecPoints/name
-
- if ( !fRecoFolder ) {
- cerr << "ERROR: AliPHOSGetter::EmcRecPointsRef -> Folder //" << fRecoFolder->GetName() << " not found!" << endl;
- abort() ;
- }
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS/EMCARecPoints")) ;
- if ( !phosFolder ) {
- cerr << "ERROR: AliPHOSGetter::EmcRecPointsRef -> Folder //" << fRecoFolder->GetName() << "/PHOS/EMCARecPoints/ not found!" << endl;
- abort() ;
- }
-
-
- TObject * erp = phosFolder->FindObject(name ) ;
- if ( !erp ) {
- cerr << "ERROR: AliPHOSGetter::EmcRecPointsRef -> object " << name << " not found! " << endl ;
- abort() ;
- }
- return phosFolder->GetListOfFolders()->GetObjectRef(erp) ;
-
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::CpvRecPointsRef(const char * name) const
-{ // -------------- RecPoints -------------------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/CPVRecPoints/name
-
- if ( !fRecoFolder ) {
- cerr << "ERROR: AliPHOSGetter::CpvRecPointsRef -> Folder //" << fRecoFolder->GetName() << " not found!" << endl;
- abort() ;
- }
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS/CPVRecPoints")) ;
- if ( !phosFolder ) {
- cerr << "ERROR: AliPHOSGetter::CpvRecPointsRef -> Folder //" << fRecoFolder->GetName() << "/PHOS/CPVRecPoints/" << endl;
- abort() ;
- }
-
- TObject * crp = phosFolder->FindObject(name ) ;
- if ( !crp ) {
- cerr << "ERROR: AliPHOSGetter::CpvRecPointsRef -> object " << name << " not found " << endl ;
- abort() ;
- }
- return phosFolder->GetListOfFolders()->GetObjectRef(crp) ;
-
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostClusterizer(AliPHOSClusterizer * clu) const
-{ // ------------------ AliPHOSClusterizer ------------------------
-
- // the hierarchy is //Folders/Tasks/Reconstructioner/PHOS/sdigitsname
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Rer -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Rer -> //" << fTasksFolder << "/ReconstructionerPHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Rer -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- AliPHOSClusterizer * phoscl = dynamic_cast<AliPHOSClusterizer*>(phos->GetListOfTasks()->FindObject(clu->GetName())) ;
- if (phoscl) {
- if (fDebug)
- cout << "INFO: AliPHOSGetter::Post Rer -> Task " << clu->GetName() << " already exists" << endl ;
- phoscl->Delete() ;
- phos->GetListOfTasks()->Remove(phoscl) ;
- }
- phos->Add(clu) ;
- return kTRUE;
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::ClusterizerRef(const char * name) const
-{ // ------------------ AliPHOSClusterizer ------------------------
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::ClusterizerRef -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- abort() ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- cerr <<"WARNING: AliPHOSGetter::ClusterizerRef -> //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- abort() ;
- }
-
- TList * l = phos->GetListOfTasks() ;
- TIter it(l) ;
- TTask * task ;
- TTask * clu = 0 ;
- TString cluname(name) ;
- cluname+=":clusterizer" ;
- while((task = static_cast<TTask *>(it.Next()) )){
- TString taskname(task->GetName()) ;
- if(taskname.BeginsWith(cluname)){
- clu = task ;
- break ;
- }
- }
-
- if(clu)
- return l->GetObjectRef(clu) ;
- else{
- cerr << "ERROR: AliPHOSGetter::ClusterizerRef -> Task //" << fTasksFolder << "/Reconstructioner/clusterizer name not found!" << endl;
- abort() ;
- }
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostClusterizer(const char * name) const
-{ // ------------------ AliPHOSClusterizer ------------------------
-
- // the hierarchy is //Folders/Tasks/Reconstructioner/PHOS/sdigitsname
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Rer -> Task//" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Rer -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Rer -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- AliPHOSClusterizerv1 * phoscl = new AliPHOSClusterizerv1() ;
- TString clun(name) ;
- clun+=":clusterizerv1" ;
- phoscl->SetName(clun) ;
- phos->Add(phoscl) ;
- return kTRUE;
-
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostTrackSegments(const char * name) const
-{ // ---------------TrackSegments -----------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/TrackSegments/name
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS")) ;
-
- if ( !phosFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post TS -> Folder //" << fRecoFolder << "/PHOS/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post TS -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS" << endl;
- }
- phosFolder = fRecoFolder->AddFolder("PHOS", "Reconstructed data from PHOS") ;
- }
-
- TFolder * phosTSFolder = dynamic_cast<TFolder*>(phosFolder->FindObject("TrackSegments")) ;
- if ( !phosTSFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post TS -> Folder//" << fRecoFolder->GetName() << "/PHOS/TrackSegments/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post TS -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/TrackSegments/" << endl;
- }
- phosTSFolder = phosFolder->AddFolder("TrackSegments", "TrackSegments from PHOS") ;
- }
-
- TObject * tss = phosTSFolder->FindObject( name ) ;
- if (!tss) {
- TClonesArray * ts = new TClonesArray("AliPHOSTrackSegment",100) ;
- ts->SetName(name) ;
- phosTSFolder->Add(ts) ;
- }
- return kTRUE;
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::TrackSegmentsRef(const char * name) const
-{ // ---------------TrackSegments -----------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/TrackSegments/name
-
- if ( !fRecoFolder ) {
- cerr << "ERROR: AliPHOSGetter::TrackSegmentsRef -> Folder //" << fRecoFolder->GetName() << "not found!" << endl;
- abort() ;
- }
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS/TrackSegments")) ;
- if ( !phosFolder ) {
- cerr << "ERROR: AliPHOSGetter::TrackSegmentsRef -> Folder //" << fRecoFolder->GetName() << "/PHOS/TrackSegments/ not found!" << endl;
- abort() ;
- }
-
- TObject * tss = phosFolder->FindObject(name) ;
- if (!tss) {
- cerr << "ERROR: AliPHOSGetter::TrackSegmentsRef -> object " << name << " not found! " << endl ;
- abort() ;
- }
- return phosFolder->GetListOfFolders()->GetObjectRef(tss) ;
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostTrackSegmentMaker(AliPHOSTrackSegmentMaker * tsmaker) const
-{ //------------Track Segment Maker ------------------------------
-
- // the hierarchy is //Folders/Tasks/Reconstructioner/PHOS/sdigitsname
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Ter -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Rer -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Rer -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- AliPHOSTrackSegmentMaker * phosts =
- dynamic_cast<AliPHOSTrackSegmentMaker*>(phos->GetListOfTasks()->FindObject(tsmaker->GetName())) ;
- if (phosts) {
- phosts->Delete() ;
- phos->GetListOfTasks()->Remove(phosts) ;
- }
- phos->Add(tsmaker) ;
- return kTRUE;
-
-}
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostTrackSegmentMaker(const char * name) const
-{ //------------Track Segment Maker ------------------------------
-
- // the hierarchy is //Folders/Tasks/Reconstructioner/PHOS/sdigitsname
-
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Ter -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Rer -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Rer -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- AliPHOSTrackSegmentMakerv1 * phosts =
- dynamic_cast<AliPHOSTrackSegmentMakerv1*>(phos->GetListOfTasks()->FindObject(name)) ;
- if (!phosts) {
- phosts = new AliPHOSTrackSegmentMakerv1() ;
- TString tsn(name);
- tsn+=":tracksegmentmakerv1" ;
- phosts->SetName(tsn) ;
- phos->Add(phosts) ;
- }
- return kTRUE;
-
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::TSMakerRef(const char * name) const
-{ //------------Track Segment Maker ------------------------------
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::TSMakerRef -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- abort() ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- cerr <<"WARNING: AliPHOSGetter::TSMakerRef -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- abort() ;
- }
-
- TList * l = phos->GetListOfTasks() ;
- TIter it(l) ;
- TTask * task ;
- TTask * tsm = 0 ;
- TString tsmname(name) ;
- tsmname+=":tracksegmentmaker" ;
- while((task = static_cast<TTask *>(it.Next()) )){
- TString taskname(task->GetName()) ;
- if(taskname.BeginsWith(tsmname)){
- tsm = task ;
- break ;
- }
- }
-
- if(tsm)
- return l->GetObjectRef(tsm) ;
- else {
- cerr << "ERROR: AliPHOSGetter::TSMakerRef -> Task //" << fTasksFolder << "/Reconstructioner/TrackSegmentMarker name not found!" << endl;
- abort() ;
- }
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostRecParticles(const char * name) const
-{ // -------------------- RecParticles ------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/TrackSegments/name
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS")) ;
-
- if ( !phosFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post RPa -> Folder //" << fRecoFolder->GetName() << "/PHOS/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post Rpa -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/" << endl;
- }
- phosFolder = fRecoFolder->AddFolder("PHOS", "Reconstructed data from PHOS") ;
- }
-
- TFolder * phosRPaFolder = dynamic_cast<TFolder*>(phosFolder->FindObject("RecParticles")) ;
- if ( !phosRPaFolder ) {
- if (fDebug) {
- cout << "WARNING: AliPHOSGetter::Post RPa -> Folder //" << fRecoFolder->GetName() << "/PHOS/RecParticles/ not found!" << endl;
- cout << "INFO: AliPHOSGetter::Post RPa -> Adding Folder //" << fRecoFolder->GetName() << "/PHOS/RecParticles/" << endl;
- }
- phosRPaFolder = phosFolder->AddFolder("RecParticles", "RecParticles from PHOS") ;
- }
-
- TObject * rps = phosRPaFolder->FindObject( name ) ;
- if ( !rps ) {
- TClonesArray * rp = new TClonesArray("AliPHOSRecParticle",100) ;
- rp->SetName(name) ;
- phosRPaFolder->Add(rp) ;
- }
- return kTRUE;
-}
-
-//____________________________________________________________________________
-TObject** AliPHOSGetter::RecParticlesRef(const char * name) const
-{ // ---------------TrackSegments -----------------------------------
-
- // the hierarchy is //Folders/Run/Event/RecData/PHOS/TrackSegments/name
-
- if ( !fRecoFolder ) {
- cerr << "ERROR: AliPHOSGetter::RecParticlesRef -> Folder//" << fRecoFolder->GetName() << " not found!" << endl;
- abort() ;
- }
-
- TFolder * phosFolder = dynamic_cast<TFolder*>(fRecoFolder->FindObject("PHOS/RecParticles")) ;
- if ( !phosFolder ) {
- cerr << "ERROR: AliPHOSGetter::RecParticlesRef -> Folder //" << fRecoFolder->GetName() << "/PHOS/RecParticles/ not found!" << endl;
- abort() ;
- }
-
- TObject * tss = phosFolder->FindObject(name ) ;
- if (!tss) {
- cerr << "ERROR: AliPHOSGetter::RecParticlesRef -> object " << name << " not found! " << endl ;
- abort() ;
- }
- return phosFolder->GetListOfFolders()->GetObjectRef(tss) ;
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostPID(AliPHOSPID * pid) const
-{ // ------------AliPHOS PID -----------------------------
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Per -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Per -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Per -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- AliPHOSPID * phospid = dynamic_cast<AliPHOSPID*>(phos->GetListOfTasks()->FindObject(pid->GetName())) ;
- if (phospid) {
- if (fDebug)
- cout << "INFO: AliPHOSGetter::Post Per -> Task " << pid->GetName()
- << " already exists" << endl ;
- phos->GetListOfTasks()->Remove(phospid) ;
- }
-
- phos->Add(pid) ;
- return kTRUE;
-}
-
-//____________________________________________________________________________
-Bool_t AliPHOSGetter::PostPID(const char * name) const
-{
- // the hierarchy is //Folders/Tasks/Reconstructioner/PHOS/sdigitsname
-
- TTask * tasks = dynamic_cast<TTask*>(fTasksFolder->FindObject("Reconstructioner")) ;
-
- if ( !tasks ) {
- cerr << "ERROR: AliPHOSGetter::Post Per -> Task //" << fTasksFolder << "/Reconstructioner not found!" << endl;
- return kFALSE ;
- }
-
- TTask * phos = dynamic_cast<TTask*>(tasks->GetListOfTasks()->FindObject("PHOS")) ;
- if ( !phos ) {
- if (fDebug) {
- cout <<"WARNING: AliPHOSGetter::Post Per -> //" << fTasksFolder << "/Reconstructioner/PHOS not found!" << endl;
- cout <<"INFO: AliPHOSGetter::Post Per -> Adding //" << fTasksFolder << "/Reconstructioner/PHOS" << endl;
- }
- phos = new TTask("PHOS", "") ;
- tasks->Add(phos) ;
- }
-
- TList * l = phos->GetListOfTasks() ;
- TIter it(l) ;
- TString pidname(name) ;
- pidname+=":pidv1" ;
- TTask * task ;
- while((task = static_cast<TTask *>(it.Next()) )){
- TString taskname(task->GetName()) ;
- if(taskname.BeginsWith(pidname))
- return kTRUE ;
- }
-
- AliPHOSPIDv1 * phospid = new AliPHOSPIDv1() ;
- phospid->SetName(pidname) ;
- phos->Add(phospid) ;
-
- return kTRUE;
-}