GetStatus implemented
authoralla <alla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Mar 2012 15:28:10 +0000 (15:28 +0000)
committeralla <alla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Mar 2012 15:28:10 +0000 (15:28 +0000)
T0/AliT0CalibSeasonTimeShift.cxx
T0/AliT0PreprocessorOffline.cxx
T0/AliT0PreprocessorOffline.h

index c65aaad..9d9b760 100644 (file)
@@ -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);
index f8a1c63..a571c3c 100644 (file)
@@ -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 ;
+}
index 85ef690..4d83b2d 100644 (file)
@@ -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)
 };