AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCCalROC Class Reference

TPC calibration base class for one ROC. More...

#include <AliTPCCalROC.h>

Inheritance diagram for AliTPCCalROC:

Public Member Functions

 AliTPCCalROC ()
 
 AliTPCCalROC (UInt_t sector)
 
 AliTPCCalROC (const AliTPCCalROC &c)
 
AliTPCCalROCoperator= (const AliTPCCalROC &param)
 
virtual ~AliTPCCalROC ()
 
UInt_t GetSector () const
 
UInt_t GetNrows () const
 
UInt_t GetNchannels () const
 
Bool_t IsInRange (UInt_t row, UInt_t pad)
 
UInt_t GetNPads (UInt_t row) const
 
Float_t GetValue (UInt_t row, UInt_t pad) const
 
Float_t GetValue (UInt_t channel) const
 
void SetValue (UInt_t row, UInt_t pad, Float_t vd)
 
void SetValue (UInt_t channel, Float_t vd)
 
void Reset ()
 
virtual void Draw (Option_t *option="")
 
Bool_t MedianFilter (Int_t deltaRow, Int_t deltaPad, AliTPCCalROC *outlierROC=0, Bool_t doEdge=kTRUE)
 
Bool_t LTMFilter (Int_t deltaRow, Int_t deltaPad, Float_t fraction, Int_t type, AliTPCCalROC *outlierROC=0, Bool_t doEdge=kTRUE)
 
Bool_t Convolute (Double_t sigmaPad, Double_t sigmaRow, AliTPCCalROC *outlierPad=0, TF1 *fpad=0, TF1 *frow=0)
 
void Add (Float_t c1)
 
void Multiply (Float_t c1)
 
void Add (const AliTPCCalROC *roc, Double_t c1=1)
 
void Multiply (const AliTPCCalROC *roc)
 
void Divide (const AliTPCCalROC *roc)
 
Double_t GetMean (AliTPCCalROC *const outlierROC=0) const
 
Double_t GetRMS (AliTPCCalROC *const outlierROC=0) const
 
Double_t GetMedian (AliTPCCalROC *const outlierROC=0) const
 
Double_t GetLTM (Double_t *const sigma=0, Double_t fraction=0.9, AliTPCCalROC *const outlierROC=0)
 
TH1F * MakeHisto1D (Float_t min=4, Float_t max=-4, Int_t type=0)
 
TH2F * MakeHisto2D (Float_t min=4, Float_t max=-4, Int_t type=0)
 
TH2F * MakeHistoOutliers (Float_t delta=4, Float_t fraction=0.7, Int_t mode=0)
 
AliTPCCalROCLocalFit (Int_t rowRadius, Int_t padRadius, AliTPCCalROC *ROCoutliers=0, Bool_t robust=kFALSE, Double_t chi2Threshold=5, Double_t robustFraction=0.7)
 
void GlobalFit (const AliTPCCalROC *ROCoutliers, Bool_t robust, TVectorD &fitParam, TMatrixD &covMatrix, Float_t &chi2, Int_t fitType=1, Double_t chi2Threshold=5, Double_t robustFraction=0.7, Double_t err=1)
 

Static Public Member Functions

static AliTPCCalROCCreateGlobalFitCalROC (TVectorD &fitParam, Int_t sector)
 
static void Test ()
 

Protected Member Functions

Double_t GetNeighbourhoodValue (TLinearFitter *fitterQ, Int_t row, Int_t pad, Int_t rRadius, Int_t pRadius, AliTPCCalROC *const ROCoutliers, Bool_t robust, Double_t chi2Threshold, Double_t robustFraction)
 
void GetNeighbourhood (TArrayI *&rowArray, TArrayI *&padArray, Int_t row, Int_t pad, Int_t rRadius, Int_t pRadius)
 

Protected Attributes

UInt_t fSector
 sector number More...
 
UInt_t fNChannels
 number of channels More...
 
UInt_t fNRows
 number of rows More...
 
const UInt_t * fkIndexes
 
Float_t * fData
 Data. More...
 

Detailed Description

TPC calibration base class for one ROC.

Calibration base class for a single ROC Contains one float value per pad mapping of the pads taken form AliTPCROC

Definition at line 19 of file AliTPCCalROC.h.

Constructor & Destructor Documentation

AliTPCCalROC::AliTPCCalROC ( )

Definition at line 45 of file AliTPCCalROC.cxx.

Referenced by CreateGlobalFitCalROC(), and LocalFit().

AliTPCCalROC::AliTPCCalROC ( UInt_t  sector)

Constructor that initializes a given sector

Definition at line 60 of file AliTPCCalROC.cxx.

AliTPCCalROC::AliTPCCalROC ( const AliTPCCalROC c)

AliTPCCalROC copy constructor

Definition at line 80 of file AliTPCCalROC.cxx.

AliTPCCalROC::~AliTPCCalROC ( )
virtual

AliTPCCalROC destructor

Definition at line 117 of file AliTPCCalROC.cxx.

Member Function Documentation

void AliTPCCalROC::Add ( Float_t  c1)
void AliTPCCalROC::Add ( const AliTPCCalROC roc,
Double_t  c1 = 1 
)

multiply AliTPCCalROC roc by c1 and add each channel to the coresponing channel in the ROC

  • pad by pad

Definition at line 311 of file AliTPCCalROC.cxx.

Bool_t AliTPCCalROC::Convolute ( Double_t  sigmaPad,
Double_t  sigmaRow,
AliTPCCalROC outlierPad = 0,
TF1 *  fpad = 0,
TF1 *  frow = 0 
)

convolute the calibration with function fpad,frow in range +-4 sigma

Definition at line 250 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::Convolute().

AliTPCCalROC * AliTPCCalROC::CreateGlobalFitCalROC ( TVectorD &  fitParam,
Int_t  sector 
)
static

Create ROC with global fit parameters The origin of the fit function is the center of the ROC! loop over all channels, write fit values into new ROC and return it

Definition at line 942 of file AliTPCCalROC.cxx.

Referenced by CreateGainMap(), AliTPCcalibDButil::CreatePadTime0(), and AliTPCCalPad::GlobalFit().

void AliTPCCalROC::Divide ( const AliTPCCalROC roc)

divide each channel of the ROC by the coresponding channel of 'roc'

  • pad by pad -

Definition at line 333 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::Divide(), and Test().

void AliTPCCalROC::Draw ( Option_t *  option = "")
virtual

create histogram with values and draw it

Definition at line 565 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::MakePadFromTree().

Double_t AliTPCCalROC::GetLTM ( Double_t *const  sigma = 0,
Double_t  fraction = 0.9,
AliTPCCalROC *const  outlierROC = 0 
)

returns the LTM and sigma pads with value != 0 in outlierROC are not used for the calculation return 0 if no data is accepted by the outlier cuts

Definition at line 415 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::GetLTM(), MakeHisto1D(), MakeHisto2D(), MakeHistoOutliers(), AliTPCCalibViewer::MakeTree(), AliTPCcalibDB::MakeTree(), and Test().

Double_t AliTPCCalROC::GetMean ( AliTPCCalROC *const  outlierROC = 0) const

returns the mean value of the ROC pads with value != 0 in outlierROC are not used for the calculation return 0 if no data is accepted by the outlier cuts

Definition at line 352 of file AliTPCCalROC.cxx.

Referenced by AliTPCcalibDButil::CreatePadTime0(), AliTPCCalPad::GetMean(), MakeHisto1D(), MakeHisto2D(), AliTPCCalibViewer::MakeTree(), AliTPCcalibDB::MakeTree(), AliTPCcalibDButil::ProcessPulserVariations(), and Test().

Double_t AliTPCCalROC::GetMedian ( AliTPCCalROC *const  outlierROC = 0) const

returns the median value of the ROC pads with value != 0 in outlierROC are not used for the calculation return 0 if no data is accepted by the outlier cuts

Definition at line 373 of file AliTPCCalROC.cxx.

Referenced by AliTPCcalibDButil::CreateCEOutlyerMap(), CreateGainMap(), AliTPCcalibDButil::CreatePadTime0CE(), AliTPCcalibDButil::CreatePulserOutlyerMap(), AliTPCCalPad::GetMedian(), MakeHisto1D(), MakeHisto2D(), AliTPCCalibViewer::MakeTree(), AliTPCcalibDB::MakeTree(), and Test().

void AliTPCCalROC::GetNeighbourhood ( TArrayI *&  rowArray,
TArrayI *&  padArray,
Int_t  row,
Int_t  pad,
Int_t  rRadius,
Int_t  pRadius 
)
protected

AliTPCCalROC::GetNeighbourhood - PRIVATE in this function the window for LocalFit is determined

Definition at line 813 of file AliTPCCalROC.cxx.

Referenced by GetNeighbourhoodValue().

Double_t AliTPCCalROC::GetNeighbourhoodValue ( TLinearFitter *  fitterQ,
Int_t  row,
Int_t  pad,
Int_t  rRadius,
Int_t  pRadius,
AliTPCCalROC *const  ROCoutliers,
Bool_t  robust,
Double_t  chi2Threshold,
Double_t  robustFraction 
)
protected

AliTPCCalROC::GetNeighbourhoodValue - smoothing - PRIVATE in this function the fit for LocalFit is done

Definition at line 745 of file AliTPCCalROC.cxx.

Referenced by LocalFit().

Double_t AliTPCCalROC::GetRMS ( AliTPCCalROC *const  outlierROC = 0) const

returns the RMS value of the ROC pads with value != 0 in outlierROC are not used for the calculation return 0 if no data is accepted by the outlier cuts

Definition at line 394 of file AliTPCCalROC.cxx.

Referenced by AliTPCcalibDButil::CreatePulserOutlyerMap(), AliTPCCalPad::GetRMS(), MakeHisto1D(), MakeHisto2D(), AliTPCCalibViewer::MakeTree(), AliTPCcalibDB::MakeTree(), and Test().

UInt_t AliTPCCalROC::GetSector ( ) const
inline
Float_t AliTPCCalROC::GetValue ( UInt_t  channel) const
inline

Definition at line 34 of file AliTPCCalROC.h.

void AliTPCCalROC::GlobalFit ( const AliTPCCalROC ROCoutliers,
Bool_t  robust,
TVectorD &  fitParam,
TMatrixD &  covMatrix,
Float_t &  chi2,
Int_t  fitType = 1,
Double_t  chi2Threshold = 5,
Double_t  robustFraction = 0.7,
Double_t  err = 1 
)

Makes a GlobalFit for the given secotr and return fit-parameters, covariance and chi2 The origin of the fit function is the center of the ROC! fitType == 0: fit plane function fitType == 1: fit parabolic function ROCoutliers - pads with value !=0 are not used in fitting procedure chi2Threshold: Threshold for chi2 when EvalRobust is called robustFraction: Fraction of data that will be used in EvalRobust err: error of the data points

Definition at line 865 of file AliTPCCalROC.cxx.

Referenced by CreateGainMap(), AliTPCcalibDButil::CreatePadTime0(), AliTPCCalibCE::EndEvent(), and AliTPCCalPad::GlobalFit().

Bool_t AliTPCCalROC::IsInRange ( UInt_t  row,
UInt_t  pad 
)
inline

Definition at line 31 of file AliTPCCalROC.h.

Referenced by Convolute(), LTMFilter(), and MedianFilter().

AliTPCCalROC * AliTPCCalROC::LocalFit ( Int_t  rowRadius,
Int_t  padRadius,
AliTPCCalROC ROCoutliers = 0,
Bool_t  robust = kFALSE,
Double_t  chi2Threshold = 5,
Double_t  robustFraction = 0.7 
)

MakeLocalFit - smoothing returns a AliTPCCalROC with smoothed data rowRadius and padRadius specifies a window around a given pad. The data of this window are fitted with a parabolic function. This function is evaluated at the pad's position. At the edges the window is shifted, so that the specified pad is not anymore in the center of the window. rowRadius - radius - rows to be used for smoothing padradius - radius - pads to be used for smoothing ROCoutlier - map of outliers - pads not to be used for local smoothing robust - robust method of fitting - (much slower) chi2Threshold: Threshold for chi2 when EvalRobust is called robustFraction: Fraction of data that will be used in EvalRobust

Definition at line 718 of file AliTPCCalROC.cxx.

Bool_t AliTPCCalROC::LTMFilter ( Int_t  deltaRow,
Int_t  deltaPad,
Float_t  fraction,
Int_t  type,
AliTPCCalROC outlierROC = 0,
Bool_t  doEdge = kTRUE 
)

Modify content of the class write LTM mean or median

Definition at line 196 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::LTMFilter().

TH1F * AliTPCCalROC::MakeHisto1D ( Float_t  min = 4,
Float_t  max = -4,
Int_t  type = 0 
)

make 1D histo type -1 = user defined range 0 = nsigma cut nsigma=min 1 = delta cut around median delta=min

Definition at line 440 of file AliTPCCalROC.cxx.

Referenced by Draw().

TH2F * AliTPCCalROC::MakeHisto2D ( Float_t  min = 4,
Float_t  max = -4,
Int_t  type = 0 
)

make 2D histo type -1 = user defined range 0 = nsigma cut nsigma=min 1 = delta cut around median delta=min

Definition at line 486 of file AliTPCCalROC.cxx.

Referenced by Draw().

TH2F * AliTPCCalROC::MakeHistoOutliers ( Float_t  delta = 4,
Float_t  fraction = 0.7,
Int_t  mode = 0 
)

Make Histogram with outliers mode = 0 - sigma cut used mode = 1 - absolute cut used fraction - fraction of values used to define sigma delta - in mode 0 - nsigma cut mode 1 - delta cut

Definition at line 535 of file AliTPCCalROC.cxx.

Bool_t AliTPCCalROC::MedianFilter ( Int_t  deltaRow,
Int_t  deltaPad,
AliTPCCalROC outlierROC = 0,
Bool_t  doEdge = kTRUE 
)

Modify content of the object - raplace value by median in neighorhood

Definition at line 144 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::MedianFilter().

void AliTPCCalROC::Multiply ( Float_t  c1)

multiply each channel of the ROC with c1

Definition at line 304 of file AliTPCCalROC.cxx.

Referenced by CreateGainMap(), AliTPCcalibDB::InitDeadMap(), AliTPCCalPad::Multiply(), AliTPCcalibDButil::PulserOutlierMap(), and Test().

void AliTPCCalROC::Multiply ( const AliTPCCalROC roc)

multiply each channel of the ROC with the coresponding channel of 'roc'

  • pad by pad -

Definition at line 322 of file AliTPCCalROC.cxx.

AliTPCCalROC & AliTPCCalROC::operator= ( const AliTPCCalROC param)

assignment operator - dummy

Definition at line 99 of file AliTPCCalROC.cxx.

void AliTPCCalROC::Reset ( void  )

reset to ZERO

Definition at line 345 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalROC(), and AliTPCCalPad::Reset().

void AliTPCCalROC::SetValue ( UInt_t  channel,
Float_t  vd 
)
inline

Definition at line 36 of file AliTPCCalROC.h.

void AliTPCCalROC::Test ( )
static

example function to show functionality and test AliTPCCalROC

Definition at line 584 of file AliTPCCalROC.cxx.

Member Data Documentation

Float_t* AliTPCCalROC::fData
protected
const UInt_t* AliTPCCalROC::fkIndexes
protected

! indexes

Definition at line 74 of file AliTPCCalROC.h.

Referenced by AliTPCCalROC(), Convolute(), GetValue(), IsInRange(), LTMFilter(), MedianFilter(), operator=(), and SetValue().

UInt_t AliTPCCalROC::fNChannels
protected
UInt_t AliTPCCalROC::fNRows
protected
UInt_t AliTPCCalROC::fSector
protected

The documentation for this class was generated from the following files: