From 0db16ccc87069d54b4f9c9a02a236d3385ecd6b1 Mon Sep 17 00:00:00 2001 From: Felipe Navarro Date: Sun, 9 Dec 2018 15:19:58 -0600 Subject: [PATCH 1/3] started writing weights --- plots.ipynb | 92 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 73 insertions(+), 19 deletions(-) diff --git a/plots.ipynb b/plots.ipynb index 7a91923..366770c 100644 --- a/plots.ipynb +++ b/plots.ipynb @@ -12,8 +12,16 @@ "from histbook import Hist, beside, groupby, below\n", "from histbook import bin as hbin\n", "\n", - "#import fnal_column_analysis_tools.lookup_tools as lookup_tools\n", + "\n", + "import zlib\n", + "import pickle\n", + "import lookup_tools \n", + "import uproot\n", + "import awkward\n", + "import numpy as np\n", + "from dummy_distributions import dummy_jagged_eta_pt\n", "#import cloudpickle\n", + "\n", "#import zlib\n", "\n", "#import weights as weights\n", @@ -21,6 +29,7 @@ "#import zlib\n", "#import numpy as np\n", "\n", + "\n", "job_server = (\"ifdb02.fnal.gov\", 8765)\n", "#job_server = (\"dbwebdev.fnal.gov\", 8765)\n", "datasets = [\"QCD_HT200to300_PUMoriond17_05Feb2018_94X_mcRun2_asymptotic_v2-v1_NANOAODSIM\",\n", @@ -34,11 +43,39 @@ { "cell_type": "code", "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Load histograms with lookup_tools\n", + "extractor = lookup_tools.extractor()\n", + "extractor.add_weight_sets([\"testJson * EIDISO_WH_out.histo.json\"])\n", + "extractor.finalize()\n", + " \n", + "evaluator = extractor.make_evaluator()\n", + "#let's pickle and zip it\n", + "eval_pickle = pickle.dumps(evaluator)\n", + "eval_pickle= zlib.compress(eval_pickle)\n", + "\n", + "\n", + "counts, test_eta, test_pt = dummy_jagged_eta_pt()\n", + " \n", + "sf_out = evaluator['testJsonEIDISO_WH/eta_pt_ratio_value'](test_eta, test_pt)\n", + "sf_err_out = evaluator['testJsonEIDISO_WH/eta_pt_ratio_error'](test_eta, test_pt)\n", + "#print(sf_out)\n", + "#print(sf_err_out)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "#__worker_class__\n", - "import uproot, uproot_methods, awkward, numpy\n", + "import uproot, uproot_methods, awkward, numpy, zlib, pickle\n", + "\n", "class Worker(object):\n", "\n", " Columns = [\"nJet\",\"nMuon\",\"nElectron\",\"Jet.pt\", \"MET_pt\",\"Electron.pt\",\"Electron.eta\",\"Electron.phi\",\n", @@ -50,7 +87,11 @@ " \n", " def run(self, events, job):\n", " \n", + " # obtain pickled and ziped evaluator, unzip and unpickle\n", " \n", + " #eval_pickle = job[\"evaluator\"]\n", + " #eval_pickle = zlib.decompress(eval_pickle)\n", + " #evaluator = pickle.loads(eval_pickle)\n", " electrons_pt = awkward.JaggedArray.fromcounts(events.Electron.count,events.Electron.pt)\n", " electrons_eta = awkward.JaggedArray.fromcounts(events.Electron.count,events.Electron.eta)\n", " electrons_phi = awkward.JaggedArray.fromcounts(events.Electron.count,events.Electron.phi)\n", @@ -91,6 +132,12 @@ " \n", " # Histogram variables\n", " \n", + " e_pt = loose_electrons.pt\n", + " e_pt_flat = numpy.concatenate(e_pt)\n", + " \n", + " m_pt = loose_muons.pt\n", + " m_pt_flat = numpy.concatenate(m_pt)\n", + " \n", " e_energy = loose_electrons.E\n", " e_energy_flat = numpy.concatenate(e_energy) # Flattens jagged array\n", " \n", @@ -103,6 +150,11 @@ " m_eta = loose_muons.eta\n", " m_eta_flat = numpy.concatenate(m_eta)\n", " \n", + " \n", + " #sf_out = evaluator['testJsonEIDISO_WH/eta_pt_ratio_value'](e_eta_flat, e_pt_flat)\n", + " \n", + " weights = numpy.ones(len(e_energy_flat))\n", + " \n", " #job.message(str(e_energy_flat))\n", " #basic_cuts = events.filter((events.nJet >= 2) * (events.Jet.pt[0] > 40)) #etc.. \n", " #events = basic_cuts(events) \n", @@ -110,13 +162,15 @@ " \n", " \n", " \n", + " \n", " dataset = dataset = job[\"dataset\"]\n", - " job.fill(dataset=dataset, Electron_pt=events.Electron.pt)\n", - " job.fill(dataset=dataset, Muon_pt=events.Muon.pt)\n", - " job.fill(dataset=dataset, Electron_E = e_energy_flat)\n", + " job.fill(dataset=dataset, Electron_pt=e_pt_flat)\n", + " job.fill(dataset=dataset, Muon_pt=m_pt_flat)\n", + " job.fill(dataset=dataset, Electron_E = e_energy_flat, weight=weights)\n", " job.fill(dataset=dataset, Muon_E=m_energy_flat)\n", " job.fill(dataset=dataset, Electron_eta=e_eta_flat)\n", " job.fill(dataset=dataset, Muon_eta=m_eta_flat)\n", + " #job.fill(dataset=dataset, weight=weight)\n", " \n", " \n", " \n", @@ -125,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": { "scrolled": true }, @@ -139,7 +193,7 @@ "muon_pt = Hist(hbin(\"Muon_pt\", 70, 0, 800), groupby(\"dataset\"))\n", "\n", "\n", - "electron_E = Hist(hbin(\"Electron_E\",70,0,1500),groupby(\"dataset\"))\n", + "electron_E = Hist(hbin(\"Electron_E\",70,0,1500),groupby(\"dataset\"), weight=\"weight\")\n", "muon_E = Hist(hbin(\"Muon_E\",70,0,1500),groupby(\"dataset\"))\n", "\n", "electron_eta = Hist(hbin(\"Electron_eta\",50,-2.5,2.5),groupby(\"dataset\"))\n", @@ -206,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "scrolled": true }, @@ -217,14 +271,14 @@ "text": [ "QCD_HT200to300_PUMoriond17_05Feb2018_94X_mcRun2_asymptotic_v2-v1_NANOAODSIM 0.000 M events, 0.000 M events/sec\n", "JetHT_Run2016H_05Feb2018_ver2-v1_NANOAOD 0.000 M events, 0.000 M events/sec\n", - "ST_s-channel_4f_InclusiveDecays_13TeV-amcatnlo-pythia8 3.056 M events, 0.158 M events/sec\n", - "WminusH_HToBB_WToLNu_M125_13TeV_powheg_pythia8 2.493 M events, 0.145 M events/sec\n" + "ST_s-channel_4f_InclusiveDecays_13TeV-amcatnlo-pythia8 3.056 M events, 0.108 M events/sec\n", + "WminusH_HToBB_WToLNu_M125_13TeV_powheg_pythia8 2.493 M events, 0.101 M events/sec\n" ] }, { "data": { "text/html": [ - "
\n", + "
\n", "\n", "