CMS 3D CMS Logo

Public Member Functions

PhysicsModel::SMLikeHiggsModel Class Reference

Inheritance diagram for PhysicsModel::SMLikeHiggsModel:
PhysicsModel::PhysicsModel PhysicsModel::FloatingBRHiggs PhysicsModel::FloatingHiggsMass PhysicsModel::FloatingXSHiggs PhysicsModel::StrictSMLikeHiggsModel

List of all members.

Public Member Functions

def getHiggsSignalYieldScale
def getYieldScale

Detailed Description

Definition at line 41 of file PhysicsModel.py.


Member Function Documentation

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

Reimplemented in PhysicsModel::StrictSMLikeHiggsModel, PhysicsModel::FloatingHiggsMass, PhysicsModel::FloatingXSHiggs, and PhysicsModel::FloatingBRHiggs.

Definition at line 42 of file PhysicsModel.py.

00043                                                                  :
            raise RuntimeError, "Not implemented"
def PhysicsModel::SMLikeHiggsModel::getYieldScale (   self,
  bin,
  process 
)

Reimplemented from PhysicsModel::PhysicsModel.

Definition at line 44 of file PhysicsModel.py.

00045                                        :
00046         "Split in production and decay, and call getHiggsSignalYieldScale; return 1 for backgrounds "
00047         if not self.DC.isSignal[process]: return 1
00048         processSource = process
00049         decaySource   = self.options.fileName+":"+bin # by default, decay comes from the datacard name or bin label
00050         if "_" in process: (processSource, decaySource) = process.split("_")
00051         if processSource not in ["ggH", "qqH", "VH", "WH", "ZH", "ttH"]:
00052             raise RuntimeError, "Validation Error: signal process %s not among the allowed ones." % processSource
00053 
00054         foundDecay = None
00055         for D in [ "hww", "hzz", "hgg", "htt", "hbb" ]:
00056             if D in decaySource:
00057                 if foundDecay: raise RuntimeError, "Validation Error: decay string %s contains multiple known decay names" % decaySource
00058                 foundDecay = D
00059         if not foundDecay: raise RuntimeError, "Validation Error: decay string %s does not contain any known decay name" % decaySource
00060 
00061         foundEnergy = None
00062         for D in [ '7TeV', '8TeV', '14TeV' ]:
00063             if D in decaySource:
00064                 if foundEnergy: raise RuntimeError, "Validation Error: decay string %s contains multiple known energies" % decaySource
00065                 foundEnergy = D
00066         if not foundEnergy:
00067             foundEnergy = '7TeV' ## To ensure backward compatibility
00068             print "Warning: decay string %s does not contain any known energy, assuming %s" % (decaySource, foundEnergy)
00069 
00070         return self.getHiggsSignalYieldScale(processSource, foundDecay, foundEnergy)