CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
PhysicsModel.SMLikeHiggsModel Class Reference
Inheritance diagram for PhysicsModel.SMLikeHiggsModel:
PhysicsModel.PhysicsModel PhysicsModel.FloatingBRHiggs PhysicsModel.FloatingHiggsMass PhysicsModel.FloatingXSHiggs PhysicsModel.StrictSMLikeHiggsModel

Public Member Functions

def getHiggsSignalYieldScale
 
def getYieldScale
 
- Public Member Functions inherited from PhysicsModel.PhysicsModel
def __init__
 
def doParametersOfInterest
 
def getYieldScale
 
def preProcessNuisances
 
def setModelBuilder
 
def setPhysicsOptions
 

Additional Inherited Members

- Public Attributes inherited from PhysicsModel.PhysicsModel
 DC
 
 modelBuilder
 
 options
 

Detailed Description

Definition at line 41 of file PhysicsModel.py.

Member Function Documentation

def PhysicsModel.SMLikeHiggsModel.getHiggsSignalYieldScale (   self,
  production,
  decay,
  energy 
)

Definition at line 42 of file PhysicsModel.py.

Referenced by PhysicsModel.SMLikeHiggsModel.getYieldScale().

42 
43  def getHiggsSignalYieldScale(self, production, decay, energy):
raise RuntimeError, "Not implemented"
def PhysicsModel.SMLikeHiggsModel.getYieldScale (   self,
  bin,
  process 
)

Definition at line 44 of file PhysicsModel.py.

References PhysicsModel.SMLikeHiggsModel.getHiggsSignalYieldScale(), HiggsCouplings.CvCfHiggs.getHiggsSignalYieldScale(), and HiggsCouplings.C5Higgs.getHiggsSignalYieldScale().

44 
45  def getYieldScale(self,bin,process):
46  "Split in production and decay, and call getHiggsSignalYieldScale; return 1 for backgrounds "
47  if not self.DC.isSignal[process]: return 1
48  processSource = process
49  decaySource = self.options.fileName+":"+bin # by default, decay comes from the datacard name or bin label
50  if "_" in process: (processSource, decaySource) = process.split("_")
51  if processSource not in ["ggH", "qqH", "VH", "WH", "ZH", "ttH"]:
52  raise RuntimeError, "Validation Error: signal process %s not among the allowed ones." % processSource
53 
54  foundDecay = None
55  for D in [ "hww", "hzz", "hgg", "htt", "hbb" ]:
56  if D in decaySource:
57  if foundDecay: raise RuntimeError, "Validation Error: decay string %s contains multiple known decay names" % decaySource
58  foundDecay = D
59  if not foundDecay: raise RuntimeError, "Validation Error: decay string %s does not contain any known decay name" % decaySource
60 
61  foundEnergy = None
62  for D in [ '7TeV', '8TeV', '14TeV' ]:
63  if D in decaySource:
64  if foundEnergy: raise RuntimeError, "Validation Error: decay string %s contains multiple known energies" % decaySource
65  foundEnergy = D
66  if not foundEnergy:
67  foundEnergy = '7TeV' ## To ensure backward compatibility
68  print "Warning: decay string %s does not contain any known energy, assuming %s" % (decaySource, foundEnergy)
69 
70  return self.getHiggsSignalYieldScale(processSource, foundDecay, foundEnergy)