58 _catList(
"catList",
"list of cats", this),
59 _effFuncList(
"effFuncList",
"list of eff funcs",this),
60 _ignoreNonVisible(ignoreNonVisible)
66 coutE(
InputArguments) <<
"RooMultiBinomial::ctor(" <<
GetName() <<
") ERROR: Wrong input, should have equal number of categories and efficiencies." << endl;
67 throw string(
"RooMultiBinomial::ctor() ERROR: Wrong input, should have equal number of categories and efficiencies") ;
106 vector<Double_t> effFuncVal(effFuncListSize);
107 for (
int i=0; i<effFuncListSize; ++i) {
113 for (
int i=0; i<effFuncListSize; ++i) {
114 if (effFuncVal[i]>1) {
115 coutW(
Eval) <<
"WARNING: Efficency >1 (equal to " << effFuncVal[i]
116 <<
" ), for i = " << i <<
"...TRUNCATED" << endl;
117 effFuncVal[i] = 1.0 ;
118 }
else if (effFuncVal[i]<0) {
119 effFuncVal[i] = 0.0 ;
120 coutW(
Eval) <<
"WARNING: Efficency <0 (equal to " << effFuncVal[i]
121 <<
" ), for i = " << i <<
"...TRUNCATED" << endl;
125 vector<Double_t> effValue(effFuncListSize);
130 for (
int i=0; i<effFuncListSize; ++i) {
133 effValue[i] = effFuncVal[i] ;
137 effValue[i] = 1 - effFuncVal[i] ;
149 for (
int i=0; i<effFuncListSize; ++i) {
150 _effVal=_effVal*effValue[i];
RooListProxy _effFuncList
virtual const char * GetName() const
Returns name of object.
virtual ~RooMultiBinomial()
Destructor.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Reimplementation of standard RooArgList::add()
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooMultiBinomial is an efficiency function which makes all combinations of efficiencies given as inpu...
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
virtual Double_t evaluate() const
Calculate the raw value of the function which is the effFunc value if cat==1 and it is (1-effFunc) if...