ROOT logo
AliRoot » PWGLF » FORWARD » ANALYSIS2 » AliFMDEnergyFitter

class AliFMDEnergyFitter: public TNamed

Function Members (Methods)

public:
AliFMDEnergyFitter()
AliFMDEnergyFitter(const char* title)
virtual~AliFMDEnergyFitter()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tAccumulate(const AliESDFMD& input, Double_t cent, Bool_t empty)
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
virtual voidTNamed::Copy(TObject& named) const
virtual voidCreateOutputObjects(TList* dir)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(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
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
virtual voidFit(const TList* dir)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
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
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
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
voidInit()
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
virtual voidTNamed::ls(Option_t* option = "") const
voidMakeCorrectionsObject(TList* dir)
voidTObject::MayNotUse(const char* method) const
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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
Bool_tReadParameters(const TCollection* list)
virtual voidTObject::RecursiveRemove(TObject* obj)
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)
voidSetCentralityAxis(UShort_t nBins, Double_t* bins)
voidSetDebug(Int_t dbg = 1)
voidSetDoFits(Bool_t doFit = kTRUE)
voidSetDoMakeObject(Bool_t doMake = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEnableDeltaShift(Bool_t use = true)
voidSetEtaAxis(const TAxis& etaAxis)
voidSetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax)
voidSetFitRangeBinWidth(UShort_t n = 4)
voidSetLowCut(Double_t lowCut = 0.3)
voidSetMaxChi2PerNDF(Double_t c = 10)
voidSetMaxE(Double_t x)
voidSetMaxRelativeParameterError(Double_t e = 0.2)
voidSetMinEntries(UShort_t n)
voidSetMinWeight(Double_t c = 1e-7)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNEbins(Int_t x)
voidSetNParticles(UShort_t n)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRegularizationCut(Double_t cut = 3e6)
voidSetSkips(UShort_t skip)
voidSetStoreResiduals(AliFMDEnergyFitter::EResidualMethod x = kResidualDifference)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetupForData(const TAxis& etaAxis)
voidSetUseIncreasingBins(Bool_t x)
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:
AliFMDEnergyFitter(const AliFMDEnergyFitter& o)
static Bool_tCheckSkip(UShort_t d, Char_t r, UShort_t skips)
virtual AliFMDEnergyFitter::RingHistos*CreateRingHistos(UShort_t d, Char_t r) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
AliFMDEnergyFitter::RingHistos*GetRingHistos(UShort_t d, Char_t r) const
voidTObject::MakeZombie()
AliFMDEnergyFitter&operator=(const AliFMDEnergyFitter& o)

Data Members

public:
enum { kC
kDelta
kXi
kSigma
kSigmaN
kN
kA
};
enum EResidualMethod { kNoResiduals
kResidualDifference
kResidualScaledDifference
kResidualSquareDifference
};
enum FMDRingBits { kFMD1I
kFMD1
kFMD2I
kFMD2O
kFMD2
kFMD3I
kFMD3O
kFMD3
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TAxisfCentralityAxisCentrality axis
Int_tfDebugDebug level
Bool_tfDoFitsWhether to actually do the fits
Bool_tfDoMakeObjectWhether to make corrections object
TAxisfEtaAxisEta axis
UShort_tfFitRangeBinWidthN-bins to subtract from found max
Double_tfLowCutLow cut on energy
Double_tfMaxChi2PerNDFchi^2/nu cit
Double_tfMaxEMaximum energy loss to consider
Double_tfMaxRelParErrorRelative error cut
UShort_tfMinEntriesMinimum number of entries
Double_tfMinWeightMinimum weight value
Int_tfNEbinsNumber of energy loss bins
UShort_tfNParticlesNumber of landaus to try to fit
TStringTNamed::fNameobject identifier
Double_tfRegularizationCutWhen to regularize the chi^2
AliFMDEnergyFitter::EResidualMethodfResidualMethodWhether to store residuals (debugging)
TListfRingHistosList of histogram containers
UShort_tfSkipsRings to skip when fitting
TStringTNamed::fTitleobject title
Bool_tfUseIncreasingBinsWheter to use increasing bin sizes

Class Charts

Inheritance Chart:
TNamed
AliFMDEnergyFitter
AliFMDMCTrackInspector

Function documentation

AliFMDEnergyFitter()
 Default Constructor - do not use

 DGUARD(fDebug, 1, "Default CTOR of AliFMDEnergyFitter");
AliFMDEnergyFitter(const char* title)
 Constructor

 Parameters:
    title Title of object  - not significant

 DGUARD(fDebug, 1, "Named CTOR of AliFMDEnergyFitter: %s", title);
~AliFMDEnergyFitter()
 Destructor

CreateRingHistos(UShort_t d, Char_t r) const
GetRingHistos(UShort_t d, Char_t r) const
 Get the ring histogram container

 Parameters:
    d Detector
    r Ring

 Return:
    Ring histogram container

Init()
 Create the ring histograms.

 Should be called from task initialization.
CreateOutputObjects(TList* dir)
 Define the output histograms.  These are put in a sub list of the
 passed list.   The histograms are merged before the parent task calls
 AliAnalysisTaskSE::Terminate.  Called on task initialization on slaves.

 Parameters:
    dir Directory to add to

SetupForData(const TAxis& etaAxis)
 Initialise the task - called at first event

 Parameters:
    etaAxis The eta axis to use.  Note, that if the eta axis
 has already been set (using SetEtaAxis), then this parameter will be
 ignored

SetEtaAxis(const TAxis& etaAxis)
 Set the eta axis to use.  This will force the code to use this
 eta axis definition - irrespective of whatever axis is passed to
 the Init member function.  Therefore, this member function can be
 used to force another eta axis than one found in the correction
 objects.

 Parameters:
    etaAxis Eta axis to use

SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax)
 Set the eta axis to use.  This will force the code to use this
 eta axis definition - irrespective of whatever axis is passed to
 the Init member function.  Therefore, this member function can be
 used to force another eta axis than one found in the correction
 objects.

 Parameters:
    nBins  Number of bins
    etaMin Minimum of the eta axis
    etaMax Maximum of the eta axis

SetCentralityAxis(UShort_t nBins, Double_t* bins)
SetEnableDeltaShift(Bool_t use = true)
Accumulate(const AliESDFMD& input, Double_t cent, Bool_t empty)
 Fitter the input AliESDFMD object

 Parameters:
    input     Input
    cent      Centrality
    empty     Whether the event is 'empty'

 Return:
    True on success, false otherwise
Fit(const TList* dir)
 Scale the histograms to the total number of events

 Parameters:
    dir Where the histograms are

MakeCorrectionsObject(TList* dir)
 Generate the corrections object

 Parameters:
    dir List to analyse

SetDebug(Int_t dbg = 1)
 Set the debug level.  The higher the value the more output

 Parameters:
    dbg Debug level

ReadParameters(const TCollection* list)
 Read parameters of this object from a collection

 Parameters:
    col   Collection to read parameters from

 Return value:
   true on success, false otherwise

CheckSkip(UShort_t d, Char_t r, UShort_t skips)
Print(Option_t* option = "") const
 Print information

 Parameters:
    option Not used

AliFMDEnergyFitter()
   * Default Constructor - do not use

void SetLowCut(Double_t lowCut = 0.3)
   * Set the low cut used for energy
   *
   * @param lowCut Low cut

{ fLowCut = lowCut; }
void SetFitRangeBinWidth(UShort_t n = 4)
   * Set the number of bins to subtract
   *
   * @param n

void SetDoFits(Bool_t doFit = kTRUE)
   * Whether or not to enable fitting of the final merged result.
   * Note, fitting takes quite a while and one should be careful not to do
   * this needlessly
   *
   * @param doFit Whether to do the fits or not

{ fDoFits = doFit; }
void SetDoMakeObject(Bool_t doMake = kTRUE)
   * Set whether to make the corrections object on the output.  Note,
   * fits should be enable for this to have any effect.
   *
   * @param doMake If true (false is default), do make the corrections object.

{ fDoMakeObject = doMake; }
void SetNParticles(UShort_t n)
   * Set how many particles we will try to fit at most to the data
   *
   * @param n Max number of particle to try to fit

{ fNParticles = (n<1 ? 1 : (n>7 ? 7 : n)); }
void SetMinEntries(UShort_t n)
   * Set the minimum number of entries each histogram must have
   * before we try to fit our response function to it
   *
   * @param n Minimum number of entries

{ fMinEntries = (n < 1 ? 1 : n); }
void SetMaxE(Double_t x)
   * Set maximum energy loss to consider
   *
   * @param x Maximum energy loss to consider

{ fMaxE = x; }
void SetNEbins(Int_t x)
   * Set number of energy loss bins
   *
   * @param x Number of energy loss bins

{ fNEbins = x; }
void SetMaxRelativeParameterError(Double_t e = 0.2)
   * Set the maximum relative error
   *
   * @param e Maximum relative error

void SetMaxChi2PerNDF(Double_t c = 10)
   * Set the maximum @f$ \chi^2/\nu@f$
   *
   * @param c Maximum @f$ \chi^2/\nu@f$

void SetMinWeight(Double_t c = 1e-7)
   * Set the least weight
   *
   * @param c Least weight

{ fMinWeight = c; }
void SetUseIncreasingBins(Bool_t x)
   * Set wheter to use increasing bin sizes
   *
   * @param x Wheter to use increasing bin sizes

void SetStoreResiduals(AliFMDEnergyFitter::EResidualMethod x = kResidualDifference)
   * Set whether to make residuals, and in that case how.
   *
   * - Square difference: @f$chi_i^2=(h_i - f(x_i))^2/\delta_i^2@f$
   * - Scaled difference: @f$(h_i - f(x_i))/\delta_i@f$
   * - Difference: @f$(h_i - f(x_i)) \pm\delta_i@f$
   *
   * where @f$h_i, x_i, \delta_i@f$ is the bin content, bin center,
   * and bin error for bin @f$i@f$ respectively, and @f$ f@f$ is the
   * fitted function.
   *
   * @param x Residual method

void SetRegularizationCut(Double_t cut = 3e6)
   * Set the regularization cut @f$c_{R}@f$.  If a @f$\Delta@f$
   * distribution has more entries @f$ N_{dist}@f$ than @f$c_{R}@f$,
   * then we modify the errors of the the distribution with the factor
   *
   * @f[
   * \sqrt{N_{dist}/c_{R}}
   * @f]
   *
   * to keep the @f$\chi^2/\nu@f$ within resonable limits.
   *
   * The large residuals @f$chi_i^2=(h_i - f(x_i))^2/\delta_i^2@f$
   * (see also SetStoreResiduals) comes about on the boundary between
   * the @f$N@f$ and @f$N+1@f$ particle contributions, and seems to
   * fall off for larger @f$N@f$. This may indicate that there's a
   * component in the distributions that the function
   *
   * @f[
   *   f(\Delta;\Delta_p,\xi,\sigma,\mathbf{a}) = \sum_i=1^{n} a_i\int
   *   d\Delta' L(\Delta;\Delta',\xi) G(\Delta';\Delta_p,\sigma)
   * @f]
   *
   * does not capture.
   *
   * @param cut

void SetSkips(UShort_t skip)
   * Set the debug level.  The higher the value the more output
   *
   * @param dbg Debug level

{ fSkips = skip; }
AliFMDEnergyFitter& operator=(const AliFMDEnergyFitter& o)
   * Assignment operator
   *
   * @param o Object to assign from
   *
   * @return Reference to this