#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 "AliPHOSRawFitterv2.h"
#include "AliPHOSPulseGenerator.h"
ClassImp(AliPHOSRawFitterv2)
AliPHOSRawFitterv2::AliPHOSRawFitterv2():
AliPHOSRawFitterv0(),
fAlpha(0.1),fBeta(0.035),fMax(0)
{
}
AliPHOSRawFitterv2::~AliPHOSRawFitterv2()
{
}
AliPHOSRawFitterv2::AliPHOSRawFitterv2(const AliPHOSRawFitterv2 &phosFitter ):
AliPHOSRawFitterv0(phosFitter),
fAlpha(0.1),fBeta(0.035),fMax(0)
{
}
AliPHOSRawFitterv2& AliPHOSRawFitterv2::operator = (const AliPHOSRawFitterv2 & )
{
return *this;
}
Bool_t AliPHOSRawFitterv2::Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength)
{
const Float_t maxEtoFit=5 ;
const Float_t kBaseLine = 1.0;
const Int_t kPreSamples = 10;
fOverflow = kFALSE ;
fEnergy=0 ;
if (fCaloFlag == 2 || fNBunches > 1) {
fQuality = 150;
return kTRUE;
}
if(fCaloFlag!=0 && fCaloFlag!=1){
fQuality=200;
fEnergy=0 ;
return kTRUE;
}
Float_t pedMean = 0;
Float_t pedRMS = 0;
Int_t nPed = 0;
for (Int_t i=sigLength-kPreSamples; i<sigLength; i++) {
nPed++;
pedMean += signal[i];
pedRMS += signal[i]*signal[i] ;
}
fEnergy = -111;
fQuality= 999. ;
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);
}
else
return kFALSE;
}
else {
pedestal = (Double_t) fAmpOffset ;
}
Int_t maxAmp=0 ;
Int_t minAmp= signal[0] ;
Int_t nMax = 0 ;
Double_t aMean =0. ;
Double_t aRMS =0. ;
Double_t wts =0 ;
Bool_t falling = kTRUE ;
Bool_t rising = kTRUE ;
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;
}
if(signal[i] == maxAmp){
nMax++;
}
if(signal[i] < minAmp)
minAmp=signal[i] ;
if(falling && i>0 && signal[i]<signal[i-1])
falling=kFALSE ;
if(rising && i>0 && signal[i]>signal[i-1])
rising=kFALSE ;
}
}
if(rising || falling){
fEnergy = 0. ;
fTime = 0. ;
fQuality= 250. ;
return kTRUE ;
}
if(maxAmp-minAmp<3 && maxAmp>7 && sigLength>20){
fEnergy = 0. ;
fTime = 0;
fQuality= 260. ;
return kTRUE ;
}
fEnergy=Double_t(maxAmp)-pedestal ;
if (fEnergy < kBaseLine) fEnergy = 0;
fTime = sigStart-sigLength-3;
if (wts > 0) {
aMean /= wts;
aRMS = aRMS/wts - aMean*aMean;
}
if (fEnergy <= maxEtoFit){
if (aRMS < 2.)
fQuality = 299. ;
else
fQuality = 0. ;
return kTRUE ;
}
if (fEnergy>500 &&
nMax>2){
fOverflow = kTRUE ;
}
if(fCaloFlag==1 && fOverflow){
fQuality = 99. ;
return kTRUE;
}
TArrayD samples(sigLength);
TArrayD times(sigLength);
for (Int_t i=0; i<sigLength; i++) {
samples.AddAt(signal[i]-pedestal,sigLength-i-1);
times.AddAt(double(i),i);
}
if(fMax==0)
FindMax() ;
if(!FindAmpT(samples,times)){
if(AliLog::GetDebugLevel("PHOS","AliPHOSRawFitterv2")>3){
goto plot ;
}
else{
return kFALSE ;
}
}
fEnergy*=fMax ;
fTime += sigStart-sigLength-3;
fQuality/=1.+0.005*fEnergy ;
if(AliLog::GetDebugLevel("PHOS","AliPHOSRawFitterv2")>3){
if(fEnergy > 50. ){
plot:
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,float(samples.At(i))) ;
}
TF1 * fffit = new TF1("fffit","[0]*((x-[1])*(x-[1])*exp(-[2]*(x-[1]))+(x-[1])*exp(-[3]*(x-[1])))",0.,60.) ;
fffit->SetParameters(fEnergy/fMax,fTime-(sigStart-sigLength-3),fAlpha,fBeta) ;
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") ;
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();
can->Update() ;
printf("Press <enter> to continue\n") ;
getchar();
delete fffit ;
delete spectrum_1 ;
delete spectrum_2 ;
}
}
return kTRUE;
}
Bool_t AliPHOSRawFitterv2::FindAmpT(TArrayD samples, TArrayD times){
const Int_t nMaxIter=50 ;
const Double_t epsdt = 1.e-3 ;
Double_t dTime=times.At(0)-0.5 ;
Int_t nPoints = samples.GetSize() ;
Double_t dea=TMath::Exp(-fAlpha) ;
Double_t deb=TMath::Exp(-fBeta) ;
Double_t dt=1.,timeOld=dTime,dfOld=0. ;
for(Int_t iter=0; iter<nMaxIter; iter++){
Double_t yy=0.;
Double_t yf=0. ;
Double_t ydf=0. ;
Double_t yddf=0. ;
Double_t ff=0. ;
Double_t fdf=0. ;
Double_t dfdf=0. ;
Double_t fddf=0. ;
Int_t nfit=0 ;
Double_t aexp=TMath::Exp(-fAlpha*(times.At(0)-1.-dTime)) ;
Double_t bexp=TMath::Exp(-fBeta*(times.At(0)-1.-dTime)) ;
for(Int_t i=0; i<nPoints; i++){
Double_t t= times.At(i)-dTime ;
aexp*=dea ;
bexp*=deb ;
if(t<0.) continue ;
Double_t y=samples.At(i) ;
if(y<=fAmpThreshold)
continue ;
nfit++ ;
Double_t at=fAlpha*t ;
Double_t bt = fBeta*t ;
Double_t phi=t*(t*aexp+bexp) ;
Double_t dphi=t*aexp*(2.-at)+(1.-bt)*bexp ;
Double_t ddphi=aexp*(2.-4.*at+at*at)+bexp*fBeta*(bt-2.) ;
yy+=y*y ;
yf+=y*phi ;
ydf+=y*dphi ;
yddf+=y*ddphi ;
ff+=phi*phi ;
fdf+=phi*dphi ;
dfdf+=dphi*dphi ;
fddf+=phi*ddphi ;
}
if(ff<1.e-09||nfit==0 ){
fQuality=199 ;
return kFALSE ;
}
Double_t f=ydf*ff-yf*fdf ;
Double_t df=yf*(dfdf+fddf)-yddf*ff-ydf*fdf;
if(df<=0.){
if(iter!=0 && dfOld>0.){
dt*=0.5 ;
dTime=timeOld+dt ;
continue ;
}
if(f<0){
dTime+=2. ;
continue ;
}
else{
dTime-=2. ;
continue ;
}
}
dt=-f/df ;
if(TMath::Abs(dt)<epsdt){
fQuality=(yy-yf*yf/ff)/nfit ;
fEnergy=yf/ff ;
fTime=dTime ;
return kTRUE ;
}
if(dt>10.) dt=10. ;
if(dt<-10.) dt=-5.3 ;
timeOld=dTime ;
dfOld=df ;
dTime+=dt ;
if(dTime>100. || dTime<-30.){
fQuality=(yy-yf*yf/ff)/nfit ;
fEnergy=yf/ff ;
fTime=dTime ;
return kFALSE ;
}
}
fQuality=99.;
fEnergy=0 ;
return kFALSE ;
}
void AliPHOSRawFitterv2::FindMax(){
Double_t t=2./fAlpha ;
fMax = t*t*TMath::Exp(-fAlpha*t)+t*TMath::Exp(-fBeta*t) ;
Double_t dt=15 ;
while(dt>0.01){
Double_t dfdt=(2.*t-fAlpha*t*t)*TMath::Exp(-fAlpha*t)+(1.-fBeta*t)*TMath::Exp(-fBeta*t) ;
if(dfdt>0.)
t+=dt ;
else
t-=dt ;
Double_t maxNew = t*t*TMath::Exp(-fAlpha*t)+t*TMath::Exp(-fBeta*t) ;
if(maxNew>fMax)
fMax=maxNew ;
else{
dt/=2 ;
if(dfdt<0.)
t+=dt ;
else
t-=dt ;
}
}
}
AliPHOSRawFitterv2.cxx:10 AliPHOSRawFitterv2.cxx:11 AliPHOSRawFitterv2.cxx:12 AliPHOSRawFitterv2.cxx:13 AliPHOSRawFitterv2.cxx:14 AliPHOSRawFitterv2.cxx:15 AliPHOSRawFitterv2.cxx:16 AliPHOSRawFitterv2.cxx:17 AliPHOSRawFitterv2.cxx:18 AliPHOSRawFitterv2.cxx:19 AliPHOSRawFitterv2.cxx:20 AliPHOSRawFitterv2.cxx:21 AliPHOSRawFitterv2.cxx:22 AliPHOSRawFitterv2.cxx:23 AliPHOSRawFitterv2.cxx:24 AliPHOSRawFitterv2.cxx:25 AliPHOSRawFitterv2.cxx:26 AliPHOSRawFitterv2.cxx:27 AliPHOSRawFitterv2.cxx:28 AliPHOSRawFitterv2.cxx:29 AliPHOSRawFitterv2.cxx:30 AliPHOSRawFitterv2.cxx:31 AliPHOSRawFitterv2.cxx:32 AliPHOSRawFitterv2.cxx:33 AliPHOSRawFitterv2.cxx:34 AliPHOSRawFitterv2.cxx:35 AliPHOSRawFitterv2.cxx:36 AliPHOSRawFitterv2.cxx:37 AliPHOSRawFitterv2.cxx:38 AliPHOSRawFitterv2.cxx:39 AliPHOSRawFitterv2.cxx:40 AliPHOSRawFitterv2.cxx:41 AliPHOSRawFitterv2.cxx:42 AliPHOSRawFitterv2.cxx:43 AliPHOSRawFitterv2.cxx:44 AliPHOSRawFitterv2.cxx:45 AliPHOSRawFitterv2.cxx:46 AliPHOSRawFitterv2.cxx:47 AliPHOSRawFitterv2.cxx:48 AliPHOSRawFitterv2.cxx:49 AliPHOSRawFitterv2.cxx:50 AliPHOSRawFitterv2.cxx:51 AliPHOSRawFitterv2.cxx:52 AliPHOSRawFitterv2.cxx:53 AliPHOSRawFitterv2.cxx:54 AliPHOSRawFitterv2.cxx:55 AliPHOSRawFitterv2.cxx:56 AliPHOSRawFitterv2.cxx:57 AliPHOSRawFitterv2.cxx:58 AliPHOSRawFitterv2.cxx:59 AliPHOSRawFitterv2.cxx:60 AliPHOSRawFitterv2.cxx:61 AliPHOSRawFitterv2.cxx:62 AliPHOSRawFitterv2.cxx:63 AliPHOSRawFitterv2.cxx:64 AliPHOSRawFitterv2.cxx:65 AliPHOSRawFitterv2.cxx:66 AliPHOSRawFitterv2.cxx:67 AliPHOSRawFitterv2.cxx:68 AliPHOSRawFitterv2.cxx:69 AliPHOSRawFitterv2.cxx:70 AliPHOSRawFitterv2.cxx:71 AliPHOSRawFitterv2.cxx:72 AliPHOSRawFitterv2.cxx:73 AliPHOSRawFitterv2.cxx:74 AliPHOSRawFitterv2.cxx:75 AliPHOSRawFitterv2.cxx:76 AliPHOSRawFitterv2.cxx:77 AliPHOSRawFitterv2.cxx:78 AliPHOSRawFitterv2.cxx:79 AliPHOSRawFitterv2.cxx:80 AliPHOSRawFitterv2.cxx:81 AliPHOSRawFitterv2.cxx:82 AliPHOSRawFitterv2.cxx:83 AliPHOSRawFitterv2.cxx:84 AliPHOSRawFitterv2.cxx:85 AliPHOSRawFitterv2.cxx:86 AliPHOSRawFitterv2.cxx:87 AliPHOSRawFitterv2.cxx:88 AliPHOSRawFitterv2.cxx:89 AliPHOSRawFitterv2.cxx:90 AliPHOSRawFitterv2.cxx:91 AliPHOSRawFitterv2.cxx:92 AliPHOSRawFitterv2.cxx:93 AliPHOSRawFitterv2.cxx:94 AliPHOSRawFitterv2.cxx:95 AliPHOSRawFitterv2.cxx:96 AliPHOSRawFitterv2.cxx:97 AliPHOSRawFitterv2.cxx:98 AliPHOSRawFitterv2.cxx:99 AliPHOSRawFitterv2.cxx:100 AliPHOSRawFitterv2.cxx:101 AliPHOSRawFitterv2.cxx:102 AliPHOSRawFitterv2.cxx:103 AliPHOSRawFitterv2.cxx:104 AliPHOSRawFitterv2.cxx:105 AliPHOSRawFitterv2.cxx:106 AliPHOSRawFitterv2.cxx:107 AliPHOSRawFitterv2.cxx:108 AliPHOSRawFitterv2.cxx:109 AliPHOSRawFitterv2.cxx:110 AliPHOSRawFitterv2.cxx:111 AliPHOSRawFitterv2.cxx:112 AliPHOSRawFitterv2.cxx:113 AliPHOSRawFitterv2.cxx:114 AliPHOSRawFitterv2.cxx:115 AliPHOSRawFitterv2.cxx:116 AliPHOSRawFitterv2.cxx:117 AliPHOSRawFitterv2.cxx:118 AliPHOSRawFitterv2.cxx:119 AliPHOSRawFitterv2.cxx:120 AliPHOSRawFitterv2.cxx:121 AliPHOSRawFitterv2.cxx:122 AliPHOSRawFitterv2.cxx:123 AliPHOSRawFitterv2.cxx:124 AliPHOSRawFitterv2.cxx:125 AliPHOSRawFitterv2.cxx:126 AliPHOSRawFitterv2.cxx:127 AliPHOSRawFitterv2.cxx:128 AliPHOSRawFitterv2.cxx:129 AliPHOSRawFitterv2.cxx:130 AliPHOSRawFitterv2.cxx:131 AliPHOSRawFitterv2.cxx:132 AliPHOSRawFitterv2.cxx:133 AliPHOSRawFitterv2.cxx:134 AliPHOSRawFitterv2.cxx:135 AliPHOSRawFitterv2.cxx:136 AliPHOSRawFitterv2.cxx:137 AliPHOSRawFitterv2.cxx:138 AliPHOSRawFitterv2.cxx:139 AliPHOSRawFitterv2.cxx:140 AliPHOSRawFitterv2.cxx:141 AliPHOSRawFitterv2.cxx:142 AliPHOSRawFitterv2.cxx:143 AliPHOSRawFitterv2.cxx:144 AliPHOSRawFitterv2.cxx:145 AliPHOSRawFitterv2.cxx:146 AliPHOSRawFitterv2.cxx:147 AliPHOSRawFitterv2.cxx:148 AliPHOSRawFitterv2.cxx:149 AliPHOSRawFitterv2.cxx:150 AliPHOSRawFitterv2.cxx:151 AliPHOSRawFitterv2.cxx:152 AliPHOSRawFitterv2.cxx:153 AliPHOSRawFitterv2.cxx:154 AliPHOSRawFitterv2.cxx:155 AliPHOSRawFitterv2.cxx:156 AliPHOSRawFitterv2.cxx:157 AliPHOSRawFitterv2.cxx:158 AliPHOSRawFitterv2.cxx:159 AliPHOSRawFitterv2.cxx:160 AliPHOSRawFitterv2.cxx:161 AliPHOSRawFitterv2.cxx:162 AliPHOSRawFitterv2.cxx:163 AliPHOSRawFitterv2.cxx:164 AliPHOSRawFitterv2.cxx:165 AliPHOSRawFitterv2.cxx:166 AliPHOSRawFitterv2.cxx:167 AliPHOSRawFitterv2.cxx:168 AliPHOSRawFitterv2.cxx:169 AliPHOSRawFitterv2.cxx:170 AliPHOSRawFitterv2.cxx:171 AliPHOSRawFitterv2.cxx:172 AliPHOSRawFitterv2.cxx:173 AliPHOSRawFitterv2.cxx:174 AliPHOSRawFitterv2.cxx:175 AliPHOSRawFitterv2.cxx:176 AliPHOSRawFitterv2.cxx:177 AliPHOSRawFitterv2.cxx:178 AliPHOSRawFitterv2.cxx:179 AliPHOSRawFitterv2.cxx:180 AliPHOSRawFitterv2.cxx:181 AliPHOSRawFitterv2.cxx:182 AliPHOSRawFitterv2.cxx:183 AliPHOSRawFitterv2.cxx:184 AliPHOSRawFitterv2.cxx:185 AliPHOSRawFitterv2.cxx:186 AliPHOSRawFitterv2.cxx:187 AliPHOSRawFitterv2.cxx:188 AliPHOSRawFitterv2.cxx:189 AliPHOSRawFitterv2.cxx:190 AliPHOSRawFitterv2.cxx:191 AliPHOSRawFitterv2.cxx:192 AliPHOSRawFitterv2.cxx:193 AliPHOSRawFitterv2.cxx:194 AliPHOSRawFitterv2.cxx:195 AliPHOSRawFitterv2.cxx:196 AliPHOSRawFitterv2.cxx:197 AliPHOSRawFitterv2.cxx:198 AliPHOSRawFitterv2.cxx:199 AliPHOSRawFitterv2.cxx:200 AliPHOSRawFitterv2.cxx:201 AliPHOSRawFitterv2.cxx:202 AliPHOSRawFitterv2.cxx:203 AliPHOSRawFitterv2.cxx:204 AliPHOSRawFitterv2.cxx:205 AliPHOSRawFitterv2.cxx:206 AliPHOSRawFitterv2.cxx:207 AliPHOSRawFitterv2.cxx:208 AliPHOSRawFitterv2.cxx:209 AliPHOSRawFitterv2.cxx:210 AliPHOSRawFitterv2.cxx:211 AliPHOSRawFitterv2.cxx:212 AliPHOSRawFitterv2.cxx:213 AliPHOSRawFitterv2.cxx:214 AliPHOSRawFitterv2.cxx:215 AliPHOSRawFitterv2.cxx:216 AliPHOSRawFitterv2.cxx:217 AliPHOSRawFitterv2.cxx:218 AliPHOSRawFitterv2.cxx:219 AliPHOSRawFitterv2.cxx:220 AliPHOSRawFitterv2.cxx:221 AliPHOSRawFitterv2.cxx:222 AliPHOSRawFitterv2.cxx:223 AliPHOSRawFitterv2.cxx:224 AliPHOSRawFitterv2.cxx:225 AliPHOSRawFitterv2.cxx:226 AliPHOSRawFitterv2.cxx:227 AliPHOSRawFitterv2.cxx:228 AliPHOSRawFitterv2.cxx:229 AliPHOSRawFitterv2.cxx:230 AliPHOSRawFitterv2.cxx:231 AliPHOSRawFitterv2.cxx:232 AliPHOSRawFitterv2.cxx:233 AliPHOSRawFitterv2.cxx:234 AliPHOSRawFitterv2.cxx:235 AliPHOSRawFitterv2.cxx:236 AliPHOSRawFitterv2.cxx:237 AliPHOSRawFitterv2.cxx:238 AliPHOSRawFitterv2.cxx:239 AliPHOSRawFitterv2.cxx:240 AliPHOSRawFitterv2.cxx:241 AliPHOSRawFitterv2.cxx:242 AliPHOSRawFitterv2.cxx:243 AliPHOSRawFitterv2.cxx:244 AliPHOSRawFitterv2.cxx:245 AliPHOSRawFitterv2.cxx:246 AliPHOSRawFitterv2.cxx:247 AliPHOSRawFitterv2.cxx:248 AliPHOSRawFitterv2.cxx:249 AliPHOSRawFitterv2.cxx:250 AliPHOSRawFitterv2.cxx:251 AliPHOSRawFitterv2.cxx:252 AliPHOSRawFitterv2.cxx:253 AliPHOSRawFitterv2.cxx:254 AliPHOSRawFitterv2.cxx:255 AliPHOSRawFitterv2.cxx:256 AliPHOSRawFitterv2.cxx:257 AliPHOSRawFitterv2.cxx:258 AliPHOSRawFitterv2.cxx:259 AliPHOSRawFitterv2.cxx:260 AliPHOSRawFitterv2.cxx:261 AliPHOSRawFitterv2.cxx:262 AliPHOSRawFitterv2.cxx:263 AliPHOSRawFitterv2.cxx:264 AliPHOSRawFitterv2.cxx:265 AliPHOSRawFitterv2.cxx:266 AliPHOSRawFitterv2.cxx:267 AliPHOSRawFitterv2.cxx:268 AliPHOSRawFitterv2.cxx:269 AliPHOSRawFitterv2.cxx:270 AliPHOSRawFitterv2.cxx:271 AliPHOSRawFitterv2.cxx:272 AliPHOSRawFitterv2.cxx:273 AliPHOSRawFitterv2.cxx:274 AliPHOSRawFitterv2.cxx:275 AliPHOSRawFitterv2.cxx:276 AliPHOSRawFitterv2.cxx:277 AliPHOSRawFitterv2.cxx:278 AliPHOSRawFitterv2.cxx:279 AliPHOSRawFitterv2.cxx:280 AliPHOSRawFitterv2.cxx:281 AliPHOSRawFitterv2.cxx:282 AliPHOSRawFitterv2.cxx:283 AliPHOSRawFitterv2.cxx:284 AliPHOSRawFitterv2.cxx:285 AliPHOSRawFitterv2.cxx:286 AliPHOSRawFitterv2.cxx:287 AliPHOSRawFitterv2.cxx:288 AliPHOSRawFitterv2.cxx:289 AliPHOSRawFitterv2.cxx:290 AliPHOSRawFitterv2.cxx:291 AliPHOSRawFitterv2.cxx:292 AliPHOSRawFitterv2.cxx:293 AliPHOSRawFitterv2.cxx:294 AliPHOSRawFitterv2.cxx:295 AliPHOSRawFitterv2.cxx:296 AliPHOSRawFitterv2.cxx:297 AliPHOSRawFitterv2.cxx:298 AliPHOSRawFitterv2.cxx:299 AliPHOSRawFitterv2.cxx:300 AliPHOSRawFitterv2.cxx:301 AliPHOSRawFitterv2.cxx:302 AliPHOSRawFitterv2.cxx:303 AliPHOSRawFitterv2.cxx:304 AliPHOSRawFitterv2.cxx:305 AliPHOSRawFitterv2.cxx:306 AliPHOSRawFitterv2.cxx:307 AliPHOSRawFitterv2.cxx:308 AliPHOSRawFitterv2.cxx:309 AliPHOSRawFitterv2.cxx:310 AliPHOSRawFitterv2.cxx:311 AliPHOSRawFitterv2.cxx:312 AliPHOSRawFitterv2.cxx:313 AliPHOSRawFitterv2.cxx:314 AliPHOSRawFitterv2.cxx:315 AliPHOSRawFitterv2.cxx:316 AliPHOSRawFitterv2.cxx:317 AliPHOSRawFitterv2.cxx:318 AliPHOSRawFitterv2.cxx:319 AliPHOSRawFitterv2.cxx:320 AliPHOSRawFitterv2.cxx:321 AliPHOSRawFitterv2.cxx:322 AliPHOSRawFitterv2.cxx:323 AliPHOSRawFitterv2.cxx:324 AliPHOSRawFitterv2.cxx:325 AliPHOSRawFitterv2.cxx:326 AliPHOSRawFitterv2.cxx:327 AliPHOSRawFitterv2.cxx:328 AliPHOSRawFitterv2.cxx:329 AliPHOSRawFitterv2.cxx:330 AliPHOSRawFitterv2.cxx:331 AliPHOSRawFitterv2.cxx:332 AliPHOSRawFitterv2.cxx:333 AliPHOSRawFitterv2.cxx:334 AliPHOSRawFitterv2.cxx:335 AliPHOSRawFitterv2.cxx:336 AliPHOSRawFitterv2.cxx:337 AliPHOSRawFitterv2.cxx:338 AliPHOSRawFitterv2.cxx:339 AliPHOSRawFitterv2.cxx:340 AliPHOSRawFitterv2.cxx:341 AliPHOSRawFitterv2.cxx:342 AliPHOSRawFitterv2.cxx:343 AliPHOSRawFitterv2.cxx:344 AliPHOSRawFitterv2.cxx:345 AliPHOSRawFitterv2.cxx:346 AliPHOSRawFitterv2.cxx:347 AliPHOSRawFitterv2.cxx:348 AliPHOSRawFitterv2.cxx:349 AliPHOSRawFitterv2.cxx:350 AliPHOSRawFitterv2.cxx:351 AliPHOSRawFitterv2.cxx:352 AliPHOSRawFitterv2.cxx:353 AliPHOSRawFitterv2.cxx:354 AliPHOSRawFitterv2.cxx:355 AliPHOSRawFitterv2.cxx:356 AliPHOSRawFitterv2.cxx:357 AliPHOSRawFitterv2.cxx:358 AliPHOSRawFitterv2.cxx:359 AliPHOSRawFitterv2.cxx:360 AliPHOSRawFitterv2.cxx:361 AliPHOSRawFitterv2.cxx:362 AliPHOSRawFitterv2.cxx:363 AliPHOSRawFitterv2.cxx:364 AliPHOSRawFitterv2.cxx:365 AliPHOSRawFitterv2.cxx:366 AliPHOSRawFitterv2.cxx:367 AliPHOSRawFitterv2.cxx:368 AliPHOSRawFitterv2.cxx:369 AliPHOSRawFitterv2.cxx:370 AliPHOSRawFitterv2.cxx:371 AliPHOSRawFitterv2.cxx:372 AliPHOSRawFitterv2.cxx:373 AliPHOSRawFitterv2.cxx:374 AliPHOSRawFitterv2.cxx:375 AliPHOSRawFitterv2.cxx:376 AliPHOSRawFitterv2.cxx:377 AliPHOSRawFitterv2.cxx:378 AliPHOSRawFitterv2.cxx:379 AliPHOSRawFitterv2.cxx:380 AliPHOSRawFitterv2.cxx:381 AliPHOSRawFitterv2.cxx:382 AliPHOSRawFitterv2.cxx:383 AliPHOSRawFitterv2.cxx:384 AliPHOSRawFitterv2.cxx:385 AliPHOSRawFitterv2.cxx:386 AliPHOSRawFitterv2.cxx:387 AliPHOSRawFitterv2.cxx:388 AliPHOSRawFitterv2.cxx:389 AliPHOSRawFitterv2.cxx:390 AliPHOSRawFitterv2.cxx:391 AliPHOSRawFitterv2.cxx:392 AliPHOSRawFitterv2.cxx:393 AliPHOSRawFitterv2.cxx:394 AliPHOSRawFitterv2.cxx:395 AliPHOSRawFitterv2.cxx:396 AliPHOSRawFitterv2.cxx:397 AliPHOSRawFitterv2.cxx:398 AliPHOSRawFitterv2.cxx:399 AliPHOSRawFitterv2.cxx:400 AliPHOSRawFitterv2.cxx:401 AliPHOSRawFitterv2.cxx:402 AliPHOSRawFitterv2.cxx:403 AliPHOSRawFitterv2.cxx:404 AliPHOSRawFitterv2.cxx:405 AliPHOSRawFitterv2.cxx:406 AliPHOSRawFitterv2.cxx:407 AliPHOSRawFitterv2.cxx:408 AliPHOSRawFitterv2.cxx:409 AliPHOSRawFitterv2.cxx:410 AliPHOSRawFitterv2.cxx:411 AliPHOSRawFitterv2.cxx:412 AliPHOSRawFitterv2.cxx:413 AliPHOSRawFitterv2.cxx:414 AliPHOSRawFitterv2.cxx:415 AliPHOSRawFitterv2.cxx:416 AliPHOSRawFitterv2.cxx:417 AliPHOSRawFitterv2.cxx:418 AliPHOSRawFitterv2.cxx:419 AliPHOSRawFitterv2.cxx:420 AliPHOSRawFitterv2.cxx:421 AliPHOSRawFitterv2.cxx:422 AliPHOSRawFitterv2.cxx:423 AliPHOSRawFitterv2.cxx:424 AliPHOSRawFitterv2.cxx:425 AliPHOSRawFitterv2.cxx:426 AliPHOSRawFitterv2.cxx:427 AliPHOSRawFitterv2.cxx:428 AliPHOSRawFitterv2.cxx:429 AliPHOSRawFitterv2.cxx:430 AliPHOSRawFitterv2.cxx:431 AliPHOSRawFitterv2.cxx:432 AliPHOSRawFitterv2.cxx:433 AliPHOSRawFitterv2.cxx:434 AliPHOSRawFitterv2.cxx:435 AliPHOSRawFitterv2.cxx:436 AliPHOSRawFitterv2.cxx:437 AliPHOSRawFitterv2.cxx:438 AliPHOSRawFitterv2.cxx:439 AliPHOSRawFitterv2.cxx:440 AliPHOSRawFitterv2.cxx:441 AliPHOSRawFitterv2.cxx:442 AliPHOSRawFitterv2.cxx:443 AliPHOSRawFitterv2.cxx:444 AliPHOSRawFitterv2.cxx:445 AliPHOSRawFitterv2.cxx:446 AliPHOSRawFitterv2.cxx:447 AliPHOSRawFitterv2.cxx:448 AliPHOSRawFitterv2.cxx:449