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("unittest")
In [4]:
# however filter out the aggregated CMS-SUS-16-050 result
expResult = database.getExpResults( analysisIDs=["CMS-SUS-16-050-agg"] )[0]
In [5]:
# Check: print out the experimental result
print ( expResult )
CMS-SUS-16-050-agg: ar1,ar2,ar3,ar4,ar5,ar6,ar7,ar8,ar9,ar10,ar11,ar12,ar13,ar14,ar15,ar16,ar17,ar18,ar19,ar20,ar21,ar22,ar23,ar24,ar25,ar26,ar27,ar28,ar29,ar30,ar31,ar32,ar33,ar34,ar35,ar36,ar37,ar38,ar39,ar40,ar41,ar42,ar43,ar44,ar45,ar46,ar47,ar48,ar49,ar50,ar51,ar52,ar53,ar54,ar55,ar56(56):T1tttt,T2tt,T5tctc(3)
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 )
for el in topList.getElements():
    print(el.toStr())
for tx in expResult.getTxNames():
    print(tx,tx.constraint)
TopologyList:
[2][2]

[[[t+,t-]],[[t+,t-]]] (MET, MET)
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
T1tttt [[[t,t]],[[t,t]]]
T2tt [[[t]],[[t]]]
T5tctc [[[t],[c]],[[t],[c]]]
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) )
0.21580265253866732
In [10]:
# obtain the theory predictions with marginalize=True
predMarg = theoryPredictionsFor(expResult, topList, combinedResults=True, marginalize=True )
In [11]:
# print the combined upper limit
print ( predMarg[1].getUpperLimit().asNumber(fb) )
0.3868641730759889
In [ ]: