X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0CalibData.cxx;h=208b7d8f5118f26e10939573191c8949f12d09f6;hb=b5113062351878fa479f7c1b3982556e2e0bdbe8;hp=e7ad6355d08c115d2a1b77cbee2bcf937d107d76;hpb=c41ceaac6d4656983aebd086f4cb7e947eb70d07;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0CalibData.cxx b/T0/AliT0CalibData.cxx index e7ad6355d08..208b7d8f511 100644 --- a/T0/AliT0CalibData.cxx +++ b/T0/AliT0CalibData.cxx @@ -17,40 +17,34 @@ /////////////////////////////////////////////////////////////////////////////// // // -// class for T0 calibration TM-AC-AM_6-02-2006 // +// class for T0 calibration TM--AM_6-02-2006 // // // /////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - #include "AliT0CalibData.h" #include "AliT0LookUpValue.h" -#include "TObjArray.h" -#include "TGraph.h" -#include "TFile.h" +#include "AliT0LookUpKey.h" #include "AliLog.h" -#include "TObjString.h" - -#include "TAxis.h" -#include "TH2F.h" +#include +//#include ClassImp(AliT0CalibData) //________________________________________________________________ - AliT0CalibData::AliT0CalibData(): TNamed() + AliT0CalibData::AliT0CalibData(): TNamed(), + fLookup(0), + fNumberOfTRMs(0) { // } //________________________________________________________________ -AliT0CalibData::AliT0CalibData(const char* name):TNamed(),fTimeDelayTVD(0),fWalk(),fSlewingLED(),fSlewingRec() +AliT0CalibData::AliT0CalibData(const char* name):TNamed(), + fLookup(0), + fNumberOfTRMs(0) { TString namst = "Calib_"; namst += name; @@ -61,7 +55,10 @@ AliT0CalibData::AliT0CalibData(const char* name):TNamed(),fTimeDelayTVD(0),fWalk //________________________________________________________________ AliT0CalibData::AliT0CalibData(const AliT0CalibData& calibda) : - TNamed(calibda),fTimeDelayTVD(0),fWalk(),fSlewingLED(),fSlewingRec() + TNamed(calibda), + fLookup(0), + fNumberOfTRMs(0) + { // copy constructor SetName(calibda.GetName()); @@ -85,174 +82,48 @@ AliT0CalibData::~AliT0CalibData() { // } -//________________________________________________________________ -void AliT0CalibData::Reset() -{ - memset(fTimeDelayCFD,1,24*sizeof(Float_t)); - memset(fTimeDelayLED,1,24*sizeof(Float_t)); -} - - -//________________________________________________________________ -void AliT0CalibData::Print(Option_t*) const -{ - - printf("\n ---- PM Arrays ----\n\n"); - printf(" Time delay CFD \n"); - for (Int_t i=0; i<24; i++) printf(" %f",fTimeDelayCFD[i]); -} - //________________________________________________________________ void AliT0CalibData::PrintLookup(Option_t*, Int_t iTRM, Int_t iTDC, Int_t iChannel) const { - - AliT0LookUpKey* lookkey= new AliT0LookUpKey(); - AliT0LookUpValue* lookvalue= new AliT0LookUpValue(); - - lookvalue->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); - - cout<<" AliT0CalibData::PrintLookup :: lookkey "<< lookkey<GetKey()<<" VALUE "<GetTRM()<<" " - <GetTDC()<<" " - << lookvalue->GetChain()<<" " - <GetChannel()<> ps >> mv; - - x[i]=ps; y[i]=mv; - i++; - } - inFile.close(); - - TMath::Sort(i, y, index,down); - Int_t amp=0, iin=0, isum=0, sum=0; - Int_t ind=0; - for (Int_t ii=0; ii<70000; ii++) - { - ind=index[ii]; - if(y[ind] == amp) - { - sum +=x[ind]; - iin++; - // cout<0) - time[isum] = Float_t (sum/(iin)); - else - time[isum] =Float_t (x[ind]); - amplitude[isum] = Float_t (amp); - amp=y[ind]; - cout<> 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); + AliT0LookUpKey* lookkey; //= new AliT0LookUpKey(); + AliT0LookUpValue* lookvalue= new AliT0LookUpValue(); + 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,const Char_t *filename) -{ - Float_t mv, ps; - Float_t x[100], y[100]; - string buffer; - - 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]; - // while(lookup.eof()) - - for (Int_t i=0; i<108; i++) + Int_t ntrms; + if(lookup) { - AliT0LookUpKey * lookkey= new AliT0LookUpKey(); - AliT0LookUpValue * lookvalue= new AliT0LookUpValue(); - - lookup>>varname>>key>>trm>>chain>>tdc>>channel; - lookvalue->SetTRM(trm); - lookvalue->SetTDC(tdc); - lookvalue->SetChain(chain); - lookvalue->SetChannel(channel); - lookkey->SetKey(key); - - // cout<<"TRM="<>ntrms; + // fNumberOfTRMs=ntrms; + SetNumberOfTRMs(ntrms); + while(!lookup.eof()) + { + AliT0LookUpKey * lookkey= new AliT0LookUpKey(); + AliT0LookUpValue * lookvalue= new AliT0LookUpValue(); + + lookup>>varname>>key>>trm>>chain>>tdc>>channel; + lookvalue->SetTRM(trm); + lookvalue->SetTDC(tdc); + lookvalue->SetChain(chain); + lookvalue->SetChannel(channel); + lookkey->SetKey(key); + lookkey->SetChannelName(varname); + + fLookup.Add((TObject*)lookvalue,(TObject*)lookkey); + + } + + lookup.close(); + } - - lookup.close(); - } - //________________________________________________________________ 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); - lookkey = (AliT0LookUpKey*) fLookup.GetValue((TObject*)lookvalue); - cout<<"AliT0CalibData:: key "<GetKey()<GetKey(); }