A++ » INC » HepDataMCPlotter

class HepDataMCPlotter: public TTask


 DATA/MC Histogram Plotter

 Task for creating and plotting lists of stacked or overlayed
 MC histograms with DATA on top

 * The same binning for all histograms is required
 * Until now only 1d histograms are supported

 The plots are made from input files containing histograms for the
 various MC samples (signal + bckg) as well as DATA. Here, it is
 assumed that the directory and histogram structure is the same for
 each input file. The samples will be normalized w.r.t. the given
 luminosities

 The list of plots can be exported in two ways (combination
 possible):

 (1) All plots are stored in a single .root file. Here, the
 directory structure of the input files is preserved.

 (2) Export to various graphical formats like eps, ps, pdf, png or C
 macro. Since the number of plots is usually high, the directory
 structure of the input files is mapped onto the file system and the
 image files will be stored in their respective directories.  In
 case of an already existing version of the directory tree a backup
 copy is created first under the name $ExportDir_backup where
 $ExportDir indicates the name of the export directory given by
 SetExportDir().

 Samples can be combined in groups for better drawing. See the
 examples below. The way of drawing can be changed afterwards via
 HepDataMCPlot::SetGroupHistograms().

 Legend: The default behaviour is not to draw a legend inside the
 plots since the number of samples is nornmally high and therefore
 the legend would fit badly into the pad. (However, this behaviour
 can be changed with the help of the SetLegend() member function,
 accessible alspo from the TBrowser) It is recommended to draw the
 legend in an additional pad. In case of an exported .root file this
 is easily possible by using the HepDataMCPlot::DrawLegendPad()
 function (can also be used from the TBrowser). In case of exported
 graphical files an additional file containing only the legend is
 created in toplevel export directory under the name Legend.eps etc.

 Example 1 (ungrouped histograms):
 {
     HepDataMCPlotter *pl = new HepDataMCPlotter("single-top", "Single-Top Analysis");
     pl->SetExportDir("~/atlas/APlusPlus/libSingleTop/hist/tChannelAnalysis/test");
     pl->SetLumiDATA(100.);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/tchannel_enu.root",
                     "MC single-top t-channel e#nu", 120., kOrange);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/tchannel_munu.root",
                     "MC single-top t-channel #mu#nu", 130., kRed);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/tchannel_taunu.root",
                     "MC single-top t-channel #tau#nu", 110., kMagenta);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/schannel_enu.root",
                     "MC single-top s-channel e#nu", 120., kBlue);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/schannel_muunu.root",
                     "MC single-top s-channel #mu#nu", 120., kCyan);
     pl->AddMCSample("$LIBSINGLETOP/hist/tChannelAnalysis/Wtproduction.root",
                     "MC single-top Wt production", 90., kGreen);
     gROOT->GetListOfBrowsables()->Add(pl);
     new TBrowser;
 }


 Example 2 (grouped histograms):
 {
     HepDataMCPlotter *pl_test = new HepDataMCPlotter("DATA-MC plotter", "Create all Data-MC plots");
     pl_test->SetWorkingDir("$LIBSINGLETOP/hist/test/plots_datamc");
     pl_test->SetLumiDATA(100.);

     // ttbar
     pl_test->AddMCFolder("ttbar", "ttbar lnln", kRed);
     (pl_test->AddMCSample("ttbar", "$LIBSINGLETOP/hist/test/ttbar_lnln_np0_hists.root",
                           "MC ttbar, Np0", 160., kRed-4))->SetLumi(160.);
     (pl_test->AddMCSample("ttbar", "$LIBSINGLETOP/hist/test/ttbar_lnln_np1_hists.root",
                           "MC ttbar, Np1", 180., kRed-7))->SetLumi(180.);
     (pl_test->AddMCSample("ttbar", "$LIBSINGLETOP/hist/test/ttbar_lnln_np2_hists.root",
                           "MC ttbar, Np2", 150., kRed-9))->SetLumi(150.);

     // Z+jets
     pl_test->AddMCFolder("Zjets", "Z+jets", kBlue);
     (pl_test->AddMCSample("Zjets", "$LIBSINGLETOP/hist/test/zee_np0_hists.root",
                           "MC Zee, Np0", 70., kBlue-4))->SetLumi(70.);
     (pl_test->AddMCSample("Zjets", "$LIBSINGLETOP/hist/test/zee_np1_hists.root",
                           "MC Zee, Np1", 60., kBlue-7))->SetLumi(60.);
     (pl_test->AddMCSample("Zjets", "$LIBSINGLETOP/hist/test/zmumu_np0_hists.root",
                           "MC Zmumu, Np0", 90., kBlue-9))->SetLumi(90.);
     (pl_test->AddMCSample("Zjets", "$LIBSINGLETOP/hist/test/zmumu_np1_hists.root",
                           "MC Zmumu, Np1", 110., kBlue-10))->SetLumi(110.);
     (pl_test->AddMCSample("Zjets", "$LIBSINGLETOP/hist/test/zmumu_np2_hists.root",
                           "MC Zmumu, Np2", 120., kBlue-8))->SetLumi(120.);
 }



 Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
 Update: $Id: HepDataMCPlotter.cxx,v 1.32 2017/07/28 09:34:11 kaphle Exp $
 Copyright: 2009 (C) Oliver Maria Kind

Function Members (Methods)

public:
virtual~HepDataMCPlotter()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
voidAddDataFile(const char* path, const char* label)MENU
voidAddMCFolder(const char* name, const char* title, Color_t color)
HepDataMCSample*AddMCSample(const char* path, const char* label, Color_t color)MENU
HepDataMCSample*AddMCSample(const char* path, const char* label, Float_t xsec, Color_t color)MENU
HepDataMCSample*AddMCSample(const char* folder_name, const char* path, const char* label, Float_t xsec, Color_t color)MENU
HepDataMCSample*AddMCSample(HepDataMCFolder* folder, const char* path, const char* label, Float_t xsec, Color_t color)
HepDataMCSample*AddMCSample(const char* path, const char* label, Color_t color, Style_t line_style, Width_t line_width, Style_t fill_style)
voidAddNtuplePlotCmd(const char* TreeName, const char* VarExp, const char* Selection, const char* PlotName, const char* PlotTitle, Int_t Nbins, Double_t Xlow, Double_t Xup, const char* XTitle, const char* YTitle)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTTask::Browse(TBrowser* b)
HepDataMCPlot*BuildNtuplePlot(HepNtuplePlotCmd* cmd) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTTask::Continue()MENU
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 voidExec(Option_t* option = "")
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
voidExport(HepDataMCPlot* Plot, TNamed* PlotName)
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
TStringGetAtlasLabelStatus()
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
TStringGetCenterOfMassEnergyLabel()
Bool_tGetDrawCMSLumiAtlasLabel()
Bool_tGetDrawDataZeroEntryErrors()
Bool_tGetDrawLegend()
Bool_tGetDrawMCError()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tGetExportC()
Bool_tGetExportEPS()
Bool_tGetExportPDF()
Bool_tGetExportPNG()
Bool_tGetExportPS()
Bool_tGetExportROOT()
Bool_tGetGroupHistograms()
virtual const char*TObject::GetIconName() const
TList*GetListOfPlots()
TList*TTask::GetListOfTasks() const
Bool_tGetLogyaxis()
TStringGetLuminosityLabel()
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
Bool_tGetUnifyMCStack()
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseAtlasStyle()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
HepDataMCPlotter(const HepDataMCPlotter&)
HepDataMCPlotter(const char* name, const char* title)
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
voidInitInput()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTTask::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTTask::ls(Option_t* option = "*") constMENU
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)
HepDataMCPlotter&operator=(const HepDataMCPlotter&)
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 = "")
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidSetAtlasLabelStatus(TString AtlasLabelStatus)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidSetCenterOfMassEnergyLabel(TString CenterOfMassEnergy)
voidSetDrawCMSLumiAtlasLabel(Bool_t DrawCMSLumiAtlasLabel = kTRUE)
voidSetDrawDataZeroEntryErrors(Bool_t DrawDataZeroEntryErrors = kTRUE)TOGGLE
voidSetDrawLegend(Bool_t DrawLegend)TOGGLE
voidSetDrawMCError(Bool_t DrawMCError)TOGGLE
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDrawSignalOverlay(Bool_t status)
static voidTObject::SetDtorOnly(void* obj)
voidSetExportC(Bool_t ExportC)TOGGLE
voidSetExportDir(const char* dir)
voidSetExportEPS(Bool_t ExportEPS)TOGGLE
voidSetExportPDF(Bool_t ExportPDF)TOGGLE
voidSetExportPNG(Bool_t ExportPNG)TOGGLE
voidSetExportPS(Bool_t ExportPS)TOGGLE
voidSetExportROOT(Bool_t ExportROOT)TOGGLE
voidSetGroupHistograms(Bool_t GroupHistograms)TOGGLE
voidSetLogyaxis(Bool_t Logyaxis)TOGGLE
voidSetLumiDATA(Float_t lumi)
voidSetLuminosityLabel(TString Luminosity)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetScaleOverlay(Float_t scale)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetUnifyMCStack(Bool_t UnifyMCStack)TOGGLE
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseAtlasStyle(Bool_t UseAtlasStyle = kTRUE)
voidSetUseOverflowUnderflow(Bool_t status)
voidSetWorkingDir(const char* dir)
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 voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidAddHistMC(HepDataMCPlot* plot, TH1F* h, HepDataMCSample* mc_sample, HepDataMCFolder* folder = 0, Float_t LumiScale = 1.) const
voidBuildListOfPlots()
HepDataMCPlot*BuildPlot(TNamed* PlotName)
HepDataMCPlot*CreatePlotFromHist(TH1F* h) const
TH1F*GetHistFromFile(TFile* f, TNamed* PlotName)
TDirectory*MkDirWithParents(TFile* f, const char* dir)
voidNormalize(TH1F& h, HepDataMCSample* sample, Float_t LumiScale = 1.) const
voidReadHistogramsFromDir(TDirectory* dir)

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:
Bool_tTTask::fActivetrue if task is active
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Bool_tTTask::fHasExecutedTrue if task has executed
TStringTNamed::fNameobject identifier
TStringTTask::fOptionOption specified in ExecuteTask
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
private:
TStringfAtlasLabelStatuslabel in plot after "ATLAS"
TStringfCenterOfMassEnergyLabelCenter of mass energy label
Bool_tfDrawCMSLumiAtlasLabelDraw labels
Bool_tfDrawDataZeroEntryErrorsDraw the DATA error bars even for 0 data entry bins
Bool_tfDrawLegendDraw a legend inside all plots
Bool_tfDrawMCErrorDraw the total MC uncertainty on top
Bool_tfDrawSignalOverlayFlag for drawing the signal MC (assumed to be the least entry in the MC histogram stack) as overlay instead as part of the stack (default = false)
Bool_tfExportCExport all plots to C files
TString*fExportDirWorking directory
Bool_tfExportEPSExport all plots to EPS files
Bool_tfExportPDFExport all plots to PDF files
Bool_tfExportPNGExport all plots to PNG files
Bool_tfExportPSExport all plots to PS files
Bool_tfExportROOTExport all plots to a ROOT file
Bool_tfGroupHistogramsGroup histograms when drawing and in the legend
TList*fListOfDataFileNamesList of data file names
TList*fListOfDataFilesList of data files pointers
TList*fListOfInFilesList of all input files
TList*fListOfPlotsList of DataMC plots
Bool_tfLogyaxisPlot y axis in logarithmic scale
Float_tfLumiDATAIntegrated DATA luminosity (used for over-all normalisation)
TStringfLuminosityLabelLuminosity label
TList*fMCFoldersList of folders to group MC samples
TList*fMCSamplesList of MC samples (input filenames and drawing attributes)
TList*fMCSingleSamplesList of MC single samples, not belonging to folder (input filenames and drawing attributes)
TList*fNtuplePlotCmdsList of ntuple draw commands used by the plotter tasks
TFile*fOutputRootFileOutput file containing all plots
Float_tfScaleOverlayScale factor of the overlay histogram ( default = 1. )
Bool_tfUnifyMCStackDraw MC stack histograms as a single histogram
Bool_tfUseAtlasStyleUse ATLAS style
Bool_tfUseOverflowUnderflowFlag for plotter (default = false)

Class Charts

Inheritance Chart:
TObject
TNamed
TTask
HepDataMCPlotter

Function documentation

HepDataMCPlotter(const char* name, const char* title)
 Default constructor

~HepDataMCPlotter()
 Default destructor

void AddDataFile(const char* path, const char* label)
 Add file to the list of data files.
 The label is used for the legend

HepDataMCSample* AddMCSample(const char* path, const char* label, Color_t color, Style_t line_style, Width_t line_width, Style_t fill_style)
 Add MC sample given by the path to its histogram file.
 The label will be used in the corresponding legend entry.
 The line and fill attributes are used for drawing the histograms
 in stacked and overlay mode, resp.

HepDataMCSample* AddMCSample(const char* path, const char* label, Color_t color)
 Same as above but line style and width, and fill style are set
 to the defaults given by the current style

HepDataMCSample* AddMCSample(const char* path, const char* label, Float_t xsec, Color_t color)
 Same as above but line style and width, and fill style are set
 to the defaults given by the current style

HepDataMCSample* AddMCSample(HepDataMCFolder* folder, const char* path, const char* label, Float_t xsec, Color_t color)
 Add an MC sample given by the path to its histogram file to the
 given folder. The folder can be used to group histograms in
 order to make the plot and its legend better readable, in
 particluar when dealing with many samples. The given label will
 be used in the corresponding legend entry. The line and fill
 attributes are used for drawing the histograms in stacked and
 overlay mode, resp. The given x-section is used for the
 luminosity weighting when drawing the stack of all samples.

HepDataMCSample* AddMCSample(const char* folder_name, const char* path, const char* label, Float_t xsec, Color_t color)
 Add an MC sample given by the path to its histogram file to the
 given folder. The folder can be used to group histograms in
 order to make the plot and its legend better readable, in
 particluar when dealing with many samples. The given label will
 be used in the corresponding legend entry. The line and fill
 attributes are used for drawing the histograms in stacked and
 overlay mode, resp. The given x-section is used for the
 luminosity weighting when drawing the stack of all samples.

 Get folder
void InitInput()
 Open all input files for reading and add them to the list of
 input files.
 In case single HepDataMCPlots are being produced instead
 of using HepDataMCPlotter::Exec() this routine must be
 called first explicitly.

void Exec(Option_t* option = "")
 Execute task

 The plot building process is performed in two steps: First a
 list of plots is created by inspecting all keys in the input
 files. In the next step for each list entry a plot is created
 and all existing histograms are added. The directory structure
 is preserved. The two steps are needed because only one plot
 can be kept in memory at a time. Otherwise one would have to
 keep all plots in memory in parallel which would blow the
 available RAM.

void BuildListOfPlots()
 Loop over all histograms in the DATA file (if exisiting) or the
 1st MC file otherwise and create a list containg the names of
 all plots

void ReadHistogramsFromDir(TDirectory* dir)
 Read all histograms from given directory
 and all its sub-directories

TH1F* GetHistFromFile(TFile* f, TNamed* PlotName)
HepDataMCPlot* CreatePlotFromHist(TH1F* h) const
 Create plot and use the given hisotgram for setting name, title
 and axis titles of the plot

void AddHistMC(HepDataMCPlot* plot, TH1F* h, HepDataMCSample* mc_sample, HepDataMCFolder* folder = 0, Float_t LumiScale = 1.) const
 Add MC histogram to given plot.
 The histogram ist normalized.
 In case of non-existing folder the zero pointer is used (default).

HepDataMCPlot* BuildPlot(TNamed* PlotName)
 Build plot of given name

void Export(HepDataMCPlot* Plot, TNamed* PlotName)
 Export the given plot to the .root output file and to the file
 system in various graphical formats

TDirectory* MkDirWithParents(TFile* f, const char* dir)
 Create the given directoy and all of its parents if necessary
 in the given file

void SetGroupHistograms(Bool_t GroupHistograms)
 Switch grouping of histograms on or off

void SetDrawMCError(Bool_t DrawMCError)
 Switch drawing of MC errors on or off.

void SetDrawDataZeroEntryErrors(Bool_t DrawDataZeroEntryErrors = kTRUE)
 Draw the Data error bars even for 0 data entry bins

void SetUnifyMCStack(Bool_t UnifyMCStack)
 Unify MC stack histograms into a single histogram

void SetLogyaxis(Bool_t Logyaxis)
 Plot y axis in logarithmic scale

void AddMCFolder(const char* name, const char* title, Color_t color)
 Add folder for grouping histograms

 Line and fill style are set to the defaults given by the
 current style

void Normalize(TH1F& h, HepDataMCSample* sample, Float_t LumiScale = 1.) const
 Weight given histogram with the lumi of the given MC sample and
 normalize it to DATA luminosity.

 LumiScale is an additional factor which can be given to the MC
 lumi (default = 1)

void AddNtuplePlotCmd(const char* TreeName, const char* VarExp, const char* Selection, const char* PlotName, const char* PlotTitle, Int_t Nbins, Double_t Xlow, Double_t Xup, const char* XTitle, const char* YTitle)
 Add ntuple draw command (see TTree::Draw()) to be used by the
 plotter

HepDataMCPlot* BuildNtuplePlot(HepNtuplePlotCmd* cmd) const
 Build plot from ntuple by using TTree::Draw()

void SetUseOverflowUnderflow(Bool_t status)
 Set flag for drawing the under- and overflow bins

void SetDrawSignalOverlay(Bool_t status)
 Set flag for drawing the signal MC (assumed to be the least
 entry in the MC histogram stack) as overlay instead as part of
 the stack

void SetScaleOverlay(Float_t scale)
 Set scale factor of the overlay histogram (see
 SetDrawSignalOverlay())

HepDataMCPlotter(const char* name, const char* title)
TList* GetListOfPlots()
{ return fListOfPlots; }
void SetLumiDATA(Float_t lumi)
{ fLumiDATA = lumi; }
void SetWorkingDir(const char* dir)
{ SetExportDir(dir); }
void SetExportDir(const char* dir)
Bool_t GetExportROOT()
{ return fExportROOT; }
Bool_t GetExportEPS()
{ return fExportEPS; }
Bool_t GetExportPS()
{ return fExportPS; }
Bool_t GetExportPDF()
{ return fExportPDF; }
Bool_t GetExportPNG()
{ return fExportPNG; }
Bool_t GetExportC()
{ return fExportC; }
Bool_t GetDrawLegend()
{ return fDrawLegend; }
Bool_t GetGroupHistograms()
{ return fGroupHistograms; }
Bool_t GetUnifyMCStack()
{ return fUnifyMCStack; }
Bool_t GetDrawMCError()
{ return fDrawMCError; }
Bool_t GetDrawDataZeroEntryErrors()
Bool_t GetLogyaxis()
{ return fLogyaxis; }
void SetExportROOT(Bool_t ExportROOT)
 Switch export to .root format on or off
void SetExportEPS(Bool_t ExportEPS)
 Switch export to EPS format on or off
void SetExportPS(Bool_t ExportPS)
 Switch export to PS format on or off
void SetExportPDF(Bool_t ExportPDF)
 Switch export to PDF format on or off
void SetExportPNG(Bool_t ExportPNG)
 Switch export to PNG format on or off
void SetExportC(Bool_t ExportC)
 Switch export to .C on or off
void SetDrawLegend(Bool_t DrawLegend)
 Switch drawing of the legend on or off
void SetUseAtlasStyle(Bool_t UseAtlasStyle = kTRUE)
 Draw plot in ATLAS style

Bool_t GetUseAtlasStyle()
{ return fUseAtlasStyle;}
void SetDrawCMSLumiAtlasLabel(Bool_t DrawCMSLumiAtlasLabel = kTRUE)
Bool_t GetDrawCMSLumiAtlasLabel()
void SetAtlasLabelStatus(TString AtlasLabelStatus)
TString GetAtlasLabelStatus()
void SetCenterOfMassEnergyLabel(TString CenterOfMassEnergy)
TString GetCenterOfMassEnergyLabel()
void SetLuminosityLabel(TString Luminosity)
TString GetLuminosityLabel()
{ return fLuminosityLabel;}