CMS 3D CMS Logo

Public Member Functions | Public Attributes

SMHiggsBuilder::SMHiggsBuilder Class Reference

List of all members.

Public Member Functions

def __init__
def dump
def makeBR
def makePartialWidth
def makeTotalWidth
def makeXS
def textToSpline

Public Attributes

 brpath
 datadir
 modelBuilder
 xspath

Detailed Description

Definition at line 6 of file SMHiggsBuilder.py.


Constructor & Destructor Documentation

def SMHiggsBuilder::SMHiggsBuilder::__init__ (   self,
  modelBuilder,
  datadir = None 
)

Definition at line 7 of file SMHiggsBuilder.py.

00008                                                 :
00009         self.modelBuilder = modelBuilder
00010         if datadir == None:
00011             datadir = os.environ['CMSSW_BASE']+"/src/HiggsAnalysis/CombinedLimit/data/lhc-hxswg/sm"
00012         self.datadir = datadir
        self.brpath = os.path.join(self.datadir,'br')

Member Function Documentation

def SMHiggsBuilder::SMHiggsBuilder::dump (   self,
  name,
  xvar,
  values,
  logfile 
)

Definition at line 41 of file SMHiggsBuilder.py.

00042                                            :
00043         xv = self.modelBuilder.out.var(xvar)
00044         yf = self.modelBuilder.out.function(name)
00045         if yf == None: raise RuntimeError, "Missing "+name
00046         log = open(logfile, "w")
00047         for x in values:
00048             xv.setVal(x)
            log.write("%.3f\t%.7g\n" % (x, yf.getVal()) )
def SMHiggsBuilder::SMHiggsBuilder::makeBR (   self,
  decay 
)

Definition at line 25 of file SMHiggsBuilder.py.

00026                           :
00027         if decay == "hww": self.textToSpline("SM_BR_hww", os.path.join(self.brpath, "BR.txt"), ycol=4);
00028         if decay == "hzz": self.textToSpline("SM_BR_hzz", os.path.join(self.brpath, "BR.txt"), ycol=5);
00029         if decay == "hgg": self.textToSpline("SM_BR_hgg", os.path.join(self.brpath, "BR.txt"), ycol=2);
00030         if decay == "hZg": self.textToSpline("SM_BR_hZg", os.path.join(self.brpath, "BR.txt"), ycol=3);
00031         if decay == "hbb": self.textToSpline("SM_BR_hbb", os.path.join(self.brpath, "BR1.txt"), ycol=1);
00032         if decay == "htt": self.textToSpline("SM_BR_htt", os.path.join(self.brpath, "BR1.txt"), ycol=2);
00033         if decay == "hmm": self.textToSpline("SM_BR_hmm", os.path.join(self.brpath, "BR1.txt"), ycol=3);
00034         if decay == "hss": self.textToSpline("SM_BR_hss", os.path.join(self.brpath, "BR1.txt"), ycol=4);
00035         if decay == "hcc": self.textToSpline("SM_BR_hcc", os.path.join(self.brpath, "BR1.txt"), ycol=5);
00036         if decay == "hgluglu": self.textToSpline("SM_BR_hgluglu", os.path.join(self.brpath, "BR.txt"),   ycol=1);
        if decay == "htoptop": self.textToSpline("SM_BR_htoptop", os.path.join(self.brpath, "BR1.txt"), ycol=6);
def SMHiggsBuilder::SMHiggsBuilder::makePartialWidth (   self,
  decay 
)

Definition at line 37 of file SMHiggsBuilder.py.

00038                                     :
00039         self.makeTotalWidth(); 
00040         self.makeBR(decay);
        self.modelBuilder.factory_('prod::SM_Gamma_%s(SM_GammaTot,SM_BR_%s)' % (decay,decay))
def SMHiggsBuilder::SMHiggsBuilder::makeTotalWidth (   self)

Definition at line 23 of file SMHiggsBuilder.py.

00024                             :
        self.textToSpline("SM_GammaTot", self.datadir+"YR-BR.txt", ycol=6);
def SMHiggsBuilder::SMHiggsBuilder::makeXS (   self,
  process,
  energy = '7TeV' 
)

Definition at line 13 of file SMHiggsBuilder.py.

00014                                            :
00015         self.xspath = os.path.join(self.datadir, 'xs', energy)
00016         if process == "ggH": self.textToSpline("SM_XS_ggH_"+energy, os.path.join(self.xspath, energy+"-ggH.txt") );
00017         if process == "qqH": self.textToSpline("SM_XS_qqH_"+energy, os.path.join(self.xspath, energy+"-vbfH.txt") );
00018         if process == "ttH": self.textToSpline("SM_XS_ttH_"+energy, os.path.join(self.xspath, energy+"-ttH.txt") );
00019         if process == "WH":  self.textToSpline("SM_XS_WH_"+energy,  os.path.join(self.xspath, energy+"-WH.txt") );
00020         if process == "ZH":  self.textToSpline("SM_XS_ZH_"+energy,  os.path.join(self.xspath, energy+"-ZH.txt") );
00021         if process == "VH":  
00022             makeXS("WH", energy); makeXS("ZH", energy);
            self.modelBuilder.factory_('sum::SM_XS_VH_'+energy+'(SM_XS_WH_'+energy+',SM_XS_ZH_'+energy+')')
def SMHiggsBuilder::SMHiggsBuilder::textToSpline (   self,
  name,
  filename,
  xvar = "MH",
  ycol = 1,
  xcol = 0,
  skipRows = 1,
  algo = "CSPLINE" 
)

Definition at line 49 of file SMHiggsBuilder.py.

00050                                                                                           :
00051         if (self.modelBuilder.out.function(name) != None): return
00052         x = []; y = []
00053         file = open(filename,'r')
00054         lines = [l for l in file]
00055         for line in lines[skipRows:]:
00056             if len(line.strip()) == 0: continue
00057             cols = line.split();
00058             x.append(float(cols[xcol]))
00059             y.append(float(cols[ycol]))
00060         xv = self.modelBuilder.out.var(xvar)
00061         spline = ROOT.RooSpline1D(name, "file %s, x=%d, y=%d" % (filename,xcol,ycol), xv, len(x), array('d', x), array('d', y), algo)
00062         self.modelBuilder.out._import(spline)
00063 
00064 #if __name__ == "__main__":
00065 #   sm = SMHiggsBuilder()

Member Data Documentation

Definition at line 7 of file SMHiggsBuilder.py.

Definition at line 7 of file SMHiggsBuilder.py.

Definition at line 7 of file SMHiggsBuilder.py.

Definition at line 13 of file SMHiggsBuilder.py.