LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDCalPad.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 4 50.0 %
Date: 2016-06-14 17:26:59 Functions: 3 8 37.5 %

          Line data    Source code
       1             : #ifndef ALITRDCALPAD_H
       2             : #define ALITRDCALPAD_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : ///////////////////////////////////////////////////////////////////////////////
       9             : //                                                                           //
      10             : //  TRD calibration class for parameters which are saved per pad             //
      11             : //                                                                           //
      12             : ///////////////////////////////////////////////////////////////////////////////
      13             : 
      14             : #include "TNamed.h"
      15             : 
      16             : class AliTRDCalROC;
      17             : class AliTRDCalDet;
      18             : class TH2F;
      19             : class TH1F;
      20             : 
      21             : class AliTRDCalPad : public TNamed 
      22             : {
      23             : 
      24             :  public:
      25             :  
      26             :   enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
      27             : 
      28             :   AliTRDCalPad();
      29             :   AliTRDCalPad(const Text_t* name, const Text_t* title);
      30             :   AliTRDCalPad(const AliTRDCalPad &c);   
      31             :   virtual            ~AliTRDCalPad();
      32             :   AliTRDCalPad        &operator=(const AliTRDCalPad &c);
      33             : 
      34             :   virtual void        Copy(TObject &c) const;
      35             : 
      36           0 :   static  Int_t       GetDet(Int_t p, Int_t c, Int_t s) { return p+c*kNplan+s*kNplan*kNcham; };
      37             : 
      38      195174 :   AliTRDCalROC       *GetCalROC(Int_t d) const          { return fROC[d]; };
      39             :   AliTRDCalROC       *GetCalROC(Int_t p, Int_t c, Int_t s) const
      40           0 :                                                         { return fROC[GetDet(p,c,s)]; };
      41             :   
      42             :   Bool_t              ScaleROCs(const AliTRDCalDet* values);
      43             : 
      44             :   void                SetCalROC(Int_t det, AliTRDCalROC *calroc);
      45             : 
      46             :   // Statistic
      47             :   Double_t GetMeanRMS(Double_t &rms, const AliTRDCalDet *calDet = 0, Int_t type = 0);
      48             :   Double_t GetMean(const AliTRDCalDet *calDet = 0, Int_t type = 0, AliTRDCalPad* const outlierPad = 0);
      49             :   Double_t GetRMS(const AliTRDCalDet *calDet = 0, Int_t type = 0, AliTRDCalPad* const outlierPad = 0);
      50             :   Double_t GetMedian(const AliTRDCalDet *calDet = 0, Int_t type = 0, AliTRDCalPad* const outlierPad = 0);
      51             :   Double_t GetLTM(Double_t *sigma=0, Double_t fraction=0.9
      52             :                 , const AliTRDCalDet *calDet = 0, Int_t type = 0, AliTRDCalPad* const outlierPad = 0);
      53             : 
      54             :   // Plot functions
      55             :   TH1F    *MakeHisto1D(const AliTRDCalDet *calDet = 0, Int_t typedet=0, Float_t min=4, Float_t max=-4,Int_t type=0);
      56             :   TH2F    *MakeHisto2DSmPl(Int_t sm, Int_t pl, const AliTRDCalDet *calDet = 0, Int_t typedet=0, Float_t min=4, Float_t max=-4,Int_t type=0);
      57             :   TH2F    *MakeHisto2DCh(Int_t ch, const AliTRDCalDet *calDet = 0, Int_t typedet=0, Float_t min=4, Float_t max=-4,Int_t type=0);
      58             : 
      59             :   // Algebra functions
      60             :   Bool_t Add(Float_t c1);
      61             :   Bool_t Multiply(Float_t c1);
      62             :   Bool_t Add(const AliTRDCalPad * pad, Double_t c1 = 1, const AliTRDCalDet * calDet1 = 0, const AliTRDCalDet *calDet2 = 0, Int_t type = 0);
      63             :   Bool_t Multiply(const AliTRDCalPad * pad, const AliTRDCalDet * calDet1 = 0, const AliTRDCalDet *calDet2 = 0, Int_t type = 0);
      64             :   Bool_t Divide(const AliTRDCalPad * pad, const AliTRDCalDet * calDet1 = 0, const AliTRDCalDet *calDet2 = 0, Int_t type = 0);
      65             : 
      66             :  protected:
      67             : 
      68             :   AliTRDCalROC *fROC[kNdet];  //  Array of ROC objects which contain the values per pad
      69             : 
      70         132 :   ClassDef(AliTRDCalPad,1)    //  TRD calibration class for parameters which are saved per pad
      71             : 
      72             : };
      73             : 
      74             : #endif

Generated by: LCOV version 1.11