A++ » INC » AtlHistFactorySystOneSided

class AtlHistFactorySystOneSided: public AtlHistFactorySystematic


 Class for one sided systematic

 One sided systematics are symmetrized around the nominal case. Two
 modes are available:

 - FullDiff: 	up/down = nom +- (syst-nom)
 - HalfDiff: 	up/down = nom +- (syst-nom)/2.

 'syst' corresponds to the systematic histogram.

 Alternative method:
 - compare with a different nominal histogram


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

Function Members (Methods)

public:
virtual~AtlHistFactorySystOneSided()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
AtlHistFactorySystOneSided()
AtlHistFactorySystOneSided(const AtlHistFactorySystOneSided&)
AtlHistFactorySystOneSided(const char* systname, const char* systtitle, AtlTopLevelAnalysis::ESystematic Syst, AtlHistFactorySystOneSided::ESymmetryMode Mode, Bool_t useShape = kFALSE)
virtual voidTObject::Browse(TBrowser* b)
voidAtlHistFactorySystematic::ChangeProcess(const char* process)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(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 voidAtlHistFactorySystematic::ExportShapePlots(const char* process, const char* dir)
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
TH1F*AtlHistFactorySystematic::GetChi2Distribution()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TH1*AtlHistFactorySystematic::GetHistDown() const
TH1*AtlHistFactorySystematic::GetHistNominal() const
TH1*AtlHistFactorySystematic::GetHistUp() const
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
voidAtlHistFactorySystematic::GetRateUnc(Double_t& rate_up, Double_t& rate_down)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tAtlHistFactorySystematic::GetUseFullStats() const
Bool_tAtlHistFactorySystematic::GetUseShape() 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 voidInitialize(const char* BaseDir, const char* scheme = "plots_datamc")
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_tAtlHistFactorySystematic::IsNominal() 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
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)
AtlHistFactorySystOneSided&operator=(const AtlHistFactorySystOneSided&)
virtual voidTObject::Paint(Option_t* option = "")
voidAtlHistFactorySystematic::PerformShapeTest(Double_t& pval_up, Double_t& kstest_min)
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 = "")
virtual voidAtlHistFactorySystematic::SaveShapeCtrlPlots(TFile* fout, const char* process)
virtual voidAtlHistFactorySystematic::SaveTemplates(TFile* fout)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAtlHistFactorySystematic::SetChi2Distribution(TH1F* h_chi2)
voidAtlHistFactorySystematic::SetDiscriminant(const char* discriminant)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAtlHistFactorySystematic::SetHistDown(TH1* h)
voidAtlHistFactorySystematic::SetHistNominal(TH1* h)
voidAtlHistFactorySystematic::SetHistUp(TH1* h)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSystNominal(AtlTopLevelAnalysis::ESystematic systnom)
voidAtlHistFactorySystematic::SetTemplateFile(TFile* f)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAtlHistFactorySystematic::SetUseFullStats(Bool_t flag = kTRUE)
voidAtlHistFactorySystematic::SetUsePseudoExp(Bool_t flag = kTRUE)
voidAtlHistFactorySystematic::SetUseShape(Bool_t useShape = 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()
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 voidAtlHistFactorySystematic::ComputeChi2Distribution()
virtual voidComputeUpDownVariation(const char* process)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidGetHistsFromFile(const char* process)
voidTObject::MakeZombie()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static AtlHistFactorySystOneSided::ESymmetryModekFullDiff
static AtlHistFactorySystOneSided::ESymmetryModekHalfDiff
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:
TString*AtlHistFactorySystematic::fDiscriminantFull path to the discriminant histogram
TGraph*AtlHistFactorySystematic::fGraphShapeQQPlotQ-Q plots of normalized residuals
TH1F*AtlHistFactorySystematic::fHistChi2Chi2 Distribution for shape tests
TH1*AtlHistFactorySystematic::fHistDownHistogram for down-variation (1-sigma)
TH1*AtlHistFactorySystematic::fHistNomNominal histogram
TH1*AtlHistFactorySystematic::fHistShapeResidualChi2 normalized residuals
TH1*AtlHistFactorySystematic::fHistUpHistogram for up-variation (1-sigma)
Bool_tAtlHistFactorySystematic::fIsNominalIs this nominal?
Int_tAtlHistFactorySystematic::fNPseudoExpNumber of pseudo exp. for shape tests
TStringTNamed::fNameobject identifier
Double_tAtlHistFactorySystematic::fPValue_downp-value from Chi2 test (down-syst.)
Double_tAtlHistFactorySystematic::fPValue_upp-value from Chi2 test (up-syst.)
TFile*AtlHistFactorySystematic::fTemplateFileFile holding all templates
TStringTNamed::fTitleobject title
Bool_tAtlHistFactorySystematic::fUseFullStatsUse full staistics for shape comparison?
Bool_tAtlHistFactorySystematic::fUsePseudoExpUse pseudo exp. for shape tests?
Bool_tAtlHistFactorySystematic::fUseShapeUse shape information?
private:
TList*fHistsNomList of MCPlotter templates for nominal
TList*fHistsSystList of MCPlotter templates for systematic
TList*fHistsSystNomList of MCPlotter templates for systematic (nominal)
AtlTopLevelAnalysis::ESystematicfNominalNominal (needed for symmetrization)
TFile*fPlotterFileNomMCPlotter file for nominal
TFile*fPlotterFileSystMCPlotter file for systematic
TFile*fPlotterFileSystNomMCPlotter file for systematic (nominal)
AtlHistFactorySystOneSided::ESymmetryModefSymModeMode for symmetrization procedure
AtlTopLevelAnalysis::ESystematicfSystSystematic
AtlTopLevelAnalysis::ESystematicfSystNomUse different nominal vor symmetrization

Class Charts

Inheritance Chart:
TObject
TNamed
AtlHistFactorySystematic
AtlHistFactorySystOneSided

Function documentation

AtlHistFactorySystOneSided()
 Default constructor

AtlHistFactorySystOneSided(const char* systname, const char* systtitle, AtlTopLevelAnalysis::ESystematic Syst, AtlHistFactorySystOneSided::ESymmetryMode Mode, Bool_t useShape = kFALSE)
 Default constructor

~AtlHistFactorySystOneSided()
 Default destructor

void Initialize(const char* BaseDir, const char* scheme = "plots_datamc")
 Initialize for MCPlotter files

 Set the MCPlotter files for the systematic and nominal.

 The file directory is
 'BaseDir' + 'systname' + "%s/MCPlotter.root"

 Get the list of templates from the HepDataMCPlots

void GetHistsFromFile(const char* process)
 Change the process and load the corresponding informations
 into the class data members.

void ComputeUpDownVariation(const char* process)
 Compute the up var. and down variation for this systematic pair

void Clear(Option_t* option = "")
 Close MCPlotter files
 - Do not close the template file. The class does not own this
   file. The owner of this file is responsible of closing it.

AtlHistFactorySystOneSided()
void SetSystNominal(AtlTopLevelAnalysis::ESystematic systnom)