45 ClassImp(RooFracRemainder);
52 RooFracRemainder::RooFracRemainder()
54 _setIter1 = _set1.createIterator() ;
62 RooFracRemainder::RooFracRemainder(
const char* name,
const char* title,
const RooArgSet& sumSet) :
63 RooAbsReal(name, title),
64 _set1(
"set1",
"First set of components",this)
66 _setIter1 = _set1.createIterator() ;
68 TIterator* inputIter = sumSet.createIterator() ;
70 while((comp = (RooAbsArg*)inputIter->Next())) {
71 if (!dynamic_cast<RooAbsReal*>(comp)) {
72 coutE(InputArguments) <<
"RooFracRemainder::ctor(" << GetName() <<
") ERROR: component " << comp->GetName()
73 <<
" is not of type RooAbsReal" << endl ;
74 RooErrorHandler::softAbort() ;
88 RooFracRemainder::RooFracRemainder(
const RooFracRemainder& other,
const char* name) :
89 RooAbsReal(other, name),
90 _set1(
"set1",this,other._set1)
92 _setIter1 = _set1.createIterator() ;
102 RooFracRemainder::~RooFracRemainder()
104 if (_setIter1)
delete _setIter1 ;
112 Double_t RooFracRemainder::evaluate()
const
116 const RooArgSet* nset = _set1.nset() ;
120 while((comp=(RooAbsReal*)_setIter1->Next())) {
121 sum -= comp->getVal(nset) ;