Marginalize a combined result, instead of profiling it

In [1]:
# Set up the path to SModelS installation folder
import sys; sys.path.append( "." ); import smodels_paths
In [2]:
from smodels.theory import slhaDecomposer
from smodels.installation import installDirectory
from smodels.theory.theoryPrediction import theoryPredictionsFor
from smodels.tools.physicsUnits import fb, GeV
from smodels.experiment.databaseObj import Database
In [3]:
# load the official database
database = Database("official")
FastLim v1.1 efficiencies loaded. Please cite: arXiv:1402.0492, EPJC74 (2014) 11
In [4]:
# however filter out the aggregated CMS-SUS-16-050 result
expResult = database.getExpResults( analysisIDs=["CMS-PAS-SUS-16-052-agg"] )[0]
In [5]:
# Check: print out the experimental result
print ( expResult )
CMS-PAS-SUS-16-052-agg: ar1,ar2,ar3,ar4,ar5,ar6,ar7,ar8,ar9,ar10,ar11,ar12,ar13,ar14,ar15,ar16,ar17(17):T2bbWWoffSemiLep,T6bbWWoffSemiLep(2)
In [6]:
# We look at a model that has gluinos -> t t LSP
filename="%s/inputFiles/slha/gluinoToTops.slha" % installDirectory()
In [7]:
# perform the decompoistion
topList = slhaDecomposer.decompose(filename)
print ( topList )
TopologyList:
[2][2]

In [8]:
# obtain the theory predictions with marginalize=False
predProf = theoryPredictionsFor(expResult, topList, combinedResults=True, marginalize=False ) 
In [9]:
# print the combined upper limit
print ( predProf[1].getUpperLimit().asNumber(fb) )
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-d6f2ca7bd6ea> in <module>()
      1 # print the combined upper limit
----> 2 print ( predProf[1].getUpperLimit().asNumber(fb) )

TypeError: 'NoneType' object is not subscriptable
In [ ]:
# obtain the theory predictions with marginalize=True
predMarg = theoryPredictionsFor(expResult, topList, combinedResults=True, marginalize=True )
In [ ]:
# print the combined upper limit
print ( predMarg[1].getUpperLimit().asNumber(fb) )