#include "TArrayI.h"
#include "TList.h"
#include "TMath.h"
#include "TH1I.h"
#include "TF1.h"
#include "TCanvas.h"
#include "TFile.h"
#include "TROOT.h"
#include "AliLog.h"
#include "AliPHOSCalibData.h"
#include "AliPHOSRawFitterv3.h"
#include "AliPHOSPulseGenerator.h"
ClassImp(AliPHOSRawFitterv3)
AliPHOSRawFitterv3::AliPHOSRawFitterv3():
AliPHOSRawFitterv0()
{
}
AliPHOSRawFitterv3::~AliPHOSRawFitterv3()
{
}
AliPHOSRawFitterv3::AliPHOSRawFitterv3(const AliPHOSRawFitterv3 &phosFitter ):
AliPHOSRawFitterv0(phosFitter)
{
}
AliPHOSRawFitterv3& AliPHOSRawFitterv3::operator = (const AliPHOSRawFitterv3 & )
{
return *this;
}
Bool_t AliPHOSRawFitterv3::Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength)
{
if (fCaloFlag == 2 || fNBunches > 1) {
fQuality = 1000;
return kTRUE;
}
if(fCaloFlag!=0 && fCaloFlag!=1){
fQuality=2000;
fEnergy=0 ;
return kTRUE;
}
Float_t pedMean = 0;
Float_t pedRMS = 0;
Int_t nPed = 0;
const Float_t kBaseLine = 1.0;
const Int_t kPreSamples = 10;
const Double_t tau=22.18 ;
TArrayD samples(sigLength);
TArrayD times(sigLength);
for (Int_t i=sigLength-kPreSamples; i<sigLength; i++) {
nPed++;
pedMean += signal[i];
pedRMS += signal[i]*signal[i] ;
}
fEnergy = -111;
fQuality= 999. ;
const Float_t maxEtoFit=5 ;
Double_t pedestal = 0;
if (fPedSubtract) {
if (nPed > 0) {
fPedestalRMS=(pedRMS - pedMean*pedMean/nPed)/nPed ;
if(fPedestalRMS > 0.)
fPedestalRMS = TMath::Sqrt(fPedestalRMS) ;
pedestal = (Double_t)(pedMean/nPed);
fEnergy -= pedestal;
}
else
return kFALSE;
}
else {
pedestal = (Double_t) fAmpOffset ;
if (fCalibData) {
Float_t truePed = fCalibData->GetADCpedestalEmc(fModule, fCellZ, fCellX) ;
Int_t altroSettings = fCalibData->GetAltroOffsetEmc(fModule, fCellZ, fCellX) ;
pedestal += truePed - altroSettings ;
}
else{
}
fEnergy-=pedestal ;
}
if (fEnergy < kBaseLine) fEnergy = 0;
fTime = sigStart-sigLength-3;
for (Int_t i=0; i<sigLength; i++) {
samples.AddAt(signal[i]-pedestal,sigLength-i-1);
times.AddAt(i/tau ,i);
}
Int_t maxBin=0 ;
Int_t maxAmp=0 ;
Int_t nMax = 0 ;
Double_t aMean =0. ;
Double_t aRMS =0. ;
Double_t wts =0 ;
for (Int_t i=0; i<sigLength; i++){
if(signal[i] > pedestal){
Double_t de = signal[i] - pedestal ;
if(de > 1.) {
aMean += de*i ;
aRMS += de*i*i ;
wts += de;
}
if(signal[i] > maxAmp){
maxAmp = signal[i];
nMax=0;
maxBin = i ;
}
if(signal[i] == maxAmp){
nMax++;
}
}
}
if (maxBin==sigLength-1){
fEnergy = 0. ;
fTime = -999. ;
fQuality= 999. ;
return kTRUE ;
}
fEnergy=Double_t(maxAmp)-pedestal ;
fOverflow =0 ;
if (fEnergy>500 &&
nMax>2){
fOverflow = kTRUE ;
}
if (wts > 0) {
aMean /= wts;
aRMS = aRMS/wts - aMean*aMean;
}
if (fEnergy < kBaseLine)
fEnergy = 0;
if (fEnergy < maxEtoFit){
if (aRMS < 2.)
fQuality = 999. ;
else
fQuality = 0. ;
return kTRUE ;
}
if(fOverflow){
fQuality = 99. ;
return kTRUE ;
}
Double_t a=0,b=0,c=0 ;
Int_t minI=0 ;
if (fPedSubtract)
minI=kPreSamples ;
for(Int_t i=minI; i<sigLength; i++){
if(samples.At(i)<=0.)
continue ;
Double_t t= times.At(i) ;
Double_t f02 = TMath::Exp(-2.*t);
Double_t f12 = t*f02;
Double_t f22 = t*f12;
Double_t f02d = -2.*f02;
Double_t f12d = f02 - 2.*f12;
Double_t f22d = 2.*(f12 - f22);
a += f02d * samples.At(i) ;
b -= f12d * samples.At(i) ;
c += f22d * samples.At(i) ;
}
if(a==0.){
if(b==0.){
fQuality = 2000. ;
if(AliLog::GetDebugLevel("PHOS","AliPHOSRawFitterv3")>3){
printf(" a=%f, b=%f, c=%f \n",a,b,c) ;
goto plot ;
}
return kTRUE ;
}
Double_t t1=-c/b ;
Double_t amp=0.,den=0.; ;
for(Int_t i=minI; i<sigLength; i++){
if(samples.At(i)<=0.)
continue ;
Double_t dt = times.At(i) - t1;
Double_t f = dt*dt*TMath::Exp(-2.*dt);
amp += f*samples.At(i);
den += f*f;
}
if(den>0.0) amp /= den;
fQuality=0.;
for(Int_t i=minI; i<sigLength; i++){
if(samples.At(i)<=0.)
continue ;
Double_t t = times.At(i)- t1;
Double_t dy = samples.At(i)- amp*t*t*TMath::Exp(-2.*t) ;
fQuality += dy*dy;
}
fTime+=t1*tau ;
fEnergy = amp*TMath::Exp(-2.);
fQuality/= sigLength ;
}
else{
Double_t det = b*b - a*c;
if(det>=1.e-6 && det<0.0) {
det = 0.0;
}
if(det<0.){
fQuality = 1500. ;
if(AliLog::GetDebugLevel("PHOS","AliPHOSRawFitterv3")>3){
printf(" det=%e \n",det) ;
goto plot ;
}
return kTRUE ;
}
det = TMath::Sqrt(det);
Double_t t1 = (-b + det) / a;
Double_t amp1=0., den1=0. ;
for(Int_t i=minI; i<sigLength; i++){
if(samples.At(i)<=0.)
continue ;
Double_t dt1 = times.At(i) - t1;
Double_t f01 = dt1*dt1*TMath::Exp(-2.*dt1);
amp1 += f01*samples.At(i);
den1 += f01*f01;
}
if(den1>0.0) amp1 /= den1;
Double_t chi1=0.;
for(Int_t i=minI; i<sigLength; i++){
if(samples.At(i)<=0.)
continue ;
Double_t dt1 = times.At(i)- t1;
Double_t dy1 = samples.At(i)- amp1*dt1*dt1*TMath::Exp(-2.*dt1) ;
chi1 += dy1*dy1;
}
fEnergy=amp1*TMath::Exp(-2.) ; ;
fTime+=t1*tau ;
fQuality=chi1/sigLength ;
}
fQuality/=2.+0.004*fEnergy*fEnergy ;
if(AliLog::GetDebugLevel("PHOS","AliPHOSRawFitterv3")>3){
plot:
if(fEnergy > 30. && fQuality >1. && !fOverflow ){
printf("Sample par: amp=%f, t0=%f, Quality=%f \n",fEnergy,fTime,fQuality) ;
TH1I * h = (TH1I*)gROOT->FindObjectAny("hSamples") ;
if(!h) h = new TH1I("hSamples","Samples",65,0.,65.) ;
h->Reset() ;
for (Int_t i=0; i<sigLength; i++) {
h->SetBinContent(i+1,samples.At(i)+pedestal) ;
}
TF1 * fffit = new TF1("fffit","[0]+[1]*((x-[2])/[3])^2*exp(2.-2.*(x-[2])/[3])",0.,200.) ;
fffit->SetParameters(pedestal,fEnergy,fTime,tau) ;
fffit->SetLineColor(2) ;
TCanvas * can = (TCanvas*)gROOT->FindObjectAny("cSamples") ;
if(!can){
can = new TCanvas("cSamples","cSamples",10,10,600,600) ;
can->SetFillColor(0) ;
can->SetFillStyle(0) ;
can->Range(0,0,1,1);
can->SetBorderSize(0);
}
can->cd() ;
TPad * spectrum_1 = new TPad("spectrum_1", "spectrum_1",0.001,0.32,0.99,0.99);
spectrum_1->Draw();
spectrum_1->cd();
spectrum_1->Range(0,0,1,1);
spectrum_1->SetFillColor(0);
spectrum_1->SetFillStyle(4000);
spectrum_1->SetBorderSize(1);
spectrum_1->SetBottomMargin(0.012);
spectrum_1->SetTopMargin(0.03);
spectrum_1->SetLeftMargin(0.10);
spectrum_1->SetRightMargin(0.05);
char title[155] ;
snprintf(title,155,"Sample, mod=%d, x=%d, z=%d, Quality=%5.1f",fModule,fCellX,fCellZ,fQuality) ;
h->SetTitle(title) ;
h->Draw() ;
fffit->Draw("same") ;
snprintf(title,155,"mod%d_x%d_z%d_HG_qu%4.1f",fModule,fCellX,fCellZ,fQuality) ;
TFile fout("samples_bad.root","update") ;
h->Write(title);
fout.Close() ;
can->cd() ;
TPad *spectrum_2 = new TPad("spectrum_2", "spectrum_2",0.001,0.01,0.99,0.32);
spectrum_2->SetFillColor(0) ;
spectrum_2->SetFillStyle(0) ;
spectrum_2->SetGridy() ;
spectrum_2->Draw();
spectrum_2->Range(0,0,1,1);
spectrum_2->SetFillColor(0);
spectrum_2->SetBorderSize(1);
spectrum_2->SetTopMargin(0.01);
spectrum_2->SetBottomMargin(0.25);
spectrum_2->SetLeftMargin(0.10);
spectrum_2->SetRightMargin(0.05);
spectrum_2->cd() ;
TH1I * hd = (TH1I*)gROOT->FindObjectAny("hSamplesDif") ;
if(!hd) hd = new TH1I("hd","Samples",65,0.,65.) ;
hd->Reset() ;
for (Int_t i=0; i<sigLength; i++) {
hd->SetBinContent(i+1,TMath::Max(-1023.,TMath::Min(1023.,samples.At(i)+pedestal-fffit->Eval(i)))) ;
}
hd->Draw();
delete fffit ;
delete spectrum_1 ;
delete spectrum_2 ;
}
}
return kTRUE;
}
AliPHOSRawFitterv3.cxx:10 AliPHOSRawFitterv3.cxx:11 AliPHOSRawFitterv3.cxx:12 AliPHOSRawFitterv3.cxx:13 AliPHOSRawFitterv3.cxx:14 AliPHOSRawFitterv3.cxx:15 AliPHOSRawFitterv3.cxx:16 AliPHOSRawFitterv3.cxx:17 AliPHOSRawFitterv3.cxx:18 AliPHOSRawFitterv3.cxx:19 AliPHOSRawFitterv3.cxx:20 AliPHOSRawFitterv3.cxx:21 AliPHOSRawFitterv3.cxx:22 AliPHOSRawFitterv3.cxx:23 AliPHOSRawFitterv3.cxx:24 AliPHOSRawFitterv3.cxx:25 AliPHOSRawFitterv3.cxx:26 AliPHOSRawFitterv3.cxx:27 AliPHOSRawFitterv3.cxx:28 AliPHOSRawFitterv3.cxx:29 AliPHOSRawFitterv3.cxx:30 AliPHOSRawFitterv3.cxx:31 AliPHOSRawFitterv3.cxx:32 AliPHOSRawFitterv3.cxx:33 AliPHOSRawFitterv3.cxx:34 AliPHOSRawFitterv3.cxx:35 AliPHOSRawFitterv3.cxx:36 AliPHOSRawFitterv3.cxx:37 AliPHOSRawFitterv3.cxx:38 AliPHOSRawFitterv3.cxx:39 AliPHOSRawFitterv3.cxx:40 AliPHOSRawFitterv3.cxx:41 AliPHOSRawFitterv3.cxx:42 AliPHOSRawFitterv3.cxx:43 AliPHOSRawFitterv3.cxx:44 AliPHOSRawFitterv3.cxx:45 AliPHOSRawFitterv3.cxx:46 AliPHOSRawFitterv3.cxx:47 AliPHOSRawFitterv3.cxx:48 AliPHOSRawFitterv3.cxx:49 AliPHOSRawFitterv3.cxx:50 AliPHOSRawFitterv3.cxx:51 AliPHOSRawFitterv3.cxx:52 AliPHOSRawFitterv3.cxx:53 AliPHOSRawFitterv3.cxx:54 AliPHOSRawFitterv3.cxx:55 AliPHOSRawFitterv3.cxx:56 AliPHOSRawFitterv3.cxx:57 AliPHOSRawFitterv3.cxx:58 AliPHOSRawFitterv3.cxx:59 AliPHOSRawFitterv3.cxx:60 AliPHOSRawFitterv3.cxx:61 AliPHOSRawFitterv3.cxx:62 AliPHOSRawFitterv3.cxx:63 AliPHOSRawFitterv3.cxx:64 AliPHOSRawFitterv3.cxx:65 AliPHOSRawFitterv3.cxx:66 AliPHOSRawFitterv3.cxx:67 AliPHOSRawFitterv3.cxx:68 AliPHOSRawFitterv3.cxx:69 AliPHOSRawFitterv3.cxx:70 AliPHOSRawFitterv3.cxx:71 AliPHOSRawFitterv3.cxx:72 AliPHOSRawFitterv3.cxx:73 AliPHOSRawFitterv3.cxx:74 AliPHOSRawFitterv3.cxx:75 AliPHOSRawFitterv3.cxx:76 AliPHOSRawFitterv3.cxx:77 AliPHOSRawFitterv3.cxx:78 AliPHOSRawFitterv3.cxx:79 AliPHOSRawFitterv3.cxx:80 AliPHOSRawFitterv3.cxx:81 AliPHOSRawFitterv3.cxx:82 AliPHOSRawFitterv3.cxx:83 AliPHOSRawFitterv3.cxx:84 AliPHOSRawFitterv3.cxx:85 AliPHOSRawFitterv3.cxx:86 AliPHOSRawFitterv3.cxx:87 AliPHOSRawFitterv3.cxx:88 AliPHOSRawFitterv3.cxx:89 AliPHOSRawFitterv3.cxx:90 AliPHOSRawFitterv3.cxx:91 AliPHOSRawFitterv3.cxx:92 AliPHOSRawFitterv3.cxx:93 AliPHOSRawFitterv3.cxx:94 AliPHOSRawFitterv3.cxx:95 AliPHOSRawFitterv3.cxx:96 AliPHOSRawFitterv3.cxx:97 AliPHOSRawFitterv3.cxx:98 AliPHOSRawFitterv3.cxx:99 AliPHOSRawFitterv3.cxx:100 AliPHOSRawFitterv3.cxx:101 AliPHOSRawFitterv3.cxx:102 AliPHOSRawFitterv3.cxx:103 AliPHOSRawFitterv3.cxx:104 AliPHOSRawFitterv3.cxx:105 AliPHOSRawFitterv3.cxx:106 AliPHOSRawFitterv3.cxx:107 AliPHOSRawFitterv3.cxx:108 AliPHOSRawFitterv3.cxx:109 AliPHOSRawFitterv3.cxx:110 AliPHOSRawFitterv3.cxx:111 AliPHOSRawFitterv3.cxx:112 AliPHOSRawFitterv3.cxx:113 AliPHOSRawFitterv3.cxx:114 AliPHOSRawFitterv3.cxx:115 AliPHOSRawFitterv3.cxx:116 AliPHOSRawFitterv3.cxx:117 AliPHOSRawFitterv3.cxx:118 AliPHOSRawFitterv3.cxx:119 AliPHOSRawFitterv3.cxx:120 AliPHOSRawFitterv3.cxx:121 AliPHOSRawFitterv3.cxx:122 AliPHOSRawFitterv3.cxx:123 AliPHOSRawFitterv3.cxx:124 AliPHOSRawFitterv3.cxx:125 AliPHOSRawFitterv3.cxx:126 AliPHOSRawFitterv3.cxx:127 AliPHOSRawFitterv3.cxx:128 AliPHOSRawFitterv3.cxx:129 AliPHOSRawFitterv3.cxx:130 AliPHOSRawFitterv3.cxx:131 AliPHOSRawFitterv3.cxx:132 AliPHOSRawFitterv3.cxx:133 AliPHOSRawFitterv3.cxx:134 AliPHOSRawFitterv3.cxx:135 AliPHOSRawFitterv3.cxx:136 AliPHOSRawFitterv3.cxx:137 AliPHOSRawFitterv3.cxx:138 AliPHOSRawFitterv3.cxx:139 AliPHOSRawFitterv3.cxx:140 AliPHOSRawFitterv3.cxx:141 AliPHOSRawFitterv3.cxx:142 AliPHOSRawFitterv3.cxx:143 AliPHOSRawFitterv3.cxx:144 AliPHOSRawFitterv3.cxx:145 AliPHOSRawFitterv3.cxx:146 AliPHOSRawFitterv3.cxx:147 AliPHOSRawFitterv3.cxx:148 AliPHOSRawFitterv3.cxx:149 AliPHOSRawFitterv3.cxx:150 AliPHOSRawFitterv3.cxx:151 AliPHOSRawFitterv3.cxx:152 AliPHOSRawFitterv3.cxx:153 AliPHOSRawFitterv3.cxx:154 AliPHOSRawFitterv3.cxx:155 AliPHOSRawFitterv3.cxx:156 AliPHOSRawFitterv3.cxx:157 AliPHOSRawFitterv3.cxx:158 AliPHOSRawFitterv3.cxx:159 AliPHOSRawFitterv3.cxx:160 AliPHOSRawFitterv3.cxx:161 AliPHOSRawFitterv3.cxx:162 AliPHOSRawFitterv3.cxx:163 AliPHOSRawFitterv3.cxx:164 AliPHOSRawFitterv3.cxx:165 AliPHOSRawFitterv3.cxx:166 AliPHOSRawFitterv3.cxx:167 AliPHOSRawFitterv3.cxx:168 AliPHOSRawFitterv3.cxx:169 AliPHOSRawFitterv3.cxx:170 AliPHOSRawFitterv3.cxx:171 AliPHOSRawFitterv3.cxx:172 AliPHOSRawFitterv3.cxx:173 AliPHOSRawFitterv3.cxx:174 AliPHOSRawFitterv3.cxx:175 AliPHOSRawFitterv3.cxx:176 AliPHOSRawFitterv3.cxx:177 AliPHOSRawFitterv3.cxx:178 AliPHOSRawFitterv3.cxx:179 AliPHOSRawFitterv3.cxx:180 AliPHOSRawFitterv3.cxx:181 AliPHOSRawFitterv3.cxx:182 AliPHOSRawFitterv3.cxx:183 AliPHOSRawFitterv3.cxx:184 AliPHOSRawFitterv3.cxx:185 AliPHOSRawFitterv3.cxx:186 AliPHOSRawFitterv3.cxx:187 AliPHOSRawFitterv3.cxx:188 AliPHOSRawFitterv3.cxx:189 AliPHOSRawFitterv3.cxx:190 AliPHOSRawFitterv3.cxx:191 AliPHOSRawFitterv3.cxx:192 AliPHOSRawFitterv3.cxx:193 AliPHOSRawFitterv3.cxx:194 AliPHOSRawFitterv3.cxx:195 AliPHOSRawFitterv3.cxx:196 AliPHOSRawFitterv3.cxx:197 AliPHOSRawFitterv3.cxx:198 AliPHOSRawFitterv3.cxx:199 AliPHOSRawFitterv3.cxx:200 AliPHOSRawFitterv3.cxx:201 AliPHOSRawFitterv3.cxx:202 AliPHOSRawFitterv3.cxx:203 AliPHOSRawFitterv3.cxx:204 AliPHOSRawFitterv3.cxx:205 AliPHOSRawFitterv3.cxx:206 AliPHOSRawFitterv3.cxx:207 AliPHOSRawFitterv3.cxx:208 AliPHOSRawFitterv3.cxx:209 AliPHOSRawFitterv3.cxx:210 AliPHOSRawFitterv3.cxx:211 AliPHOSRawFitterv3.cxx:212 AliPHOSRawFitterv3.cxx:213 AliPHOSRawFitterv3.cxx:214 AliPHOSRawFitterv3.cxx:215 AliPHOSRawFitterv3.cxx:216 AliPHOSRawFitterv3.cxx:217 AliPHOSRawFitterv3.cxx:218 AliPHOSRawFitterv3.cxx:219 AliPHOSRawFitterv3.cxx:220 AliPHOSRawFitterv3.cxx:221 AliPHOSRawFitterv3.cxx:222 AliPHOSRawFitterv3.cxx:223 AliPHOSRawFitterv3.cxx:224 AliPHOSRawFitterv3.cxx:225 AliPHOSRawFitterv3.cxx:226 AliPHOSRawFitterv3.cxx:227 AliPHOSRawFitterv3.cxx:228 AliPHOSRawFitterv3.cxx:229 AliPHOSRawFitterv3.cxx:230 AliPHOSRawFitterv3.cxx:231 AliPHOSRawFitterv3.cxx:232 AliPHOSRawFitterv3.cxx:233 AliPHOSRawFitterv3.cxx:234 AliPHOSRawFitterv3.cxx:235 AliPHOSRawFitterv3.cxx:236 AliPHOSRawFitterv3.cxx:237 AliPHOSRawFitterv3.cxx:238 AliPHOSRawFitterv3.cxx:239 AliPHOSRawFitterv3.cxx:240 AliPHOSRawFitterv3.cxx:241 AliPHOSRawFitterv3.cxx:242 AliPHOSRawFitterv3.cxx:243 AliPHOSRawFitterv3.cxx:244 AliPHOSRawFitterv3.cxx:245 AliPHOSRawFitterv3.cxx:246 AliPHOSRawFitterv3.cxx:247 AliPHOSRawFitterv3.cxx:248 AliPHOSRawFitterv3.cxx:249 AliPHOSRawFitterv3.cxx:250 AliPHOSRawFitterv3.cxx:251 AliPHOSRawFitterv3.cxx:252 AliPHOSRawFitterv3.cxx:253 AliPHOSRawFitterv3.cxx:254 AliPHOSRawFitterv3.cxx:255 AliPHOSRawFitterv3.cxx:256 AliPHOSRawFitterv3.cxx:257 AliPHOSRawFitterv3.cxx:258 AliPHOSRawFitterv3.cxx:259 AliPHOSRawFitterv3.cxx:260 AliPHOSRawFitterv3.cxx:261 AliPHOSRawFitterv3.cxx:262 AliPHOSRawFitterv3.cxx:263 AliPHOSRawFitterv3.cxx:264 AliPHOSRawFitterv3.cxx:265 AliPHOSRawFitterv3.cxx:266 AliPHOSRawFitterv3.cxx:267 AliPHOSRawFitterv3.cxx:268 AliPHOSRawFitterv3.cxx:269 AliPHOSRawFitterv3.cxx:270 AliPHOSRawFitterv3.cxx:271 AliPHOSRawFitterv3.cxx:272 AliPHOSRawFitterv3.cxx:273 AliPHOSRawFitterv3.cxx:274 AliPHOSRawFitterv3.cxx:275 AliPHOSRawFitterv3.cxx:276 AliPHOSRawFitterv3.cxx:277 AliPHOSRawFitterv3.cxx:278 AliPHOSRawFitterv3.cxx:279 AliPHOSRawFitterv3.cxx:280 AliPHOSRawFitterv3.cxx:281 AliPHOSRawFitterv3.cxx:282 AliPHOSRawFitterv3.cxx:283 AliPHOSRawFitterv3.cxx:284 AliPHOSRawFitterv3.cxx:285 AliPHOSRawFitterv3.cxx:286 AliPHOSRawFitterv3.cxx:287 AliPHOSRawFitterv3.cxx:288 AliPHOSRawFitterv3.cxx:289 AliPHOSRawFitterv3.cxx:290 AliPHOSRawFitterv3.cxx:291 AliPHOSRawFitterv3.cxx:292 AliPHOSRawFitterv3.cxx:293 AliPHOSRawFitterv3.cxx:294 AliPHOSRawFitterv3.cxx:295 AliPHOSRawFitterv3.cxx:296 AliPHOSRawFitterv3.cxx:297 AliPHOSRawFitterv3.cxx:298 AliPHOSRawFitterv3.cxx:299 AliPHOSRawFitterv3.cxx:300 AliPHOSRawFitterv3.cxx:301 AliPHOSRawFitterv3.cxx:302 AliPHOSRawFitterv3.cxx:303 AliPHOSRawFitterv3.cxx:304 AliPHOSRawFitterv3.cxx:305 AliPHOSRawFitterv3.cxx:306 AliPHOSRawFitterv3.cxx:307 AliPHOSRawFitterv3.cxx:308 AliPHOSRawFitterv3.cxx:309 AliPHOSRawFitterv3.cxx:310 AliPHOSRawFitterv3.cxx:311 AliPHOSRawFitterv3.cxx:312 AliPHOSRawFitterv3.cxx:313 AliPHOSRawFitterv3.cxx:314 AliPHOSRawFitterv3.cxx:315 AliPHOSRawFitterv3.cxx:316 AliPHOSRawFitterv3.cxx:317 AliPHOSRawFitterv3.cxx:318 AliPHOSRawFitterv3.cxx:319 AliPHOSRawFitterv3.cxx:320 AliPHOSRawFitterv3.cxx:321 AliPHOSRawFitterv3.cxx:322 AliPHOSRawFitterv3.cxx:323 AliPHOSRawFitterv3.cxx:324 AliPHOSRawFitterv3.cxx:325 AliPHOSRawFitterv3.cxx:326 AliPHOSRawFitterv3.cxx:327 AliPHOSRawFitterv3.cxx:328 AliPHOSRawFitterv3.cxx:329 AliPHOSRawFitterv3.cxx:330 AliPHOSRawFitterv3.cxx:331 AliPHOSRawFitterv3.cxx:332 AliPHOSRawFitterv3.cxx:333 AliPHOSRawFitterv3.cxx:334 AliPHOSRawFitterv3.cxx:335 AliPHOSRawFitterv3.cxx:336 AliPHOSRawFitterv3.cxx:337 AliPHOSRawFitterv3.cxx:338 AliPHOSRawFitterv3.cxx:339 AliPHOSRawFitterv3.cxx:340 AliPHOSRawFitterv3.cxx:341 AliPHOSRawFitterv3.cxx:342 AliPHOSRawFitterv3.cxx:343 AliPHOSRawFitterv3.cxx:344 AliPHOSRawFitterv3.cxx:345 AliPHOSRawFitterv3.cxx:346 AliPHOSRawFitterv3.cxx:347 AliPHOSRawFitterv3.cxx:348 AliPHOSRawFitterv3.cxx:349 AliPHOSRawFitterv3.cxx:350 AliPHOSRawFitterv3.cxx:351 AliPHOSRawFitterv3.cxx:352 AliPHOSRawFitterv3.cxx:353 AliPHOSRawFitterv3.cxx:354 AliPHOSRawFitterv3.cxx:355 AliPHOSRawFitterv3.cxx:356 AliPHOSRawFitterv3.cxx:357 AliPHOSRawFitterv3.cxx:358 AliPHOSRawFitterv3.cxx:359 AliPHOSRawFitterv3.cxx:360 AliPHOSRawFitterv3.cxx:361 AliPHOSRawFitterv3.cxx:362 AliPHOSRawFitterv3.cxx:363 AliPHOSRawFitterv3.cxx:364 AliPHOSRawFitterv3.cxx:365 AliPHOSRawFitterv3.cxx:366 AliPHOSRawFitterv3.cxx:367 AliPHOSRawFitterv3.cxx:368 AliPHOSRawFitterv3.cxx:369 AliPHOSRawFitterv3.cxx:370 AliPHOSRawFitterv3.cxx:371 AliPHOSRawFitterv3.cxx:372 AliPHOSRawFitterv3.cxx:373 AliPHOSRawFitterv3.cxx:374 AliPHOSRawFitterv3.cxx:375 AliPHOSRawFitterv3.cxx:376 AliPHOSRawFitterv3.cxx:377 AliPHOSRawFitterv3.cxx:378 AliPHOSRawFitterv3.cxx:379 AliPHOSRawFitterv3.cxx:380 AliPHOSRawFitterv3.cxx:381 AliPHOSRawFitterv3.cxx:382 AliPHOSRawFitterv3.cxx:383 AliPHOSRawFitterv3.cxx:384 AliPHOSRawFitterv3.cxx:385 AliPHOSRawFitterv3.cxx:386 AliPHOSRawFitterv3.cxx:387 AliPHOSRawFitterv3.cxx:388 AliPHOSRawFitterv3.cxx:389 AliPHOSRawFitterv3.cxx:390 AliPHOSRawFitterv3.cxx:391 AliPHOSRawFitterv3.cxx:392 AliPHOSRawFitterv3.cxx:393 AliPHOSRawFitterv3.cxx:394 AliPHOSRawFitterv3.cxx:395 AliPHOSRawFitterv3.cxx:396 AliPHOSRawFitterv3.cxx:397 AliPHOSRawFitterv3.cxx:398 AliPHOSRawFitterv3.cxx:399 AliPHOSRawFitterv3.cxx:400 AliPHOSRawFitterv3.cxx:401 AliPHOSRawFitterv3.cxx:402 AliPHOSRawFitterv3.cxx:403 AliPHOSRawFitterv3.cxx:404