X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0CalibWalk.cxx;h=43f2910bb88393ee96cad7b7a31a1d6626512023;hb=88f843f15b364022e0657691b99460168279a2b5;hp=78cbac9a32e5d71c242a1527784a21b1869eac84;hpb=e47b556f72deb65e9a8a42990c29f75e29891cc9;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0CalibWalk.cxx b/T0/AliT0CalibWalk.cxx index 78cbac9a32e..43f2910bb88 100644 --- a/T0/AliT0CalibWalk.cxx +++ b/T0/AliT0CalibWalk.cxx @@ -33,7 +33,7 @@ #include #include #include - +#include ClassImp(AliT0CalibWalk) @@ -115,7 +115,7 @@ void AliT0CalibWalk::SetWalk(Int_t ipmt) i++; } inFile.close(); - cout<<" number of data "<ls(); - Float_t x1[10], y1[10]; - Float_t x2[10], y2[10]; - - Float_t xx1[10],yy1[10], xx[10]; + if(!gFile) { + AliError("No input laser data found "); + } + else + { + // gFile->ls(); + Float_t x1[14], y1[14]; + Float_t x2[14], y2[14]; - TH2F* hCFDvsQTC[24][10]; TH2F* hCFDvsLED[24][10]; - - for (Int_t i=0; i<24; i++) - { - for (Int_t im=0; im<10; im++) + Float_t mips[14] = {1.,2,3,4,5,6,7,8,9,10,20,30,40,50}; + + Float_t xx1[14],yy1[14], xx[14]; + for (Int_t ii=0; ii<14; ii++) + { x1[ii]=0; y1[ii]=0; x2[ii]=0; y2[ii]=0; } + + + TH2F* hCFDvsQTC[24][14]; TH2F* hCFDvsLED[24][14]; + + for (Int_t i=0; i<24; i++) { - - TString qtc = Form("QTCvsCFD%i_%i",i+1,im+1); - TString led = Form("LEDvsCFD%i_%i",i+1,im+1); - - hCFDvsQTC[i][im] = (TH2F*) gFile->Get(qtc.Data()) ; - hCFDvsLED[i][im] = (TH2F*) gFile->Get(led.Data()); - - if(!hCFDvsQTC[i][im] && !hCFDvsLED[i][im]) + for (Int_t im=0; imGet(qtc.Data()) ; + hCFDvsLED[i][im] = (TH2F*) gFile->Get(led.Data()); + + if(!hCFDvsQTC[i][im] || !hCFDvsLED[i][im]) + AliWarning(Form(" no walk correction data in LASER DA for channel %i for amplitude %f MIPs",i,mips[im])); + + Float_t qtc0 = hCFDvsQTC[i][0]->GetMean(2); + if(hCFDvsQTC[i][im]) + { + x1[im] = hCFDvsQTC[i][im]->GetMean(1); + y1[im] = hCFDvsQTC[i][im]->GetMean(2) - qtc0; + } + Float_t led0 = hCFDvsLED[i][0]->GetMean(2); + if( hCFDvsLED[i][im]){ + x2[im] = hCFDvsLED[i][im]->GetMean(1); + y2[im] = hCFDvsLED[i][im]->GetMean(2) - led0; + } + xx[im]=mips[im]; + } + for (Int_t imi=0; imiGetMean(1); - y1[im] = hCFDvsQTC[i][im]->GetMean(2); - x2[im] = hCFDvsLED[i][im]->GetMean(1); - y2[im] = hCFDvsLED[i][im]->GetMean(2); - xx[im]=im+1; - } - for (Int_t imi=0; imi<10; imi++) - { - yy1[imi] = Float_t (10-imi); - xx1[imi]=x2[10-imi-1]; - } - if(i==0){ - cout<<"Making graphs..."<Fit("fuqtc","Q"," ",x1[0],x1[nmips]); + grampled->Fit("fuled","Q"," ",xx1[0],xx1[nmips]); + fuled->GetParameters(&parled[0]); + fuqtc->GetParameters(&parqtc[0]); + + for(Int_t ipar=0; ipar<2; ipar++) { + SetQTCpar(i,ipar,parqtc[ipar]); + SetAmpLEDpar(i,ipar,parled[ipar]); + // cout<<" pars :::: "<