CMS 3D CMS Logo

Public Member Functions | Public Attributes

HiggsCouplings::C5Higgs Class Reference

List of all members.

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.

00088                       :
00089         SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
00090         self.floatMass = False
00091         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.

00105                                     :
00106         """Create POI out of signal strength and MH"""
00107         # --- Signal Strength as only POI --- 
00108         self.modelBuilder.doVar("Cgg[1,0,10]")
00109         self.modelBuilder.doVar("Cvv[1,0,10]")
00110         self.modelBuilder.doVar("Cgluglu[1,0,10]")
00111         POI = "Cgg,Cvv,Cgluglu"
00112         if self.universalCF:
00113             self.modelBuilder.doVar("Cff[1,0,10]")
00114             POI += ",Cff"
00115         else:
00116             self.modelBuilder.doVar("Cbb[1,0,10]")
00117             self.modelBuilder.doVar("Ctt[1,0,10]")
00118             POI += ",Cbb,Ctt"
00119         if self.floatMass:
00120             if self.modelBuilder.out.var("MH"):
00121                 self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
00122                 self.modelBuilder.out.var("MH").setConstant(False)
00123             else:
00124                 self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1])) 
00125             POI += ",MH"
00126         else:
00127             if self.modelBuilder.out.var("MH"):
00128                 self.modelBuilder.out.var("MH").setVal(self.options.mass)
00129                 self.modelBuilder.out.var("MH").setConstant(True)
00130             else:
00131                 self.modelBuilder.doVar("MH[%g]" % self.options.mass) 
00132         for F in self.fix:
00133            self.modelBuilder.out.var(F).setConstant(True)
00134            if F+"," in POI: POI = POI.replace(F+",", "")
00135            else:            POI = POI.replace(","+F, "")
00136         self.modelBuilder.doSet("POI",POI)
00137         self.SMH = SMHiggsBuilder(self.modelBuilder)
00138         #self.doDebugDump()
        self.setup()
def HiggsCouplings::C5Higgs::getHiggsSignalYieldScale (   self,
  production,
  decay,
  energy 
)

Definition at line 159 of file HiggsCouplings.py.

00160                                                               :
00161         name = "C5_XSBRscal_%s_%s" % (production,decay)
00162         if self.modelBuilder.out.function(name) == None: 
00163             XSscal = "Cgluglu" if production in ["ggH"] else "Cvv"
00164             BRscal = "hgg"
00165             if decay in ["hww", "hzz"]: BRscal = "hv"
00166             if decay in ["hbb", "htt"]: BRscal = ("hf" if self.universalCF else decay)
00167             self.modelBuilder.factory_('expr::%s("@0*@0 * @1", %s, C5_BRscal_%s)' % (name, XSscal, BRscal))
00168         return name

def HiggsCouplings::C5Higgs::setPhysicsOptions (   self,
  physOptions 
)

Definition at line 92 of file HiggsCouplings.py.

00093                                            :
00094         for po in physOptions:
00095             if po == "universalCF": universalCF = True
00096             if po.startswith("fix="): self.fix = po.replace("fix=","").split(",")
00097             if po.startswith("higgsMassRange="):
00098                 self.floatMass = True
00099                 self.mHRange = po.replace("higgsMassRange=","").split(",")
00100                 print 'The Higgs mass range:', self.mHRange
00101                 if len(self.mHRange) != 2:
00102                     raise RuntimeError, "Higgs mass range definition requires two extrema"
00103                 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"
def HiggsCouplings::C5Higgs::setup (   self)

Definition at line 139 of file HiggsCouplings.py.

00140                    :
00141         for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hZg", "hmm", "hss" ]:
00142             self.SMH.makeBR(d)
00143         ## total witdhs, normalized to the SM one
00144         if self.universalCF:
00145             self.modelBuilder.factory_("expr::C5_Gscal_tot(\"@0*@1 + @2*(@3+@4+@5+@9+@10+@11) + @6*(@7+@8)\","+
00146                                        " Cgluglu, SM_BR_hgluglu, Cff, SM_BR_hbb, SM_BR_hcc, SM_BR_htt,"+
00147                                        " Cvv, SM_BR_hww, SM_BR_hzz,   SM_BR_hss, SM_BR_hmm, SM_BR_htoptop)")
00148         else:
00149             self.modelBuilder.factory_("expr::C5_Gscal_tot(\"@0*@1 + @2*@3 + @4 + @5*@6 + @7*(@8+@9)\","+
00150                                        " Cgluglu, SM_BR_hgluglu, Cbb, SM_BR_hbb, SM_BR_hcc, Ctt, SM_BR_htt,"+
00151                                        " Cvv, SM_BR_hww, SM_BR_hzz)")
00152         ## BRs, normalized to the SM ones: they scale as (partial/partial_SM) / (total/total_SM) 
00153         self.modelBuilder.factory_("expr::C5_BRscal_hgg(\"@0/@1\", Cgg, C5_Gscal_tot)")
00154         self.modelBuilder.factory_("expr::C5_BRscal_hv(\"@0/@1\",  Cvv, C5_Gscal_tot)")
00155         if self.universalCF:
00156             self.modelBuilder.factory_("expr::C5_BRscal_hf(\"@0/@1\", Cff, C5_Gscal_tot)")
00157         else:
00158             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

Definition at line 87 of file HiggsCouplings.py.

Definition at line 87 of file HiggsCouplings.py.

Definition at line 92 of file HiggsCouplings.py.

Definition at line 104 of file HiggsCouplings.py.

Definition at line 87 of file HiggsCouplings.py.