X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0Parameters.cxx;h=d6070c141f18d3deb31bbe45a22abd2c7a6fa879;hb=02888358d46d813130e6ceaa0137f8ddd97d4dfc;hp=f5c9fa8c21c67bf67d4fc9537f5f72dcab5bc26f;hpb=0d72dc5bb25782f09d6f32c327cfe5cf140e91d4;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0Parameters.cxx b/T0/AliT0Parameters.cxx index f5c9fa8c21c..d6070c141f1 100644 --- a/T0/AliT0Parameters.cxx +++ b/T0/AliT0Parameters.cxx @@ -24,23 +24,28 @@ // Eventually, this class will use the Conditions DB to get the // various parameters, which code can then request from here. // +#include "AliT0.h" #include "AliLog.h" #include "AliT0Parameters.h" #include "AliT0CalibData.h" +#include "AliT0CalibWalk.h" +#include "AliT0CalibTimeEq.h" +#include "AliT0LookUpKey.h" #include "AliT0LookUpValue.h" #include #include #include #include #include -#include +//#include #include #include +#include #include -AliT0CalibData* AliT0Parameters::fgCalibData = 0; +AliT0CalibTimeEq* AliT0Parameters::fgCalibData = 0; AliT0CalibData* AliT0Parameters::fgLookUp = 0; -AliT0CalibData* AliT0Parameters::fgSlewCorr =0; +AliT0CalibWalk* AliT0Parameters::fgSlewCorr =0; //==================================================================== ClassImp(AliT0Parameters) #if 0 @@ -68,10 +73,13 @@ AliT0Parameters::AliT0Parameters() fAmpLEDRec(0), fPMTeff(), fWalk(0), - fTimeDelayDA(0), + fQTC(0), + fAmpLED(0), fTimeDelayCFD(0), + // fTimeV0(0), fTimeDelayTVD(0), - fMeanT0(500), + fMeanT0(512), + fMeanVertex(0), fLookUp(0), fNumberOfTRMs(2), fCalibentry(), fLookUpentry(),fSlewCorr() @@ -106,7 +114,7 @@ AliT0Parameters::Init() //time equalizing fCalibentry = stor->Get("T0/Calib/TimeDelay"); if (fCalibentry) - fgCalibData = (AliT0CalibData*)fCalibentry->GetObject(); + fgCalibData = (AliT0CalibTimeEq*)fCalibentry->GetObject(); else { AliFatal(" ALARM !!!! No time delays in CDB "); fIsInit = kFALSE; @@ -115,7 +123,7 @@ AliT0Parameters::Init() //slewing correction fSlewCorr = stor->Get("T0/Calib/Slewing_Walk"); if (fSlewCorr){ - fgSlewCorr = (AliT0CalibData*)fSlewCorr->GetObject(); + fgSlewCorr = (AliT0CalibWalk*)fSlewCorr->GetObject(); } else { AliFatal(" ALARM !!!! No slewing correction in CDB "); @@ -144,12 +152,15 @@ void AliT0Parameters::InitIfOnline() // for switching to this one should write // AliT0RawReader myrawreader(rawReader); // myrawreader.SetOnlineMode(kTRUE); - + if (fIsInit) return; //standart configuration (used for simulation) //Int_t trm=0; Int_t tdc=0; Int_t chain=0; Int_t channel=0; // configuration for test Jun07. + fgLookUp = new AliT0CalibData("T0"); + fNumberOfTRMs = 1; + fgLookUp-> SetNumberOfTRMs(fNumberOfTRMs); Int_t trm=7; Int_t tdc=0; Int_t chain=0; Int_t channel=0; for (Int_t ik=0; ik<105; ik++) { @@ -162,32 +173,19 @@ void AliT0Parameters::InitIfOnline() lookvalue->SetChain(chain); lookvalue->SetChannel(channel); lookkey->SetKey(ik); + fgLookUp->GetMapLookup()->Add((TObject*)lookvalue,(TObject*)lookkey); if (channel<6) channel +=2; else {channel = 0; tdc++;} - if(ik==57) { tdc=0; channel=0; chain = 1;} - // fLookUp.Add((TObject*)lookvalue,(TObject*)lookkey); - fgLookUp->GetMapLookup()->Add((TObject*)lookvalue,(TObject*)lookkey); + if(ik==56) { tdc=0; channel=0; chain = 1;} + } fIsInit=kTRUE; } //__________________________________________________________________ - -Float_t -AliT0Parameters::GetTimeDelayDA(Int_t ipmt) -{ - // return time delay for LED channel - // - if (!fCalibentry) { - fTimeDelayDA = 500; - return fTimeDelayDA; - } - return fgCalibData ->GetTimeDelayDA(ipmt); -} -//__________________________________________________________________ Float_t AliT0Parameters::GetTimeDelayCFD(Int_t ipmt) -{ + { // return time delay for CFD channel // if (!fCalibentry) @@ -196,21 +194,20 @@ AliT0Parameters::GetTimeDelayCFD(Int_t ipmt) return fTimeDelayCFD; } - return fgCalibData->GetTimeDelayCFD(ipmt); + return fgCalibData->GetTimeEq(ipmt); } - //__________________________________________________________________ -Int_t -AliT0Parameters::GetMeanT0() -{ - // return mean of T0 distrubution with vertex=0 - // + +Float_t +AliT0Parameters:: GetMeanVertex() +{ if (!fCalibentry) { - return fMeanT0; + fMeanVertex=0; + return fMeanVertex; } - return fgCalibData->GetMeanT0(); + return fgCalibData->GetMeanVertex(); } //__________________________________________________________________ @@ -236,14 +233,26 @@ TGraph *AliT0Parameters::GetWalk(Int_t ipmt) const //__________________________________________________________________ -Float_t AliT0Parameters::GetWalkVal(Int_t ipmt, Float_t mv) const +TGraph *AliT0Parameters::GetQTC(Int_t ipmt) const { if (!fSlewCorr) { - return ((TGraph*)fWalk.At(ipmt))->Eval(mv); + AliError("No walk correction is available!"); + // return (TGraph*)fQTC.At(ipmt); + return 0; } - return fgSlewCorr -> GetWalkVal(ipmt, mv) ; + return fgSlewCorr -> GetQTC(ipmt) ; } +//__________________________________________________________________ +TGraph *AliT0Parameters::GetAmpLED(Int_t ipmt) const +{ + if (!fSlewCorr) { + AliError("No walk correction is available!"); + // return (TGraph*)fQTC.At(ipmt); + return 0; + } + return fgSlewCorr -> GetAmpLED(ipmt) ; +} //__________________________________________________________________ void @@ -325,8 +334,6 @@ Double_t AliT0Parameters::GetZPosition(const char* symname){ // Get the global z coordinate of the given T0 alignable volume // Double_t *tr; - - cout<GetAlignableEntry(symname); if (!pne) return 0;