How To: Load the database, selecting only a few results.¶

In [1]:
#Set up the path to SModelS installation folder if running on a different folder
import sys; sys.path.append("."); import importlib; importlib.import_module("smodels_paths") if importlib.util.find_spec("smodels_paths") else None
In [2]:
from smodels.experiment.databaseObj import Database
from smodels.base.physicsUnits import GeV
In [3]:
## Load the official database:
database = Database("official")

How to select results from one publication (or conference note)¶

In [4]:
#Select only the CMS SUS-12-028 conference note
expID=["CMS-SUS-12-028"]
In [5]:
#Loads the selected analyses
#(The INFO tells you that superseded analyses are not loaded, see below)
results = database.getExpResults(analysisIDs=expID)
In [6]:
#Print all the results selected:
for exp in results:
    print (exp)
#Print the txnames constrained by the result in bracket notation:
exp = results[0]
for tx in exp.getTxNames():
    print (tx,'=',tx.constraint)
CMS-SUS-12-028:(0):T1,T1bbbb,T1tttt,T2,T2bb(5)
T1 = {(PV(0) > anyBSM(1),anyBSM(2)), (anyBSM(1) > MET(3),jet(4),jet(5)), (anyBSM(2) > MET(6),jet(7),jet(8))}
T1bbbb = {(PV(0) > anyBSM(1),anyBSM(2)), (anyBSM(1) > MET(3),b(4),b(5)), (anyBSM(2) > MET(6),b(7),b(8))}
T1tttt = {(PV(0) > anyBSM(1),anyBSM(2)), (anyBSM(1) > MET(3),t(4),t(5)), (anyBSM(2) > MET(6),t(7),t(8))}
T2 = {(PV(0) > anyBSM(1),anyBSM(2)), (anyBSM(1) > MET(3),jet(4)), (anyBSM(2) > MET(5),jet(6))}
T2bb = {(PV(0) > anyBSM(1),anyBSM(2)), (anyBSM(1) > MET(3),b(4)), (anyBSM(2) > MET(5),b(6))}
In [7]:
#Print ALL info fields available:
exp = results[0]
print (exp.getAttributes())
['globalInfo', 'y_unit', 'origdatasets', 'axesMap', 'validated', 'npoints', 'intermediateState', 'neighbors', 'particles', 'SMparticles', 'totalwidth', 'colordim', 'lastUpdate', 'prettyName', 'contact', 'simplices', 'datasets', 'dataMap', 'path', 'label', 'dimensionality', 'finalState', 'constraint', 'url', 'txName', 'isSM', 'spin', 'full_dimensionality', 'dataUrl', 'Leff_outer', 'Leff_inner', 'smsMap', 'implementedBy', 'nsimplex', 'dataType', 'delta_x', 'supersedes', 'allBSMparticles', 'canonName', 'sqrts', 'txnameList', 'txnameDataExp', 'type', 'condition', 'reweightF', 'lumi', 'dataId', 'min_bound', 'mass', 'pdg', 'private', 'paraboloid_shift', 'conditionDescription', 'publication', 'y_values', 'susyProcess', 'ndim', 'source', 'equations', 'dataInfo', 'coplanar', 'max_bound', 'BSMparticles', 'arxiv', 'id', 'inputFile', 'txnameData', 'eCharge', 'tri', 'good', 'figureUrl', 'furthest_site', 'comment', 'paraboloid_scale']
In [8]:
#Print values for some of the info fields (always returned as a list):
print ('sqrts=',exp.getValuesFor('sqrts'))
print ('lumi=',exp.getValuesFor('lumi'))
print ('dataType=',exp.getValuesFor('dataType'))
print ('txnames=',exp.getValuesFor('txName'))
sqrts= [8.00E+00 [TeV]]
lumi= [1.17E+01 [1/fb]]
dataType= ['upperLimit']
txnames= ['T1', 'T1bbbb', 'T1tttt', 'T2', 'T2bb']
In [9]:
#To obtain the upper limit for a given mass vector and a given simplified model (txname)
#Note that the number of masses in the mass vector must be consitent with the txname.
#For the T1 txname, for instance:
massesT1 = [[300*GeV,100*GeV],[300*GeV,100*GeV]]
print ('xsection upper limit = ',exp.getUpperLimitFor(mass=massesT1,txname='T1'))
xsection upper limit =  2.11E+03 [fb]
In [10]:
#For the T2 analysis:
massesT2 = [[300*GeV,50*GeV],[300*GeV,50*GeV]]
print ('xsection upper limit = ',exp.getUpperLimitFor(mass=massesT2,txname='T2'))
xsection upper limit =  1.07E+03 [fb]
In [11]:
#If you try with the wrong mass format, an error will be printed:
masses = [[300*GeV,50*GeV],[300*GeV,50*GeV]]
print ('xsection upper limit = ',exp.getUpperLimitFor(mass=masses,txname='T2'))
xsection upper limit =  1.07E+03 [fb]

How to load results for one simplified model (txname)¶

In [12]:
#It is also possible to load all the results for a single simplified (using the Txname convention)
Txnames = ["T1"]
T1results = database.getExpResults(txnames=Txnames)
In [13]:
#Print all the results constraining the required Txname:
for exp in T1results:
    print (exp.globalInfo.id) #(or print exp.getValuesFor('id'))
ATLAS-SUSY-2015-06
ATLAS-SUSY-2016-07
ATLAS-SUSY-2016-07
ATLAS-SUSY-2018-22
ATLAS-SUSY-2018-22
CMS-SUS-16-033
CMS-SUS-16-033
CMS-SUS-16-036
CMS-SUS-19-006
CMS-SUS-19-006-agg
ATLAS-SUSY-2013-02
ATLAS-SUSY-2013-02
CMS-SUS-12-028
CMS-SUS-13-012
CMS-SUS-13-012
CMS-SUS-13-019

How to load all experimental results, including the superseded publications¶

In [14]:
#By default only non-supersed analyses are loaded:
results = database.getExpResults()
print ('Number of non-superseded results = ',len(results))
Number of non-superseded results =  174
In [15]:
database = Database("official+superseded")
#To load all results (including the superseded ones), load also the superseded database
allResults = database.getExpResults()
print ('Including superseded results =',len(allResults))
Including superseded results = 205

How to selected upper-limit and efficiency map results:¶

In [16]:
#Get only upper-limit results:
ULresults =  database.getExpResults(dataTypes=['upperLimit'])
for exp in ULresults:
    print (exp.globalInfo.id,exp.datasets[0].dataInfo.dataType)
ATLAS-EXOT-2018-06 upperLimit
ATLAS-EXOT-2018-48 upperLimit
ATLAS-EXOT-2019-03 upperLimit
ATLAS-SUSY-2015-01 upperLimit
ATLAS-SUSY-2015-02 upperLimit
ATLAS-SUSY-2015-09 upperLimit
ATLAS-SUSY-2016-07 upperLimit
ATLAS-SUSY-2016-08 upperLimit
ATLAS-SUSY-2016-14 upperLimit
ATLAS-SUSY-2016-15 upperLimit
ATLAS-SUSY-2016-16 upperLimit
ATLAS-SUSY-2016-17 upperLimit
ATLAS-SUSY-2016-19 upperLimit
ATLAS-SUSY-2016-24 upperLimit
ATLAS-SUSY-2016-26 upperLimit
ATLAS-SUSY-2016-27 upperLimit
ATLAS-SUSY-2016-28 upperLimit
ATLAS-SUSY-2016-32 upperLimit
ATLAS-SUSY-2016-33 upperLimit
ATLAS-SUSY-2017-01 upperLimit
ATLAS-SUSY-2017-02 upperLimit
ATLAS-SUSY-2017-03 upperLimit
ATLAS-SUSY-2018-04 upperLimit
ATLAS-SUSY-2018-05 upperLimit
ATLAS-SUSY-2018-06 upperLimit
ATLAS-SUSY-2018-08 upperLimit
ATLAS-SUSY-2018-09 upperLimit
ATLAS-SUSY-2018-10 upperLimit
ATLAS-SUSY-2018-12 upperLimit
ATLAS-SUSY-2018-16 upperLimit
ATLAS-SUSY-2018-22 upperLimit
ATLAS-SUSY-2018-23 upperLimit
ATLAS-SUSY-2018-31 upperLimit
ATLAS-SUSY-2018-32 upperLimit
ATLAS-SUSY-2018-40 upperLimit
ATLAS-SUSY-2018-41 upperLimit
ATLAS-SUSY-2018-42 upperLimit
ATLAS-SUSY-2019-02 upperLimit
ATLAS-SUSY-2019-08 upperLimit
ATLAS-SUSY-2019-09 upperLimit
CMS-EXO-19-012 upperLimit
CMS-EXO-20-008 upperLimit
CMS-PAS-EXO-16-036 upperLimit
CMS-PAS-SUS-16-052 upperLimit
CMS-SUS-16-009 upperLimit
CMS-SUS-16-032 upperLimit
CMS-SUS-16-033 upperLimit
CMS-SUS-16-034 upperLimit
CMS-SUS-16-035 upperLimit
CMS-SUS-16-036 upperLimit
CMS-SUS-16-037 upperLimit
CMS-SUS-16-039 upperLimit
CMS-SUS-16-041 upperLimit
CMS-SUS-16-042 upperLimit
CMS-SUS-16-043 upperLimit
CMS-SUS-16-045 upperLimit
CMS-SUS-16-046 upperLimit
CMS-SUS-16-047 upperLimit
CMS-SUS-16-050 upperLimit
CMS-SUS-16-051 upperLimit
CMS-SUS-17-003 upperLimit
CMS-SUS-17-004 upperLimit
CMS-SUS-17-005 upperLimit
CMS-SUS-17-006 upperLimit
CMS-SUS-17-009 upperLimit
CMS-SUS-17-010 upperLimit
CMS-SUS-18-002 upperLimit
CMS-SUS-18-004 upperLimit
CMS-SUS-18-007 upperLimit
CMS-SUS-19-006 upperLimit
CMS-SUS-19-008 upperLimit
CMS-SUS-19-009 upperLimit
CMS-SUS-19-010 upperLimit
CMS-SUS-19-011 upperLimit
CMS-SUS-19-013 upperLimit
CMS-SUS-20-001 upperLimit
CMS-SUS-20-002 upperLimit
CMS-SUS-20-004 upperLimit
CMS-SUS-21-002 upperLimit
CMS-SUS-21-007 upperLimit
ATLAS-EXOT-2013-11 upperLimit
ATLAS-SUSY-2013-02 upperLimit
ATLAS-SUSY-2013-04 upperLimit
ATLAS-SUSY-2013-05 upperLimit
ATLAS-SUSY-2013-08 upperLimit
ATLAS-SUSY-2013-09 upperLimit
ATLAS-SUSY-2013-11 upperLimit
ATLAS-SUSY-2013-12 upperLimit
ATLAS-SUSY-2013-15 upperLimit
ATLAS-SUSY-2013-16 upperLimit
ATLAS-SUSY-2013-18 upperLimit
ATLAS-SUSY-2013-19 upperLimit
ATLAS-SUSY-2013-20 upperLimit
ATLAS-SUSY-2013-23 upperLimit
CMS-EXO-12-026 upperLimit
CMS-EXO-12-059 upperLimit
CMS-EXO-16-057 upperLimit
CMS-PAS-SUS-13-016 upperLimit
CMS-PAS-SUS-13-018 upperLimit
CMS-PAS-SUS-13-023 upperLimit
CMS-SUS-12-024 upperLimit
CMS-SUS-12-028 upperLimit
CMS-SUS-13-002 upperLimit
CMS-SUS-13-004 upperLimit
CMS-SUS-13-006 upperLimit
CMS-SUS-13-007 upperLimit
CMS-SUS-13-011 upperLimit
CMS-SUS-13-012 upperLimit
CMS-SUS-13-013 upperLimit
CMS-SUS-13-019 upperLimit
CMS-SUS-14-010 upperLimit
CMS-SUS-14-021 upperLimit
CMS-PAS-SUS-15-002 upperLimit
CMS-PAS-SUS-16-014 upperLimit
CMS-PAS-SUS-16-015 upperLimit
CMS-PAS-SUS-16-016 upperLimit
CMS-PAS-SUS-16-019 upperLimit
CMS-PAS-SUS-16-022 upperLimit
CMS-PAS-SUS-17-004 upperLimit
CMS-SUS-15-002 upperLimit
CMS-SUS-15-008 upperLimit
CMS-SUS-16-049 upperLimit
CMS-SUS-17-001 upperLimit
ATLAS-CONF-2012-105 upperLimit
ATLAS-CONF-2012-166 upperLimit
ATLAS-CONF-2013-001 upperLimit
ATLAS-CONF-2013-007 upperLimit
ATLAS-CONF-2013-024 upperLimit
ATLAS-CONF-2013-025 upperLimit
ATLAS-CONF-2013-035 upperLimit
ATLAS-CONF-2013-037 upperLimit
ATLAS-CONF-2013-047 upperLimit
ATLAS-CONF-2013-048 upperLimit
ATLAS-CONF-2013-049 upperLimit
ATLAS-CONF-2013-053 upperLimit
ATLAS-CONF-2013-061 upperLimit
ATLAS-CONF-2013-065 upperLimit
ATLAS-CONF-2013-089 upperLimit
ATLAS-CONF-2013-093 upperLimit
CMS-PAS-SUS-12-022 upperLimit
CMS-PAS-SUS-12-026 upperLimit
CMS-PAS-SUS-14-011 upperLimit
In [17]:
#Get only efficiency map results:
EMresults =  database.getExpResults(dataTypes=['efficiencyMap'])
for exp in EMresults:
    print (exp.globalInfo.id,exp.datasets[0].dataInfo.dataType)
ATLAS-SUSY-2015-02 efficiencyMap
ATLAS-SUSY-2015-06 efficiencyMap
ATLAS-SUSY-2016-06 efficiencyMap
ATLAS-SUSY-2016-07 efficiencyMap
ATLAS-SUSY-2016-16 efficiencyMap
ATLAS-SUSY-2016-24 efficiencyMap
ATLAS-SUSY-2016-27 efficiencyMap
ATLAS-SUSY-2016-32 efficiencyMap
ATLAS-SUSY-2017-03 efficiencyMap
ATLAS-SUSY-2018-04 efficiencyMap
ATLAS-SUSY-2018-05-ewk efficiencyMap
ATLAS-SUSY-2018-05-strong efficiencyMap
ATLAS-SUSY-2018-06 efficiencyMap
ATLAS-SUSY-2018-08 efficiencyMap
ATLAS-SUSY-2018-10 efficiencyMap
ATLAS-SUSY-2018-12 efficiencyMap
ATLAS-SUSY-2018-13 efficiencyMap
ATLAS-SUSY-2018-14 efficiencyMap
ATLAS-SUSY-2018-16 efficiencyMap
ATLAS-SUSY-2018-16-hino efficiencyMap
ATLAS-SUSY-2018-22 efficiencyMap
ATLAS-SUSY-2018-22-multibin efficiencyMap
ATLAS-SUSY-2018-31 efficiencyMap
ATLAS-SUSY-2018-32 efficiencyMap
ATLAS-SUSY-2018-33 efficiencyMap
ATLAS-SUSY-2018-40 efficiencyMap
ATLAS-SUSY-2018-41 efficiencyMap
ATLAS-SUSY-2018-42 efficiencyMap
ATLAS-SUSY-2019-02 efficiencyMap
ATLAS-SUSY-2019-08 efficiencyMap
ATLAS-SUSY-2019-09 efficiencyMap
CMS-EXO-19-001 efficiencyMap
CMS-EXO-19-010 efficiencyMap
CMS-EXO-20-004 efficiencyMap
CMS-PAS-SUS-16-052-agg efficiencyMap
CMS-SUS-16-033 efficiencyMap
CMS-SUS-16-039-agg efficiencyMap
CMS-SUS-16-048 efficiencyMap
CMS-SUS-16-050-agg efficiencyMap
CMS-SUS-19-006-agg efficiencyMap
CMS-SUS-20-004 efficiencyMap
CMS-SUS-21-002 efficiencyMap
ATLAS-SUSY-2013-02 efficiencyMap
ATLAS-SUSY-2013-04 efficiencyMap
ATLAS-SUSY-2013-05 efficiencyMap
ATLAS-SUSY-2013-09 efficiencyMap
ATLAS-SUSY-2013-11 efficiencyMap
ATLAS-SUSY-2013-12 efficiencyMap
ATLAS-SUSY-2013-15 efficiencyMap
ATLAS-SUSY-2013-16 efficiencyMap
ATLAS-SUSY-2013-18 efficiencyMap
ATLAS-SUSY-2013-21 efficiencyMap
ATLAS-SUSY-2014-03 efficiencyMap
CMS-EXO-13-006 efficiencyMap
CMS-PAS-SUS-13-015 efficiencyMap
CMS-PAS-SUS-13-016 efficiencyMap
CMS-SUS-12-024 efficiencyMap
CMS-SUS-13-007 efficiencyMap
CMS-SUS-13-011 efficiencyMap
CMS-SUS-13-012 efficiencyMap
CMS-SUS-13-013 efficiencyMap
CMS-SUS-14-021 efficiencyMap
ATLAS-CONF-2013-061 efficiencyMap
In [ ]: