]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0Digitizer.cxx
bug fixed
[u/mrichter/AliRoot.git] / T0 / AliT0Digitizer.cxx
index 91edea87367e80aca86972ca35a25784f6af7970..1a27aec889e94d9195b5bbf847b5944d556a347d 100644 (file)
@@ -95,7 +95,7 @@ AliT0Digitizer::AliT0Digitizer(AliRunDigitizer* manager)
     Double_t *x1 = new Double_t[np];
     Double_t *y1 = new Double_t[np];
     for (Int_t ii=0; ii<np; ii++) {
-      y1[ii]=y[np-ii]; x1[ii]=x[np-ii];
+      y1[ii]=y[np-ii-1]; x1[ii]=x[np-ii-1];
     }
     
     TGraph *grInverse = new TGraph(np,y1,x1);
@@ -160,12 +160,13 @@ void AliT0Digitizer::Exec(Option_t* /*option*/)
   Int_t threshold =50; //photoelectrons
   Float_t zdetA, zdetC;
   Int_t sumMultCoeff = 100;
+  Int_t refpoint=0;
   TH1F *hr;
 
 
   
   Int_t ph2Mip = fParam->GetPh2Mip();     
-  Int_t channelWidth = fParam->GetChannelWidth() ;  
+  Float_t channelWidth = fParam->GetChannelWidth() ;  
   Float_t delayVertex = fParam->GetTimeDelayTVD();
    
   zdetC = TMath::Abs(fParam->GetZPosition("T0/C/PMT1"));
@@ -268,6 +269,7 @@ void AliT0Digitizer::Exec(Option_t* /*option*/)
     }
 
     timeDelayCFD[0] = fParam->GetTimeDelayCFD(0);
+    Int_t meanTimeDelay=200;
 
     for (Int_t i=0; i<24; i++)
       {
@@ -286,7 +288,7 @@ void AliT0Digitizer::Exec(Option_t* /*option*/)
          sl = gr->Eval(qt);
 
          trLED = Int_t(( timeGaus[i] + 1000*sl )/channelWidth);
-         qtCh=Int_t (1000.*TMath::Log(qt)) / channelWidth;
+         qtCh=Int_t (1000.*TMath::Log(qt) / channelWidth);
          fADC0->AddAt(0,i);
          fADC->AddAt(qtCh,i);
          ftimeLED->AddAt(trLED,i); 
@@ -321,9 +323,7 @@ void AliT0Digitizer::Exec(Option_t* /*option*/)
       {
        timeDiff=Int_t (((besttimeC-besttimeA)+1000*delayVertex)
                        /channelWidth);
-       meanTime=Int_t (((besttimeC+timeDelayCFD[pmtBestC]+
-                         besttimeA+timeDelayCFD[pmtBestA])/2.)
-                       /channelWidth);
+       meanTime=Int_t (((besttimeC+besttimeA)/2. + meanTimeDelay)/channelWidth);
       }
        AliDebug(10,Form(" time A& C %i %i  time diff && mean time in channels %i %i",bestATDC,bestCTDC, timeDiff, meanTime));
 
@@ -334,10 +334,11 @@ void AliT0Digitizer::Exec(Option_t* /*option*/)
                      sumMult, fSumMult, fSumMult*channelWidth));
     }
 
-      fT0->AddDigit(bestATDC,bestCTDC,meanTime,timeDiff,fSumMult,
+    fT0->AddDigit(bestATDC,bestCTDC,meanTime,timeDiff,fSumMult, refpoint,
                       ftimeCFD,fADC0,ftimeLED,fADC);
      
-      AliDebug(10,Form(" Digits wrote bestATDC %i bestCTDC %i  meanTime %i  timeDiff %i fSumMult %i ", bestATDC,bestCTDC,meanTime,timeDiff,fSumMult ));
+    
+      AliDebug(10,Form(" Digits wrote refpoint %i bestATDC %i bestCTDC %i  meanTime %i  timeDiff %i fSumMult %i ",refpoint ,bestATDC,bestCTDC,meanTime,timeDiff,fSumMult ));
     pOutStartLoader->UnloadHits();
   } //input streams loop