#include "AliT0Calibrator.h"
#include "AliT0Reconstructor.h"
#include "AliT0RecoParam.h"
+#include "AliCDBEntry.h"
+#include "AliCDBManager.h"
+
#include <TGraph.h>
#include <TH1F.h>
#include <TMath.h>
//____________________________________________________________________
AliT0Calibrator::AliT0Calibrator():TNamed(),
fChannelWidth(0),
- fWalk(0)
+ fWalk(0),
+ fEqualized(0)
{
//constructor
+ printf(" AliT0Calibrator ::: AliT0RecoParam GetEq() %i\n", fEqualized);
AliT0Parameters* param = AliT0Parameters::Instance();
param->Init();
//slewing correcion and equalizing channels
for (Int_t i=0; i<24; i++){
fMaxValue[i]=0;
fTimeDelayCFD[i] = Int_t (param->GetTimeDelayCFD(i));
- TGraph* fu = param ->GetWalk(i);
+ TGraph* fu = param ->GetWalk(i);
+ // fWalk.AddAtAndExpand(fu,i);
+ //TGraph* fu = param ->GetAmpLEDRec(i);
fWalk.AddAtAndExpand(fu,i);
-
}
}
//_____________________________________________________________________________
AliT0Calibrator::AliT0Calibrator(const AliT0Calibrator &r): TNamed(),
- fChannelWidth(0),
- fWalk(0)
+ fChannelWidth(0),
+ fWalk(0),
+ fEqualized(0)
{
//
//
// referemce amplitude for walk correction now read from RecoParam
- Double_t *grY ;
-
- Int_t walk=0;
-
+ Int_t walk=0;
Int_t timeEq=0, timeWalk=0;
TGraph *fu1=(TGraph*) fWalk.At(ipmt);
if(fu1 && fu1->GetN()>0) {
- grY = fu1->GetY();
- fMaxValue[ipmt]=grY[refAmp-1];
- // TGraph* fu = param ->GetAmpLEDRec(i);
- walk = Int_t (fMaxValue[ipmt]) + Int_t(fu1->Eval(Double_t(qt)));
+ 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 ));
+ if (fEqualized == 0)
+ timeEq= time - fTimeDelayCFD[ipmt]-walk;
+ else
+ timeEq = time - walk - refAmp;
+
+ // printf(" ipmt %i time before %i timeWalk %i , walk %i qt %i fTimeDelayCFD[ipmt] %i timeEq %i \n ",
+ // ipmt, time,timeWalk, walk, qt,fTimeDelayCFD[ipmt], timeEq );
+ AliDebug(2,Form(" fEqualized %i ipmt %i refAmp %i time before %i timeWalk %i , walk %i qt %i timeEq %i, diff %i \n ",
+ fEqualized, ipmt, refAmp, time,timeWalk, walk, qt, timeEq , fTimeDelayCFD[ipmt]));
return timeEq;
}