ROOT logo
AliRoot » PWGDQ » DIELECTRON » AliDielectronSignalBase

class AliDielectronSignalBase: public TNamed

Dielectron SignalBase



Base class for signal extraction from a histogram or an array of histograms
The histogram is assumed to be an inv. mass spectrum,
the array of histograms is assumed to be an array with inv. mass histograms
resulting from single and mixed events, as defined in AliDielectron.cxx




Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliDielectronSignalBase()
voidTObject::AbstractMethod(const char* method) const
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 voidTObject::Delete(Option_t* option = "")MENU
TObject*DescribePeakShape(AliDielectronSignalBase::ESignalExtractionMethod method, Bool_t replaceValErr = kFALSE, TH1F* mcShape = 0x0)
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
Double_tGetBackground() const
Double_tGetBackgroundError() const
TH1*GetBackgroundHistogram() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const TVectorD&GetErrors() const
Int_tGetExtractionMethod() const
virtual const char*TObject::GetIconName() const
Double_tGetIntegralMax() const
Double_tGetIntegralMin() const
Double_tGetMass() const
Double_tGetMassError() const
Double_tGetMassWidth() const
Double_tGetMassWidthError() const
Int_tGetMethod() 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_tGetParticleOfInterest() const
TObject*GetPeakShape() const
TH1*GetRfactorHistogram() const
Double_tGetSB() const
Double_tGetSBError() const
Double_tGetScaleFactor() const
Double_tGetScaleMax() const
Double_tGetScaleMax2() const
Double_tGetScaleMin() const
Double_tGetScaleMin2() const
Double_tGetSignal() const
Double_tGetSignalError() const
TH1*GetSignalHistogram() const
Double_tGetSignificance() const
Double_tGetSignificanceError() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TH1*GetUnlikeSignHistogram() const
static const char*GetValueName(Int_t i)
const TVectorD&GetValues() 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
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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual voidProcess(TObjArray *const)
virtual Int_tTObject::Read(const char* name)
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 = "")
static Double_tScaleHistograms(TH1* histRaw, TH1* histBackground, Double_t intMin, Double_t intMax)
static Double_tScaleHistograms(TH1* histRaw, TH1* histBackground, Double_t intMin, Double_t intMax, Double_t intMin2, Double_t intMax2)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetExtractionMethod(AliDielectronSignalBase::ESignalExtractionMethod method)
voidSetFitRange(Double_t min, Double_t max)
voidSetIntegralRange(Double_t min, Double_t max)
voidSetMCSignalShape(TH1F* hist)
voidSetMethod(AliDielectronSignalBase::EBackgroundMethod method)
voidSetMixingCorrection(Bool_t mixcorr = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParticleOfInterest(Int_t pdgcode)
voidSetRebin(Int_t factor)
voidSetScaleRawToBackground(Double_t intMin, Double_t intMax)
voidSetScaleRawToBackground(Double_t intMin, Double_t intMax, Double_t intMin2, Double_t intMax2)
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
TPaveText*DrawStats(Double_t x1 = 0., Double_t y1 = 0., Double_t x2 = 0., Double_t y2 = 0.)
voidTObject::MakeZombie()
AliDielectronSignalBase&operator=(const AliDielectronSignalBase& c)
voidSetFWHM()
voidSetSignificanceAndSOB()

Data Members

public:
enum EBackgroundMethod { kFittedMC
kFitted
kLikeSign
kLikeSignArithm
kLikeSignRcorr
kLikeSignArithmRcorr
kLikeSignFit
kEventMixing
kEventMixingFit
kRotation
};
enum ESignalExtractionMethod { kBinCounting
kMCScaledMax
kMCScaledInt
kMCFitted
kCrystalBall
kGaus
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TVectorDfErrorsvalue errors
Double_tfFitMaxfit range highest inv. mass
Double_tfFitMinfit range lowest inv. mass
TH1*fHistBackgroundhistogram of background (fitted=0, like-sign=1, event mixing=2)
TH1*fHistDataMEhistogram of selected +- pair candidates from mixed event
TH1*fHistDataMMhistogram of selected -- pair candidates
TH1*fHistDataPMhistogram of selected +- pair candidates
TH1*fHistDataPPhistogram of selected ++ pair candidates
TH1*fHistRfactorhistogram of R factors
TH1*fHistSignalhistogram of pure signal
Double_tfIntMaxsignal extraction range max
Double_tfIntMinsignal extraction range min
AliDielectronSignalBase::EBackgroundMethodfMethodmethod for background substraction
Bool_tfMixingCorrswitch for bin by bin correction with R factor
TStringTNamed::fNameobject identifier
Int_tfPOIpdgpdg code particle of interest
AliDielectronSignalBase::ESignalExtractionMethodfPeakMethodmethod for peak description and signal extraction
Bool_tfProcessedflag
Int_tfRebinhistogram rebin factor
Double_tfScaleFactorscale factor of raw to background histogram scaling
Double_tfScaleMaxmax for scaling of raw and background histogram
Double_tfScaleMax2max for scaling of raw and background histogram
Double_tfScaleMinmin for scaling of raw and background histogram
Double_tfScaleMin2min for scaling of raw and background histogram
TStringTNamed::fTitleobject title
TVectorDfValuesvalues
static TH1F*fgHistSimPMsimulated peak shape
static TObject*fgPeakShapehistogram or function used to describe the extracted signal
static const char*fgkValueNames[6]value names

Class Charts

Inheritance Chart:
TNamed
AliDielectronSignalBase
AliDielectronSignalExt
AliDielectronSignalFunc

Function documentation

~AliDielectronSignalBase()
 Default Destructor

TPaveText* DrawStats(Double_t x1 = 0., Double_t y1 = 0., Double_t x2 = 0., Double_t y2 = 0.)
 Draw extracted values in a TPaveText
 with the corners x1,y2,x2,y2

void Print(Option_t* option = "") const
 Print the statistics

Double_t ScaleHistograms(TH1* histRaw, TH1* histBackground, Double_t intMin, Double_t intMax)
 scale histBackground to match the integral of histRaw in the interval intMin, intMax

Double_t ScaleHistograms(TH1* histRaw, TH1* histBackground, Double_t intMin, Double_t intMax, Double_t intMin2, Double_t intMax2)
 scale histBackground to match the integral of histRaw in the interval intMin, intMax and intMin2, intMax2

TObject* DescribePeakShape(AliDielectronSignalBase::ESignalExtractionMethod method, Bool_t replaceValErr = kFALSE, TH1F* mcShape = 0x0)
 Describe the extracted peak by the selected method and overwrite signal etc if needed

void SetSignificanceAndSOB()
 Calculate S/B and significance

 Signal/Background
void SetFWHM()
 calculate the fwhm
void SetMCSignalShape(TH1F* hist)
{ fgHistSimPM=hist; }
void SetParticleOfInterest(Int_t pdgcode)
{ fPOIpdg=pdgcode; }
void SetIntegralRange(Double_t min, Double_t max)
{fIntMin=min;fIntMax=max;}
void SetFitRange(Double_t min, Double_t max)
{fFitMin=min; fFitMax=max;}
void SetRebin(Int_t factor)
{fRebin = factor;}
void SetMethod(AliDielectronSignalBase::EBackgroundMethod method)
{fMethod = method;}
Int_t GetMethod() const
{ return (Int_t)fMethod; }
void SetExtractionMethod(AliDielectronSignalBase::ESignalExtractionMethod method)
{fPeakMethod = method;}
Int_t GetExtractionMethod() const
{ return (Int_t)fPeakMethod; }
const TVectorD& GetValues() const
{return fValues;}
const TVectorD& GetErrors() const
{return fErrors;}
Double_t GetIntegralMin() const
{ return fIntMin; }
Double_t GetIntegralMax() const
{ return fIntMax; }
Double_t GetSignal() const
{ return fValues(0);}
Double_t GetSignalError() const
{ return fErrors(0);}
Double_t GetBackground() const
{ return fValues(1);}
Double_t GetBackgroundError() const
{ return fErrors(1);}
Double_t GetSignificance() const
{ return fValues(2);}
Double_t GetSignificanceError() const
{ return fErrors(2);}
Double_t GetSB() const
{ return fValues(3);}
Double_t GetSBError() const
{ return fErrors(3);}
Double_t GetMass() const
{ return fValues(4);}
Double_t GetMassError() const
{ return fErrors(4);}
Double_t GetMassWidth() const
{ return fValues(5);}
Double_t GetMassWidthError() const
{ return fErrors(5);}
const char* GetValueName(Int_t i)
{ return (i>=0&&i<6)?fgkValueNames[i]:""; }
TH1* GetSignalHistogram() const
{return fHistSignal;}
TH1* GetBackgroundHistogram() const
{return fHistBackground;}
TH1* GetUnlikeSignHistogram() const
{return fHistDataPM;}
TH1* GetRfactorHistogram() const
{return fHistRfactor;}
TObject* GetPeakShape() const
{return fgPeakShape;}
void SetScaleRawToBackground(Double_t intMin, Double_t intMax)
{ fScaleMin=intMin; fScaleMax=intMax; }
void SetScaleRawToBackground(Double_t intMin, Double_t intMax, Double_t intMin2, Double_t intMax2)
{ fScaleMin=intMin; fScaleMax=intMax; fScaleMin2=intMin2; fScaleMax2=intMax2; }
Double_t GetScaleMin() const
{ return fScaleMin; }
Double_t GetScaleMax() const
{ return fScaleMax; }
Double_t GetScaleMin2() const
{ return fScaleMin2; }
Double_t GetScaleMax2() const
{ return fScaleMax2; }
Double_t GetScaleFactor() const
{ return fScaleFactor; }
Int_t GetParticleOfInterest() const
{ return fPOIpdg; }
void SetMixingCorrection(Bool_t mixcorr = kTRUE)
{ fMixingCorr=mixcorr; }
void Process(TObjArray *const )
  This function needs to be implemented by the signal extraction classes.
  Here all the work should be done.

  The signal extraction is done on the mass spectra.
  The TObjArray should contain the Inv. Mass spectra of the 10 possible combinations
     for single and mixed events defined in AliDielectron.cxx

AliDielectronSignalBase & operator=(const AliDielectronSignalBase& c)