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 [ ]: