ROOT logo
AliRoot » TPC » BASE » AliTPCCalPad

class AliTPCCalPad: public TNamed


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


Function Members (Methods)

public:
AliTPCCalPad()
AliTPCCalPad(const AliTPCCalPad& c)
AliTPCCalPad(TObjArray* arrayROC)
AliTPCCalPad(const Text_t* name, const Text_t* title)
virtual~AliTPCCalPad()
voidTObject::AbstractMethod(const char* method) const
voidAdd(Float_t c1)
voidAdd(const AliTPCCalPad* roc, Double_t c1 = 1)
voidAddFriend(TTree* tree, const char* friendName, const char* fname = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tConvolute(Double_t sigmaPad, Double_t sigmaRow, AliTPCCalPad* outlierPad = 0, TF1* fpad = 0, TF1* frow = 0)
virtual voidCopy(TObject& c) const
static AliTPCCalPad*CreateCalPadFit(const char* fitFormula, const TVectorD& fitParamSideA, const TVectorD& fitParamSideC)
static TObjArray*CreateFormulaArray(const char* fitFormula)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voidDivide(const AliTPCCalPad* pad)
virtual voidDraw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
static voidEvalFormulaArray(const TObjArray& arrFitFormulas, TVectorD& results, const Int_t sec, const Int_t row, const Int_t pad)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliTPCCalROC*GetCalROC(Int_t sector) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tGetLTM(Double_t* sigma = 0, Double_t fraction = 0.9, AliTPCCalPad* outlierPad = 0)
Double_tGetMean(AliTPCCalPad* outlierPad = 0)
Double_tGetMeanRMS(Double_t& rms)
Double_tGetMedian(AliTPCCalPad* outlierPad = 0)
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetRMS(AliTPCCalPad* outlierPad = 0)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
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)
voidGlobalSidesFit(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)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
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
virtual voidTNamed::ls(Option_t* option = "") const
Bool_tLTMFilter(Int_t deltaRow, Int_t deltaPad, Float_t fraction, Int_t type, AliTPCCalPad* outlierPad = 0, Bool_t doEdge = kTRUE)
static AliTPCCalPad*MakeCalPadFromHistoRPHI(TH2* hisA, TH2* hisC)
TGraph*MakeGraph(Int_t type = 0, Float_t ratio = 0.7)
TH1F*MakeHisto1D(Float_t min = 4, Float_t max = -4, Int_t type = 0, Int_t side = 0)
TH2F*MakeHisto2D(Int_t side = 0)
static AliTPCCalPad*MakePadFromTree(TTree* tree, const char* query, const char* name = 0, Bool_t doFast = kFALSE)
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 = "")
voidTObject::MayNotUse(const char* method) const
Bool_tMedianFilter(Int_t deltaRow, Int_t deltaPad, AliTPCCalPad* outlierPad = 0, Bool_t doEdge = kTRUE)
voidMultiply(Float_t c1)
voidMultiply(const AliTPCCalPad* pad)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliTPCCalPad&operator=(const AliTPCCalPad& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCalROC(AliTPCCalROC* roc, Int_t sector = -1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
TStringTNamed::fNameobject identifier
AliTPCCalROC*fROC[72]Array of ROC objects which contain the values per pad
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliTPCCalPad

Function documentation

AliTPCCalPad()
 AliTPCCalPad default constructor

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

AliTPCCalPad(const AliTPCCalPad& c)
 AliTPCCalPad copy constructor

AliTPCCalPad(TObjArray* arrayROC)
 AliTPCCalPad default constructor

~AliTPCCalPad()
 AliTPCCalPad destructor

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

void Copy(TObject& c) const
 Copy function

void 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

Bool_t MedianFilter(Int_t deltaRow, Int_t deltaPad, AliTPCCalPad* outlierPad = 0, Bool_t doEdge = kTRUE)
 replace constent with median in the neigborhood

Bool_t 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

Bool_t Convolute(Double_t sigmaPad, Double_t sigmaRow, AliTPCCalPad* outlierPad = 0, TF1* fpad = 0, TF1* frow = 0)
 replace constent with median in the neigborhood

void Add(Float_t c1)
 add constant c1 to all channels of all ROCs

void Multiply(Float_t c1)
 multiply each channel of all ROCs with c1

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

void Multiply(const AliTPCCalPad* pad)
 multiply each channel of all ROCs with the coresponding channel of 'pad'
     - pad by pad -

void Divide(const AliTPCCalPad* pad)
 divide each channel of all ROCs by the coresponding channel of 'pad'
     - pad by pad -

void Reset()
 Reset all cal Rocs

TGraph * MakeGraph(Int_t type = 0, Float_t ratio = 0.7)
   type=1 - mean
        2 - median
        3 - LTM

Double_t GetMeanRMS(Double_t& rms)
 Calculates mean and RMS of all ROCs

Double_t GetMean(AliTPCCalPad* outlierPad = 0)
 return mean of the mean of all ROCs

Double_t GetRMS(AliTPCCalPad* outlierPad = 0)
 return mean of the RMS of all ROCs

Double_t GetMedian(AliTPCCalPad* outlierPad = 0)
 return mean of the median of all ROCs

Double_t GetLTM(Double_t* sigma = 0, Double_t fraction = 0.9, AliTPCCalPad* outlierPad = 0)
 return mean of the LTM and sigma of all ROCs

TH1F * 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

TH2F * 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

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


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

TObjArray* CreateFormulaArray(const char* fitFormula)
 create an array of TFormulas for the each parameter of the fit function

void EvalFormulaArray(const TObjArray& arrFitFormulas, TVectorD& results, const Int_t sec, const Int_t row, const Int_t pad)
 evaluate the fit formulas

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

AliTPCCalPad * CreateCalPadFit(const char* fitFormula, const TVectorD& fitParamSideA, const TVectorD& fitParamSideC)


TCanvas * MakeReportPadSector(TTree* chain, const char* varName, const char* varTitle, const char* axisTitle, Float_t min, Float_t max, const char* cutUser = "")
 Make a report - cal pads per sector
 mean valeus per sector and local X

TCanvas * MakeReportPadSector2D(TTree* chain, const char* varName, const char* varTitle, const char* axisTitle, Float_t min, Float_t max, const char* cutUser = "")
 Make a report - cal pads per sector
 2D view
 Input tree should be created using AliPreprocesorOnline before

void Draw(Option_t* option = "")
 Draw function - standard 2D view

AliTPCCalPad * MakeCalPadFromHistoRPHI(TH2* hisA, TH2* hisC)
 Make cal pad from r-phi histograms

AliTPCCalPad * MakePadFromTree(TTree* tree, const char* query, const char* name = 0, Bool_t doFast = kFALSE)
 make cal pad from the tree

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


AliTPCCalROC * GetCalROC(Int_t sector) const
{return fROC[sector]; }