CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
HiggsCouplings.C5Higgs Class Reference
Inheritance diagram for HiggsCouplings.C5Higgs:

Public Member Functions

def __init__
 
def doParametersOfInterest
 
def getHiggsSignalYieldScale
 
def setPhysicsOptions
 
def setup
 

Public Attributes

 fix
 
 floatMass
 
 mHRange
 
 SMH
 
 universalCF
 

Detailed Description

Definition at line 85 of file HiggsCouplings.py.

Constructor & Destructor Documentation

def HiggsCouplings.C5Higgs.__init__ (   self)

Definition at line 87 of file HiggsCouplings.py.

87 
88  def __init__(self):
89  SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
90  self.floatMass = False
91  self.universalCF = False
self.fix = []

Member Function Documentation

def HiggsCouplings.C5Higgs.doParametersOfInterest (   self)
Create POI out of signal strength and MH

Definition at line 104 of file HiggsCouplings.py.

References HiggsCouplings.C5Higgs.fix, HiggsCouplings.CvCfHiggs.floatMass, HiggsCouplings.C5Higgs.floatMass, HiggsCouplings.CvCfHiggs.mHRange, HiggsCouplings.C5Higgs.mHRange, and HiggsCouplings.C5Higgs.universalCF.

105  def doParametersOfInterest(self):
106  """Create POI out of signal strength and MH"""
107  # --- Signal Strength as only POI ---
108  self.modelBuilder.doVar("Cgg[1,0,10]")
109  self.modelBuilder.doVar("Cvv[1,0,10]")
110  self.modelBuilder.doVar("Cgluglu[1,0,10]")
111  POI = "Cgg,Cvv,Cgluglu"
112  if self.universalCF:
113  self.modelBuilder.doVar("Cff[1,0,10]")
114  POI += ",Cff"
115  else:
116  self.modelBuilder.doVar("Cbb[1,0,10]")
117  self.modelBuilder.doVar("Ctt[1,0,10]")
118  POI += ",Cbb,Ctt"
119  if self.floatMass:
120  if self.modelBuilder.out.var("MH"):
121  self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
122  self.modelBuilder.out.var("MH").setConstant(False)
123  else:
124  self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
125  POI += ",MH"
126  else:
127  if self.modelBuilder.out.var("MH"):
128  self.modelBuilder.out.var("MH").setVal(self.options.mass)
129  self.modelBuilder.out.var("MH").setConstant(True)
130  else:
131  self.modelBuilder.doVar("MH[%g]" % self.options.mass)
132  for F in self.fix:
133  self.modelBuilder.out.var(F).setConstant(True)
134  if F+"," in POI: POI = POI.replace(F+",", "")
135  else: POI = POI.replace(","+F, "")
136  self.modelBuilder.doSet("POI",POI)
137  self.SMH = SMHiggsBuilder(self.modelBuilder)
138  #self.doDebugDump()
self.setup()
def HiggsCouplings.C5Higgs.getHiggsSignalYieldScale (   self,
  production,
  decay,
  energy 
)

Definition at line 159 of file HiggsCouplings.py.

References HiggsCouplings.C5Higgs.universalCF.

Referenced by PhysicsModel.SMLikeHiggsModel.getYieldScale().

160  def getHiggsSignalYieldScale(self,production,decay,energy):
161  name = "C5_XSBRscal_%s_%s" % (production,decay)
162  if self.modelBuilder.out.function(name) == None:
163  XSscal = "Cgluglu" if production in ["ggH"] else "Cvv"
164  BRscal = "hgg"
165  if decay in ["hww", "hzz"]: BRscal = "hv"
166  if decay in ["hbb", "htt"]: BRscal = ("hf" if self.universalCF else decay)
167  self.modelBuilder.factory_('expr::%s("@0*@0 * @1", %s, C5_BRscal_%s)' % (name, XSscal, BRscal))
168  return name
def HiggsCouplings.C5Higgs.setPhysicsOptions (   self,
  physOptions 
)

Definition at line 92 of file HiggsCouplings.py.

References HiggsCouplings.C5Higgs.fix, HiggsCouplings.CvCfHiggs.floatMass, HiggsCouplings.C5Higgs.floatMass, and split.

92 
93  def setPhysicsOptions(self,physOptions):
94  for po in physOptions:
95  if po == "universalCF": universalCF = True
96  if po.startswith("fix="): self.fix = po.replace("fix=","").split(",")
97  if po.startswith("higgsMassRange="):
98  self.floatMass = True
99  self.mHRange = po.replace("higgsMassRange=","").split(",")
100  print 'The Higgs mass range:', self.mHRange
101  if len(self.mHRange) != 2:
102  raise RuntimeError, "Higgs mass range definition requires two extrema"
103  elif float(self.mHRange[0]) >= float(self.mHRange[1]):
raise RuntimeError, "Extrama for Higgs mass range defined with inverterd order. Second must be larger the first"
double split
Definition: MVATrainer.cc:139
def HiggsCouplings.C5Higgs.setup (   self)

Definition at line 139 of file HiggsCouplings.py.

References HiggsCouplings.C5Higgs.universalCF.

140  def setup(self):
141  for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hZg", "hmm", "hss" ]:
142  self.SMH.makeBR(d)
143  ## total witdhs, normalized to the SM one
144  if self.universalCF:
145  self.modelBuilder.factory_("expr::C5_Gscal_tot(\"@0*@1 + @2*(@3+@4+@5+@9+@10+@11) + @6*(@7+@8)\","+
146  " Cgluglu, SM_BR_hgluglu, Cff, SM_BR_hbb, SM_BR_hcc, SM_BR_htt,"+
147  " Cvv, SM_BR_hww, SM_BR_hzz, SM_BR_hss, SM_BR_hmm, SM_BR_htoptop)")
148  else:
149  self.modelBuilder.factory_("expr::C5_Gscal_tot(\"@0*@1 + @2*@3 + @4 + @5*@6 + @7*(@8+@9)\","+
150  " Cgluglu, SM_BR_hgluglu, Cbb, SM_BR_hbb, SM_BR_hcc, Ctt, SM_BR_htt,"+
151  " Cvv, SM_BR_hww, SM_BR_hzz)")
152  ## BRs, normalized to the SM ones: they scale as (partial/partial_SM) / (total/total_SM)
153  self.modelBuilder.factory_("expr::C5_BRscal_hgg(\"@0/@1\", Cgg, C5_Gscal_tot)")
154  self.modelBuilder.factory_("expr::C5_BRscal_hv(\"@0/@1\", Cvv, C5_Gscal_tot)")
155  if self.universalCF:
156  self.modelBuilder.factory_("expr::C5_BRscal_hf(\"@0/@1\", Cff, C5_Gscal_tot)")
157  else:
158  self.modelBuilder.factory_("expr::C5_BRscal_hbb(\"@0/@1\", Cbb, C5_Gscal_tot)")
self.modelBuilder.factory_("expr::C5_BRscal_htt(\"@0/@1\", Ctt, C5_Gscal_tot)")

Member Data Documentation

HiggsCouplings.C5Higgs.fix

Definition at line 91 of file HiggsCouplings.py.

Referenced by HiggsCouplings.C5Higgs.doParametersOfInterest(), and HiggsCouplings.C5Higgs.setPhysicsOptions().

HiggsCouplings.C5Higgs.floatMass

Definition at line 89 of file HiggsCouplings.py.

Referenced by HiggsCouplings.C5Higgs.doParametersOfInterest(), and HiggsCouplings.C5Higgs.setPhysicsOptions().

HiggsCouplings.C5Higgs.mHRange

Definition at line 98 of file HiggsCouplings.py.

Referenced by PhysicsModel.FloatingHiggsMass.doParametersOfInterest(), HiggsCouplings.C5Higgs.doParametersOfInterest(), PhysicsModel.FloatingXSHiggs.doParametersOfInterest(), PhysicsModel.FloatingBRHiggs.doParametersOfInterest(), HiggsJPC.TwoHypotesisHiggs.setPhysicsOptions(), PhysicsModel.FloatingHiggsMass.setPhysicsOptions(), PhysicsModel.FloatingXSHiggs.setPhysicsOptions(), and PhysicsModel.FloatingBRHiggs.setPhysicsOptions().

HiggsCouplings.C5Higgs.SMH

Definition at line 136 of file HiggsCouplings.py.

HiggsCouplings.C5Higgs.universalCF

Definition at line 90 of file HiggsCouplings.py.

Referenced by HiggsCouplings.C5Higgs.doParametersOfInterest(), HiggsCouplings.C5Higgs.getHiggsSignalYieldScale(), and HiggsCouplings.C5Higgs.setup().