+ Int_t ref = allData[refPoint][0]-5000.;
+ Float_t channelWidth = fParam->GetChannelWidth() ;
+
+ // Int_t meanT0 = fParam->GetMeanT0();
+
+
+ for (Int_t in=0; in<12; in++)
+ {
+ timeCFD[in] = allData[in+1][0] ;
+ timeCFD[in+12] = allData[in+56+1][0] ;
+ timeLED[in] = allData[in+12+1][0] ;
+ timeLED[in+12] = allData[in+68+1][0] ;
+ AliDebug(10, Form(" readed i %i cfdC %i cfdA %i ledC %i ledA%i ",
+ in, timeCFD[in],timeCFD[in+12],timeLED[in],
+ timeLED[in+12]));
+ }
+
+ for (Int_t in=0; in<12; in++)
+ {
+ chargeQT0[in]=allData[2*in+25][0];
+ chargeQT1[in]=allData[2*in+26][0];
+ }
+
+ for (Int_t in=12; in<24; in++)
+ {
+ chargeQT0[in]=allData[2*in+57][0];
+ chargeQT1[in]=allData[2*in+58][0];
+ }
+
+ // } //cosmic with physics event
+ for (Int_t in=0; in<24; in++)
+ AliDebug(10, Form(" readed Raw %i %i %i %i %i",
+ in, timeLED[in],timeCFD[in],chargeQT0[in],chargeQT1[in]));
+ onlineMean = allData[49][0];
+
+ Float_t time[24], adc[24];
+ for (Int_t ipmt=0; ipmt<24; ipmt++) {
+ if(timeCFD[ipmt]>0 && timeLED[ipmt]>0){
+ //for simulated data
+ //for physics data
+ if(( chargeQT1[ipmt] - chargeQT0[ipmt])>0)
+ adc[ipmt] = chargeQT1[ipmt] - chargeQT0[ipmt];
+ else
+ adc[ipmt] = 0;
+
+
+ time[ipmt] = fCalib-> WalkCorrection(refAmp, ipmt, adc[ipmt], timeCFD[ipmt] ) ;
+
+ Double_t sl = timeLED[ipmt] - timeCFD[ipmt];
+ // time[ipmt] = fCalib-> WalkCorrection( ipmt, Int_t(sl), timeCFD[ipmt] ) ;
+ AliDebug(10,Form(" ipmt %i QTC %i , time in chann %i (led-cfd) %i ",
+ ipmt, Int_t(adc[ipmt]) ,Int_t(time[ipmt]),Int_t( sl)));
+ Double_t ampMip =( (TGraph*)fAmpLED.At(ipmt))->Eval(sl);
+ Double_t qtMip = ((TGraph*)fQTC.At(ipmt))->Eval(adc[ipmt]);
+ AliDebug(10,Form(" Amlitude in MIPS LED %f ; QTC %f; in channels %i\n ",ampMip,qtMip, adc[ipmt]));
+
+ frecpoints->SetTime(ipmt, Float_t(time[ipmt]) );
+ frecpoints->SetAmp(ipmt, Float_t( ampMip)); //for cosmic &pp beam
+ frecpoints->SetAmpLED(ipmt, Float_t(qtMip));
+
+ }
+ else {
+ time[ipmt] = 0;
+ adc[ipmt] = 0;
+ }
+ }
+
+ for (Int_t ipmt=0; ipmt<12; ipmt++){
+ if(time[ipmt] > 1 ) {
+ if(time[ipmt]<besttimeC){
+ besttimeC=time[ipmt]; //timeC
+ pmtBestC=ipmt;
+ }
+ }
+ }
+ for ( Int_t ipmt=12; ipmt<24; ipmt++){
+ if(time[ipmt] > 1) {
+ if(time[ipmt]<besttimeA) {
+ besttimeA=time[ipmt]; //timeA
+ pmtBestA=ipmt;}
+ }
+ }
+ if(besttimeA !=9999999) frecpoints->SetTimeBestA(Int_t(besttimeA));
+ if( besttimeC != 9999999 ) frecpoints->SetTimeBestC(Int_t(besttimeC));
+ AliDebug(5,Form(" pmtA %i besttimeA %f ps, pmtC %i besttimeC %f #channel",
+ pmtBestA,besttimeA, pmtBestC, besttimeC));
+ if(besttimeA <9999999 && besttimeC < 9999999 ){
+ timeDiff = ( besttimeA - besttimeC) *channelWidth;
+ meanTime = Float_t((besttimeA + besttimeC)/2.);
+ timeclock = Float_t(meanTime - ref);
+ vertex = meanVertex - c*(timeDiff)/2.; //+ (fdZonA - fdZonC)/2;
+ }
+ } //if phys event
+ frecpoints->SetT0clock(timeclock);
+ frecpoints->SetVertex(vertex);
+ frecpoints->SetMeanTime(Int_t(meanTime));
+ frecpoints->SetOnlineMean(Int_t(onlineMean));
+ AliDebug(5,Form(" timeDiff %f #channel, meanTime %f #channel, vertex %f cm meanVertex %f online mean %i ",timeDiff, meanTime,vertex,meanVertex, onlineMean));
+
+
+ } // if (else )raw data
+ recTree->Fill();
+ if(frecpoints) delete frecpoints;