//
// Typical use case:
// AliPHOSRawFitter *fitter=new AliPHOSRawFitter();
-// fitter->SetSamples(sig,sigStart,sigLength);
-// fitter->SetNBunches(nBunches);
// fitter->SetChannelGeo(module,cellX,cellZ,caloFlag);
// fitter->SetCalibData(fgCalibData) ;
-// fitter->Eval();
+// fitter->Eval(sig,sigStart,sigLength);
// Double_t amplitude = fitter.GetEnergy();
// Double_t time = fitter.GetTime();
// Bool_t isLowGain = fitter.GetCaloFlag()==0;
// Modified: Yuri Kharlov (Jul.2009)
// --- ROOT system ---
-#include "TArrayD.h"
+#include "TArrayI.h"
#include "TList.h"
#include "TMath.h"
#include "TMinuit.h"
-#include "TCanvas.h"
-#include "TH1.h"
-#include "TH2.h"
-#include "TF1.h"
-#include "TROOT.h"
// --- AliRoot header files ---
#include "AliLog.h"
pedMean += signal[i];
pedRMS += signal[i]*signal[i] ;
}
- fSamples->AddAt(signal[i],i);
- fTimes ->AddAt( i ,i);
+ fSamples->AddAt(signal[i],sigLength-i-1);
+ fTimes ->AddAt(i ,i);
}
fEnergy = -111;
}
if (fEnergy < kBaseLine) fEnergy = 0;
+ //Evaluate time
+ Int_t iStart = 0;
+ while(iStart<sigLength && fSamples->At(iStart)-pedestal <kBaseLine) iStart++ ;
+ fTime = sigStart-sigLength+iStart;
//calculate time and energy
Int_t maxBin=0 ;
fSampleParamsLow->AddAt(double(maxAmp),5) ;
else
fSampleParamsLow->AddAt(double(1023),5) ;
- fSampleParamsLow->AddAt(double(sigLength),6) ;
+ fSampleParamsLow->AddAt(double(iStart),6) ;
fToFit->AddFirst((TObject*)fSampleParamsLow) ;
b=fSampleParamsLow->At(2) ;
bmin=0.5 ;
fSampleParamsHigh->AddAt(double(maxAmp),5) ;
else
fSampleParamsHigh->AddAt(double(1023),5);
- fSampleParamsHigh->AddAt(double(sigLength),6);
+ fSampleParamsHigh->AddAt(double(iStart),6);
fToFit->AddFirst((TObject*)fSampleParamsHigh) ;
b=fSampleParamsHigh->At(2) ;
bmin=0.05 ;
fQuality /= 0.75 + 0.0025*fEnergy ;
fEnergy = efit ;
- fTime = t0 - 4.024*bfit ; //-10.402*bfit+4.669*bfit*bfit ; //Correction for 70 samples
- fTime += sigStart;
+ fTime += t0 - 4.024*bfit ; //-10.402*bfit+4.669*bfit*bfit ; //Correction for 70 samples
+// fTime += sigStart;
delete fSamples ;
delete fTimes ;