本文整理汇总了Python中HiggsAnalysis.CombinedLimit.SMHiggsBuilder.SMHiggsBuilder类的典型用法代码示例。如果您正苦于以下问题:Python SMHiggsBuilder类的具体用法?Python SMHiggsBuilder怎么用?Python SMHiggsBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SMHiggsBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RwzHiggs
class RwzHiggs(SMLikeHiggsModel):
"scale WW by mu and ZZ by cZW^2 * mu"
def __init__(self):
SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
self.floatMass = False
def setPhysicsOptions(self,physOptions):
for po in physOptions:
if po.startswith("higgsMassRange="):
self.floatMass = True
self.mHRange = po.replace("higgsMassRange=","").split(",")
print 'The Higgs mass range:', self.mHRange
if len(self.mHRange) != 2:
raise RuntimeError, "Higgs mass range definition requires two extrema."
elif float(self.mHRange[0]) >= float(self.mHRange[1]):
raise RuntimeError, "Extrema for Higgs mass range defined with inverterd order. Second must be larger the first."
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("Rwz[1,0,10]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'Rwz,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'Rwz')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
def setup(self):
for d in [ "hww", "hzz" ]:
self.SMH.makeBR(d)
self.modelBuilder.doVar("Rhzz[1,0,10]")
self.modelBuilder.factory_('expr::Rhww("@0*@1", Rhzz, Rwz)')
def getHiggsSignalYieldScale(self,production,decay,energy):
if decay not in ['hww', 'hzz']:
return 0
else:
return 'R%s' % decay
示例2: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("kgluon[1,0,2]")
self.modelBuilder.doVar("kgamma[1,0,3]")
myPOIs = ['kgluon','kgamma']
if self.doHZg:
self.modelBuilder.doVar("kZgamma[1,0,10]")
myPOIs.append('kZgamma')
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
myPOIs.append('MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet( 'POI', ','.join(myPOIs) )
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例3: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("r_WZ[1,0.0,1.0]") # bounded to 1
self.modelBuilder.doVar("r_gZ[1,0.0,2.0]")
self.modelBuilder.doVar("r_tZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_bZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_mZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_topglu[1,0.0,4.0]")
self.modelBuilder.doVar("r_Zglu[1,0.0,4.0]")
self.modelBuilder.doVar("c_gluZ[1,0.0,3.0]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'r_WZ,r_gZ,r_tZ,r_bZ,r_mZ,r_topglu,r_Zglu,c_gluZ,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'r_WZ,r_gZ,r_tZ,r_bZ,r_mZ,r_topglu,r_Zglu,c_gluZ')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例4: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("Cg[1,0,10]")
self.modelBuilder.doVar("Cv[1,0,10]")
self.modelBuilder.doVar("Cglu[1,0,10]")
POI = "Cg,Cv,Cglu"
if self.universalCF:
self.modelBuilder.doVar("Cf[1,0,10]")
POI += ",Cf"
else:
self.modelBuilder.doVar("Cu[1,0,10]")
self.modelBuilder.doVar("Cd[1,0,10]")
POI += ",Cu,Cd"
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
POI += ",MH"
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
for F in self.fix:
self.modelBuilder.out.var(F).setConstant(True)
if F+"," in POI: POI = POI.replace(F+",", "")
else: POI = POI.replace(","+F, "")
self.modelBuilder.doSet("POI",POI)
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例5: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("CW[1.0,0.0,5.0]")
self.modelBuilder.doVar("CZ[1.0,0.0,5.0]")
self.modelBuilder.doVar("Ctop[1.0,0.0,5.0]")
self.modelBuilder.doVar("Cb[1.0,0.0,5.0]")
self.modelBuilder.doVar("Ctau[1.0,0.0,5.0]")
self.modelBuilder.doVar("Cmu[1.0,0.0,5.0]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'MH,CW,CZ,Ctop,Cb,Ctau,Cmu')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'CW,CZ,Ctop,Cb,Ctau,Cmu')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例6: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("kV[1,0.0,1.0]") # bounded to 1
self.modelBuilder.doVar("ktau[1,0.0,2.0]")
self.modelBuilder.doVar("ktop[1,0.0,4.0]")
self.modelBuilder.doVar("kbottom[1,0.0,3.0]")
self.modelBuilder.doVar("kgluon[1,0.0,2.0]")
self.modelBuilder.doVar("kgamma[1,0.0,2.5]")
self.modelBuilder.doVar("BRInvUndet[0,0,1]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'kV,ktau,ktop,kbottom,kgluon,kgamma,BRInvUndet,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'kV,ktau,ktop,kbottom,kgluon,kgamma,BRInvUndet')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例7: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("r[1,0,20]")
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'r,MH')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例8: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("Czw[1,0,10]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'Czw,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'Czw')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例9: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("cosbma[0,-1,1]")
self.modelBuilder.doVar("tanbeta[0,0.0,10]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'cosbma,tanbeta,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'cosbma,tanbeta')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例10: FermiophobicHiggs
class FermiophobicHiggs(SMLikeHiggsModel):
"assume the SM coupling but let the Higgs mass to float"
def __init__(self):
SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
self.mHRange = ['115','135'] # default
def setPhysicsOptions(self,physOptions):
for po in physOptions:
if po.startswith("higgsMassRange="):
self.mHRange = po.replace("higgsMassRange=","").split(",")
print 'The Higgs mass range:', self.mHRange
if len(self.mHRange) != 2:
raise RuntimeError, "Higgs mass range definition requires two extrema"
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 doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
self.modelBuilder.doVar("r[1,0,20]")
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'r,MH')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
def setup(self):
## Add FP BRs
datadir = os.environ['CMSSW_BASE']+'/src/HiggsAnalysis/CombinedLimit/data/lhc-hxswg'
self.SMH.textToSpline( 'FP_BR_hww', os.path.join(datadir, 'fp/BR.txt'), ycol=4 );
self.SMH.textToSpline( 'FP_BR_hzz', os.path.join(datadir, 'fp/BR.txt'), ycol=5 );
self.SMH.textToSpline( 'FP_BR_hgg', os.path.join(datadir, 'fp/BR.txt'), ycol=2 );
self.SMH.textToSpline( 'FP_BR_hzg', os.path.join(datadir, 'fp/BR.txt'), ycol=3 );
for decay in ['hww','hzz','hgg','hzg']:
self.SMH.makeBR(decay)
self.modelBuilder.factory_('expr::FP_BRScal_%s("@0*@1/@2",r,FP_BR_%s,SM_BR_%s)'%(decay,decay,decay))
self.modelBuilder.out.Print()
def getHiggsSignalYieldScale(self,production,decay,energy):
if production not in ['VH', 'WH', 'ZH', 'qqH']:
return 0
if decay not in ['hww','hzz','hgg','hzg']:
return 0
return 'FP_BRScal_%s' % decay
示例11: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
# --- Signal Strength as only POI ---
#self.modelBuilder.doVar("CV[1,%s,%s]" % (self.cVRange[0], self.cVRange[1]))
self.modelBuilder.doVar("CV[1,0.0,1.0]") # bounded to 1
self.modelBuilder.doVar("CF[1,0,10]")
self.modelBuilder.doVar("BRInvUndet[0,0,1]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'CV,CF,BRInvUndet,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'CV,CF,BRInvUndet')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
示例12: PartialWidthsModel
class PartialWidthsModel(SMLikeHiggsModel):
"As in ATL-PHYS-PUB-2012-004"
def __init__(self):
SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
self.floatMass = False
def setPhysicsOptions(self,physOptions):
for po in physOptions:
if po.startswith("higgsMassRange="):
self.floatMass = True
self.mHRange = po.replace("higgsMassRange=","").split(",")
print 'The Higgs mass range:', self.mHRange
if len(self.mHRange) != 2:
raise RuntimeError, "Higgs mass range definition requires two extrema"
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 doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("r_WZ[1,0.0,1.0]") # bounded to 1
self.modelBuilder.doVar("r_gZ[1,0.0,2.0]")
self.modelBuilder.doVar("r_tZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_bZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_mZ[1,0.0,4.0]")
self.modelBuilder.doVar("r_topglu[1,0.0,4.0]")
self.modelBuilder.doVar("r_Zglu[1,0.0,4.0]")
self.modelBuilder.doVar("c_gluZ[1,0.0,3.0]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'r_WZ,r_gZ,r_tZ,r_bZ,r_mZ,r_topglu,r_Zglu,c_gluZ,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'r_WZ,r_gZ,r_tZ,r_bZ,r_mZ,r_topglu,r_Zglu,c_gluZ')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
def setup(self):
self.modelBuilder.doVar("PW_one[1]")
self.modelBuilder.factory_("prod::sr_WZ(r_WZ,r_WZ)")
self.modelBuilder.factory_("prod::sr_bZ(r_bZ,r_bZ)")
self.modelBuilder.factory_("prod::sr_tZ(r_tZ,r_tZ)")
self.modelBuilder.factory_("prod::sr_mZ(r_mZ,r_mZ)")
self.modelBuilder.factory_("prod::sr_gZ(r_gZ,r_gZ)")
self.modelBuilder.factory_("prod::sr_Zglu(r_Zglu,r_Zglu)")
self.modelBuilder.factory_("prod::sr_topglu(r_topglu,r_topglu)")
self.modelBuilder.factory_("prod::sc_gluZ(c_gluZ,c_gluZ)")
self.modelBuilder.factory_("prod::PW_XSscal_WH(sr_Zglu,sr_WZ)")
#self.modelBuilder.factory_("expr::PW_lambdaWZ(\"sqrt(@0)\",sr_WZ)")
#self.SMH.makeScaling("qqH", CW='PW_lambdaWZ', CZ="PW_one")
self.SMH.makeScaling("qqH", CW='r_WZ', CZ="PW_one")
self.modelBuilder.factory_("prod::PW_XSscal_qqH_7TeV(Scaling_qqH_7TeV,sr_Zglu)")
self.modelBuilder.factory_("prod::PW_XSscal_qqH_8TeV(Scaling_qqH_8TeV,sr_Zglu)")
self.decayScales_ = {
'hzz' : 'PW_one',
'hww' : 'sr_WZ',
'hbb' : 'sr_bZ',
'htt' : 'sr_tZ',
'hmm' : 'sr_mZ',
'hgg' : 'sr_gZ',
'hss' : 'sr_bZ',
'hcc' : 'PW_one', #
'hgluglu' : 'PW_one', #
'hzg' : 'PW_one', #
}
self.prodScales_ = {
'ggH' : 'PW_one',
'qqH' : 'PW_XSscal_qqH',
'WH' : 'PW_XSscal_WH',
'ZH' : 'sr_Zglu',
'ttH' : 'sr_topglu',
}
def getHiggsSignalYieldScale(self,production,decay,energy):
name = "c7_XSBRscal_%s_%s" % (production,decay)
if production == 'qqH': name += "_%s" % energy
if self.modelBuilder.out.function(name):
return name
dscale = self.decayScales_[decay]
pscale = self.prodScales_[production]
if production == "qqH": pscale += "_%s" % energy
print '[LOFullParametrization::PartialWidthModel]: ', name, production, decay, energy, pscale, dscale
self.modelBuilder.factory_("prod::%s(%s,sc_gluZ,%s)" % (name, dscale, pscale))
return name
示例13: Higgswidth
#.........这里部分代码省略.........
self.modelBuilder.doVar("kgluon[1.,0.,4.]")
self.modelBuilder.doVar("kV[1.,0.,8.]")
#self.modelBuilder.doVar("CMS_zz4l_GGsm[1.,0.,30.]")
self.modelBuilder.doVar("CMS_zz4l_GGsm[1.,0.,60.]")
#self.modelBuilder.doVar("kV[0.0,0.0,1.0]")
self.modelBuilder.doVar("ktau[0.0,0.0,2.0]")
self.modelBuilder.doVar("ktop[0.0,0.0,4.0]")
self.modelBuilder.doVar("kbottom[0.0,0.0,3.0]")
#self.modelBuilder.doVar("kgluon[0.0,0.0,2.0]")
self.modelBuilder.doVar("kgamma[0.0,0.0,2.5]")
#self.modelBuilder.doVar("BRInvUndet[0,0,1]")
self.modelBuilder.doVar("CMS_zz4l_scalerK[1.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hww[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hzz[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_htt[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hmm[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_htoptop[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hcc[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hbb[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hss[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hgluglu[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hgg[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hzg[0.0,0.0,1.0]")
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_Vectors("@0*@0 * (@[email protected])*abs([email protected])", kV, SM_BR_hzz, SM_BR_hww, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_tau("@0*@0 * (@[email protected])*abs([email protected])", ktau, SM_BR_htt, SM_BR_hmm, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_top("@0*@0 * (@[email protected])*abs([email protected])", ktop, SM_BR_htoptop, SM_BR_hcc, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_bottom("@0*@0 * (@[email protected])*abs([email protected])", kbottom, SM_BR_hbb, SM_BR_hss, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_gluon("@0*@0 * @1*abs([email protected])", kgluon, SM_BR_hgluglu, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_gamma("@0*@0 * (@[email protected])*abs([email protected])", kgamma, SM_BR_hgg, SM_BR_hzg, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('sum::gammaK(CMS_zz4l_Gscal_Vectors, CMS_zz4l_Gscal_tau, CMS_zz4l_Gscal_top, CMS_zz4l_Gscal_bottom, CMS_zz4l_Gscal_gluon, CMS_zz4l_Gscal_gamma, CMS_zz4l_scalerK)')
self.SMH = SMHiggsBuilder(self.modelBuilder)
for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hzg", "hmm", "hss" ]: self.SMH.makeBR(d)
if self.useKframework:
self.modelBuilder.out.var("CMS_zz4l_scalerK").setVal(0.0)
else:
self.modelBuilder.out.var("CMS_zz4l_scalerK").setVal(1.0)
if not self.is2l2nu:
self.modelBuilder.out.var("SM_BR_hww").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hww").setConstant(True)
self.modelBuilder.out.var("SM_BR_hzz").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hzz").setConstant(True)
self.modelBuilder.out.var("SM_BR_htt").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hmm").setVal(0.0)
self.modelBuilder.out.var("SM_BR_htt").setConstant(True)
self.modelBuilder.out.var("SM_BR_hmm").setConstant(True)
self.modelBuilder.out.var("SM_BR_htoptop").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hcc").setVal(0.0)
self.modelBuilder.out.var("SM_BR_htoptop").setConstant(True)
self.modelBuilder.out.var("SM_BR_hcc").setConstant(True)
self.modelBuilder.out.var("SM_BR_hbb").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hss").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hbb").setConstant(True)
self.modelBuilder.out.var("SM_BR_hss").setConstant(True)
self.modelBuilder.out.var("SM_BR_hgluglu").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hgg").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hgluglu").setConstant(True)
self.modelBuilder.out.var("SM_BR_hgg").setConstant(True)
self.modelBuilder.out.var("SM_BR_hzg").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hzg").setConstant(True)
self.modelBuilder.out.var("CMS_zz4l_scalerK").setConstant(True)
开发者ID:amassiro,项目名称:LimitCombine,代码行数:66,代码来源:HiggsWidthKappaCustodialMHSscaleWWOriginalWithBkgUnc.py
示例14: doParametersOfInterest
def doParametersOfInterest(self):
"""Create POI and other parameters, and define the POI set."""
print "self.MHScaleWW = ",self.MHScaleWW
self.modelBuilder.doVar("Zero[0.,0.,1.]")
self.modelBuilder.out.var("Zero").setVal(0.)
self.modelBuilder.out.var("Zero").setConstant(True)
self.modelBuilder.doVar("xsr_ggH[1.,0.,2.]")
if self.MHScaleWW :
print '!!!!!!! Scaling HWW from mH=125.0 GeV to mH=125.6 GeV !!!!!!!!!'
self.modelBuilder.out.var("xsr_ggH").setVal(1.035)
else:
self.modelBuilder.out.var("xsr_ggH").setVal(1.)
self.modelBuilder.out.var("xsr_ggH").setConstant(True)
self.modelBuilder.doVar("xsr_qqH[1.,0.,2.]")
if self.MHScaleWW :
self.modelBuilder.out.var("xsr_qqH").setVal(1.041)
else:
self.modelBuilder.out.var("xsr_qqH").setVal(1.)
self.modelBuilder.out.var("xsr_qqH").setConstant(True)
#self.SMH = SMHiggsBuilder(self.modelBuilder)
#for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hzg", "hmm", "hss" ]: self.SMH.makeBR(d)
self.modelBuilder.doVar("lambdaWZ[1.,0.,2.]")
if self.notCustodial :
print "Removing Custodial symmetry"
else:
self.modelBuilder.out.var("lambdaWZ").setVal(1.0)
self.modelBuilder.out.var("lambdaWZ").setConstant(True)
if self.is2l2nu:
#self.modelBuilder.factory_('sum::c7_Gscal_tot(c7_Gscal_Vectors, c7_Gscal_tau, c7_Gscal_top, c7_Gscal_bottom, c7_Gscal_gluon, c7_Gscal_gamma)')
self.modelBuilder.doVar("CMS_widthH_kbkg[1.,0.,2.]")
self.modelBuilder.doVar("CMS_widthH_ww_kbkg[1.,0.,2.]")
self.modelBuilder.doVar("R[1.,0.,4.]")
self.modelBuilder.doVar("R1j[1.,0.,4.]")
self.modelBuilder.doVar("kgluon[1.,0.,4.]")
self.modelBuilder.doVar("kV[1.,0.,8.]")
#self.modelBuilder.doVar("CMS_zz4l_GGsm[1.,0.,30.]")
self.modelBuilder.doVar("CMS_zz4l_GGsm[1.,0.,60.]")
#self.modelBuilder.doVar("kV[0.0,0.0,1.0]")
self.modelBuilder.doVar("ktau[0.0,0.0,2.0]")
self.modelBuilder.doVar("ktop[0.0,0.0,4.0]")
self.modelBuilder.doVar("kbottom[0.0,0.0,3.0]")
#self.modelBuilder.doVar("kgluon[0.0,0.0,2.0]")
self.modelBuilder.doVar("kgamma[0.0,0.0,2.5]")
#self.modelBuilder.doVar("BRInvUndet[0,0,1]")
self.modelBuilder.doVar("CMS_zz4l_scalerK[1.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hww[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hzz[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_htt[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hmm[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_htoptop[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hcc[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hbb[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hss[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hgluglu[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hgg[0.0,0.0,1.0]")
self.modelBuilder.doVar("SM_BR_hzg[0.0,0.0,1.0]")
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_Vectors("@0*@0 * (@[email protected])*abs([email protected])", kV, SM_BR_hzz, SM_BR_hww, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_tau("@0*@0 * (@[email protected])*abs([email protected])", ktau, SM_BR_htt, SM_BR_hmm, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_top("@0*@0 * (@[email protected])*abs([email protected])", ktop, SM_BR_htoptop, SM_BR_hcc, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_bottom("@0*@0 * (@[email protected])*abs([email protected])", kbottom, SM_BR_hbb, SM_BR_hss, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_gluon("@0*@0 * @1*abs([email protected])", kgluon, SM_BR_hgluglu, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('expr::CMS_zz4l_Gscal_gamma("@0*@0 * (@[email protected])*abs([email protected])", kgamma, SM_BR_hgg, SM_BR_hzg, CMS_zz4l_scalerK)')
self.modelBuilder.factory_('sum::gammaK(CMS_zz4l_Gscal_Vectors, CMS_zz4l_Gscal_tau, CMS_zz4l_Gscal_top, CMS_zz4l_Gscal_bottom, CMS_zz4l_Gscal_gluon, CMS_zz4l_Gscal_gamma, CMS_zz4l_scalerK)')
self.SMH = SMHiggsBuilder(self.modelBuilder)
for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hzg", "hmm", "hss" ]: self.SMH.makeBR(d)
if self.useKframework:
self.modelBuilder.out.var("CMS_zz4l_scalerK").setVal(0.0)
else:
self.modelBuilder.out.var("CMS_zz4l_scalerK").setVal(1.0)
if not self.is2l2nu:
self.modelBuilder.out.var("SM_BR_hww").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hww").setConstant(True)
self.modelBuilder.out.var("SM_BR_hzz").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hzz").setConstant(True)
self.modelBuilder.out.var("SM_BR_htt").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hmm").setVal(0.0)
self.modelBuilder.out.var("SM_BR_htt").setConstant(True)
self.modelBuilder.out.var("SM_BR_hmm").setConstant(True)
self.modelBuilder.out.var("SM_BR_htoptop").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hcc").setVal(0.0)
self.modelBuilder.out.var("SM_BR_htoptop").setConstant(True)
self.modelBuilder.out.var("SM_BR_hcc").setConstant(True)
self.modelBuilder.out.var("SM_BR_hbb").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hss").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hbb").setConstant(True)
self.modelBuilder.out.var("SM_BR_hss").setConstant(True)
self.modelBuilder.out.var("SM_BR_hgluglu").setVal(0.0)
self.modelBuilder.out.var("SM_BR_hgg").setVal(0.0)
#.........这里部分代码省略.........
开发者ID:amassiro,项目名称:LimitCombine,代码行数:101,代码来源:HiggsWidthKappaCustodialMHSscaleWWOriginalWithBkgUnc.py
示例15: TwoHDM
class TwoHDM(SMLikeHiggsModel):
"assume the SM coupling but let the Higgs mass to float"
def __init__(self):
SMLikeHiggsModel.__init__(self) # not using 'super(x,self).__init__' since I don't understand it
self.floatMass = False
self.thdmtype = ['1']
def setPhysicsOptions(self,physOptions):
for po in physOptions:
if po.startswith("higgsMassRange="):
self.floatMass = True
self.mHRange = po.replace("higgsMassRange=","").split(",")
print 'The Higgs mass range:', self.mHRange
if len(self.mHRange) != 2:
raise RuntimeError, "Higgs mass range definition requires two extrema"
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"
if po.startswith("thdmtype="):
self.thdmtype= po.replace("thdmtype=","")
if len(self.thdmtype) != 1:
raise RuntimeError, "2HDM type requires one value"
elif int(self.thdmtype[0]) != 1 and int(self.thdmtype[0]) !=2 and int(self.thdmtype[0]) !=3 and int(self.thdmtype[0]) !=4:
raise RuntimeError, "2HDM type must be 1 (default) or 2 or 3 or 4 "
def doParametersOfInterest(self):
"""Create POI out of signal strength and MH"""
self.modelBuilder.doVar("cosbma[0,-1,1]")
self.modelBuilder.doVar("tanbeta[0,0.0,10]")
if self.floatMass:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1]))
self.modelBuilder.out.var("MH").setConstant(False)
else:
self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1]))
self.modelBuilder.doSet("POI",'cosbma,tanbeta,MH')
else:
if self.modelBuilder.out.var("MH"):
self.modelBuilder.out.var("MH").setVal(self.options.mass)
self.modelBuilder.out.var("MH").setConstant(True)
else:
self.modelBuilder.doVar("MH[%g]" % self.options.mass)
self.modelBuilder.doSet("POI",'cosbma,tanbeta')
self.SMH = SMHiggsBuilder(self.modelBuilder)
self.setup()
def setup(self):
self.modelBuilder.factory_('expr::kV("sqrt([email protected]*@0)",cosbma)')
self.modelBuilder.factory_('expr::tana("(@0*@[email protected])/(@[email protected]*@2)", tanbeta, cosbma, kV)')
self.modelBuilder.factory_('expr::cosa("1/sqrt([email protected]*@0)",tana)')
self.modelBuilder.factory_('expr::sinb("tanbeta/sqrt([email protected]*@0)",tanbeta)')
self.modelBuilder.factory_('expr::ku("@0/@1", cosa, sinb)')
if int(self.thdmtype[0]) == 1:
self.modelBuilder.factory_('expr::kd("@0", ku)')
self.modelBuilder.factory_('expr::kl("@0", ku)')
elif int(self.thdmtype[0]) == 2:
self.modelBuilder.factory_('expr::cosb("1/sqrt([email protected]*@0)",tanbeta)')
self.modelBuilder.factory_('expr::sina("tana/sqrt([email protected]*@0)",tana)')
self.modelBuilder.factory_('expr::kd("[email protected]/@1", sina,cosb)')
self.modelBuilder.factory_('expr::kl("@0", kd)')
elif int(self.thdmtype[0]) == 3:
self.modelBuilder.factory_('expr::cosb("1/sqrt([email protected]*@0)",tanbeta)')
self.modelBuilder.factory_('expr::sina("tana/sqrt([email protected]*@0)",tana)')
self.modelBuilder.factory_('expr::kd("@0", ku)')
self.modelBuilder.factory_('expr::kl("[email protected]/@1", sina,cosb)')
elif int(self.thdmtype[0]) == 4:
self.modelBuilder.factory_('expr::cosb("1/sqrt([email protected]*@0)",tanbeta)')
self.modelBuilder.factory_('expr::sina("tana/sqrt([email protected]*@0)",tana)')
self.modelBuilder.factory_('expr::kd("[email protected]/@1", sina,cosb)')
self.modelBuilder.factory_('expr::kl("@0", ku)')
self.decayScaling = {
'hgg':'hgg',
'hzg':'hzg',
'hww':'hvv',
'hzz':'hvv',
'hbb':'hdd',
'htt':'hll',
'hss':'hdd',
'hmm':'hll',
'hcc':'huu',
'hgluglu':'hgluglu',
}
self.productionScaling = {
'ttH':'ku',
'qqH':'kV',
'WH':'kV',
'ZH':'kV',
'VH':'kV',
}
# scalings of the loops
self.SMH.makeScaling('ggH', Cb='kd', Ctop='ku')
self.SMH.makeScaling('hgg', Cb='kd', Ctop='ku', CW='kV', Ctau='kl')
self.SMH.makeScaling('hzg', Cb='kd', Ctop='ku', CW='kV', Ctau='kl')
self.SMH.makeScaling('hgluglu', Cb='kd', Ctop='ku')
# SM BR
for d in [ "htt", "hbb", "hcc", "hww", "hzz", "hgluglu", "htoptop", "hgg", "hzg", "hmm", "hss" ]:
self.SMH.makeBR(d)
## total witdhs, normalized to the SM one
self.modelBuilder.factory_('expr::twohdm_Gscal_Vectors("@0*@0 * (@[email protected])", kV, SM_BR_hzz, SM_BR_hww)')
#.........这里部分代码省略.........