AliRoot Core  3dc7879 (3dc7879)
AliTPCCalROC Class Reference

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

#include <AliTPCCalROC.h>

Inheritance diagram for AliTPCCalROC:

Public Types

enum  EStatType {
  kMean =0, kMedian =1, kRMS =2, kMinElement =3,
  kMaxElement =4
}
 
enum  EPadType { kAll =0, kOROCmedium =1, kOROClong =2 }
 

Public Member Functions

 AliTPCCalROC ()
 
 AliTPCCalROC (UInt_t sector)
 
 AliTPCCalROC (const AliTPCCalROC &c)
 
AliTPCCalROCoperator= (const AliTPCCalROC &param)
 
virtual ~AliTPCCalROC ()
 
virtual void Print (Option_t *option="") const
 
UInt_t GetSector () const
 
UInt_t GetNrows () const
 
UInt_t GetNchannels () const
 
UInt_t GetNchannelsMedium () 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 GetStats (EStatType statType, AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetMean (AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetRMS (AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetMedian (AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetMinElement (AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetMaxElement (AliTPCCalROC *const outlierROC=0, EPadType padType=kAll) const
 
Double_t GetLTM (Double_t *const sigma=0, Double_t fraction=0.9, AliTPCCalROC *const outlierROC=0, EPadType padType=kAll)
 
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, EPadType padType=kAll)
 

Static Public Member Functions

static AliTPCCalROCCreateGlobalFitCalROC (TVectorD &fitParam, Int_t sector, EPadType padType=kAll, AliTPCCalROC *oldTPCCalROC=0)
 
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 20 of file AliTPCCalROC.h.

Member Enumeration Documentation

Enumerator
kAll 
kOROCmedium 
kOROClong 

Definition at line 24 of file AliTPCCalROC.h.

Enumerator
kMean 
kMedian 
kRMS 
kMinElement 
kMaxElement 

Definition at line 23 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 ( 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 319 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 258 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::Convolute(), and SetValue().

AliTPCCalROC * AliTPCCalROC::CreateGlobalFitCalROC ( TVectorD &  fitParam,
Int_t  sector,
EPadType  padType = kAll,
AliTPCCalROC oldTPCCalROC = 0 
)
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 In 2015 different gain in medium and long pads New CalROC is created for medium pads. For long pads oldTPCCalROC already contains values for medium pads.

Definition at line 1013 of file AliTPCCalROC.cxx.

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

void AliTPCCalROC::Divide ( const AliTPCCalROC roc)

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

  • pad by pad -

Definition at line 341 of file AliTPCCalROC.cxx.

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

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

create histogram with values and draw it

Definition at line 624 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::MakePadFromTree(), and SetValue().

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

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 LTM for different padType

Definition at line 469 of file AliTPCCalROC.cxx.

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

Double_t AliTPCCalROC::GetMaxElement ( AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) const

returns the MaxElement 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 459 of file AliTPCCalROC.cxx.

Referenced by SetValue().

Double_t AliTPCCalROC::GetMean ( AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) 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 419 of file AliTPCCalROC.cxx.

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

Double_t AliTPCCalROC::GetMedian ( AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) 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 429 of file AliTPCCalROC.cxx.

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

Double_t AliTPCCalROC::GetMinElement ( AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) const

returns the MinElement 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 449 of file AliTPCCalROC.cxx.

Referenced by SetValue().

UInt_t AliTPCCalROC::GetNchannelsMedium ( ) const
inline

Definition at line 35 of file AliTPCCalROC.h.

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 872 of file AliTPCCalROC.cxx.

Referenced by GetNeighbourhoodValue(), and SetValue().

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 804 of file AliTPCCalROC.cxx.

Referenced by LocalFit(), and SetValue().

Double_t AliTPCCalROC::GetRMS ( AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) 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 439 of file AliTPCCalROC.cxx.

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

UInt_t AliTPCCalROC::GetSector ( ) const
inline
Double_t AliTPCCalROC::GetStats ( EStatType  statType,
AliTPCCalROC *const  outlierROC = 0,
EPadType  padType = kAll 
) const

returns the mean or median or RMS value depending on the statType of the ROC or medium or long pad region 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 361 of file AliTPCCalROC.cxx.

Referenced by GetMaxElement(), GetMean(), GetMedian(), GetMinElement(), GetRMS(), AliTPCCalPad::GetStats(), and SetValue().

Float_t AliTPCCalROC::GetValue ( UInt_t  channel) const
inline

Definition at line 39 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,
EPadType  padType = kAll 
)

Makes a GlobalFit for the given sector and return fit-parameters, covariance and chi2 update of GlobalFit in 2015 to have different gain in OROC medium and long pads 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 924 of file AliTPCCalROC.cxx.

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

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

Definition at line 36 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 777 of file AliTPCCalROC.cxx.

Referenced by SetValue().

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 204 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::LTMFilter(), and SetValue().

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 499 of file AliTPCCalROC.cxx.

Referenced by Draw(), and SetValue().

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 545 of file AliTPCCalROC.cxx.

Referenced by Draw(), and SetValue().

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 594 of file AliTPCCalROC.cxx.

Referenced by SetValue().

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 152 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::MedianFilter(), and SetValue().

void AliTPCCalROC::Multiply ( Float_t  c1)

multiply each channel of the ROC with c1

Definition at line 312 of file AliTPCCalROC.cxx.

Referenced by CreateGainMap(), AliTPCcalibDB::InitDeadMap(), AliTPCCalPad::Multiply(), AliTPCcalibDButil::PulserOutlierMap(), SetValue(), 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 330 of file AliTPCCalROC.cxx.

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

assignment operator - dummy

Definition at line 99 of file AliTPCCalROC.cxx.

void AliTPCCalROC::Print ( Option_t *  option = "") const
virtual

Definition at line 141 of file AliTPCCalROC.cxx.

Referenced by AliTPCCalPad::Print().

void AliTPCCalROC::Reset ( void  )

reset to ZERO

Definition at line 353 of file AliTPCCalROC.cxx.

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

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

Definition at line 41 of file AliTPCCalROC.h.

void AliTPCCalROC::Test ( )
static

example function to show functionality and test AliTPCCalROC

Definition at line 643 of file AliTPCCalROC.cxx.

Referenced by SetValue().

Member Data Documentation

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

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