From 6318dd46a50cdd9e31560e9c57b55a3ca7be198c Mon Sep 17 00:00:00 2001 From: alla Date: Wed, 9 Jul 2008 10:21:49 +0000 Subject: [PATCH] fixes for crashing SHUTLLE --- T0/AliT0CalibTimeEq.cxx | 40 ++++++++++++++++++++++------------------ T0/AliT0CalibWalk.cxx | 30 +++++++++++++++++++----------- T0/AliT0Preprocessor.cxx | 14 +++++++------- 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/T0/AliT0CalibTimeEq.cxx b/T0/AliT0CalibTimeEq.cxx index 12dd8154865..cddb17cc6f8 100644 --- a/T0/AliT0CalibTimeEq.cxx +++ b/T0/AliT0CalibTimeEq.cxx @@ -103,24 +103,28 @@ void AliT0CalibTimeEq::ComputeOnlineParams(const char* filePhys) // compute online equalized time Double_t mean=0; gFile = TFile::Open(filePhys); - // gFile->ls(); - Char_t buf1[30]; - for (Int_t i=0; i<24; i++) - { - // sprintf(buf1,"CFD1-CFD%d",i+1); - sprintf(buf1,"CFD1-CFD%d",i+1); - TH1F *cfd = (TH1F*) gFile->Get(buf1); - // printf(" i = %d buf1 = %s\n", i, buf1); - if(cfd) mean=cfd->GetMean(); - SetTimeEq(i,mean); - if(!cfd) AliWarning(Form("no histograms collected by PHYS DA for channel %i", i)); - if (cfd) delete cfd; - } - - gFile->Close(); - delete gFile; - -} + if(!gFile) { + AliError("No input PHYS data found "); + } + else + { + Char_t buf1[30]; + for (Int_t i=0; i<24; i++) + { + sprintf(buf1,"CFD1-CFD%d",i+1); + TH1F *cfd = (TH1F*) gFile->Get(buf1); + // printf(" i = %d buf1 = %s\n", i, buf1); + if(cfd) mean=cfd->GetMean(); + SetTimeEq(i,mean); + if(!cfd) AliWarning(Form("no histograms collected by PHYS DA for channel %i", i)); + if (cfd) delete cfd; + } + + + gFile->Close(); + delete gFile; + } + } diff --git a/T0/AliT0CalibWalk.cxx b/T0/AliT0CalibWalk.cxx index 78cbac9a32e..d64a433c3b4 100644 --- a/T0/AliT0CalibWalk.cxx +++ b/T0/AliT0CalibWalk.cxx @@ -196,12 +196,19 @@ void AliT0CalibWalk::MakeWalkCorrGraph(const char *laserFile) //make walk corerction for preprocessor gFile = TFile::Open(laserFile); - gFile->ls(); + if(!gFile) { + AliError("No input laser data found "); + } + else + { + // gFile->ls(); Float_t x1[10], y1[10]; Float_t x2[10], y2[10]; Float_t xx1[10],yy1[10], xx[10]; - + for (Int_t ii=0; ii<10; ii++) + { x1[ii]=0; y1[ii]=0; x2[ii]=0; y2[ii]=0; } + TH2F* hCFDvsQTC[24][10]; TH2F* hCFDvsLED[24][10]; @@ -216,16 +223,16 @@ void AliT0CalibWalk::MakeWalkCorrGraph(const char *laserFile) hCFDvsQTC[i][im] = (TH2F*) gFile->Get(qtc.Data()) ; hCFDvsLED[i][im] = (TH2F*) gFile->Get(led.Data()); - if(!hCFDvsQTC[i][im] && !hCFDvsLED[i][im]) - { - AliWarning(" no walk correction data in LASER DA"); - break; + if(!hCFDvsQTC[i][im] || !hCFDvsLED[i][im]) + AliWarning(Form(" no walk correction data in LASER DA for channel %i for amplitude %i MIPs",i,im)); + + if(hCFDvsQTC[i][im] && hCFDvsLED[i][im]) + { + x1[im] = hCFDvsQTC[i][im]->GetMean(1); + y1[im] = hCFDvsQTC[i][im]->GetMean(2); + x2[im] = hCFDvsLED[i][im]->GetMean(1); + y2[im] = hCFDvsLED[i][im]->GetMean(2); } - - x1[im] = hCFDvsQTC[i][im]->GetMean(1); - y1[im] = hCFDvsQTC[i][im]->GetMean(2); - x2[im] = hCFDvsLED[i][im]->GetMean(1); - y2[im] = hCFDvsLED[i][im]->GetMean(2); xx[im]=im+1; } for (Int_t imi=0; imi<10; imi++) @@ -252,6 +259,7 @@ void AliT0CalibWalk::MakeWalkCorrGraph(const char *laserFile) cout<<"Graphs created..."<