Public Member Functions | |
def | __init__ |
def | doParametersOfInterest |
def | getHiggsSignalYieldScale |
def | setPhysicsOptions |
def | setup |
Public Attributes | |
fix | |
floatMass | |
mHRange | |
SMH | |
universalCF |
Definition at line 85 of file HiggsCouplings.py.
def HiggsCouplings::C5Higgs::__init__ | ( | self | ) |
Definition at line 87 of file HiggsCouplings.py.
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)")
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.