38 std::string observablename =
"pTV";
41 RooRealVar obsvar(observablename.c_str(),
"p_{T}^{V}", 10, 600);
47 RooRealVar cHq3(
"cHq3",
"EFT modifier", 0.0, 1.0);
48 cHq3.setAttribute(
"NewPhysics",
true);
52 std::string infilename = std::string(
gROOT->GetTutorialDir()) +
"/roofit/input_histos_rf_lagrangianmorph.root";
53 std::vector<std::string> samplelist = {
"SM_NPsq0",
"cHq3_NPsq1",
"cHq3_NPsq2"};
71 morphfunc.setParameter(
"cHq3", 0.01);
72 auto morph_hist_0p01 = morphfunc.createTH1(
"morph_cHq3=0.01");
73 morphfunc.setParameter(
"cHq3", 0.25);
74 auto morph_hist_0p25 = morphfunc.createTH1(
"morph_cHq3=0.25");
75 morphfunc.setParameter(
"cHq3", 0.5);
76 auto morph_hist_0p5 = morphfunc.createTH1(
"morph_cHq3=0.5");
86 file->GetObject(samplelist[0].c_str(), folder);
87 TH1 *input_hist0 =
dynamic_cast<TH1 *
>(folder->
FindObject(observablename.c_str()));
89 file->GetObject(samplelist[1].c_str(), folder);
90 TH1 *input_hist1 =
dynamic_cast<TH1 *
>(folder->
FindObject(observablename.c_str()));
92 file->GetObject(samplelist[2].c_str(), folder);
93 TH1 *input_hist2 =
dynamic_cast<TH1 *
>(folder->
FindObject(observablename.c_str()));
101 auto frame0 = obsvar.frame(
Title(
"Input templates for p_{T}^{V}"));
109 auto frame1 = obsvar.frame(
Title(
"Morphed templates for selected values"));
125 hh_data->
SetTitle(
"Morphing prediction");
133 gPad->SetLeftMargin(0.15);
134 gPad->SetRightMargin(0.05);
141 leg1->
AddEntry(frame0->findObject(
"SM_NPsq0"),
"SM",
"LP");
143 leg1->
AddEntry(frame0->findObject(
"cHq3_NPsq1"),
"c_{Hq^(3)}=1.0 at #Lambda^{-2}",
"LP");
145 leg1->
AddEntry(frame0->findObject(
"cHq3_NPsq2"),
"c_{Hq^(3)}=1.0 at #Lambda^{-4}",
"LP");
149 gPad->SetLeftMargin(0.15);
150 gPad->SetRightMargin(0.05);
158 leg2->
AddEntry(frame1->findObject(
"morph_dh_cHq3=0.01"),
"c_{Hq^{(3)}}=0.01",
"L");
160 leg2->
AddEntry(frame1->findObject(
"morph_dh_cHq3=0.25"),
"c_{Hq^{(3)}}=0.25",
"L");
162 leg2->
AddEntry(frame1->findObject(
"morph_dh_cHq3=0.5"),
"c_{Hq^{(3)}}=0.5",
"L");
167 gPad->SetLeftMargin(0.12);
168 gPad->SetRightMargin(0.18);
177 hh_data->
Draw(
"COLZ");
178 c1->SaveAs(
"rf711_lagrangianmorph.png");
R__EXTERN TStyle * gStyle
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
The RooDataHist is a container class to hold N-dimensional binned data.
RooDataSet is a container class to hold unbinned data.
TH2F * createHistogram(const RooAbsRealLValue &var1, const RooAbsRealLValue &var2, const char *cuts="", const char *name="hist") const
Create a TH2F histogram of the distribution of the specified variable using this dataset.
Class RooLagrangianMorphing is a implementation of the method of Effective Lagrangian Morphing,...
RooRealVar represents a variable that can be changed from the outside.
The RooWrapperPdf is a class that can be used to convert a function into a PDF.
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
virtual void SetRangeUser(Double_t ufirst, Double_t ulast)
Set the viewing range for the axis from ufirst to ulast (in user coordinates, that is,...
static void InvertPalette()
Invert the current color palette.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
A TFolder object is a collection of objects and folders.
virtual TObject * FindObject(const char *name) const
Search object identified by name in the tree of folders inside this folder.
TH1 is the base class of all histogram classes in ROOT.
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
virtual void Draw(Option_t *option="")
Draw this histogram with options.
This class displays a legend box (TPaveText) containing several legend entries.
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
virtual void Draw(Option_t *option="")
Draw this legend with its current attributes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Mother of all ROOT objects.
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
void SetPalette(Int_t ncolors=kBird, Int_t *colors=0, Float_t alpha=1.)
See TColor::SetPalette.
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
RooCmdArg DataError(Int_t)
RooCmdArg MarkerColor(Color_t color)
RooCmdArg Binning(const RooAbsBinning &binning)
RooCmdArg DrawOption(const char *opt)
RooCmdArg MarkerSize(Size_t size)
RooCmdArg XErrorSize(Double_t width)
RooCmdArg LineColor(Color_t color)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
std::string observableName
std::vector< std::string > folderNames