Int_t tLength = 0;
fEnergy = -111;
Float_t pedMean = 0;
+ Float_t pedRMS = 0;
Int_t nPed = 0;
Float_t baseLine = 1.0;
const Float_t nPreSamples = 10;
fNewAmp = in->GetSignal() ;
fNewTime=in->GetTime() ;
- //new handle already collected
+ //now handle already collected
Double_t pedestal =0. ;
+ fPedestalRMS=0. ;
if(fPedSubtract){
- if (nPed > 0)
+ if (nPed > 0){
pedestal = (Double_t)(pedMean/nPed);
+ fPedestalRMS=pedRMS/nPed-pedestal*pedestal ;
+ if(fPedestalRMS>0.) fPedestalRMS=TMath::Sqrt(fPedestalRMS) ;
+ }
else
return kFALSE;
}
+ else{
+ pedestal = fAmpOffset ;
+ }
//calculate time and energy
Int_t maxBin=0 ;
Double_t wts=0 ;
Int_t tStart = 0 ;
for(Int_t i=iBin; i<fSamples->GetSize(); i++){
- if(fSamples->At(i)>0){
+ if(fSamples->At(i)>pedestal){
Double_t de=fSamples->At(i)-pedestal ;
if(de>1.){
aMean+=de*i ;
gMinuit->SetFCN(AliPHOSRawDecoderv1::UnfoldingChiSquare) ;
// To set the address of the minimization function
- fToFit->Clear() ;
+ fToFit->Clear("nodelete") ;
Double_t b,bmin,bmax ;
if(fLowGainFlag){
fSampleParamsLow->AddAt(pedestal,4) ;
iBin--;
if(fPedSubtract && fNewTime < nPreSamples) {
pedMean += in->GetSignal();
+ pedRMS += in->GetSignal()*in->GetSignal() ;
nPed++;
}
fSamples->AddAt(fNewAmp,iBin);
iBin--;
if(fPedSubtract && (in->GetTime() < nPreSamples)) {
pedMean += in->GetSignal();
+ pedRMS += in->GetSignal()*in->GetSignal() ;
nPed++;
}
- fSamples->AddAt(in->GetSignal(),iBin);
+ fSamples->AddAt(in->GetSignal()-10,iBin);
fTimes->AddAt(in->GetTime(),iBin);
//Debug==============