CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
Main Page
Namespaces
Classes
Files
File List
File Members
GenericFunctions
src
EfficiencyFunctional.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
#include "
CLHEP/GenericFunctions/EfficiencyFunctional.hh
"
4
#include "
CLHEP/GenericFunctions/Argument.hh
"
5
#include "
CLHEP/GenericFunctions/AbsFunction.hh
"
6
#include <iostream>
7
#include <cmath>
// for log()
8
9
namespace
Genfun
{
10
EfficiencyFunctional::EfficiencyFunctional
(
const
ArgumentList
& aList):
11
_aList(aList)
12
{}
13
14
EfficiencyFunctional::~EfficiencyFunctional
() {
15
}
16
17
double
EfficiencyFunctional::operator []
(
const
AbsFunction
&
function
)
const
{
18
double
logEfficiency(0);
19
for
(
unsigned
int
i=0; i<_aList.size()-1;i++) {
20
Argument
a
= _aList[i];
21
Argument
b
(a.
dimension
()-1);
22
for
(
unsigned
int
j=0;j<
b
.dimension();j++)
b
[j]=a[j];
23
double
f
=
function
(
b
);
24
if
(f<0 || f>1) {
25
std::cerr
26
<<
"Warning.. negative likelihood arg["
<< i <<
"]="
<< a <<
"f="
<< f << std::endl;
27
}
28
logEfficiency -= (a[a.
dimension
()-1]>0.5) ? log(f):log(1-f);
29
}
30
return
2.0*logEfficiency;
31
}
32
}
// namespace Genfun
Genfun::EfficiencyFunctional::EfficiencyFunctional
EfficiencyFunctional(const ArgumentList &aList)
Definition:
EfficiencyFunctional.cc:10
Genfun::AbsFunction
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:48
Argument.hh
a
Definition:
testCategories.cc:125
EfficiencyFunctional.hh
AbsFunction.hh
b
Definition:
testCategories.cc:125
Genfun::Argument
Definition:
CLHEP/GenericFunctions/Argument.hh:17
f
void f(void g())
Definition:
excDblThrow.cc:38
Genfun::Argument::dimension
unsigned int dimension() const
Definition:
CLHEP/GenericFunctions/Argument.hh:61
Genfun::ArgumentList
std::vector< Argument > ArgumentList
Definition:
CLHEP/GenericFunctions/ArgumentList.hh:7
Genfun::EfficiencyFunctional::~EfficiencyFunctional
~EfficiencyFunctional()
Definition:
EfficiencyFunctional.cc:14
Genfun
Definition:
CLHEP/GenericFunctions/Abs.hh:14
Genfun::EfficiencyFunctional::operator[]
virtual double operator[](const AbsFunction &function) const
Definition:
EfficiencyFunctional.cc:17
Generated by
1.8.9.1