Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-16 09:54:50

0001 // @(#)root/roostats:$Id$
0002 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
0003 /*************************************************************************
0004  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
0005  * All rights reserved.                                                  *
0006  *                                                                       *
0007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0009  *************************************************************************/
0010 
0011 #ifndef ROOSTATS_HypoTestInverterPlot
0012 #define ROOSTATS_HypoTestInverterPlot
0013 
0014 #include "TNamed.h"
0015 
0016 class TGraphErrors;
0017 class TMultiGraph;
0018 
0019 
0020 namespace RooStats {
0021 
0022    class HypoTestInverterResult;
0023    class SamplingDistPlot;
0024 
0025 
0026    class HypoTestInverterPlot : public TNamed {
0027 
0028    public:
0029 
0030       /// constructor
0031       HypoTestInverterPlot(HypoTestInverterResult* results ) ;
0032 
0033       HypoTestInverterPlot( const char* name,
0034                             const char* title,
0035                             HypoTestInverterResult* results ) ;
0036 
0037       /// return a TGraphErrors with the obtained observed p-values
0038       /// resultinf from the scan
0039       /// By default (Option = "") return CLs or CLsb depending if the flag UseCLs is set
0040       /// If Option = "CLb"   return  CLb plot
0041       ///           = "CLs+b" return  CLs+b plot  independently of the flag
0042       ///           = "CLs"   return  CLs plot  independently of the flag
0043       TGraphErrors* MakePlot(Option_t *opt="") ;
0044 
0045       /// Make the expected plot and the bands
0046       /// nsig1 and nsig2 indicates the n-sigma value for the bands
0047       /// if nsig1 = 0 no band is computed (only expected value)
0048       /// if nsig2 > nsig1 (default is nsig1=1 and nsig2=2) the second band is also done.
0049       /// The first band is drawn in green while the second in yellow
0050       /// The plot (expected value + bands) is returned as a TMultiGraph object
0051       TMultiGraph* MakeExpectedPlot(double sig1=1, double sig2=2) ;
0052 
0053       /// Plot the test statistic distributions
0054       SamplingDistPlot * MakeTestStatPlot(int index, int type=0, int nbins = 100);
0055 
0056 
0057       /// Draw the scan result in the current canvas
0058       /// Possible options:
0059       ///   ""  (default): draw observed + expected with 1 and 2 sigma bands
0060       ///   SAME : draw in the current axis
0061       ///   OBS  :  draw only the observed plot
0062       ///   EXP  :  draw only the expected plot
0063       ///   CLB  : draw also  CLb
0064       ///   2CL  : drow both  CLs+b and CLs
0065       void Draw(Option_t *opt="") override;
0066 
0067       /// destructor
0068       ~HypoTestInverterPlot() override ;
0069 
0070    private:
0071 
0072       HypoTestInverterResult* fResults;
0073 
0074    protected:
0075 
0076       ClassDefOverride(HypoTestInverterPlot,1)  // HypoTestInverterPlot class
0077 
0078    };
0079 }
0080 
0081 #endif