From cdd5821317e5004eabd12e20056aea9ebbbf25df Mon Sep 17 00:00:00 2001 From: alla Date: Fri, 30 Mar 2012 15:28:10 +0000 Subject: [PATCH] GetStatus implemented --- T0/AliT0CalibSeasonTimeShift.cxx | 12 +++++++++--- T0/AliT0PreprocessorOffline.cxx | 20 +++++++++++++++++--- T0/AliT0PreprocessorOffline.h | 5 ++++- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/T0/AliT0CalibSeasonTimeShift.cxx b/T0/AliT0CalibSeasonTimeShift.cxx index c65aaad5f80..9d9b760fd2d 100644 --- a/T0/AliT0CalibSeasonTimeShift.cxx +++ b/T0/AliT0CalibSeasonTimeShift.cxx @@ -113,7 +113,13 @@ Bool_t AliT0CalibSeasonTimeShift::SetT0Par(Float_t par[4],Float_t spar[4]) //________________________________________________________________ Int_t AliT0CalibSeasonTimeShift::SetT0Par(const char* filePhys, Float_t *cdbtime) { - // compute online equalized time + // compute shifts fo T0A, T0C, T0AC and resolution + //Status : writeok: + // 0 OK + // 2000 - no data file + // 300 no one histogram or it is empty + //-100 peak is very narrow + Float_t mean, sigma; Int_t ok = 0; TH1F *cfd = NULL; @@ -169,7 +175,7 @@ Int_t AliT0CalibSeasonTimeShift::SetT0Par(const char* filePhys, Float_t *cdbtime //________________________________________________________________________ void AliT0CalibSeasonTimeShift::GetMeanAndSigma(TH1F* hist, Float_t &mean, Float_t &sigma) { - const double window =2.; //fit window + const double window =3.; //fit window double meanEstimate, sigmaEstimate; int maxBin; @@ -178,7 +184,7 @@ void AliT0CalibSeasonTimeShift::GetMeanAndSigma(TH1F* hist, Float_t &mean, Floa sigmaEstimate = hist->GetRMS(); TF1* fit= new TF1("fit","gaus", meanEstimate - window*sigmaEstimate, meanEstimate + window*sigmaEstimate); fit->SetParameters(hist->GetBinContent(maxBin), meanEstimate, sigmaEstimate); - hist->Fit("fit","RQ","Q"); + hist->Fit("fit","R",""); mean = (Float_t) fit->GetParameter(1); sigma = (Float_t) fit->GetParameter(2); diff --git a/T0/AliT0PreprocessorOffline.cxx b/T0/AliT0PreprocessorOffline.cxx index f8a1c63841f..a571c3ce6e2 100644 --- a/T0/AliT0PreprocessorOffline.cxx +++ b/T0/AliT0PreprocessorOffline.cxx @@ -51,7 +51,9 @@ TNamed("AliT0PreprocessorOffline","AliT0PreprocessorOffline"), startTime(0), endTime(0), ocdbStorage(""), - fNewDArun(9999999) + fNewDArun(9999999), + fStatusDelay(0), + fStatusAdjust(0) { //constructor @@ -66,7 +68,7 @@ AliT0PreprocessorOffline::~AliT0PreprocessorOffline() //____________________________________________________ void AliT0PreprocessorOffline::Process(TString filePhysName, Int_t ustartRun, Int_t uendRun, TString pocdbStorage) { - if ( ustartRun < fNewDArun) + if ( ustartRun < fNewDArun) CalibOffsetChannels(filePhysName, ustartRun, uendRun, pocdbStorage); CalibT0sPosition(filePhysName, ustartRun, uendRun, pocdbStorage); } @@ -92,6 +94,7 @@ void AliT0PreprocessorOffline::CalibOffsetChannels(TString filePhysName, Int_t u metaData.SetBeamPeriod(1); metaData.SetResponsible("Alla Maevskaya"); metaData.SetComment("Time equalizing result with slew"); + fStatusDelay = writeok; if (writeok<=0) { AliCDBId* id1=NULL; id1=new AliCDBId("T0/Calib/TimeDelay", ustartRun, uendRun ); @@ -123,7 +126,7 @@ void AliT0PreprocessorOffline::CalibT0sPosition(TString filePhysName, Int_t usta metaData.SetBeamPeriod(1); metaData.SetResponsible("Alla Maevskaya"); metaData.SetComment("Time equalizing result with slew"); - + fStatusAdjust = writeok; if (writeok <= 0) { AliCDBId* id1=NULL; id1=new AliCDBId("T0/Calib/TimeAdjust", ustartRun, uendRun); @@ -132,3 +135,14 @@ void AliT0PreprocessorOffline::CalibT0sPosition(TString filePhysName, Int_t usta } } +//_____________________________________________________________________________ +Int_t AliT0PreprocessorOffline::GetStatus() const +{ + // + // Checks the status + // fStatusPos: errors + // fStatusNeg: only info + // + + return fStatusAdjust ; +} diff --git a/T0/AliT0PreprocessorOffline.h b/T0/AliT0PreprocessorOffline.h index 85ef690cabb..4d83b2d20b8 100644 --- a/T0/AliT0PreprocessorOffline.h +++ b/T0/AliT0PreprocessorOffline.h @@ -19,6 +19,7 @@ class AliT0PreprocessorOffline: public TNamed void CalibT0sPosition(TString FileName, Int_t ustartRun, Int_t uendRun, TString ocdbStorage); void Process(TString FileName, Int_t ustartRun, Int_t uendRun, TString ocdbStorage); void setDArun(Int_t runnumber) {fNewDArun = runnumber; }; + Int_t GetStatus() const; private: AliT0PreprocessorOffline(const AliT0PreprocessorOffline & proc); // copy constructor AliT0PreprocessorOffline& operator=(const AliT0PreprocessorOffline&); //operator @@ -28,8 +29,10 @@ class AliT0PreprocessorOffline: public TNamed Int_t endTime; // endTime - used to make fast selection in THnSparse TString ocdbStorage; // path to the OCDB storage Int_t fNewDArun; // run number with new DA + Int_t fStatusDelay; //status time delay calibration + Int_t fStatusAdjust; // status time adjust calibration - ClassDef(AliT0PreprocessorOffline, 2) + ClassDef(AliT0PreprocessorOffline, 3) }; -- 2.43.0