// @(#)root/roostats:$Id: LikelihoodInterval.h 26434 2008-11-24 21:29:32Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/*************************************************************************
 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef RooStats_LikelihoodInterval
#define RooStats_LikelihoodInterval

#ifndef RooStats_ConfInterval
#include "RooStats/ConfInterval.h"
#endif

#ifndef ROO_ARG_SET
#include "RooArgSet.h"
#endif

#ifndef ROO_ABS_REAL
#include "RooAbsReal.h"
#endif

namespace RooStats {

   class LikelihoodInterval : public ConfInterval {

   public:

      LikelihoodInterval();
      LikelihoodInterval(const char* name);
      LikelihoodInterval(const char* name, const char* title);
      LikelihoodInterval(const char* name, RooAbsReal*, RooArgSet*);
      LikelihoodInterval(const char* name, const char* title, RooAbsReal*, RooArgSet*);
      virtual ~LikelihoodInterval();
        
      virtual Bool_t IsInInterval(RooArgSet&);
      virtual void SetConfidenceLevel(Double_t cl) {fConfidenceLevel = cl;}
      virtual Double_t ConfidenceLevel() const {return fConfidenceLevel;}
 

      // do we want it to return list of parameters
      virtual RooArgSet* GetParameters() const;

      // check if parameters are correct. (dummy implementation to start)
      Bool_t CheckParameters(RooArgSet&) const ;


      // Method to return lower limit on a given parameter 
      Double_t LowerLimit(RooRealVar& param) ;
      Double_t UpperLimit(RooRealVar& param) ;
    

   private:

      RooArgSet* fParameters; // parameters of interest for this interval
      RooAbsReal* fLikelihoodRatio; // likelihood ratio function used to make contours
      Double_t fConfidenceLevel; // Requested confidence level (eg. 0.95 for 95% CL)

      ClassDef(LikelihoodInterval,1)  // Concrete implementation of a ConfInterval based on a likelihood ratio
      
   };
}

#endif

Last change: Tue Nov 25 08:47:44 2008
Last generated: 2008-11-25 08:47

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.