CMS 3D CMS Logo

List of all members | Public Member Functions
normFunctors.normFunctionFactory Class Reference
Inheritance diagram for normFunctors.normFunctionFactory:

Public Member Functions

def fPoly (self, luminonorm, intglumi, nBXs, whatev, whatav, a0=1.0, a1=0.0, a2=0.0, drift=0.0, c1=0.0, afterglow='')
 
def fPolyScheme (self, luminonorm, intglumi, nBXs, fillschemeStr, fillschemePatterns, a0=1.0, a1=0.0, a2=0.0, drift=0.0, c1=0.0)
 

Detailed Description

luminorm and correction functions.
The result of the functions are correction factors, not final luminosity
all functions take 5 run time parameters, and arbituary named params

Definition at line 3 of file normFunctors.py.

Member Function Documentation

def normFunctors.normFunctionFactory.fPoly (   self,
  luminonorm,
  intglumi,
  nBXs,
  whatev,
  whatav,
  a0 = 1.0,
  a1 = 0.0,
  a2 = 0.0,
  drift = 0.0,
  c1 = 0.0,
  afterglow = '' 
)
input: luminonorm unit Hz/ub
output: correction factor to be applied on lumi in Hz/ub

Definition at line 10 of file normFunctors.py.

10  def fPoly(self,luminonorm,intglumi,nBXs,whatev,whatav,a0=1.0,a1=0.0,a2=0.0,drift=0.0,c1=0.0,afterglow=''):
11  '''
12  input: luminonorm unit Hz/ub
13  output: correction factor to be applied on lumi in Hz/ub
14  '''
15  avglumi=0.
16  if c1 and nBXs>0:
17  avglumi=c1*luminonorm/nBXs
18  Afterglow=1.0
19  if len(afterglow)!=0:
20  afterglowmap=ast.literal_eval(afterglow)
21  for (bxthreshold,correction) in afterglowmap:
22  if nBXs >= bxthreshold :
23  Afterglow = correction
24  driftterm=1.0
25  if drift and intglumi:
26  driftterm=1.0+drift*intglumi
27  result=a0*Afterglow/(1+a1*avglumi+a2*avglumi*avglumi)*driftterm
28  return result
29 
def fPoly(self, luminonorm, intglumi, nBXs, whatev, whatav, a0=1.0, a1=0.0, a2=0.0, drift=0.0, c1=0.0, afterglow='')
Definition: normFunctors.py:10
def normFunctors.normFunctionFactory.fPolyScheme (   self,
  luminonorm,
  intglumi,
  nBXs,
  fillschemeStr,
  fillschemePatterns,
  a0 = 1.0,
  a1 = 0.0,
  a2 = 0.0,
  drift = 0.0,
  c1 = 0.0 
)
input: luminonorm unit Hz/ub
input: fillschemePatterns [(patternStr,afterglow])
output: correction factor to be applied on lumi in Hz/ub

Definition at line 30 of file normFunctors.py.

30  def fPolyScheme(self,luminonorm,intglumi,nBXs,fillschemeStr,fillschemePatterns,a0=1.0,a1=0.0,a2=0.0,drift=0.0,c1=0.0):
31  '''
32  input: luminonorm unit Hz/ub
33  input: fillschemePatterns [(patternStr,afterglow])
34  output: correction factor to be applied on lumi in Hz/ub
35  '''
36  avglumi=0.
37  if c1 and nBXs>0:
38  avglumi=c1*luminonorm/nBXs
39  Afterglow=1.0
40  if fillschemeStr and fillschemePatterns:
41  for apattern,cfactor in fillschemePatterns.items():
42  if re.match(apattern,fillschemeStr):
43  Afterglow=cfactor
44  driftterm=1.0
45  if drift and intglumi:
46  driftterm=1.0+drift*intglumi
47  result=a0*Afterglow/(1+a1*avglumi+a2*avglumi*avglumi)*driftterm
48  return result
def fPolyScheme(self, luminonorm, intglumi, nBXs, fillschemeStr, fillschemePatterns, a0=1.0, a1=0.0, a2=0.0, drift=0.0, c1=0.0)
Definition: normFunctors.py:30