11 #ifndef ROOBARLOWBEESTONLL
12 #define ROOBARLOWBEESTONLL
24 namespace HistFactory{
26 class RooBarlowBeestonLL :
public RooAbsReal {
29 RooBarlowBeestonLL() ;
30 RooBarlowBeestonLL(
const char *name,
const char *title, RooAbsReal& nll );
31 RooBarlowBeestonLL(
const RooBarlowBeestonLL& other,
const char* name=0) ;
32 virtual TObject* clone(
const char* newname)
const {
return new RooBarlowBeestonLL(*
this,newname); }
33 virtual ~RooBarlowBeestonLL() ;
40 BarlowCache() : hasStatUncert(false), gamma(NULL),
41 observables(NULL), bin_center(NULL),
42 tau(NULL), nom_pois_mean(NULL),
43 sumPdf(NULL), nData(-1) {}
46 RooArgSet* observables;
47 RooArgSet* bin_center;
49 RooAbsReal* nom_pois_mean;
53 void SetBinCenter()
const;
68 void initializeBarlowCache();
70 RooArgSet* getParameters(
const RooArgSet* depList, Bool_t stripDisconnected=kTRUE)
const;
76 RooAbsReal& nll() {
return const_cast<RooAbsReal&
>(_nll.arg()) ; }
82 virtual Bool_t redirectServersHook(
const RooAbsCollection& , Bool_t , Bool_t , Bool_t ) ;
88 void setPdf(RooAbsPdf* pdf) { _pdf = pdf; }
89 void setDataset(RooAbsData* data) { _data = data; }
107 mutable std::map< std::string, std::vector< BarlowCache > > _barlowCache;
108 mutable std::set< std::string > _statUncertParams;
122 mutable std::map<std::string,bool> _paramFixed ;
124 Double_t evaluate()
const ;
130 ClassDef(RooStats::HistFactory::RooBarlowBeestonLL,0)