ROOT logo
AliRoot » PWGHF » CORRELATIONHF » AliHFCorrelationFDsubtraction

class AliHFCorrelationFDsubtraction: public TNamed


 Class for subtracting D-hadron correlations from secondary D from B meson decay from D-hadron correlations of prompt+secondary D mesons
       n.b. requires the evaluation of the fraction of prompt D mesons using the same receipes used for D meson cross-section and RAA in D2H pag
       (-> fprompt obtained from FONLL predictions of prompt and secondary D, prompt and secondary D meson efficiencies and a range of hypotheses for
       RAA(DfromB)/RAA(promptD) (if needed)

 Author: A. Rossi, andrea.rossi@cern.ch

Function Members (Methods)

public:
AliHFCorrelationFDsubtraction()
AliHFCorrelationFDsubtraction(const AliHFCorrelationFDsubtraction&)
AliHFCorrelationFDsubtraction(const char* name, const char* title)
virtual~AliHFCorrelationFDsubtraction()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddTemplateHisto(TH1D* h)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCalculateEnvelope()
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 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
TH1D*DuplicateHistoTo2piRange(TH1D* h, Double_t scale = 0.5)
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
TH1D*GetCentralSubtractedPlot()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TGraphAsymmErrors*GetGraphEnvelope()
TGraphAsymmErrors*GetGraphEnvelopeRatio()
TH1D*GetHistoEnvelopeMax()
TH1D*GetHistoEnvelopeMin()
TH1D*GetHistoEnvelopeRatioMax()
TH1D*GetHistoEnvelopeRatioMin()
TH1D*GetHistoRelSystUncMax()
TH1D*GetHistoRelSystUncMin()
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
Int_tGetSystOption()
TH1D*GetTemplate(Int_t i)
virtual const char*TNamed::GetTitle() const
TGraphAsymmErrors*GetUncGraphFromHistos(TH1D* hRef, TH1D* hMin, TH1D* hMax)
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
Bool_tInit()
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
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)
AliHFCorrelationFDsubtraction&operator=(const AliHFCorrelationFDsubtraction&)
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)
TH1D*ReflectHisto(TH1D* h, Double_t scale = 1.)
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)
voidSetDptRange(Double_t ptmin, Double_t ptmax)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFpromptGraphFc(TGraphAsymmErrors* gr)
voidSetFpromptGraphNb(TGraphAsymmErrors* gr)
voidSetMethod(Int_t method)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNTemplates(Int_t ntempl)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSystOption(Int_t systOpt)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetUncorrectedHistogram(TH1D* h)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidSubtractFeedDown(TH1D* hFDTempl)
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
TStringTNamed::fTitleobject title
private:
Int_tfCountTemplinternal counter
Int_tfLastTemplAddedcounter of templates included
Int_tfSystUseRMSfromFlatDistrdifferent option to extract the systematic uncertainty. See .cxx, GetHistoRelSystUncMin method for a description
TCanvas*fcAllRatiocanva with all ratios with respect to central hypo
TCanvas**fcComparearray of canvases with comparison (template by template)
TCanvas**fcRatioarray of canvases with ratio (templ by templ)
TGraphAsymmErrors*fgrConservativeFcfc graph, fc method
TGraphAsymmErrors*fgrConservativeNbfc graph, Nb method
TGraphAsymmErrors*fgrEnvelopegraph with envelope
TGraphAsymmErrors*fgrEnvelopeRatiograph with envelope of ratios
TH1D**fhDataCorrectedArray with corrected histo, size 3*fnTemplates
TH1D*fhDataUncorrectedInput correlation histogram
TH1D*fhEnvelopeMaxenvelope with max variation
TH1D*fhEnvelopeMaxRatioenvelope with max relative variation
TH1D*fhEnvelopeMinenvelope with min variation
TH1D*fhEnvelopeMinRatioenvelope with min relative variation
TH1D**fhRatioAllToCentralTemplarray with ratio of all histos with respect to the central hypo
TH1D**fhRatioSameTemplateArray with ratio of histo based on the same template
TH1D**fhTemplatesArray with template histo, size fnTemplates
Int_tfmethodmethod: 1= fc, 2= Nb, 3= both
Int_tfnTemplatesmaximum number of templates that will be included
Double_tfptmaxmax pt (D meson pt range)
Double_tfptminmin pt (D meson pt range)

Class Charts

Inheritance Chart:
TNamed
AliHFCorrelationFDsubtraction

Function documentation

AliHFCorrelationFDsubtraction()
AliHFCorrelationFDsubtraction(const char* name, const char* title)
~AliHFCorrelationFDsubtraction()
Bool_t Init()
Bool_t AddTemplateHisto(TH1D* h)
void SubtractFeedDown(TH1D* hFDTempl)
TGraphAsymmErrors* GetUncGraphFromHistos(TH1D* hRef, TH1D* hMin, TH1D* hMax)
TH1D* ReflectHisto(TH1D* h, Double_t scale = 1.)
TH1D* DuplicateHistoTo2piRange(TH1D* h, Double_t scale = 0.5)
TH1D* GetHistoRelSystUncMin()
 that with our procedure the rel. unc. is variation/distribution, and thus its value is strongly dependent on the baseline: only the absolute unc (->variation) is really meaningful
 Options: if fSystUseRMSfromFlatDistr
 =0 the full spread (->DeltaMax, DeltaMin) of the envelopes is used to define the syst unc,
 =1 (default) DeltaMax/sqrt(3) and DeltaMin/sqrt(3) is used;
 =2: as 1 but then the result is reflected to the range (0,pi), to decrease stat unc;
 =3 as 1 then a smoothing is done (pol0 fit over 3 points), then the result is refelcted; other values not implemented yet (e.g. =2 could be taking the RMS)
 =4 as 1 then a smoothing is done (linear fit over 3 points), then the result is refelcted; other values not implemented yet (e.g. =2 could be taking the RMS)
TH1D* GetHistoRelSystUncMax()
void CalculateEnvelope()
AliHFCorrelationFDsubtraction()
void SetUncorrectedHistogram(TH1D* h)
{fhDataUncorrected=(TH1D*)h->Clone();}
void SetDptRange(Double_t ptmin, Double_t ptmax)
{fptmin=ptmin;fptmax=ptmax;}
void SetNTemplates(Int_t ntempl)
{fnTemplates=ntempl;}
void SetFpromptGraphFc(TGraphAsymmErrors* gr)
{fgrConservativeFc=(TGraphAsymmErrors*)gr->Clone();}
void SetFpromptGraphNb(TGraphAsymmErrors* gr)
{fgrConservativeNb=(TGraphAsymmErrors*)gr->Clone();}
void SetMethod(Int_t method)
{fmethod=method;}
void SetSystOption(Int_t systOpt)
Int_t GetSystOption()
TGraphAsymmErrors* GetGraphEnvelope()
{return fgrEnvelope;}
TGraphAsymmErrors* GetGraphEnvelopeRatio()
TH1D* GetHistoEnvelopeRatioMin()
TH1D* GetHistoEnvelopeRatioMax()
TH1D* GetHistoEnvelopeMin()
{return fhEnvelopeMin;}
TH1D* GetHistoEnvelopeMax()
{return fhEnvelopeMax;}
TH1D* GetCentralSubtractedPlot()
{return fhDataCorrected[0];}
TH1D* GetTemplate(Int_t i)