X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0CalibData.cxx;h=29b17cffd5a4bbf7352cb5e1312cf0260b9c8afd;hb=8ea1a35c14e8bda555985681a08dc990fd74603d;hp=5e03f2b60ef37e2e7e173ab5eb9661c7f188a0bb;hpb=94c27e4f47530d402298eb5bd27198e4392342ff;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0CalibData.cxx b/T0/AliT0CalibData.cxx index 5e03f2b60ef..29b17cffd5a 100644 --- a/T0/AliT0CalibData.cxx +++ b/T0/AliT0CalibData.cxx @@ -17,31 +17,25 @@ /////////////////////////////////////////////////////////////////////////////// // // -// class for T0 calibration TM-AC-AM_6-02-2006 // +// class for T0 calibration TM--AM_6-02-2006 // // // /////////////////////////////////////////////////////////////////////////////// #include "AliT0CalibData.h" #include "AliT0LookUpValue.h" +#include "AliT0LookUpKey.h" #include "AliLog.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include +//#include ClassImp(AliT0CalibData) //________________________________________________________________ - AliT0CalibData::AliT0CalibData(): TNamed() + AliT0CalibData::AliT0CalibData(): TNamed(), + fLookup(0), + fNumberOfTRMs(0) { // @@ -49,11 +43,6 @@ ClassImp(AliT0CalibData) //________________________________________________________________ AliT0CalibData::AliT0CalibData(const char* name):TNamed(), - fTimeDelayTVD(0), - fMeanT0(0), - fWalk(0), - fSlewingLED(0), - fSlewingRec(0), fLookup(0), fNumberOfTRMs(0) { @@ -67,11 +56,6 @@ AliT0CalibData::AliT0CalibData(const char* name):TNamed(), //________________________________________________________________ AliT0CalibData::AliT0CalibData(const AliT0CalibData& calibda) : TNamed(calibda), - fTimeDelayTVD(0), - fMeanT0(0), - fWalk(0), - fSlewingLED(0), - fSlewingRec(0), fLookup(0), fNumberOfTRMs(0) @@ -98,179 +82,48 @@ AliT0CalibData::~AliT0CalibData() { // } -//________________________________________________________________ -void AliT0CalibData::Reset() -{ - memset(fTimeDelayCFD,1,24*sizeof(Float_t)); - memset(fTimeDelayDA,1,24*sizeof(Float_t)); -} - - -//________________________________________________________________ -void AliT0CalibData::Print(Option_t*) const -{ - - printf("\n ---- PM Arrays ----\n\n"); - printf(" Time delay CFD & DA\n"); - for (Int_t i=0; i<24; i++) printf(" CFD %f DA %f ",fTimeDelayCFD[i], fTimeDelayDA[i]); -} - //________________________________________________________________ void AliT0CalibData::PrintLookup(Option_t*, Int_t iTRM, Int_t iTDC, Int_t iChannel) const { - + // print lookup table + AliT0LookUpKey* lookkey= new AliT0LookUpKey(); AliT0LookUpValue* lookvalue= new AliT0LookUpValue(); - - cout<<" Number Of TRMs in setup "<SetTRM(iTRM); - lookvalue->SetTDC(iTDC); - lookvalue->SetChain(0); - lookvalue->SetChannel(iChannel); - - - printf(" AliT0CalibData::PrintLookup ::start GetValue %i %i %i \n",iTRM, iTDC, iChannel); - lookkey = (AliT0LookUpKey*) fLookup.GetValue((TObject*)lookvalue); - - - if (lookkey) - { - cout<<" lookup KEY!!! "<GetKey()<<" VALUE "<GetTRM()<<" " - <GetTDC()<<" " - << lookvalue->GetChain()<<" " - <GetChannel()<ExpandPathName("$ALICE_ROOT/T0/data/CFD-Amp.txt"); - ifstream inFile(filename); - if(!inFile) AliError(Form("Cannot open file %s !",filename)); - - Int_t i=0; - while(getline(inFile,buffer)){ - inFile >> ps >> mv; - - x[i]=ps; y[i]=mv; - i++; - } - inFile.close(); - cout<<" number of data "<0) - time[isum] = Float_t (sum/(iin)); - else - time[isum] =Float_t (x[ind]); - amplitude[isum] = Float_t (amp); - amp=y[ind]; - iin=0; - isum++; - sum=0; - } - } - - inFile.close(); - - TGraph* gr = new TGraph(isum, amplitude, time); - fWalk.AddAtAndExpand(gr,ipmt); -} - - -//________________________________________________________________ - -void AliT0CalibData::SetSlewingLED(Int_t ipmt) -{ - Float_t mv, ps; - Float_t x[100], y[100]; - string buffer; - - const char * filename = gSystem->ExpandPathName("$ALICE_ROOT/T0/data/CFD-LED.txt"); - ifstream inFile(filename); - if(!inFile) {AliError(Form("Cannot open file %s !",filename));} - - inFile >> mv>>ps; - Int_t i=0; - - while(getline(inFile,buffer)){ - x[i]=mv; y[i]=ps; - inFile >> mv >> ps; - i++; - } - inFile.close(); - TGraph* gr = new TGraph(i,x,y); - fSlewingLED.AddAtAndExpand(gr,ipmt); + printf("Number Of TRMs in setup %i\n",GetNumberOfTRMs()); + + iTRM=0; iTDC=0; Int_t chain=0; iChannel=0; + + for (Int_t ik=0; ik<105; ik++){ + lookvalue->SetTRM(iTRM); + lookvalue->SetTDC(iTDC); + lookvalue->SetChain(chain); + lookvalue->SetChannel(iChannel); + + if (iChannel<6) iChannel +=2; + else {iChannel = 0; iTDC++;} + if(ik==57) { iTDC=0; iChannel=0; iTRM=1;} -} - -//________________________________________________________________ - -void AliT0CalibData::SetSlewingRec(Int_t ipmt) -{ - Float_t mv, ps; - Float_t x[100], y[100]; - string buffer; - - const char * filename = gSystem->ExpandPathName("$ALICE_ROOT/T0/data/CFD-LED.root"); - ifstream inFile(filename); - if(!inFile) {AliError(Form("Cannot open file %s !",filename));} - - inFile >> mv>>ps; - Int_t i=0; - - while(getline(inFile,buffer)){ - x[i]=mv; y[i]=ps; - inFile >> mv >> ps; - i++; + printf(" AliT0CalibData::PrintLookup ::start GetValue %i %i %i %i\n",iTRM, iTDC,chain, iChannel); + lookkey = (AliT0LookUpKey*) fLookup.GetValue((TObject*)lookvalue); + // TString name= lookkey->GetChannelName(); + // cout<GetChannelName(); + /* cout<<" lookup KEY!!! "<GetKey()<<" VALUE "<GetTRM()<<" " + <GetTDC()<<" " + << lookvalue->GetChain()<<" " + <GetChannel()<SetTRM(trm); - lookvalue->SetTDC(tdc); - lookvalue->SetChain(chain); - lookvalue->SetChannel(channel); - lookkey->SetKey(ik); - if(ik>53) { trm=1; tdc=0; channel=0;} - if (channel<7) channel +=2; - else {channel = 0; tdc++;} - } + AliError(Form("!!!!!!!!!!!!!!No look up table in CDB!" )); + } Char_t varname[11]; Int_t ntrms; if(lookup) { lookup>>ntrms; - cout<<" !!!!!!! ntrms "<SetChain(chain); lookvalue->SetChannel(channel); lookkey->SetKey(key); - cout<<"lookup "<SetChannelName(varname); fLookup.Add((TObject*)lookvalue,(TObject*)lookkey); @@ -336,6 +171,8 @@ void AliT0CalibData::ReadAsciiLookup(const Char_t *filename) Int_t AliT0CalibData::GetChannel(Int_t trm, Int_t tdc, Int_t chain, Int_t channel) { + // read number of channel according physical addres + AliT0LookUpKey * lookkey;//= new AliT0LookUpKey(); AliT0LookUpValue * lookvalue= new AliT0LookUpValue(trm,tdc,chain,channel);