18 const UInt_t maxCanvas = 200;
24 std::vector<std::string> hasBeenUsed;
37 for (
UInt_t j = 0; j < hasBeenUsed.size(); j++) {
38 if (hasBeenUsed[j] == hname.Data()) found =
kTRUE;
43 if (hname.EndsWith(
"_sig_nice")) {
47 sprintf( cn,
"cv%d_%s", ic+1, titName.
Data() );
50 c[ic] =
new TCanvas( cn,
Form(
"%s reference for variable: %s",
52 ic*50+50, ic*20, width, height );
78 legS->
AddEntry(h,
"Input data (signal)",
"p");
82 b = (
TH1F*)lhdir->
Get( bname.ReplaceAll(
"_sig",
"_bgd") );
83 cPad = (
TPad*)c[ic]->cd(2);
85 b->SetMaximum(
b->GetMaximum()*1.3);
88 b->SetLineColor(color);
89 b->SetMarkerColor(color);
90 b->SetMarkerSize( 0.7 );
91 b->SetMarkerStyle( 24 );
93 Double_t hBscale = 1.0/(
b->GetSumOfWeights()*
b->GetBinWidth(1));
99 legB->
AddEntry(
b,
"Input data (backgr.)",
"p");
102 hasBeenUsed.push_back( bname.Data() );
110 for (
int i=0; i<= 5; i++) {
111 TString hspline = pname +
Form(
"_smoothed_hist_from_spline%i", i );
112 h = (
TH1F*)lhdir->
Get( hspline );
120 if (h == 0 &&
b == 0) {
121 TString hspline = pname +
"_smoothed_hist_from_KDE";
122 h = (
TH1F*)lhdir->
Get( hspline );
129 if (h == 0 ||
b == 0) {
130 cout <<
"--- likelihoodrefs.C: did not find spline for histogram: " << pname.
Data() << endl;
135 h->
Scale( pSscale/hSscale );
140 legS->
AddEntry(h,
"Estimated PDF (norm. signal)",
"l");
144 Double_t pBscale = 1.0/(
b->GetSumOfWeights()*
b->GetBinWidth(1));
145 b->Scale( pBscale/hBscale );
148 b->SetLineColor(color);
150 legB->
AddEntry(
b,
"Estimated PDF (norm. backgr.)",
"l");
156 hasBeenUsed.push_back( pname.
Data() );
166 hasBeenUsed.push_back( hname.Data() );
182 TString metlike=
"Method_Likelihood";
185 cout <<
"Could not locate directory 'Method_Likelihood' in file " << fin << endl;
189 TIter keyIter(&titles);
virtual const char * GetName() const
Returns name of object.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void Scale(Double_t c1=1, Option_t *option="")
Multiply this histogram by a constant c1.
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
Return maximum value smaller than maxval of bins in the range, unless the value has been overridden b...
void imgconv(TCanvas *c, const TString &fname)
Float_t GetLeftMargin() const
virtual TList * GetListOfKeys() const
virtual void SetMaximum(Double_t maximum=-1111)
This class displays a legend box (TPaveText) containing several legend entries.
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle.
TString & ReplaceAll(const TString &s1, const TString &s2)
TFile * OpenFile(const TString &fin)
virtual void Draw(Option_t *option="")
Draw this legend with its current attributes.
void likelihoodrefs(TString dataset, TDirectory *lhdir)
virtual Double_t GetSumOfWeights() const
Return the sum of weights excluding under/overflows.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
TVirtualPad * cd(Int_t subpadnumber=0)
Set current canvas & pad.
virtual void SetMinimum(Double_t minimum=-1111)
tomato 1-D histogram with a float per channel (see TH1 documentation)}
TKey * NextKey(TIter &keyIter, TString className)
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
std::vector< std::vector< double > > Data
Book space in a file, create I/O buffers, to fill them, (un)compress them.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
void Initialize(Bool_t useTMVAStyle=kTRUE)
virtual void Draw(Option_t *option="")
Draw this histogram with options.
The most important graphics class in the ROOT system.
char * Form(const char *fmt,...)
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual TDirectory * GetDirectory(const char *apath, Bool_t printError=false, const char *funcname="GetDirectory")
Find a directory named "apath".
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram.
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
Describe directory structure in memory.
virtual TObject * ReadObj()
To read a TObject* from the file.
Float_t GetTopMargin() const
virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
Automatic pad generation by division.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
virtual void Update()
Update canvas pad buffers.
virtual void SetBorderSize(Int_t bordersize=4)
const char * Data() const
UInt_t GetListOfTitles(TDirectory *rfdir, TList &titles)