In a limit setting analysis, draw CLs+b and CLs only?

Hi,

In a limit setting analysis, like the example here, twiki.cern.ch/twiki/bin/view/Ro … mits_using .

The draw option of HypoTestInverterPlot is limited and there is no the option of “CLs+b” and “CLb only”, root.cern.ch/root/html/RooStats … rPlot:Draw .
Personally, I think those two are the most interesting curves to be displayed because in a limit setting analysis, the p values of “CLs+b” and “CLb only” are interesting, while the “CLs” is a kind of useless since it’s solely the ratio of “CLs+b” / “CLb only” .

So, my question is, how can I only draw the two curves and points of “CL s+b” and “CL b only” , let “CLs” and its affiliated bands disappeared ?

Thanks !

Best,
Junhui

Hi Junhui,

you can access the individual graphs with the HypoTestInverterPlot::MakePlot method: root.cern.ch/root/htmldoc/RooSt … t:MakePlot

Cheers,
Danilo

Hi, Danilo,

Thanks for your reply !

  1. I’ve followed your suggestion, modified the script as the following, but no plot has been drawn thought a Canvas has displayed.

  HypoTestInverterPlot *plot = new HypoTestInverterPlot("HTI_Result_Plot","HypoTest Scan Result",r);

  // plot in a new canvas with style
  TCanvas * c1 = new TCanvas("HypoTestInverter Scan");
  c1->SetLogy(false);

  plot->MakePlot("CLs+b"); 
  1. More important, even this “MakePlot” works, it’s not what I actually expected :
    I hope a plot can display two curves : “CLs+b” and “CLb”.
    The MakePlot, root.cern.ch/root/htmldoc/src/R … html#BuBy0, can’t do this job because it solely plot one of the two options, either “CLs+b” or “CLb”, but not both of them.

By applying TMultpliGraph, root.cern.ch/root/htmldoc/src/R … html#XpZ8q, the “Draw” command in principle is capable of plotting both “CLs+b” and “CLb”. However, due to unknown reason(s), it doesn’t provide such a option which is confusing.

Thanks !

Best,
Junhui

Hi,

thanks for the full analysis of the various cases!
I have a remark to do: even if it’s not possible to directly draw the trends of the various CL_x’s directly, MakePlot returns the TGraphErrors pointer and it’s up to the user to draw it afterwards.

Cheers,
Danilo

Hi, Danilo,

Thanks for reply !

Could you please explain more detailed on " MakePlot returns the TGraphErrors pointer and it’s up to the user to draw it afterwards. " ?
I mean how to proceed ? Or could you please provide a piece of script as a example ?

Thanks !

Best,
Junhui

Hi,

the MakePlot method
root.cern.ch/root/htmldoc/RooSt … t:MakePlot
returns a TGraphErrors: relative to CLb, CLs or CLs+b if the option “CLb”, “CLs” or “CLs+b” is passed respectively.
What is to be done is to plot this particular graph with the usual Draw method.

D