X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=EVE%2FEveDet%2FAliEveTRDLoader.cxx;h=62d98ebddb319e812c2d7ddb167ae658fb1a41be;hp=a028c403479f3da0130682a92c26dbb12daf1ef6;hb=09487f16f62e153e246aff7926520be671ea916e;hpb=a879a24a224c53dcd3ce22f9d283a33bf5bb8f6a diff --git a/EVE/EveDet/AliEveTRDLoader.cxx b/EVE/EveDet/AliEveTRDLoader.cxx index a028c403479..62d98ebddb3 100644 --- a/EVE/EveDet/AliEveTRDLoader.cxx +++ b/EVE/EveDet/AliEveTRDLoader.cxx @@ -32,7 +32,6 @@ #include "AliTRDhit.h" #include "AliTRDcluster.h" -#include "AliTRDmcmTracklet.h" #include "AliTRDdigitsManager.h" #include "AliTRDgeometry.h" @@ -142,31 +141,45 @@ Bool_t AliEveTRDLoader::GoToEvent(int ev) Unload(); - TTree *t = 0x0; - TFile *f = TFile::Open(Form("%s/%s", fDir.Data(), fFilename.Data())); - if(! f->cd(Form("Event%d", ev))){ - AliError(Form("Couldn't find event %d in file \"%s/%s\".", ev, fDir.Data(), fFilename.Data())); + TTree *t(NULL); TFile *f(NULL); + if(!(f = TFile::Open(Form("%s/%s", fDir.Data(), fFilename.Data())))){ + AliWarning(Form("File not found \"%s/%s\".", fDir.Data(), fFilename.Data())); + return kFALSE; + } + if(!f->cd(Form("Event%d", ev))){ + AliError(Form("Event[%d] not found in file \"%s/%s\".", ev, fDir.Data(), fFilename.Data())); f->Close(); //delete f; return kFALSE; } if(fDataType&kTRDHits){ - t = (TTree*)gDirectory->Get("TreeH"); - if(!t) return kFALSE; + if(!(t = (TTree*)gDirectory->Get("TreeH"))){ + AliError(Form("Tree[TreeH] not found for Event[%d].", ev)); + return kFALSE; + } if(!LoadHits(t)) return kFALSE; - } else if(fDataType&kTRDDigits){ - t = (TTree*)gDirectory->Get("TreeD"); - if(!t) return kFALSE; + } + if(fDataType&kTRDDigits){ + if(!(t = (TTree*)gDirectory->Get("TreeD"))){ + AliError(Form("Tree[TreeD] not found for Event[%d].", ev)); + return kFALSE; + } if(!LoadDigits(t)) return kFALSE; - } else if(fDataType&kTRDClusters){ - t = (TTree*)gDirectory->Get("TreeR"); - if(!t) return kFALSE; + } + if(fDataType&kTRDClusters){ + if(!(t = (TTree*)gDirectory->Get("TreeR"))){ + AliError(Form("Tree[TreeR] not found for Event[%d].", ev)); + return kFALSE; + } if(!LoadClusters(t)) return kFALSE; - } else if(fDataType&kTRDTracklets){ - t = (TTree*)gDirectory->Get("tracklets"); - if(!t) return kFALSE; + } + if(fDataType&kTRDTracklets){ + if(!(t = (TTree*)gDirectory->Get("tracklets"))){ + AliError(Form("Tree[tracklets] not found for Event[%d].", ev)); + return kFALSE; + } if(!LoadTracklets(t)) return kFALSE; - } else AliWarning("Please select first the type of data that you want to monitor and then hit the \"Load\" button."); + }// else AliWarning("Please select first the type of data that you want to monitor and then hit the \"Load\" button."); f->Close(); //delete f; @@ -223,13 +236,12 @@ Bool_t AliEveTRDLoader::LoadClusters(TTree *tC) TObjArray *clusters = new TObjArray(); tC->SetBranchAddress("TRDcluster", &clusters); - AliEveTRDChamber *chmb = 0x0; - AliTRDcluster *c=0x0; - for(int idet=0; idet<540; idet++){ + AliEveTRDChamber *chmb(NULL); + AliTRDcluster *c(NULL); + for(int idet=0; idetGetEntry(idet); if(!clusters->GetEntriesFast()) continue; - c = (AliTRDcluster*)clusters->UncheckedAt(0); - if(!c) continue; + if(!(c = (AliTRDcluster*)clusters->UncheckedAt(0))) continue; if((chmb = GetChamber(c->GetDetector()))) chmb->LoadClusters(clusters); } return kTRUE; @@ -248,7 +260,7 @@ Bool_t AliEveTRDLoader::LoadDigits(TTree *tD) AliEveTRDChamber *chmb; AliTRDdigitsManager dm; dm.ReadDigits(tD); - for(int idet=0; idet<540; idet++){ + for(int idet=0; idetGetString().CompareTo("Hits") == 0){ - if(count && !fDataType&kTRDHits){ + if(count && !(fDataType&kTRDHits)){ AliWarning("Data type set to HITS according to file name. Previous settings will be overwritten."); fDataType = 0; } fDataType|=kTRDHits; } else if(((TObjString*)(*so)[1])->GetString().CompareTo("Digits") == 0){ - if(count && !fDataType&kTRDDigits){ + if(count && !(fDataType&kTRDDigits)){ AliWarning("Data type set to DIGITS according to file name. Previous settings will be overwritten."); fDataType = 0; } fDataType|=kTRDDigits; } else if(((TObjString*)(*so)[1])->GetString().CompareTo("RecPoints") == 0){ - if(count && !fDataType&kTRDClusters){ + if(count && !(fDataType&kTRDClusters)){ AliWarning("Data type set to CLUSTERS according to file name. Previous settings will be overwritten."); fDataType = 0; } fDataType|=kTRDClusters; } else if(((TObjString*)(*so)[1])->GetString().CompareTo("Tracklets") == 0){ - if(count && !fDataType&kTRDTracklets){ + if(count && !(fDataType&kTRDTracklets)){ AliWarning("Data type set to TRACKLETS according to file name. Previous settings will be overwritten."); fDataType = 0; } @@ -337,9 +349,10 @@ void AliEveTRDLoader::Paint(Option_t *option) { // Paint object. + AliEveTRDModule *module(NULL); List_i ichmb = fChildren.begin(); while(ichmb != fChildren.end()){ - (dynamic_cast(*ichmb))->Paint(option); + if((module = dynamic_cast(*ichmb))) module->Paint(option); ichmb++; } } @@ -352,7 +365,7 @@ void AliEveTRDLoader::Unload() List_i ichmb = fChildren.begin(); while(ichmb != fChildren.end()){ - (dynamic_cast(*ichmb))->Reset(); + //(dynamic_cast(*ichmb))->Reset(); ichmb++; } } @@ -472,7 +485,7 @@ void AliEveTRDLoaderEditor::SetModel(TObject* obj) { // Set model object. - fM = dynamic_cast(obj); + if(!(fM = dynamic_cast(obj))) return; fFile->SetEnabled(!fM->IsDataLinked()); fFile->SetText(gSystem->BaseName(fM->fFilename.Data()));