How To: Compute likelihood and chi2

In [1]:
# Set up the path to SModelS installation folder
import sys; sys.path.append("."); import smodels_paths
In [2]:
from smodels.tools.simplifiedLikelihoods import LikelihoodComputer, Data

How to compute the likelihood and chi2 from the number of events

In [3]:
# If the number of observed events, the number of expected background events,
# its error and the number of signal events and its error are known, the likelihood
# for the signal (assuming a truncated gaussian distribution for the background and signal uncertainties)
# can be computed as:
m=Data ( observed=5, backgrounds=4.2, covariance=0.71**2, third_moment=None, nsignal=.1 )
comp=LikelihoodComputer ( m )
print ('likelihood=',comp.likelihood(nsig = 10. ) )
print ('chi2=',comp.chi2( nsig=10.))
likelihood= 0.0014241306489629875
chi2= 8.425350487466552

How to compute the likelihood and chi2 from a theory prediction

In [4]:
# In most cases one wants to compute the likelihood and chi2 for a given theory prediction computed by SModelS.
# Below we generate theory predictions and compute the likelihood and chi2 values for them
# First we import those parts of smodels that are needed for this exercise
#(We will assume the input is a SLHA file. For LHE files, use the lheDecomposer instead)
from smodels.theory import slhaDecomposer
from smodels.installation import installDirectory
from smodels.tools.physicsUnits import fb, GeV
from smodels.theory.theoryPrediction import theoryPredictionsFor
from smodels.experiment.databaseObj import Database
In [5]:
# Define the SLHA input file name
filename="inputFiles/slha/gluino_squarks.slha"
In [6]:
# Load the database, do the decomposition and compute theory predictions:
# (Look at the theory predictions HowTo to learn how to compute theory predictions)
database = Database("official")
expResults = database.getExpResults()
topList = slhaDecomposer.decompose(filename, sigcut = 0.03 * fb, doCompress=True, doInvisible=True,minmassgap = 5* GeV)
allThPredictions = [theoryPredictionsFor(exp, topList) for exp in expResults]
[SModelS:pyhfInterface] WARNING you are using pyhf v0.4.3.
[SModelS:pyhfInterface] We recommend pyhf >= 0.5.2. Please try to update pyhf ASAP!
In [7]:
# For each theory prediction, compute the corresponding likelihood and chi2 values
# (This is only possible for efficiency map-type results):
for i,thPreds in enumerate(allThPredictions):
    if not thPreds: continue #skip results with no predictions
    expID = expResults[i].globalInfo.id
    dataType = expResults[i].getValuesFor('dataType')[0]    
    for theoryPred in thPreds:
        #Compute the likelihood and chi2:
        theoryPred.computeStatistics()
        print ("\nExperimental Result: %s (%s-type)" %(expID,dataType)) #Result ID and type
        print ("Theory prediction xsec = ",theoryPred.xsection.value) #Signal xsection*efficiency*BR
        if dataType == 'efficiencyMap':
            print ('likelihood =',theoryPred.likelihood,', chi2 =',theoryPred.chi2)
        else:
            print ("(likelihood not available)")
Experimental Result: ATLAS-SUSY-2015-06 (efficiencyMap-type)
Theory prediction xsec =  4.21E-03 [pb]
likelihood = 0.00047191003417079025 , chi2 = 0.2994993563694699

Experimental Result: ATLAS-SUSY-2016-07 (upperLimit-type)
Theory prediction xsec =  4.91E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-07 (upperLimit-type)
Theory prediction xsec =  1.16E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-07 (upperLimit-type)
Theory prediction xsec =  7.53E-03 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-07 (upperLimit-type)
Theory prediction xsec =  1.03E-01 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-07 (efficiencyMap-type)
Theory prediction xsec =  9.72E-03 [pb]
likelihood = 2.5183490485185764e-09 , chi2 = 25.728996112210737

Experimental Result: ATLAS-SUSY-2016-14 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-24 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2016-24 (efficiencyMap-type)
Theory prediction xsec =  7.64E-06 [pb]
likelihood = 0.1270809781076997 , chi2 = 1.294199918639559

Experimental Result: ATLAS-SUSY-2016-26 (upperLimit-type)
Theory prediction xsec =  2.49E-04 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2017-03 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2018-06 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2018-31 (upperLimit-type)
Theory prediction xsec =  2.87E-04 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2018-31 (efficiencyMap-type)
Theory prediction xsec =  2.08E-06 [pb]
likelihood = 0.04814314861321139 , chi2 = 1.3082823549612748

Experimental Result: ATLAS-SUSY-2018-31 (efficiencyMap-type)
Theory prediction xsec =  4.14E-06 [pb]
likelihood = 7.266264133548622e-22 , chi2 = 0.58270263671875

Experimental Result: ATLAS-SUSY-2018-32 (upperLimit-type)
Theory prediction xsec =  1.45E-01 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2019-08 (upperLimit-type)
Theory prediction xsec =  2.07E-01 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2019-08 (efficiencyMap-type)
Theory prediction xsec =  9.06E-06 [pb]
likelihood = 0.03464952252792105 , chi2 = 0.266956027252478

Experimental Result: ATLAS-SUSY-2019-08 (efficiencyMap-type)
Theory prediction xsec =  2.94E-05 [pb]
likelihood = 5.354046457576433e-45 , chi2 = 0.0314788818359375

Experimental Result: CMS-SUS-16-009 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-033 (upperLimit-type)
Theory prediction xsec =  1.16E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-033 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-033 (upperLimit-type)
Theory prediction xsec =  7.53E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-033 (efficiencyMap-type)
Theory prediction xsec =  6.19E-03 [pb]
likelihood = 2.0741134908286237e-06 , chi2 = 7.699730726619766

Experimental Result: CMS-SUS-16-034 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-035 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-036 (upperLimit-type)
Theory prediction xsec =  7.53E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-036 (upperLimit-type)
Theory prediction xsec =  1.16E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-036 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-037 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-039 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-039 (upperLimit-type)
Theory prediction xsec =  2.07E-01 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-041 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-042 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-043 (upperLimit-type)
Theory prediction xsec =  2.07E-01 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-045 (upperLimit-type)
Theory prediction xsec =  2.07E-01 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-16-050 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-17-004 (upperLimit-type)
Theory prediction xsec =  3.99E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-17-004 (upperLimit-type)
Theory prediction xsec =  2.07E-01 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-19-006 (upperLimit-type)
Theory prediction xsec =  3.50E-05 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-19-006 (upperLimit-type)
Theory prediction xsec =  7.53E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-19-006 (upperLimit-type)
Theory prediction xsec =  1.16E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-CONF-2013-007 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: ATLAS-CONF-2013-061 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: ATLAS-CONF-2013-089 (upperLimit-type)
Theory prediction xsec =  6.74E-03 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-02 (upperLimit-type)
Theory prediction xsec =  6.62E-04 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-02 (upperLimit-type)
Theory prediction xsec =  2.11E-03 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-02 (upperLimit-type)
Theory prediction xsec =  6.74E-03 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-02 (upperLimit-type)
Theory prediction xsec =  9.07E-03 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-02 (efficiencyMap-type)
Theory prediction xsec =  7.86E-04 [pb]
likelihood = 0.0011551297364797348 , chi2 = 0.329280846036351

Experimental Result: ATLAS-SUSY-2013-04 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-04 (efficiencyMap-type)
Theory prediction xsec =  1.53E-04 [pb]
likelihood = 0.01768627235355377 , chi2 = 0.31024134443470075

Experimental Result: ATLAS-SUSY-2013-09 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-11 (upperLimit-type)
Theory prediction xsec =  1.85E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-11 (efficiencyMap-type)
Theory prediction xsec =  4.48E-05 [pb]
likelihood = 0.020754792669590627 , chi2 = 0.05172150486672855

Experimental Result: ATLAS-SUSY-2013-12 (upperLimit-type)
Theory prediction xsec =  1.85E-02 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-18 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: ATLAS-SUSY-2013-18 (efficiencyMap-type)
Theory prediction xsec =  1.29E-07 [pb]
likelihood = 0.05699115799686752 , chi2 = 4.246233063599531

Experimental Result: CMS-PAS-SUS-13-016 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-PAS-SUS-13-016 (efficiencyMap-type)
Theory prediction xsec =  2.88E-08 [pb]
likelihood = 0.13866390723201363 , chi2 = 0.01712330843623011

Experimental Result: CMS-SUS-12-024 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-12-024 (efficiencyMap-type)
Theory prediction xsec =  3.77E-08 [pb]
likelihood = 0.04653157056303613 , chi2 = 0.7282601298624769

Experimental Result: CMS-SUS-12-028 (upperLimit-type)
Theory prediction xsec =  6.62E-04 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-12-028 (upperLimit-type)
Theory prediction xsec =  2.11E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-12-028 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-002 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-004 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-006 (upperLimit-type)
Theory prediction xsec =  9.59E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-006 (upperLimit-type)
Theory prediction xsec =  1.85E-02 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-007 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-007 (efficiencyMap-type)
Theory prediction xsec =  2.07E-08 [pb]
likelihood = 0.3773394259512739 , chi2 = 1.1588822770817544

Experimental Result: CMS-SUS-13-012 (upperLimit-type)
Theory prediction xsec =  6.62E-04 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-012 (upperLimit-type)
Theory prediction xsec =  2.11E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-012 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-012 (efficiencyMap-type)
Theory prediction xsec =  3.45E-04 [pb]
likelihood = 0.0007667344162978195 , chi2 = 6.883662496088301

Experimental Result: CMS-SUS-13-013 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-013 (efficiencyMap-type)
Theory prediction xsec =  4.16E-08 [pb]
likelihood = 0.10977273124946735 , chi2 = 0.006572298674409005

Experimental Result: CMS-SUS-13-019 (upperLimit-type)
Theory prediction xsec =  2.11E-03 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-019 (upperLimit-type)
Theory prediction xsec =  6.62E-04 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-13-019 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)

Experimental Result: CMS-SUS-14-010 (upperLimit-type)
Theory prediction xsec =  3.07E-06 [pb]
(likelihood not available)
In [8]:
## for an example that involves combination of signal regions and different treatment of the nuisances, 
## see the "marginalize" how to.
In [ ]: