1 #ifndef CombineTools_Process_h
2 #define CombineTools_Process_h
7 #include "RooAbsReal.h"
8 #include "RooAbsData.h"
9 #include "RooRealVar.h"
27 if (pdf_ && !
dynamic_cast<RooAbsPdf*
>(pdf_) && cached_obs_) {
29 cached_int_ = pdf_->createIntegral(RooArgSet(*cached_obs_));
31 base = cached_int_->getVal();
33 return norm_ ? base * norm_->getVal() * rate_ : base * rate_;
52 TH1
const*
shape()
const {
return shape_.get(); }
60 RooAbsReal
const*
pdf()
const {
return pdf_; }
63 RooAbsData
const*
data()
const {
return data_; }
66 RooAbsReal
const*
norm()
const {
return norm_; }
73 static std::ostream&
PrintHeader(std::ostream &out);
77 std::unique_ptr<TH1> shape_;
81 RooRealVar* cached_obs_;
82 mutable RooAbsReal* cached_int_;
double no_norm_rate() const
Get the process normalisation without multiplying by the RooAbsReal value (in the case that it's pres...
void set_norm(RooAbsReal *norm)
RooAbsReal const * pdf() const
void set_rate(double const &rate)
std::unique_ptr< TH1 > ClonedScaledShape() const
void set_shape(std::unique_ptr< TH1 > shape, bool set_rate)
RooAbsReal const * norm() const
std::string to_string() const
RooAbsData const * data() const
void set_data(RooAbsData *data)
RooRealVar * observable() const
static std::ostream & PrintHeader(std::ostream &out)
friend void swap(Process &first, Process &second)
friend std::ostream & operator<<(std::ostream &out, Process const &val)
TH1 const * shape() const
void set_pdf(RooAbsReal *pdf)
Process & operator=(Process other)
void set_observable(RooRealVar *obs)
std::unique_ptr< TH1 > ClonedShape() const