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") ;
79 _catList(
"catList",this,other._catList),
80 _effFuncList(
"effFuncList",this,other._effFuncList),
81 _ignoreNonVisible(other._ignoreNonVisible)
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 ~RooMultiBinomial()
Destructor.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Reimplementation of standard RooArgList::add()
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
virtual const char * GetName() const
Returns name of object.
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...
ClassImp(RooMultiBinomial)
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...