test
Main Page
Namespaces
Classes
Package Documentation
GIT Directory
WorkBook
Offline Guide
Release schedule
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
PhysicsTools
HeppyCore
python
framework
weight.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
def
printWeights
( weights ):
5
for
key, value
in
weights.iteritems():
6
print
key
7
print
value
8
9
class
Weight
( object ):
10
'''make names uniform wrt Component.
11
12
COLIN: messy... should I have several types of weight (base, data, mc)?
13
COLIN: need to add other weighting factors'''
14
15
FBINV = 1000.
16
17
def
__init__
(self, genNEvents, xSection, genEff,
18
intLumi = FBINV, addWeight=1):
19
self.
genNEvents
= int(genNEvents)
20
if
xSection
is
not
None
:
21
self.
xSection
= float(xSection)
22
else
:
23
self.
xSection
=
None
24
self.
genEff
= float(genEff)
25
if
intLumi
is
not
None
:
26
self.
intLumi
= float(intLumi)
27
else
:
28
self.
intLumi
= Weight.FBINV
29
self.
addWeight
= float(addWeight)
30
31
def
GetWeight
(self):
32
'''Return the weight'''
33
if
self.
xSection
is
None
:
34
# data
35
return
1
36
else
:
37
# MC
38
return
self.
addWeight
* self.
xSection
* self.
intLumi
/ ( self.
genNEvents
* self.
genEff
)
39
40
def
SetIntLumi
(self, lumi):
41
'''Set integrated luminosity.'''
42
self.dict[
'intLumi'
] = lumi
43
44
def
__str__
(self):
45
if
self.
xSection
is
None
:
46
return
' intLumi = %5.2f, addWeight = %3.2f'
\
47
% ( self.
intLumi
,
48
self.
addWeight
)
49
else
:
50
return
' genN = %d, xsec = %5.5f pb, genEff = %2.2f, intLumi = %5.2f, addWeight = %3.2f -> weight = %3.5f'
\
51
% ( self.
genNEvents
,
52
self.
xSection
,
53
self.
genEff
,
54
self.
intLumi
,
55
self.
addWeight
,
56
self.
GetWeight
() )
57
weight.Weight.intLumi
intLumi
Definition:
weight.py:26
weight.Weight.__str__
def __str__
Definition:
weight.py:44
weight.Weight.xSection
xSection
Definition:
weight.py:21
weight.Weight
Definition:
weight.py:9
weight.printWeights
def printWeights
Definition:
weight.py:4
weight.Weight.genNEvents
genNEvents
Definition:
weight.py:19
weight.Weight.addWeight
addWeight
Definition:
weight.py:29
weight.Weight.SetIntLumi
def SetIntLumi
Definition:
weight.py:40
weight.Weight.__init__
def __init__
Definition:
weight.py:18
weight.Weight.genEff
genEff
Definition:
weight.py:24
weight.Weight.GetWeight
def GetWeight
Definition:
weight.py:31
Generated for CMSSW Reference Manual by
1.8.5