LCOV - code coverage report
Current view: top level - T0/T0rec - AliT0Calibrator.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 24 34 70.6 %
Date: 2016-06-14 17:26:59 Functions: 4 7 57.1 %

          Line data    Source code
       1             : 
       2             : /**************************************************************************
       3             :  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  *                                                                        *
       5             :  * Author: The ALICE Off-line Project.                                    *
       6             :  * Contributors are mentioned in the code where appropriate.              *
       7             :  *                                                                        *
       8             :  * Permission to use, copy, modify and distribute this software and its   *
       9             :  * documentation strictly for non-commercial purposes is hereby granted   *
      10             :  * without fee, provided that the above copyright notice appears in all   *
      11             :  * copies and that both the copyright notice and this permission notice   *
      12             :  * appear in the supporting documentation. The authors make no claims     *
      13             :  * about the suitability of this software for any purpose. It is          *
      14             :  * provided "as is" without express or implied warranty.                  *
      15             :  **************************************************************************/
      16             : 
      17             : /* $Id$ */
      18             : /***********************************************************************
      19             :  *      this class doing calibration during reconstruction 
      20             :  *      2 steps:
      21             :  *      - equalizing channels
      22             :  *      - applying walk corrections
      23             :  *
      24             :  * Alla.Maevskaya@cern.ch
      25             :  *
      26             :  **********************************************************************/      
      27             :  
      28             : //#include <Riostream.h>
      29             : 
      30             : #include "AliLog.h"
      31             : #include "AliT0Parameters.h"
      32             : #include "AliT0Calibrator.h"
      33             : #include "AliT0Reconstructor.h"
      34             : #include "AliT0RecoParam.h"
      35             : #include "AliCDBEntry.h"
      36             : #include "AliCDBManager.h"
      37             : 
      38             : #include <TGraph.h>
      39             : #include <TH1F.h>
      40             : #include <TMath.h>
      41             : #include <Riostream.h>
      42             : 
      43          20 : ClassImp(AliT0Calibrator)
      44             : 
      45             : //____________________________________________________________________
      46           2 :   AliT0Calibrator::AliT0Calibrator():TNamed(),
      47           2 :                                      fChannelWidth(0),  
      48           2 :                                      fWalk(0),
      49           2 :                                      fEqualized(0)
      50             :                                      
      51          10 : {
      52             :   //constructor
      53           2 :    printf(" AliT0Calibrator ::: AliT0RecoParam GetEq() %i\n", fEqualized);
      54           2 :    AliT0Parameters* param = AliT0Parameters::Instance();
      55           2 :    param->Init();
      56             :    //slewing correcion and equalizing channels
      57             : 
      58           2 :   fChannelWidth = param->GetChannelWidth() ;  
      59             :    //   Double_t *grX ; 
      60         100 :   for (Int_t i=0; i<24; i++){
      61          48 :     fMaxValue[i]=0;
      62          96 :     fTimeDelayCFD[i] = Int_t (param->GetTimeDelayCFD(i));
      63          48 :      TGraph* fu = param ->GetWalk(i);
      64             :     // fWalk.AddAtAndExpand(fu,i);
      65             :     //TGraph* fu = param ->GetAmpLEDRec(i);
      66          48 :     fWalk.AddAtAndExpand(fu,i);
      67             :   }
      68             :   
      69           4 : }
      70             : //_____________________________________________________________________________
      71             : 
      72           0 : AliT0Calibrator::AliT0Calibrator(const AliT0Calibrator &r): TNamed(),
      73           0 :                                                             fChannelWidth(0),  
      74           0 :                                                             fWalk(0), 
      75           0 :                                                             fEqualized(0)
      76             : 
      77           0 : {
      78             :   //
      79             :   // AliT0calibartor copy constructor
      80             :   //
      81             : 
      82           0 :   ((AliT0Calibrator &) r).Copy(*this);
      83             : 
      84           0 : }
      85             : 
      86             : //_____________________________________________________________________________
      87             : AliT0Calibrator &AliT0Calibrator::operator=(const AliT0Calibrator &r)
      88             : {
      89             :   //
      90             :   // Assignment operator
      91             :   //
      92             : 
      93           0 :   if (this != &r) ((AliT0Calibrator &) r).Copy(*this);
      94           0 :   return *this;
      95             : 
      96             : }
      97             : 
      98             : 
      99             : //____________________________________________________________________
     100             : 
     101             : Int_t  AliT0Calibrator::WalkCorrection(Int_t refAmp,  Int_t ipmt, Int_t qt, Int_t time) 
     102             : 
     103             : {
     104             :   //
     105             :   // referemce amplitude for walk correction now read from RecoParam
     106             : 
     107             :    Int_t walk=0;
     108             :   Int_t timeEq=0, timeWalk=0;  
     109          12 :   TGraph *fu1=(TGraph*) fWalk.At(ipmt);
     110          12 :   if(fu1 && fu1->GetN()>0) {
     111           6 :     walk = Int_t(fu1->Eval(Double_t(qt)));
     112           6 :   }
     113             :   
     114           6 :   if (fEqualized == 0)
     115           6 :     timeEq= time - fTimeDelayCFD[ipmt]-walk;
     116             :   else 
     117           0 :     timeEq = time - walk -  refAmp;
     118             : 
     119             :   //   printf(" ipmt %i time before %i timeWalk %i , walk %i  qt %i fTimeDelayCFD[ipmt] %i timeEq %i \n ",
     120             :   //     ipmt, time,timeWalk, walk, qt,fTimeDelayCFD[ipmt], timeEq );
     121          18 :      AliDebug(2,Form(" fEqualized %i ipmt %i refAmp %i time before %i timeWalk %i , walk %i  qt %i timeEq %i, diff %i \n ",
     122             :                      fEqualized,   ipmt, refAmp, time,timeWalk, walk, qt, timeEq , fTimeDelayCFD[ipmt]));
     123             :   
     124           6 :    return timeEq;
     125             : }
     126             : 
     127             : 
     128             : 

Generated by: LCOV version 1.11