#include "AliT0CalibData.h"
#include "AliT0CalibWalk.h"
#include "AliT0CalibTimeEq.h"
+#include "AliT0CalibLatency.h"
#include "AliT0LookUpKey.h"
#include "AliT0LookUpValue.h"
#include <AliCDBManager.h>
AliT0CalibTimeEq* AliT0Parameters::fgCalibData = 0;
AliT0CalibData* AliT0Parameters::fgLookUp = 0;
AliT0CalibWalk* AliT0Parameters::fgSlewCorr =0;
+AliT0CalibLatency *AliT0Parameters::fgLatency=0;
//====================================================================
ClassImp(AliT0Parameters)
#if 0
// fTimeV0(0),
fTimeDelayTVD(0),
fMeanT0(512),
+ fMeanVertex(0),
+ fLatencyHPTDC(0),
+ fLatencyL1(0),
+ fLatencyL1A(0),
+ fLatencyL1C(0),
fLookUp(0),
fNumberOfTRMs(2),
- fCalibentry(), fLookUpentry(),fSlewCorr()
-
+ fCalibentry(),
+ fLookUpentry(),
+ fSlewCorr(),
+ fLatency()
{
// Default constructor
fIsInit = kFALSE;
return;
}
- fIsInit = kTRUE;
+ //latency
+
+ fLatency = stor->Get("T0/Calib/Latency");
+ if (fLatency){
+ fgLatency = (AliT0CalibLatency*)fLatency->GetObject();
+ }
+ else {
+ AliWarning(" !!! no latency in CDB ");
+ return;
+ }
+
+fIsInit = kTRUE;
}
// 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;
+ //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");
-
+ fgLookUp = new AliT0CalibData("T0");
+
fNumberOfTRMs = 1;
- fgLookUp-> SetNumberOfTRMs(fNumberOfTRMs);
+ 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++)
- {
- AliT0LookUpKey * lookkey= new AliT0LookUpKey();
- AliT0LookUpValue * lookvalue= new AliT0LookUpValue();
-
-
- lookvalue->SetTRM(trm);
- lookvalue->SetTDC(tdc);
- 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==56) { tdc=0; channel=0; chain = 1;}
-
- }
+ {
+ AliT0LookUpKey * lookkey= new AliT0LookUpKey();
+ AliT0LookUpValue * lookvalue= new AliT0LookUpValue();
+ lookvalue->SetTRM(trm);
+ lookvalue->SetTDC(tdc);
+ 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==56) { tdc=0; channel=0; chain = 1;}
+ }
+ //2 recent open channels
+ trm=7; tdc=14; channel=2; chain=0;
+ for (Int_t ik=105; ik<107; ik++)
+ {
+ AliT0LookUpKey * lookkey= new AliT0LookUpKey();
+ AliT0LookUpValue * lookvalue= new AliT0LookUpValue();
+
+ lookvalue->SetTRM(trm);
+ lookvalue->SetTDC(tdc);
+ 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++;}
+ }
fIsInit=kTRUE;
}
return fgCalibData->GetTimeEq(ipmt);
}
//__________________________________________________________________
+Float_t
+AliT0Parameters::GetCFD(Int_t ipmt)
+ {
+ // return CFD channel
+
+ return fgCalibData->GetCFDvalue(ipmt,0);
+}
+
+//__________________________________________________________________
+Float_t
+AliT0Parameters::GetLatencyHPTDC()
+ {
+ // return LatencyHPTDC for CFD channel
+ if (!fLatency)
+ {
+ fLatencyHPTDC=9000.;
+ return fLatencyHPTDC;
+ }
+
+ return fgLatency->GetLatencyHPTDC();
+}
+//__________________________________________________________________
+Float_t
+AliT0Parameters::GetLatencyL1()
+ {
+ // return time delay for CFD channel
+
+ return fgLatency->GetLatencyL1();
+}
+
+//__________________________________________________________________
+Float_t
+AliT0Parameters::GetLatencyL1A()
+ {
+ // return time delay for CFD channel
+
+ return fgLatency->GetLatencyL1A();
+}
+
+//__________________________________________________________________
+Float_t
+AliT0Parameters::GetLatencyL1C()
+ {
+ // return time delay for CFD channel
+
+ return fgLatency->GetLatencyL1C();
+}
+//__________________________________________________________________
Float_t
AliT0Parameters:: GetMeanVertex()