X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0Calibrator.cxx;h=2900d4ba1e4f7b1a3243d8d19f6bce7473c6d519;hb=f01724f790df5b9432d57bac2158938ef17f3b16;hp=b714d6b31770c97adb52d70d035a654c66f656d1;hpb=aaa0a98fa0046127996cdadc9836953394b37f20;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0Calibrator.cxx b/T0/AliT0Calibrator.cxx index b714d6b3177..2900d4ba1e4 100644 --- a/T0/AliT0Calibrator.cxx +++ b/T0/AliT0Calibrator.cxx @@ -1,3 +1,4 @@ + /************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * @@ -31,28 +32,32 @@ #include "AliT0Calibrator.h" #include #include +#include +#include ClassImp(AliT0Calibrator) //____________________________________________________________________ AliT0Calibrator::AliT0Calibrator():TNamed(), - fChannelWidth(0), - fWalk(0) + fChannelWidth(0), + fWalk(0) + { //constructor - AliT0Parameters* param = AliT0Parameters::Instance(); - param->Init(); + AliT0Parameters* param = AliT0Parameters::Instance(); + param->Init(); fChannelWidth = param->GetChannelWidth() ; - for (Int_t i=0; i<24; i++){ + fMaxValue[i]=0; fTimeDelayCFD[i] = Int_t (param->GetTimeDelayCFD(i)); + TGraph* fu = param ->GetWalk(i); - fWalk.AddAtAndExpand(fu,i); + // TGraph* fu = param ->GetAmpLEDRec(i); + fWalk.AddAtAndExpand(fu,i); } - // } //_____________________________________________________________________________ @@ -82,24 +87,23 @@ AliT0Calibrator &AliT0Calibrator::operator=(const AliT0Calibrator &r) } - //____________________________________________________________________ -Int_t AliT0Calibrator::WalkCorrection(Int_t ipmt, Int_t qt, Int_t time, TString option) +Int_t AliT0Calibrator::WalkCorrection(Int_t ipmt, Int_t qt, Int_t time) { //slewing correcion and equalizing channels + Int_t walk=0; + Int_t timeEq=0, timeWalk=0; TGraph *fu1=(TGraph*) fWalk.At(ipmt); - Float_t walk=fu1->Eval(Float_t(qt)); - TH1F*hr=fu1->GetHistogram(); - Float_t maxValue=hr->GetMaximum(50); - if (option == "pdc") - timeWalk = time + Int_t((maxValue-walk)/fChannelWidth) ; - if (option == "cosmic") - timeWalk = time + Int_t((maxValue-walk)) ; - timeEq= timeWalk - (fTimeDelayCFD[ipmt]-fTimeDelayCFD[0]); - AliDebug(10,Form(" time before %i timeWalk %i , qt %i timeEq %i \n ", - time,timeWalk, qt, timeEq )); + if(fu1 && fu1->GetN()>0) + walk=Int_t(fu1->Eval(Double_t(qt))); + + timeWalk = time + walk ; + timeEq= timeWalk - fTimeDelayCFD[ipmt]; + AliDebug(10,Form(" ipmt %i time before %i timeWalk %i , walk %i qt %i timeEq %i \n ", + ipmt, time,timeWalk, walk, qt, timeEq )); + return timeEq; }