A++ » INC » AtlHistFactorySample

class AtlHistFactorySample: public TNamed


 Class for storing HistFactory sample information

 The normfactor for each sample will be used to scale the
 expected number of events of this sample. The norm uncertainty
 (e.g. theory unc.) can be used to constrain the normfactor.
 Currently the distribution is fixed in the AtlHistFactoryTask.

 Each sample can hold its own list of systematics.
 - see AtlHistFactoryTask for more details

 If 'isSignal' is true, the normfactor will be unconstrained,
 even if a norm unc. is provided.

 The sample can also be used to save the results of the shape
 tests.


 Author: Soeren Stamm <mailto: stamm@physik.hu-berlin.de>
 Update: $Id: AtlHistFactorySample.cxx,v 1.8 2016/04/19 07:47:50 stamm Exp $
 Copyright: 2015 (C) Soeren Stamm

Function Members (Methods)

public:
virtual~AtlHistFactorySample()
voidTObject::AbstractMethod(const char* method) const
voidAddShapeSystematic(const char* name, TList* systs)
voidAddSystematic(AtlHistFactorySystematic* syst)
voidAddSystematics(TList* list)
virtual voidTObject::AppendPad(Option_t* option = "")
AtlHistFactorySample(const AtlHistFactorySample&)
AtlHistFactorySample(const char* name, const char* title, const char* normfactor, Double_t norm_unc, Bool_t isSignal = kFALSE)
voidBookHistograms(const char* channel)
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
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)
voidFillHistograms(const char* syst, Double_t pval, Double_t kstest)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Color_tGetFillColor() const
Style_tGetFillStyle() const
virtual const char*TObject::GetIconName() const
Color_tGetLineColor() const
Style_tGetLineStyle() const
TList*GetListOfSystematics() const
virtual const char*TNamed::GetName() const
const char*GetNormFactorName() const
Double_tGetNormUncertainty() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetSignalHigh() const
Double_tGetSignalLow() 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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsData() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSignal() 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
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
AtlHistFactorySample&operator=(const AtlHistFactorySample&)
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)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDrawOptions(Color_t fill_color, Style_t fill_style, Color_t line_color, Style_t line_style)
static voidTObject::SetDtorOnly(void* obj)
voidSetIsData(Bool_t flag = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSignalRange(Double_t low, Double_t high)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseLogNormal(Bool_t flag = kTRUE)
voidSetUseStatError(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector& insp) const
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()
Bool_tUseLogNormal() const
Bool_tUseStatError() const
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
voidWriteHistograms(TFile* fout)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Color_tfFillColor
Style_tfFillStyle
TH1F*fHist_ShapeTest_KStestHistogram for Shape test results (KS)
TH1F*fHist_ShapeTest_pValueHistogram for Shape test results (Chi2)
Bool_tfIsDataIs this a data sample? (e.g. data or QCD)
Bool_tfIsSignalIs signal sample?
Color_tfLineColor
Style_tfLineStyle
TList*fListOfSystematicsList of systematics for this sample
TStringTNamed::fNameobject identifier
TStringfNormFactorName of the norm factor parameter
Double_tfNormUncertaintyRelative normalization uncertainty
Double_tfSignalHighUpper bound of signal parameter
Double_tfSignalLowLower bound of signal parameter
TStringTNamed::fTitleobject title
Bool_tfUseLogNormalUse log normal constraint for normalization parameter
Bool_tfUseStatErrorUse statistical error (default: true)

Class Charts

Inheritance Chart:
TObject
TNamed
AtlHistFactorySample

Function documentation

AtlHistFactorySample(const char* name, const char* title, const char* normfactor, Double_t norm_unc, Bool_t isSignal = kFALSE)
 Default constructor

~AtlHistFactorySample()
 Default constructor

void AddSystematic(AtlHistFactorySystematic* syst)
 Add Systematic to channel

void AddSystematics(TList* list)
 Add Systematic to channel

void BookHistograms(const char* channel)
 Book histograms for this channel
 They have only one bin, because TH1::Fill(name, weight)
 will be used to add more bins as needed.
void FillHistograms(const char* syst, Double_t pval, Double_t kstest)
 Fill shape test histograms

void WriteHistograms(TFile* fout)
 Save histograms to file

void SetSignalRange(Double_t low, Double_t high)
 Defines the range for the NormFactor for this sample. Values
 set here, only apply for signal samples.

 Background samples are constrained by the norm uncertainty,
 which is provided during construction of this object.

void AddShapeSystematic(const char* name, TList* systs)
 Add shape systematic to this sample

 The systematic is taken from the provided list, cloned and then
 added to the list of systematics.

AtlHistFactorySample(const char* name, const char* title, const char* normfactor, Double_t norm_unc, Bool_t isSignal = kFALSE)
TList* GetListOfSystematics() const
{ return fListOfSystematics; }
const char* GetNormFactorName() const
{ return fNormFactor.Data(); }
Double_t GetNormUncertainty() const
{ return fNormUncertainty; }
Double_t GetSignalHigh() const
{ return fSignalHigh; }
Double_t GetSignalLow() const
{ return fSignalLow; }
Color_t GetLineColor() const
{ return fLineColor; }
Style_t GetLineStyle() const
{ return fLineStyle; }
Color_t GetFillColor() const
{ return fFillColor; }
Style_t GetFillStyle() const
{ return fFillStyle; }
Bool_t IsSignal() const
{ return fIsSignal; }
Bool_t IsData() const
{ return fIsData; }
Bool_t UseLogNormal() const
{ return fUseLogNormal; }
Bool_t UseStatError() const
{ return fUseStatError; }
void SetIsData(Bool_t flag = kTRUE)
{ fIsData = flag; }
void SetUseLogNormal(Bool_t flag = kTRUE)
{ fUseLogNormal = flag; }
void SetUseStatError(Bool_t flag = kTRUE)
{ fUseStatError = flag; }
void SetDrawOptions(Color_t fill_color, Style_t fill_style, Color_t line_color, Style_t line_style)