Warning, file /include/root/RooJeffreysPrior.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007 #ifndef JEFFREYSPRIOR
0008 #define JEFFREYSPRIOR
0009
0010 #include "RooAbsPdf.h"
0011 #include "RooRealProxy.h"
0012 #include "RooListProxy.h"
0013
0014 class RooRealVar;
0015 class RooArgList ;
0016
0017 class RooJeffreysPrior : public RooAbsPdf {
0018 public:
0019
0020 RooJeffreysPrior() : _cacheMgr(this, 1, true, false) {}
0021 RooJeffreysPrior(const char *name, const char *title, RooAbsPdf& nominal, const RooArgList& paramSet, const RooArgList& obsSet) ;
0022
0023 RooJeffreysPrior(const RooJeffreysPrior& other, const char *name = nullptr);
0024 TObject* clone(const char* newname) const override { return new RooJeffreysPrior(*this, newname); }
0025
0026 const RooArgList& lowList() const { return _obsSet ; }
0027 const RooArgList& paramList() const { return _paramSet ; }
0028
0029 protected:
0030
0031 RooTemplateProxy<RooAbsPdf> _nominal;
0032 RooListProxy _obsSet ;
0033 RooListProxy _paramSet ;
0034
0035 double evaluate() const override;
0036
0037 private:
0038 struct CacheElem : public RooAbsCacheElement {
0039 public:
0040
0041 std::unique_ptr<RooAbsPdf> _pdf;
0042 std::unique_ptr<RooArgSet> _pdfVariables;
0043
0044 RooArgList containedArgs(Action) override {
0045 RooArgList list(*_pdf);
0046 list.add(*_pdfVariables, true);
0047 return list;
0048 }
0049 };
0050 mutable RooObjCacheManager _cacheMgr;
0051
0052 ClassDefOverride(RooJeffreysPrior,2)
0053 };
0054
0055 #endif