//________________________________________________________________
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;
//________________________________________________________________________
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;
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);
startTime(0),
endTime(0),
ocdbStorage(""),
- fNewDArun(9999999)
+ fNewDArun(9999999),
+ fStatusDelay(0),
+ fStatusAdjust(0)
{
//constructor
//____________________________________________________
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);
}
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 );
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);
}
}
+//_____________________________________________________________________________
+Int_t AliT0PreprocessorOffline::GetStatus() const
+{
+ //
+ // Checks the status
+ // fStatusPos: errors
+ // fStatusNeg: only info
+ //
+
+ return fStatusAdjust ;
+}
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
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)
};