experiment package

Submodules

experiment.experimentExceptions module

exception MetaInfoError[source]

Bases: exceptions.Exception

Exception class that is raised when a meta info field cannot be found.

experiment.limitGetter module

getPlotLimit(inmass, analysis)[source]

Get upper limit on sigma*BR for a specific array of masses from plot.

Parameters:
  • inmass – Array of masses in SModelS graph.
  • analysis – experiment.analysis.ULanalysis.
limit(analysis, addTheoryPredictions=[])[source]

Get limit from an analysis object.

Parameters:addTheoryPredictions ([String]) – list of theory predictions to add, e.g., [ ‘7 TeV (NLL)’, ‘7 TeV (LO)’ ]

experiment.smsAnalysisFactory module

load(analyses=None, topologies=None, sqrts=[7, 8], usePrivate=False, useSuperseded=False)[source]

Create an analysis objects from the info given in the SMS results database.

Parameters:
  • analyses – If a list of analyses is passed, create only objects for these analyses (the database naming convention is used).
  • topologies – If a list of topologies is passed, only these topologies are considered.
  • sqrts – Array of center-of-mass energies of the analyses that are to be considered.
  • usePrivate – Include analyses flagged as private.
Returns:

list of analyses

experiment.smsHelpers module

databaseVersion(astuple=False)[source]

prints out version number of the database

getLines(analysis, path, label='condition')[source]

Get all <label> lines in info.txt for an analysis-path pair.

getMetaInfoField(analysis, field, path)[source]

Get one specific entry of the meta info.

getPath(analysis, path=None)[source]

Search for an analysis

getUpperLimitDictionary(analysis, topology, path, expected=False)[source]

Returns a dictionary containing the raw Upper Limit data for the analysis and topology.

hasDictionary(analysis, path=None, topology=None)[source]

Check if available upper limits are in dictionary format.

experiment.smsInterpolation module

upperLimit(analysis, topology, masses, path=None)[source]

Return upper limit for analysis-topology for given masses.

Parameters:masses – list of masses, with (mother, intermediate(s), LSP). For intermediate masses: if possible do interpolation over upper limits for different x-values. If interpolation is not possible: check if masses are comparable to the assumptions in the histogram.

experiment.smsResults module

considerExperiment(experiment)[source]

Define the experiment to be considered.

considerSqrts(sqrts)[source]

Define the center of mass energies to be considered (as strings in list format)

getAllResults(sqrts=None, experiment=None)[source]

Get all analyses and topologies that have results.

getBase()[source]

Return the base directory of the database.

getBranchCondition(anaName, txName, path=None)[source]

Get the branch condition for an analysis.

Returns:string containing the branch condition (e.g. equal branch masses)
getClosestValue(dictionary, mx, my)[source]

Get the upper limit of the point in dictionary that is closest to mx and my, assuming that dictionary is a dictionary of mx, my, ul.

getComment(analysis, path=None)[source]

Get the comment of an analysis.

getConditions(analysis, topology='all', fuzzy=True, path=None)[source]

Get conditions of an analysis.

Returns:dictionary of conditions, if topology == “all”; single condition for the passed topology, if only one topology is passed; None if non-existent.
getConstraints(analysis, topology='all', path=None)[source]

Get constraints of an analysis.

Returns:dictionary of constraints, if topology == “all”; single constraint for the passed topology, if only one topology is passed; None if non-existent;
getExperiment(analysis, path=None)[source]

Check if path is to ATLAS directory, else return CMS.

getInterpolatedUpperLimitDelaunay(dictionary, inmx, inmy)[source]

Get interpolated upper limit from dictionary at point (inmx, inmy).

Parameters:
  • dictionary – dictionary (sms.py), contains upper limits of one analysis and one topology
  • inmx – mass point on x-axis
  • inmy – mass point on y-axis
Returns:

interpolated upper limit at point (inmx, inmy)

getJournal(analysis, path=None)[source]

Get the journal of an analysis.

getLumi(analysis, path=None)[source]

Get the integrated luminosity for an analysis.

getPAS(analysis, path=None)[source]

Get the PAS of an analysis.

getSqrts(analysis, path=None)[source]

get the center-of-mass energy of the analysis.

getTopologies(analysis)[source]

Get all topologies of an analysis with constraints.

getURL(analysis, path=None)[source]

Get the URL of an analysis.

getUpperLimit(analysis, topology, mx=None, my=None, path=None, interpolate=False, expected=False)[source]

Get the upper limit for path/analysis/topology.

Returns:None, if it does not exist; entire dictionary, if mx and my are None; upper limit at mx/my, if mx and my are floats;
getUpperLimitFromDictionary(analysis, topology, mx=None, my=None, path=None, png=None, interpolate=False, expected=False)[source]

Get an upper limit from the python dictionary.

getaxes(analysis, topology=None, path=None)[source]

Get information about the histogram axes for an analysis.

For each topology list of dictionary, each dictionary corresponds to one histogram. The key axes gives string (mx-my), the key mz gives information on other masses, if you supply a topology, returns list for this topology only.

hasURL(analysis, path=None)[source]

Check if URL of an analysis exists.

inConvexHull(dictionary, mx, my)[source]

Check if (mx,my) point is in the data dictionary.

isPrivate(analysis, path=None)[source]

Check if analysis is flagged as private.

isSuperseded(analysis, path=None)[source]

check if analysis is superseded, if yes, return analysis name of newer analysis

setBase(base)[source]

Set the base directory of the database.

Module contents