Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
PhysicsTools
HeppyCore
python
statistics
value.py
Go to the documentation of this file.
1
# Copyright (C) 2014 Colin Bernet
2
# https://github.com/cbernet/heppy/blob/master/LICENSE
3
4
import
math
5
import
copy
6
7
class
Value
(object):
8
def
__init__
(self, val, err):
9
self.
val
= val
10
self.
err
= err
11
12
def
relerr
(self):
13
return
abs
(self.
err
/ self.
val
)
14
15
def
__eq__
(self, other):
16
return
self.
val
== other.val
and
self.
err
== other.err
17
18
def
__iadd__
(self, other):
19
self.
val
+= other.val
20
self.
err
= math.sqrt( self.
err
*self.
err
+ other.err*other.err)
21
return
self
22
23
def
__add__
(self, other):
24
new = copy.deepcopy(self)
25
new += other
26
return
new
27
28
def
__isub__
(self, other):
29
self.
val
-= other.val
30
self.
err
= math.sqrt( self.
err
*self.
err
+ other.err*other.err)
31
return
self
32
33
def
__sub__
(self, other):
34
new = copy.deepcopy(self)
35
new -= other
36
return
new
37
38
def
__idiv__
(self, other):
39
relerr = math.sqrt( self.
relerr
()*self.
relerr
() + other.relerr()*other.relerr())
40
self.
val
/= other.val
41
self.
err
= relerr * self.
val
42
return
self
43
44
def
__div__
(self, other):
45
new = copy.deepcopy(self)
46
new /= other
47
return
new
48
49
def
__str__
(self):
50
return
'{val:10.3f} +- {err:8.3f} ({relerr:5.2f}%)'
.
format
(val=self.
val
,
51
err=self.
err
,
52
relerr=self.
relerr
()*100)
value.Value.__idiv__
def __idiv__
Definition:
value.py:38
value.Value.__eq__
def __eq__
Definition:
value.py:15
value.Value.__div__
def __div__
Definition:
value.py:44
value.Value
Definition:
value.py:7
value.Value.__isub__
def __isub__
Definition:
value.py:28
value.Value.__str__
def __str__
Definition:
value.py:49
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
value.Value.__init__
def __init__
Definition:
value.py:8
value.Value.err
err
Definition:
value.py:10
value.Value.__add__
def __add__
Definition:
value.py:23
value.Value.relerr
def relerr
Definition:
value.py:12
format
value.Value.__sub__
def __sub__
Definition:
value.py:33
value.Value.__iadd__
def __iadd__
Definition:
value.py:18
value.Value.val
val
Definition:
value.py:9
Generated for CMSSW Reference Manual by
1.8.5