AliRoot Core  edcc906 (edcc906)
AliTPCCalPad Class Reference

#include <AliTPCCalPad.h>

Inheritance diagram for AliTPCCalPad:

Public Types

enum  { kNsec = 72, kNsecSplit = 108 }
 

Public Member Functions

 AliTPCCalPad ()
 
 AliTPCCalPad (const Text_t *name, const Text_t *title)
 
 AliTPCCalPad (const AliTPCCalPad &c)
 
 AliTPCCalPad (TObjArray *arrayROC)
 
virtual ~AliTPCCalPad ()
 
More...
 
AliTPCCalPadoperator= (const AliTPCCalPad &c)
 
virtual void Copy (TObject &c) const
 
virtual void Print (Option_t *option="") const
 
AliTPCCalROCGetCalROC (Int_t sector) const
 
void SetCalROC (AliTPCCalROC *roc, Int_t sector=-1)
 
virtual void Draw (Option_t *option="")
 
void AddFriend (TTree *tree, const char *friendName, const char *fname=0)
 
Bool_t MedianFilter (Int_t deltaRow, Int_t deltaPad, AliTPCCalPad *outlierPad=0, Bool_t doEdge=kTRUE)
 
Bool_t LTMFilter (Int_t deltaRow, Int_t deltaPad, Float_t fraction, Int_t type, AliTPCCalPad *outlierPad=0, Bool_t doEdge=kTRUE)
 
Bool_t Convolute (Double_t sigmaPad, Double_t sigmaRow, AliTPCCalPad *outlierPad=0, TF1 *fpad=0, TF1 *frow=0)
 
void Add (Float_t c1)
 
void Multiply (Float_t c1)
 
void Add (const AliTPCCalPad *roc, Double_t c1=1)
 
void Multiply (const AliTPCCalPad *pad)
 
void Divide (const AliTPCCalPad *pad)
 
void Reset ()
 
Double_t GetMeanRMS (Double_t &rms) const
 
Double_t GetStats (AliTPCCalROC::EStatType statType, AliTPCCalPad *const outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetMean (AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetRMS (AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetMedian (AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetMinElement (AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetMaxElement (AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll) const
 
Double_t GetLTM (Double_t *sigma=0, Double_t fraction=0.9, AliTPCCalPad *outlierPad=0, AliTPCCalROC::EPadType epadType=AliTPCCalROC::kAll) const
 
TGraph * MakeGraph (Int_t type=0, Float_t ratio=0.7, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll)
 
TH2F * MakeHisto2D (Int_t side=0)
 
TH1F * MakeHisto1D (Float_t min=4, Float_t max=-4, Int_t type=0, Int_t side=0)
 
AliTPCCalPadLocalFit (const char *padName, Int_t rowRadius, Int_t padRadius, AliTPCCalPad *Padoutliers=0, Bool_t robust=kFALSE, Double_t chi2Threshold=5, Double_t robustFraction=0.7, Bool_t printCurrentSector=kFALSE) const
 
AliTPCCalPadGlobalFit (const char *padName, AliTPCCalPad *Padoutliers=0, Bool_t robust=kFALSE, Int_t fitType=1, Double_t chi2Threshold=5, Double_t robustFraction=0.7, Double_t err=1, TObjArray *fitParArr=0x0, TObjArray *fitCovArr=0x0, AliTPCCalROC::EPadType padType=AliTPCCalROC::kAll)
 
void GlobalSidesFit (const AliTPCCalPad *PadOutliers, const char *fitFormula, TVectorD &fitParamSideA, TVectorD &fitParamSideC, TMatrixD &covMatrixSideA, TMatrixD &covMatrixSideC, Float_t &chi2SideA, Float_t &chi2SideC, AliTPCCalPad *pointError=0, Bool_t robust=kFALSE, Double_t robustFraction=0.7)
 
void DumpUnitTestTrees (const TString fileName="")
 

Static Public Member Functions

static AliTPCCalPadMakePadFromTree (TTree *tree, const char *query, const char *name=0, Bool_t doFast=kFALSE)
 
static AliTPCCalPadCreateCalPadFit (const char *fitFormula, const TVectorD &fitParamSideA, const TVectorD &fitParamSideC)
 
static TObjArrayCreateFormulaArray (const char *fitFormula)
 
static void EvalFormulaArray (const TObjArray &arrFitFormulas, TVectorD &results, const Int_t sec, const Int_t row, const Int_t pad)
 
static TCanvas * MakeReportPadSector (TTree *chain, const char *varName, const char *varTitle, const char *axisTitle, Float_t min, Float_t max, const char *cutUser="")
 
static TCanvas * MakeReportPadSector2D (TTree *chain, const char *varName, const char *varTitle, const char *axisTitle, Float_t min, Float_t max, const char *cutUser="")
 
static AliTPCCalPadMakeCalPadFromHistoRPHI (TH2 *hisA, TH2 *hisC)
 

Protected Attributes

AliTPCCalROCfROC [kNsec]
 

Detailed Description

TPC calibration class for parameters which are saved per pad Each AliTPCCalPad consists of 72 AliTPCCalROC-objects

TPC calibration class for parameters which are saved per pad

Definition at line 27 of file AliTPCCalPad.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kNsec 
kNsecSplit 

Definition at line 29 of file AliTPCCalPad.h.

Constructor & Destructor Documentation

AliTPCCalPad::AliTPCCalPad ( )
AliTPCCalPad::AliTPCCalPad ( const Text_t *  name,
const Text_t *  title 
)

AliTPCCalPad constructor

Definition at line 69 of file AliTPCCalPad.cxx.

AliTPCCalPad::AliTPCCalPad ( const AliTPCCalPad c)

AliTPCCalPad copy constructor

Definition at line 81 of file AliTPCCalPad.cxx.

AliTPCCalPad::AliTPCCalPad ( TObjArray arrayROC)

AliTPCCalPad default constructor

Definition at line 93 of file AliTPCCalPad.cxx.

AliTPCCalPad::~AliTPCCalPad ( )
virtual


AliTPCCalPad destructor

Definition at line 105 of file AliTPCCalPad.cxx.

Member Function Documentation

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

multiply AliTPCCalPad 'pad' by c1 and add each channel to the coresponing channel in all ROCs

  • pad by pad -

Definition at line 238 of file AliTPCCalPad.cxx.

void AliTPCCalPad::AddFriend ( TTree *  tree,
const char *  friendName,
const char *  fname = 0 
)

Definition at line 1038 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

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

replace constent with median in the neigborhood

Definition at line 199 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

void AliTPCCalPad::Copy ( TObject &  c) const
virtual

Copy function

Definition at line 129 of file AliTPCCalPad.cxx.

Referenced by operator=().

AliTPCCalPad * AliTPCCalPad::CreateCalPadFit ( const char *  fitFormula,
const TVectorD fitParamSideA,
const TVectorD fitParamSideC 
)
static
TObjArray * AliTPCCalPad::CreateFormulaArray ( const char *  fitFormula)
static

create an array of TFormulas for the each parameter of the fit function

Definition at line 646 of file AliTPCCalPad.cxx.

Referenced by CreateCalPadFit(), GetCalROC(), and GlobalSidesFit().

void AliTPCCalPad::Divide ( const AliTPCCalPad pad)

divide each channel of all ROCs by the coresponding channel of 'pad'

  • pad by pad -

Definition at line 264 of file AliTPCCalPad.cxx.

Referenced by AliTPCdataQA::Analyse(), and GetCalROC().

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

Draw function - standard 2D view

Definition at line 926 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

void AliTPCCalPad::DumpUnitTestTrees ( const TString  fileName = "")

Dump a unit test tree with most derived variables If filename is empty, then the "<ClassName>_UnitTest.root" is used

Definition at line 1052 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

void AliTPCCalPad::EvalFormulaArray ( const TObjArray arrFitFormulas,
TVectorD results,
const Int_t  sec,
const Int_t  row,
const Int_t  pad 
)
static

evaluate the fit formulas

Definition at line 674 of file AliTPCCalPad.cxx.

Referenced by CreateCalPadFit(), GetCalROC(), and GlobalSidesFit().

AliTPCCalROC* AliTPCCalPad::GetCalROC ( Int_t  sector) const
inline
Double_t AliTPCCalPad::GetLTM ( Double_t *  sigma = 0,
Double_t  fraction = 0.9,
AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  epadType = AliTPCCalROC::kAll 
) const

return mean of the LTM and sigma of all ROCs

Definition at line 451 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), GetCalROC(), MakeGraph(), and MakeHisto1D().

Double_t AliTPCCalPad::GetMaxElement ( AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const

return MaxElement of all ROCs

Definition at line 443 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), and GetCalROC().

Double_t AliTPCCalPad::GetMean ( AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const

return mean of the mean of all ROCs

Definition at line 411 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), GetCalROC(), MakeGraph(), MakeHisto1D(), and Print().

Double_t AliTPCCalPad::GetMeanRMS ( Double_t &  rms) const

Calculates mean and RMS of all ROCs

Definition at line 352 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

Double_t AliTPCCalPad::GetMedian ( AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const
Double_t AliTPCCalPad::GetMinElement ( AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const

return MinElement all ROCs

Definition at line 435 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), and GetCalROC().

Double_t AliTPCCalPad::GetRMS ( AliTPCCalPad outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const

return mean of the RMS of all ROCs

Definition at line 419 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), GetCalROC(), MakeHisto1D(), and Print().

Double_t AliTPCCalPad::GetStats ( AliTPCCalROC::EStatType  statType,
AliTPCCalPad *const  outlierPad = 0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
) const

return mean of statType(kMean,kMedian,kRMS) for padType(kAll,kOROCmedium,kOROClong)

Definition at line 378 of file AliTPCCalPad.cxx.

Referenced by GetCalROC(), GetMaxElement(), GetMean(), GetMedian(), GetMinElement(), and GetRMS().

AliTPCCalPad * AliTPCCalPad::GlobalFit ( const char *  padName,
AliTPCCalPad Padoutliers = 0,
Bool_t  robust = kFALSE,
Int_t  fitType = 1,
Double_t  chi2Threshold = 5,
Double_t  robustFraction = 0.7,
Double_t  err = 1,
TObjArray fitParArr = 0x0,
TObjArray fitCovArr = 0x0,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
)

Loops over all AliTPCCalROCs and performs a globalFit in each ROC AliTPCCalPad with fit-data is returned chi2Threshold: Threshold for chi2 when EvalRobust is called robustFraction: Fraction of data that will be used in EvalRobust chi2Threshold: Threshold for chi2 when EvalRobust is called robustFraction: Fraction of data that will be used in EvalRobust err: error of the data points if fitParArr and/or fitCovArr is given, write fitParameters and/or covariance Matrices into the array padType shows whether full oroc or splited oroc is taken into account

Definition at line 591 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), GetCalROC(), MakeRes(), and RebuildData().

void AliTPCCalPad::GlobalSidesFit ( const AliTPCCalPad PadOutliers,
const char *  fitFormula,
TVectorD fitParamSideA,
TVectorD fitParamSideC,
TMatrixD covMatrixSideA,
TMatrixD covMatrixSideC,
Float_t &  chi2SideA,
Float_t &  chi2SideC,
AliTPCCalPad pointError = 0,
Bool_t  robust = kFALSE,
Double_t  robustFraction = 0.7 
)

Performs a fit on both sides. Valid information for the fitFormula are the variables

  • gx, gy, lx ,ly: meaning global x, global y, local x, local y value of the padName
  • sector: the sector number. eg. a formula might look 'gy' or '(sector<36) ++ gy' or 'gx ++ gy' or 'gx ++ gy ++ lx ++ lx^2' and so on

PadOutliers - 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

Definition at line 695 of file AliTPCCalPad.cxx.

Referenced by AliTPCcalibDButil::CreatePadTime0CE(), GetCalROC(), and AliTPCcalibDButil::ProcessCEdata().

AliTPCCalPad * AliTPCCalPad::LocalFit ( const char *  padName,
Int_t  rowRadius,
Int_t  padRadius,
AliTPCCalPad Padoutliers = 0,
Bool_t  robust = kFALSE,
Double_t  chi2Threshold = 5,
Double_t  robustFraction = 0.7,
Bool_t  printCurrentSector = kFALSE 
) const

Loops over all AliTPCCalROCs and performs a localFit in each ROC AliTPCCalPad with fit-data is returned rowRadius and padRadius specifies a window around a given pad in one sector. 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 565 of file AliTPCCalPad.cxx.

Referenced by DumpUnitTestTrees(), and GetCalROC().

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

replace constent with LTM statistic in neigborhood

Definition at line 186 of file AliTPCCalPad.cxx.

Referenced by GetCalROC(), and UnitTestAliTPCCalPadTree().

AliTPCCalPad * AliTPCCalPad::MakeCalPadFromHistoRPHI ( TH2 *  hisA,
TH2 *  hisC 
)
static

Make cal pad from r-phi histograms

Definition at line 975 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

TGraph * AliTPCCalPad::MakeGraph ( Int_t  type = 0,
Float_t  ratio = 0.7,
AliTPCCalROC::EPadType  padType = AliTPCCalROC::kAll 
)

type=1 - mean 2 - median 3 - LTM padType = AliTPCCalROC::kAll full oroc sectors kOROCmedium,kOROClong split oroc sector

Definition at line 289 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

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

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

Definition at line 484 of file AliTPCCalPad.cxx.

Referenced by Draw(), and GetCalROC().

TH2F * AliTPCCalPad::MakeHisto2D ( Int_t  side = 0)

Make 2D graph side - specify the side A = 0 C = 1 type - used types of determination of boundaries in z

Definition at line 534 of file AliTPCCalPad.cxx.

Referenced by CreateGainMap(), Draw(), GetCalROC(), and testRawReaderFastTPC().

AliTPCCalPad * AliTPCCalPad::MakePadFromTree ( TTree *  tree,
const char *  query,
const char *  name = 0,
Bool_t  doFast = kFALSE 
)
static

make cal pad from the tree

Definition at line 1000 of file AliTPCCalPad.cxx.

Referenced by GetCalROC(), and UnitTestAliTPCCalPadTree().

TCanvas * AliTPCCalPad::MakeReportPadSector ( TTree *  chain,
const char *  varName,
const char *  varTitle,
const char *  axisTitle,
Float_t  min,
Float_t  max,
const char *  cutUser = "" 
)
static

Make a report - cal pads per sector mean valeus per sector and local X

Definition at line 809 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

TCanvas * AliTPCCalPad::MakeReportPadSector2D ( TTree *  chain,
const char *  varName,
const char *  varTitle,
const char *  axisTitle,
Float_t  min,
Float_t  max,
const char *  cutUser = "" 
)
static

Make a report - cal pads per sector 2D view Input tree should be created using AliPreprocesorOnline before

Definition at line 879 of file AliTPCCalPad.cxx.

Referenced by GetCalROC().

Bool_t AliTPCCalPad::MedianFilter ( Int_t  deltaRow,
Int_t  deltaPad,
AliTPCCalPad outlierPad = 0,
Bool_t  doEdge = kTRUE 
)

replace constent with median in the neigborhood

Definition at line 173 of file AliTPCCalPad.cxx.

Referenced by GetCalROC(), and UnitTestAliTPCCalPadTree().

void AliTPCCalPad::Multiply ( Float_t  c1)

multiply each channel of all ROCs with c1

Definition at line 226 of file AliTPCCalPad.cxx.

Referenced by AliTPCdataQA::Analyse(), GetCalROC(), AliTPCdataQA::Init(), and AliTPCcalibDButil::PulserOutlierMap().

void AliTPCCalPad::Multiply ( const AliTPCCalPad pad)

multiply each channel of all ROCs with the coresponding channel of 'pad'

  • pad by pad -

Definition at line 251 of file AliTPCCalPad.cxx.

AliTPCCalPad & AliTPCCalPad::operator= ( const AliTPCCalPad c)

Assignment operator

Definition at line 119 of file AliTPCCalPad.cxx.

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

Print summary content

Parameters
option- differnt level supported - used in the OCDB print

Definition at line 142 of file AliTPCCalPad.cxx.

Referenced by AliTPCPreprocessorOnline::DumpToFile().

void AliTPCCalPad::Reset ( void  )

Reset all cal Rocs

Definition at line 277 of file AliTPCCalPad.cxx.

Referenced by GetCalROC(), and AliTPCdataQA::ResetData().

void AliTPCCalPad::SetCalROC ( AliTPCCalROC roc,
Int_t  sector = -1 
)

Set AliTPCCalROC copies values from 'roc' if sector == -1 the sector specified in 'roc' is used else sector specified in 'roc' is ignored and specified sector is filled

Definition at line 162 of file AliTPCCalPad.cxx.

Referenced by AliTPCPreprocessorOnline::AddComponent(), AliTPCPreprocessor::ExtractAltro(), AliTPCPreprocessor::ExtractCE(), AliTPCPreprocessor::ExtractPedestals(), AliTPCPreprocessor::ExtractPulser(), GetCalROC(), GlobalFit(), and LocalFit().

Member Data Documentation

AliTPCCalROC* AliTPCCalPad::fROC[kNsec]
protected

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