![]() |
![]() |
This base class implements signal yields by production and decay mode Specific models can be obtained redefining getHiggsSignalYieldScale. More...
Public Member Functions | |
def | __init__ |
def | doParametersOfInterest |
def | getYieldScale |
def | setPhysicsOptions |
Public Attributes | |
altSignal | |
mHRange | |
muAsPOI | |
muFloating | |
sigNorms |
This base class implements signal yields by production and decay mode Specific models can be obtained redefining getHiggsSignalYieldScale.
Definition at line 5 of file HiggsJPC.py.
def HiggsJPC::TwoHypotesisHiggs::__init__ | ( | self | ) |
Definition at line 6 of file HiggsJPC.py.
00006 : 00007 self.mHRange = [] 00008 self.muAsPOI = False 00009 self.muFloating = False 00010 self.altSignal = "ALT"
def HiggsJPC::TwoHypotesisHiggs::doParametersOfInterest | ( | self | ) |
Create POI and other parameters, and define the POI set.
Definition at line 32 of file HiggsJPC.py.
00033 : 00034 """Create POI and other parameters, and define the POI set.""" 00035 self.modelBuilder.doVar("x[0,0,1]"); 00036 poi = "x" 00037 if self.muFloating: 00038 self.modelBuilder.doVar("r[1,0,10]"); 00039 if self.muAsPOI: poi += ",r" 00040 self.modelBuilder.factory_("expr::r_times_not_x(\"@0*(1-@1)\", r, x)") 00041 self.modelBuilder.factory_("expr::r_times_x(\"@0*@1\", r, x)") 00042 self.sigNorms = { True:'r_times_x', False:'r_times_not_x' } 00043 else: 00044 self.modelBuilder.factory_("expr::not_x(\"(1-@1)\", x)") 00045 self.sigNorms = { True:'x', False:'not_x' } 00046 if self.modelBuilder.out.var("MH"): 00047 if len(self.mHRange): 00048 print 'MH will be left floating within', self.mHRange[0], 'and', self.mHRange[1] 00049 self.modelBuilder.out.var("MH").setRange(float(self.mHRange[0]),float(self.mHRange[1])) 00050 self.modelBuilder.out.var("MH").setConstant(False) 00051 poi+=',MH' 00052 else: 00053 print 'MH will be assumed to be', self.options.mass 00054 self.modelBuilder.out.var("MH").removeRange() 00055 self.modelBuilder.out.var("MH").setVal(self.options.mass) 00056 else: 00057 if len(self.mHRange): 00058 print 'MH will be left floating within', self.mHRange[0], 'and', self.mHRange[1] 00059 self.modelBuilder.doVar("MH[%s,%s]" % (self.mHRange[0],self.mHRange[1])) 00060 poi+=',MH' 00061 else: 00062 print 'MH (not there before) will be assumed to be', self.options.mass 00063 self.modelBuilder.doVar("MH[%g]" % self.options.mass) 00064 self.modelBuilder.doSet("POI",poi)
def HiggsJPC::TwoHypotesisHiggs::getYieldScale | ( | self, | |
bin, | |||
process | |||
) |
Definition at line 11 of file HiggsJPC.py.
def HiggsJPC::TwoHypotesisHiggs::setPhysicsOptions | ( | self, | |
physOptions | |||
) |
Definition at line 16 of file HiggsJPC.py.
00017 : 00018 for po in physOptions: 00019 if po == "muAsPOI": 00020 print "Will consider the signal strength as a parameter of interest" 00021 self.muAsPOI = True 00022 self.muFloating = True 00023 if po == "muFloating": 00024 print "Will consider the signal strength as a floating parameter (as a parameter of interest if --PO muAsPOI is specified, as a nuisance otherwise)" 00025 self.muFloating = True 00026 if po.startswith("altSignal="): self.altSignal = po.split(",")[1] 00027 if po.startswith("higgsMassRange="): 00028 self.mHRange = po.replace("higgsMassRange=","").split(",") 00029 if len(self.mHRange) != 2: 00030 raise RuntimeError, "Higgs mass range definition requires two extrema" 00031 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"
Definition at line 6 of file HiggsJPC.py.
Definition at line 6 of file HiggsJPC.py.
Definition at line 6 of file HiggsJPC.py.
Definition at line 6 of file HiggsJPC.py.
Definition at line 32 of file HiggsJPC.py.