#include <TProfile.h>
#include <TF1.h>
+using std::cout;
+using std::endl;
ClassImp(AliT0CalibWalk)
//________________________________________________________________
Float_t x2[50], xx2[50],y2[50];
Float_t xx1[50],yy1[50], xx[50];
- Float_t cfd0[24];
- Int_t startim = 0;
+ Float_t cfd0 = 0;
for (Int_t ii=0; ii<nmips; ii++)
x1[ii] = y1[ii] = x2[ii] = y2[ii] = 0;
for (Int_t i=0; i<24; i++)
{
- for (Int_t im=startim; im<nmips; im++)
+ cfd0 = 0;
+ for (Int_t im=0; im<nmips; im++)
{
TString cfd = Form("hCFD%i_%i",i+1,im+1);
TString qtc = Form("hQTC%i_%i",i+1,im+1);
printf("no peak in CFD spectrum for PMT %i amplitude %i\n",i,im);
return ok;
}
-
if(hCFD && hCFD->GetEntries()>500 ) {
if( hCFD->GetRMS() >= 1.5)
GetMeanAndSigma(hCFD, cfdmean, sigma);
else
cfdmean = hCFD->GetMean();
- if (im == 0) cfd0[i] = cfdmean;
- y1[im] = cfdmean - cfd0[i];
+ Int_t maxBin = hCFD->GetMaximumBin();
+ Double_t meanEstimate = hCFD->GetBinCenter( maxBin);
+ if(TMath::Abs(meanEstimate - cfdmean) > 20 ) cfdmean = meanEstimate;
+ if (im == 0) cfd0 = cfdmean;
+ y1[im] = cfdmean - cfd0;
}
if(hQTC && hQTC->GetEntries()>500) {
GetMeanAndSigma(hQTC, qtmean, sigma);
// cout<<" add amp "<<i<<endl;
if(i==23)
- cout<<"Graphs created..."<<endl;
+ cout<<"Graphs created..."<<endl;
}
} //if gFile exits
void AliT0CalibWalk::GetMeanAndSigma(TH1F* hist, Float_t &mean, Float_t &sigma)
{
- const double window = 5.; //fit window
+ const double window = 2.; //fit window
double meanEstimate, sigmaEstimate;
int maxBin;
mean = (Float_t) fit->GetParameter(1);
sigma = (Float_t) fit->GetParameter(2);
+ printf(" mean %f max %f sigma %f \n",mean, meanEstimate , sigma);
delete fit;
}