47 ClassImp(RooConstraintSum);
54 RooConstraintSum::RooConstraintSum()
65 RooConstraintSum::RooConstraintSum(
const char* name,
const char* title,
const RooArgSet& constraintSet,
const RooArgSet& normSet) :
66 RooAbsReal(name, title),
67 _set1(
"set1",
"First set of components",this),
68 _paramSet(
"paramSet",
"Set of parameters",this)
70 for (
const auto comp : constraintSet) {
71 if (!dynamic_cast<RooAbsPdf*>(comp)) {
72 coutE(InputArguments) <<
"RooConstraintSum::ctor(" << GetName() <<
") ERROR: component " << comp->GetName()
73 <<
" is not of type RooAbsPdf" << endl ;
74 RooErrorHandler::softAbort() ;
79 _paramSet.add(normSet) ;
89 RooConstraintSum::RooConstraintSum(
const RooConstraintSum& other,
const char* name) :
90 RooAbsReal(other, name),
91 _set1(
"set1",this,other._set1),
92 _paramSet(
"paramSet",this,other._paramSet)
102 RooConstraintSum::~RooConstraintSum()
112 Double_t RooConstraintSum::evaluate()
const
116 for (
const auto comp : _set1) {
117 sum -=
static_cast<RooAbsPdf*
>(comp)->getLogVal(&_paramSet);