HackAnalysis
2
|
Public Member Functions | |
def | __init__ (self, inputJson, pyhf_to_cut_dict={}) |
def | getWSInfo (self) |
def | patchMaker (self, signaldata) |
def | wsMaker (self, signals) |
def | getCLs (self, signaldata, with_significance=True, getmumax=False) |
Public Attributes | |
signals | |
inputJson | |
pyhf_cut_dict | |
msettings | |
channelsInfo | |
channelInfo | |
original from smodels used 0 here instead print(ch['name']+': '+str(len(ch['samples'][0]['data']))+': '+'/channels/'+str(i_ch)+'/samples/'+str(nsamples)) | |
Holds data for use in pyhf :ivar nsignals: signal predictions list divided into sublists, one for each json file :ivar inputJsons: list of json instances :ivar nWS: number of workspaces = number of json files
def src.HApyhf.PyhfData.getWSInfo | ( | self | ) |
Get information from the json file :ivar channelsInfo: list of dictionaries (one dictionary for each json file) containing useful information about the json files - :key signalRegions: list of dictonaries with 'json path' and 'size' (number of bins) of the 'signal regions' channels in the json files - :key otherRegions: list of strings indicating the path to the control and validation region channels
def src.HApyhf.PyhfData.patchMaker | ( | self, | |
signaldata | |||
) |
Method that creates the list of patches to be applied to the `self.inputJsons` workspaces, one for each region given the `self.nsignals` and the informations available in `self.channelsInfo` and the content of the `self.inputJsons` NB: It seems we need to include the change of the "modifiers" in the patches as well :return: the list of patches, one for each workspace
def src.HApyhf.PyhfData.wsMaker | ( | self, | |
signals | |||
) |
Apply each region patch (self.patches) to his associated json (self.inputJsons) to obtain the complete workspaces :returns: the list of patched workspaces