ROOT logo
AliRoot » TRD » AliTRDdEdxBaseUtils

class AliTRDdEdxBaseUtils

                                   Math and Histogram

Function Members (Methods)

public:
AliTRDdEdxBaseUtils()
AliTRDdEdxBaseUtils(const AliTRDdEdxBaseUtils&)
~AliTRDdEdxBaseUtils()
static Double_tALEPH(const Double_t* xx, const Double_t* par)
static voidBinLogX(TAxis* axis)
static Int_tCalibTPCnclsCut()
static voidCheckRunB(TString listrun1kg, Int_t run, TString& type)
static voidFastFitdEdxTR(TH1* hh)
static voidFitSlicesY(const TH2D* hh, TH1D*& hnor, TH1D*& hmpv, TH1D*& hwid, TH1D*& hres, Double_t thres, Double_t lowfrac, Double_t highfrac)
static voidGetCDFCuts(const TH1D* hh, Int_t ncut, Double_t* cuts, const Double_t* cdfs, Double_t thres)
static Double_tGetdldx(const AliTRDseedV1* tracklet)
static Double_tGetdydx(const AliTRDseedV1* tracklet)
static Double_tGetdzdx(const AliTRDseedV1* tracklet)
static voidGetFirstSectorStackMomentum(const AliTRDtrackV1* trdtrack, Int_t& isec, Int_t& istk, Double_t& mom)
static AliTRDseedV1*GetFirstTracklet(const AliTRDtrackV1* trdtrack)
static AliTRDseedV1*GetLastTracklet(const AliTRDtrackV1* trdtrack)
static Double_tGetMeanRMS(Double_t nn, Double_t sum, Double_t w2s, Double_t* grms = 0x0, Double_t* gerr = 0x0)
static Int_tGetNtracklet(const AliESDEvent* esd)
static Double_tGetRedefinedPhi(Double_t phi)
static TStringGetRunType(Int_t run)
static AliTRDtrackV1*GetTRDtrackV1(const AliESDtrack* esdtrack)
static Bool_tIsExBOn()
static Bool_tIsInSameStack(const AliTRDtrackV1* trdtrack)
static Bool_tIsPadGainOn()
static Double_tMeandEdx(const Double_t* xx, const Double_t* par)
static Double_tMeandEdxLogx(const Double_t* xx, const Double_t* par)
static Double_tMeandEdxTR(const Double_t* xx, const Double_t* par)
static Double_tMeandEdxTRLogx(const Double_t* xx, const Double_t* par)
static Double_tMeanTR(const Double_t* xx, const Double_t* par)
static Double_tMeanTRLogx(const Double_t* xx, const Double_t* par)
static Int_tNTRDchamber()
static Int_tNTRDtimebin()
AliTRDdEdxBaseUtils&operator=(const AliTRDdEdxBaseUtils&)
static voidPrintControl()
static Double_tQ0Frac()
static Double_tQ0MeanTRDPbPb(Double_t bg)
static Double_tQ0MeanTRDpp(Double_t bg)
static Double_tQ1Frac()
static Double_tQ1MeanTRDPbPb(Double_t bg)
static Double_tQ1MeanTRDpp(Double_t bg)
static Double_tQMeanTPC(Double_t bg)
static Double_tQScale()
static voidSetCalibTPCnclsCut(Int_t tpc)
static voidSetExBOn(Bool_t kon)
static voidSetPadGainOn(Bool_t kon)
static voidSetQ0Frac(Double_t q0)
static voidSetQ1Frac(Double_t q1)
static voidSetQScale(Double_t scale)
static voidSetTimeBinCountCut(Double_t tbc)
static Double_tTimeBinCountCut()
static Int_tToDetector(Int_t gtb)
static Int_tToLayer(Int_t gtb)
static Int_tToSector(Int_t gtb)
static Int_tToStack(Int_t gtb)
static Int_tToTimeBin(Int_t gtb)
static Double_tTruncatedMean(const TH1* hh, Double_t lowfrac, Double_t highfrac, Double_t* grms = 0x0, Double_t* gerr = 0x0)
static Double_tTruncatedMean(Int_t nx, const Double_t* xdata, Double_t lowfrac, Double_t highfrac, Double_t* grms = 0x0, Double_t* gerr = 0x0, Double_t* wws = 0x0)
private:
static Double_tToLogx(AliTRDdEdxBaseUtils::FFunc func, const Double_t* xx, const Double_t* par)

Data Members

private:
static Int_tfgCalibTPCnclsCuttpccut
static Bool_tfgExBOnexbon
static Bool_tfgPadGainOnpad gain
static Double_tfgQ0Fracq0frac
static Double_tfgQ1Fracq1frac
static Double_tfgQScaleQscale
static Double_tfgTimeBinCountCuttbcut

Class Charts

Inheritance Chart:
AliTRDdEdxBaseUtils

Function documentation

void BinLogX(TAxis* axis)
 Method for the correct logarithmic binning of histograms
 copied and modified from AliTPCcalibBase
void GetCDFCuts(const TH1D* hh, Int_t ncut, Double_t* cuts, const Double_t* cdfs, Double_t thres)
counts of hh is sorted

Double_t GetMeanRMS(Double_t nn, Double_t sum, Double_t w2s, Double_t* grms = 0x0, Double_t* gerr = 0x0)
calculate mean (with error) and rms from sum, w2s, nn
if nn=0, mean, error, and rms all = 0

Double_t TruncatedMean(Int_t nx, const Double_t* xdata, Double_t lowfrac, Double_t highfrac, Double_t* grms = 0x0, Double_t* gerr = 0x0, Double_t* wws = 0x0)
calculate truncated mean
return <x*w>_{low-high according to x}

Double_t TruncatedMean(const TH1* hh, Double_t lowfrac, Double_t highfrac, Double_t* grms = 0x0, Double_t* gerr = 0x0)
do truncation on histogram

if hh is scaled, be sure Sumw2 is called before scaling!! then mean, rms and err will all be correct
void FitSlicesY(const TH2D* hh, TH1D*& hnor, TH1D*& hmpv, TH1D*& hwid, TH1D*& hres, Double_t thres, Double_t lowfrac, Double_t highfrac)
fit slices of hh using truncation

Int_t GetNtracklet(const AliESDEvent* esd)
number of trd tracklet in one esd event

AliTRDtrackV1 * GetTRDtrackV1(const AliESDtrack* esdtrack)
Get TRD friend track

Bool_t IsInSameStack(const AliTRDtrackV1* trdtrack)
 to check if all tracklets are in the same stack, useful in cosmic

Double_t GetRedefinedPhi(Double_t phi)
redefine phi in pi/2 - pi/2 + 2pi

Double_t Getdydx(const AliTRDseedV1* tracklet)
get dydx

Double_t Getdzdx(const AliTRDseedV1* tracklet)
get dzdx

Double_t Getdldx(const AliTRDseedV1* tracklet)
return angular normalization factor = dldx

AliTRDseedV1 * GetFirstTracklet(const AliTRDtrackV1* trdtrack)
as function name

AliTRDseedV1 * GetLastTracklet(const AliTRDtrackV1* trdtrack)
get last tracklet

void GetFirstSectorStackMomentum(const AliTRDtrackV1* trdtrack, Int_t& isec, Int_t& istk, Double_t& mom)
as function name

Int_t ToDetector(Int_t gtb)
gtb = det*Ntb+itb

Int_t ToTimeBin(Int_t gtb)
gtb = det*Ntb+itb

Int_t ToSector(Int_t gtb)
return sector

Int_t ToStack(Int_t gtb)
return stack

Int_t ToLayer(Int_t gtb)
return layer

void CheckRunB(TString listrun1kg, Int_t run, TString& type)
check run b field

TString GetRunType(Int_t run)
return run type

void PrintControl()
print out control variable

void FastFitdEdxTR(TH1* hh)
fit dedx tr from mean

Double_t Q0MeanTRDpp(Double_t bg)
truncated Mean Q_{xx} in TRD

Double_t Q0MeanTRDPbPb(Double_t bg)
truncated Mean Q_{xx} in TRD

Double_t Q1MeanTRDpp(Double_t bg)
truncated Mean 1/(1/Q)_{xx} in TRD

Double_t Q1MeanTRDPbPb(Double_t bg)
truncated Mean 1/(1/Q)_{xx} in TRD

Double_t QMeanTPC(Double_t bg)
bethe bloch in TPC

Double_t MeandEdxTR(const Double_t* xx, const Double_t* par)
ALEPH+LOGISTIC parametrization for dEdx+TR, in unit of MIP
npar = 8 = 3+5

Double_t MeanTR(const Double_t* xx, const Double_t* par)
ALEPH+LOGISTIC parametrization for dEdx+TR, in unit of MIP
npar = 4

Double_t MeandEdx(const Double_t* xx, const Double_t* par)
Double_t ALEPH(const Double_t* xx, const Double_t* par)
ALEPH parametrization for dEdx
npar = 5

Double_t ToLogx(AliTRDdEdxBaseUtils::FFunc func, const Double_t* xx, const Double_t* par)
f(x)-> f(y) with y=log10(x)

Int_t NTRDchamber()
                                 Detector, Data and Control Constant

{return 18*5*6;}
Int_t NTRDtimebin()
{return NTRDchamber()*31;}
void SetQ0Frac(Double_t q0)
{ fgQ0Frac = q0; }
void SetQ1Frac(Double_t q1)
{ fgQ1Frac = q1; }
void SetTimeBinCountCut(Double_t tbc)
void SetCalibTPCnclsCut(Int_t tpc)
void SetExBOn(Bool_t kon)
{ fgExBOn = kon; }
void SetPadGainOn(Bool_t kon)
{ fgPadGainOn = kon; }
void SetQScale(Double_t scale)
{ fgQScale = scale; }
Double_t Q0Frac()
{return fgQ0Frac;}
Double_t Q1Frac()
{return fgQ1Frac;}
Double_t TimeBinCountCut()
Int_t CalibTPCnclsCut()
Bool_t IsExBOn()
{return fgExBOn;}
Bool_t IsPadGainOn()
{return fgPadGainOn;}
Double_t QScale()
{return fgQScale;}
Double_t MeandEdxLogx(const Double_t* xx, const Double_t* par)
{return ToLogx(MeandEdx, xx, par);}
Double_t MeanTRLogx(const Double_t* xx, const Double_t* par)
{return ToLogx(MeanTR, xx, par);}
Double_t MeandEdxTRLogx(const Double_t* xx, const Double_t* par)
{return ToLogx(MeandEdxTR, xx, par);}