Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:58:21

0001 import sys
0002 import json
0003 # import numpy as np
0004 # import pyhf
0005 import time
0006 
0007 
0008 # This is Rivet or SimpleAnalysis after merge / hadd
0009 def merge_parallel_runs_and_analyze(r, nevents):
0010     import numpy as np
0011     import pyhf
0012     eff = np.sum(r) / nevents
0013     xsec = 30
0014     lumi = 1
0015     nevents = xsec * lumi * eff
0016     m = pyhf.simplemodels.hepdata_like([nevents], [50], [1])
0017     d = [50] + m.config.auxdata
0018     return np.log(pyhf.infer.hypotest(1.0, d, m)) - np.log(0.05)
0019 
0020 
0021 if __name__ == '__main__':
0022     outputfile = sys.argv[1]
0023     nevents = int(sys.argv[2])
0024     # results = [json.load(open(x))['accepted'] for x in sys.argv[3:]]
0025     # result = {'objective': merge_parallel_runs_and_analyze(results,nevents)[0]}
0026     rand = int(time.time())
0027     if rand % 3 in [0, 1]:
0028         result = {'m1': 0.5, 'm2': 0.5, 'nevents': 100, 'output': 'output.json'}
0029     else:
0030         result = {}
0031     json.dump(result, open(outputfile, 'w'))