{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PyROOT example\n", "\n", "This pyROOT exmaple was written by Dr. Shawfeng Dong. It is based upon the [ATLAS tutorial example for SLAC Tier3](https://usatlas.github.io/tier3docs/Tutorial-2019Aug/SLAC/), which was orginally written in C++ by Shuwei Ye of BNL. [Trying out this example requires a python 2 kernel with PyROOT support, and with a ATLAS analysis release loaded](https://usatlas.github.io/tier3docs/jupyter/SLACjupyter.html)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Welcome to JupyROOT 6.16/00\n" ] } ], "source": [ "# Set up ROOT and RootCore\n", "import ROOT" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "xAOD::Init INFO Environment initialised for data access\n" ] } ], "source": [ "# Initialize the xAOD infrastructure\n", "ROOT.xAOD.Init()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Set up the input files\n", "fileName = 'root://atlrdr1//xrootd/atlas/atlaslocalgroupdisk/rucio/data16_13TeV/f9/bd/DAOD_SUSY15.11525262._000003.pool.root.1'\n", "treeName = 'CollectionTree'\n", "f = ROOT.TFile.Open(fileName)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "xAOD::MakeTransientTree INFO Created transient tree \"CollectionTree\" in ROOT's common memory\n" ] } ], "source": [ "# Make the \"transient tree\"\n", "t = ROOT.xAOD.MakeTransientTree(f, treeName)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Open TFile to store the analysis histogram output\n", "fout = ROOT.TFile(\"pyROOTOutputFile.root\",\"recreate\")\n", "\n", "# Make histograms for storage\n", "h_njets_raw = ROOT.TH1D(\"h_njets_raw\",\"\",20,0,20)\n", "h_mjj_raw = ROOT.TH1D(\"h_mjj_raw\",\"\",100,0,500)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of input events: 855\n" ] } ], "source": [ "# Print some information\n", "print('Number of input events: %s' % t.GetEntries())" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Processing entry #1, run #311481, event #2799269119\n", "Jet : 468979.031250 -0.903113 -1.338824 21535.863281\n", "Jet : 338129.406250 -1.397199 1.899061 25507.771484\n", "Jet : 34020.144531 0.266506 1.634250 5874.876465\n", "Jet : 20760.699219 -1.918634 1.793700 4058.307373\n", "Jet : 12562.199219 -2.199457 -1.570707 2341.375000\n", "Jet : 6962.007324 -0.831885 1.312302 1536.696411\n", "Processing entry #101, run #311481, event #2810933683\n", "Jet : 277991.718750 2.747532 0.437236 -0.031311\n", "Jet : 96786.906250 0.414741 -2.691716 14359.251953\n", "Jet : 5324.694336 3.453864 2.134077 0.000000\n", "Processing entry #201, run #311481, event #3020641387\n", "Jet : 106057.804688 -0.651156 -1.015127 8673.697266\n", "Jet : 42092.828125 0.094121 0.330564 4003.670166\n", "Jet : 31360.287109 -0.533367 -1.615798 4897.545898\n", "Jet : 28205.761719 1.478483 -0.483636 4177.464844\n", "Jet : 11727.797852 -1.089316 1.468481 2243.973633\n", "Jet : 7993.039062 0.953590 0.566631 1193.087769\n", "Jet : 7598.682129 2.214137 -1.919347 1481.385742\n", "Jet : 6116.664551 2.699726 0.451797 815.955566\n", "Processing entry #301, run #311481, event #3387915093\n", "Jet : 199951.296875 0.958407 -0.547206 8938.172852\n", "Jet : 130627.312500 0.512991 2.575687 18347.779297\n", "Jet : 33337.582031 0.886516 2.407483 2454.601318\n", "Jet : 6816.481445 1.519084 -2.897314 1653.774780\n", "Jet : 6452.448242 -2.639320 2.017364 1011.303589\n", "Jet : 6270.530762 -1.784002 -2.713380 1200.507935\n", "Jet : 5767.747070 1.002193 -1.154076 1238.396118\n", "Processing entry #401, run #311481, event #3387502418\n", "Jet : 140155.750000 1.960782 2.859744 11683.436523\n", "Jet : 48992.859375 0.996981 -0.160345 2938.107178\n", "Jet : 19792.742188 2.482241 -3.033806 2838.817627\n", "Jet : 19316.054688 -1.845799 -1.044455 3959.796875\n", "Jet : 9274.228516 -2.748090 2.907587 1586.616577\n", "Jet : 6052.047852 1.516817 2.819988 881.521484\n", "Jet : 5802.440918 3.597437 -0.417200 0.001965\n", "Jet : 5321.353516 -2.126011 0.088326 786.158020\n", "Jet : 5215.491211 -3.039522 -1.573201 0.000000\n", "Processing entry #501, run #311481, event #3384695613\n", "Jet : 182450.781250 2.412232 -3.106191 6144.901855\n", "Jet : 143242.203125 0.045577 -0.100684 11753.403320\n", "Jet : 21695.634766 2.941670 -2.751326 2867.356934\n", "Jet : 9354.810547 1.176584 1.237301 615.383484\n", "Processing entry #601, run #311481, event #3022268209\n", "Jet : 424206.562500 0.537474 -0.454508 24265.281250\n", "Jet : 299388.875000 -1.205653 2.922760 22183.287109\n", "Jet : 52635.574219 -1.542431 2.528037 5904.666504\n", "Jet : 20974.804688 4.293081 1.549662 3409.202393\n", "Jet : 18756.050781 -0.971826 -0.215419 4133.479980\n", "Jet : 6054.533691 4.639655 1.372139 1103.686523\n", "Jet : 5562.180664 -1.115943 2.388304 730.791016\n", "Jet : 5434.613281 -3.369835 2.874324 0.000892\n", "Jet : 5170.458008 0.241107 2.074575 1068.159912\n", "Processing entry #701, run #311481, event #2857262799\n", "Jet : 289890.250000 -1.876474 -1.348435 29358.501953\n", "Jet : 266760.687500 0.535287 1.776511 15527.270508\n", "Jet : 20134.695312 -1.152746 1.164541 3745.704834\n", "Jet : 7648.937500 -0.068100 1.920835 1290.791870\n", "Jet : 7544.738281 -0.827795 -2.786844 949.553589\n", "Jet : 6693.194336 0.564270 1.010840 1760.218018\n", "Jet : 5829.460449 0.327048 -0.383061 696.566162\n", "Processing entry #801, run #311481, event #2798968267\n", "Jet : 144341.578125 0.041206 1.997264 18966.753906\n", "Jet : 47951.691406 0.354591 -1.053158 5774.209961\n", "Jet : 10983.584961 -1.982280 2.214170 2367.472900\n", "Jet : 10791.235352 -1.108218 -2.564551 1611.658936\n", "Jet : 7825.783691 0.577903 1.487257 1772.963867\n", "Jet : 5167.198242 0.550710 -0.403762 1175.607056\n" ] } ], "source": [ "for entry in xrange(t.GetEntries()):\n", " t.GetEntry(entry)\n", " if entry % 100 == 0:\n", " s = 'Processing entry #%i, run #%i, event #%i' % (entry+1, t.EventInfo.runNumber(), t.EventInfo.eventNumber())\n", " print(s)\n", "\n", " jets_raw = []\n", " for jet in t.AntiKt4EMTopoJets:\n", " if entry % 100 == 0:\n", " s = 'Jet : %f %f %f %f' % (jet.pt(), jet.eta(), jet.phi(), jet.m())\n", " print(s)\n", " jets_raw.append(jet)\n", "\n", " # Fill the analysis histograms accordingly\n", " h_njets_raw.Fill( len(jets_raw) )\n", "\n", " if len(jets_raw) >= 2:\n", " h_mjj_raw.Fill( (jets_raw[0].p4()+jets_raw[1].p4()).M()/1000. )" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Save the output file\n", "fout.Write()\n", "fout.Close()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Read the output file\n", "fout = ROOT.TFile(\"pyROOTOutputFile.root\",\"read\")\n", "h_mjj_raw = fout.Get('h_mjj_raw')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxwAAAI8CAIAAAD0vjrdAAAABmJLR0QAAAAAAAD5Q7t/AAAgAElEQVR4nO3dUZaiQNYuUOKumhfYg6maRYPD+HMwLYyM+xCrWBQoieYRQfd+MhHxEJrJlxEBpL7vCwAAfub/vboAAIB3IFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABfr26AAA4qpTSq0vgufq+X7+yUAUAj7vroMux3BuaDf8BAAQQqgBg76qq2nKocfx2TdOklNq23ezdj0uoAoC967ru1SXwvWQwGAAek9JGh9Hcb+SQvbF7P189VQBwJG3b/mQwbv7yH25w4Y3m7/Lew4hCFQAcQ9u2KaXT6XQ6nVJKTdOsfGGeIzV5edu2efmwZLJ+fnzXnKqUUlVV+SWn02m8hdNf462llMbvm9ecV3K5XFbu6WsJVQBwDKfTqa7ry+VS13VRFOfz+bGXl2WZf+y67nK5DEvWp7QFXdedz+eyLHORbdvmOvMb5YVD3srvO2Sm+R7lyWTD+nvXAwAP2ewwmg/ZdV0PS4Y4subleeXxy/MGh5fnWFOW5Xj9/DjHoJVvtKbO8ZL//e9/4/WHcJKX5GeHqrZ37+erpwoAjmHck1RV1b0vn79kWPLA1haM62zbtu/7W9vPXVBDV1bxt+8qjw/mbqrY2p5KqAIAnqtpmjw7KqV06/IQeXnuGMuPc7TKMesQhCoA4Fny3PPcF5UnWk1C0jC8mNc5nU7D+ODBJlS59x8A8DzD0N6tocYcoYbUlVfIs92LQ3VTFXqqAIBnGwepyfBf7ogaT5/KU7LGo4FHIVQBAM+Vc1K+MlZeMr7w1dAdNe+XOtDYXyFUAQDPk8/pO5/P+fqfXdcNF9kaThIcuqMm16861thfcaBQNVz4NV+tdZxw8yViJw50BiYALBsumzRommbhUgUT8+sazDfY9/3P7yEz32xVVX3f58t+5mtTNU2TfxxC1el0mrwwF3y4e9ocY6J627Y5vebQ2nVdvixsyLVfAYCnqqpqHOkmP76NY4SqnKjG5w7k8zOHMdrJswDwIb499uWb8a3fYNM0w1zypmmGW8d8+0b//e9///Of/6x/o/eTJt10+5TvrTguNZ9vmYNUfrxmR8b3aASAn3v5YXTNGNn6TodhaCgPB+XjZlmWbdvmm8Yse7NQldJ9MekYPVVlWX77hWjbNn+xljsVX/7tB+Bt7OF/9dhRmjwFavhx/PjNAtMzHKOnamLI0bn4q9/pq/t1b+QEgAUOK+/t3s/3MGf/DZqmGaZYjZcP97gersd69eXz8wRXev6eAXA8Dx9W2L+7vwwHithDB1Xx77T08cXEsjSbgzUsP9D+ArBzDivv7d7P9zA9VUMHVe6RmpyZOVk5d1Yd7voWAMBxHWOiej6lM599MH923lMFALCxY/Rb3hrOK/6OCU7yluE/ADbgsPLe7v18D9BTNaSleXdU0zR5Ydd1w+N8ibNj3dcagDfTtu2tS24OB6yH5S27rcjCUNVwlaV7X/gj/e4txKN8F6F+liKHMwEnDrG/ABzFwmFl4eB16yA1efnCakc5gj/P+F7LZVmOn5q0/KQZx89OXjh3byO/z0cyvlnjLR/+FQQg1rehavmotLzlhY1fLpeHt/wGhrR0uVxyuhri0ZCZciqd5Kph5fkLb73RXYV91mCwwW8AAi0cVvIpVivvSzsfq7o1OfiBAa+FWTRHlOdS57vo5CXjtpq32+TZ8STshRnbwwp3xYbDXFIBAN5JVVUppXx/vdPpdDqdhqtNjh/kFDVes/h7xdHJpoaNjM/cqqrq9NfkqbcxHgqc/ziYT0Qb93uFEKoA4Fnaa8Yr5N6sYdwqdyYNtwwZd3TlSwvNp2pVVdV1XR4Lyy8cLpQ9fiq/cHjquHKDnM/n3JJN03RdNwSpvu/HLXz1cT5RoGma+Ih512Dh0X3a/gLwVAuHlYWJ6nmFnAPG06iL0RSfb9csRh0t44lBOVfllScH+rquv52afRRrwsw4m/b/zm0fLJ80cG9sOMAlFQDgoMqyXL7wwfrLIlydETX0tUw6XfKPZVl2XZdSqus6982sfK+dy0OfOba2bdt1XVVVkxbIvXTFqLcv/1iMJlGllM7nc2Sz3BXBju7T9heAp1o4rHx79l/uOJlsbaGnarJmXvJtf9hkhTc4ZzC3xnhHJk09dFBNuuW+feHcvbHBnCoAOKrcB3N1DCuv0DRN//eqQ8VbzKnK5rcAzj1V+dzAoigul8vVKVMLZ0f+nFAFAEc1zhNZ27b5VMGiKFJKeYU89jeMl21fZ7hbs9Fzour7/updWIp/x1uXr7r+AHOqAOBZrs7XiZ3elCdODbe+yali2H5+Kp/pdj6fi+NfrappmnyFiDzMN+zX+Gy+q91Rw2mDeYU8Gassy8gGuWuw8Og+bX8BeKqFw8rCbKc812d5TtVwqtpw7e/JmuMlk/Pa5rOLBmvukLN/8/3KuzxfPk878w9iwb2x4bOuMD6+VNpVt1ojpa8b6//+aU0AHNZTb9Rx7+DUh1xRffDwfq1/4b2f78eFqsf2N6WveX66uhCAz+HuZ+/NbWoAAF5AqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFAPHyzfiu3uMv34fuza5vHmjhls/f3g16/e2i27YNv7f0Z10K1hXVAQi0cFgZbow2X6Gqqq7rrj5FURQppbquJ3l0aLSiKMqyvJqH2rY9nU7z195a89Z2xpW4ojoA7MX8sD2EA+auduCllLquq+s6316667qrq51Op5Xvsn7Nu/x6xkYBgKxpmnGuWuhEWbiD8rf3AL737ss7NPTtTeRdG/qf8uDpPJjeevnc81pJTxUAPEvuVhkvyRGhLMvxwqZpUkqn0+l0OqWUJiFseCo/OzyVUspzs4YVDh2q6rqu63rSMsW1vJjT1Tie5sd1XX/7Lm3b5k6vn5Z7jVAFAM+So8A4JM2P6E3TnM/nsiwvl8vlcimK4nQ65Ze0bTt+Kr9wHCa6ruu67nK59H2fA1z45OvNNH+tXH/Y09xKdV2vyZR5KtX6d7mLUAUAzzLpU8kPJsf+8/lcjE4JzDOjh5fkBJCfGsa/xi/v+z5v8Oqzb2C8d9lkRlT+cU1OmmfcWOZUAcATjUcAb818mp+Gll9SVdXQZVWsyw3vp6qq3IYppflwam7MNefoNU2Te/WeVGchVAHAU+VZ1cP06snYX05LXdfdOh/t6qTsT9O2bZ7vnxuwqqo8gSwvmQzn5ZXnAXToERzya9d1Qy9gSJ0fF6qWzw5wyRAAYuUpU/ngXcy6qfKPty6YNOSwISKsP8ftzcynpQ/yxLLJj7eiUo5Wkx+jQtXHzanqF726OgDeUB60Wjh+T/qi8ml9w/LPHPUbtG07NMiwpPh7zfrxQTwP7ZVlOcwzG7u1ZmDzflyoAoCNDYftq2fy54V5MCuPEg4vydcXGKZVfWY31ZAvh/bJQ37L6w+PJ5eomK8T6OOG/wBgY8Mh/OqxPOen8/k8TKsarg7QNE2+AFVennu88tjW+53lt+ByuUzaYZ+7795/K1/o3n8ATD18WLnq1rmBk+VvcPH0x2y/4/d+vkLVyhcKVQBMxYYq9sYNlQEAXkCoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAz5Jv+pvde+PeWy/J978ba5pmn7dtecy3+3JrhfWN8Kzm6j/Jw/tbFP+3ciEAn2P5sHL1sHu5XIYV6roe/zh/eVmW8+WXy+Xqluu6fnQ/9mV5X+bpZdIgC006WfPbFrs3NuipAoB4+RZ148N2PqIPdwVu2/Z8Pj/cZTLZclmW5/P53s6wHVq+td/VHcxNWtd1XdfFqIUn2rYd1nxWi90VwY7u4f3VUwXA3MJh5epBtizLYWHOWJPOksvlMnS0FIs9VfNelqvvON7gzo3DydU+pHE/07AwB6lhH281Tv9v44/fcbmku3bh43qq0qJXVwfAW5l0RLVtm4/6TdPkXpPz+TwcfVJKp9PpdDqllJY7bK7K8WLoemnb9uoG58e7qqpSSi+flZW7mnL0uSq32GSFXPawd/nB+Xx+VpWLPi5ULWfMV1cHwJsYhqKqqhrnlXzUb5omr1CWZY5ZOejkkam6rruuu/cd85aH98oRJPdU5Q0OI5LFv+No+b0eiHGxmr+uPpvLmx+p1zdU27bjl+c3yq0R5q5+raN7eH8N/wEwt3xYmR+w51Os8pL8eDzYN0Su+WYXRriGl0wGxfp/B7/GW17Y2ktcrSfvTl44GcWbh5n5MN/E8HFcbd7JmncV/3E9VQCwjaZpckoYRrXGg31juXtp3EnzwATqcX/Y8Lj9a7y8LMuhgye/0c5nuJ/P57Iso4ocprR3XRe7478CtwUATORLSQ2P84H8eSEmv1fOTLfOgxuX0XXdwjSmPch7NFy1K+/aQhb8dkBweG1KKfYEQD1VABAsTxKfH63zkidNCc8bH0+Nmo9PDTO6chmH6KbKIen8V144frzS/GKqOU0GfhxCFQAEu3UO2uRUtcn6Pxn+a9t2PN98HhfyKX7Dj3kEMFf48inqyya5MO9ani5W/J1pPhnfvDr9fNjficjdv2sG1tE9vL8mqgMwt3BYGY7r+YS+PLNqfOSdzMgerzysuXxF9fKv4Zg+npk+LBk2ON7asJH9TFHPvp04f+tyU3lPJ9lmnMDGp1tebZO5e2ODULXyhUIVAFPLh5V5f8nkED7p4Jis+W2oWtjyfLX5CvvsW3kgVC3cpmYcqoYfF9pk4t72Sf0nXZwppQf3N6Wvvv+9ZiEAn2PNYWUYmbo6zDQZELw1Pviw5Xd/J+ubbv2a98YGoWrlC4UqAKYePqxwCPd+viaqAwAEEKoAAAK4+CcAPO7qFdL5TEIVADzIhKplnzbnzPAfAEAAoQoAIIBQBQAQ4OPmVC3PKPyooV8AINDHhSqxCQB4BsN/AAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgACHCVVt21ZVlVJKKVVV1bbtZIXxsy+oDwD4bMe491/btqfTqSiKsiyLoui67nQ61XXdNE1eYXyb5K7rUkru8QcAbOkYPVU5UV0ul7Zt27bNgel8Pudnc9dUXdd93/d9X9d1URRD3gIA2MAxenRyR9S41Kqquq67XC551G/y7HzJsPyx/U3pq+9/r1kIAGSfNnB0jOG/siyXZ0rlYUEAgFc5RqiaTEtv27bruqIors5YL4qiLMu8AgDANo4RqsaapsmzqS6Xy/Ka+YTBycLxlPY7hY30pfQ1X2gkEQAO7UihajgHsCiKPJvqgY08PKfqgVctlvFPhArfPgCwsWOc/VcURdM0OVHls/zWJCoXrAIANnOMnqo85FeW5dVrfhZFMZlBZUIVALCxY/RU5UlUV+ekFzdO/XM+IACwpQOEqiFLVTP5qXydz9xl1bZtnoru4p8AwJYOMPw3hKpbg3pVVdV1fT6fhzP7Hp7GDgDwmLe61GmOXwtxaidXVJ+/0MXZAXg/rqh+YHqnAIBXOcCcKgCA/ROqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABHirK6qvMdwf8KqPupo+ABDo40KV2AQAPIPhPwCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAF+vbqAraWUFp7t+36zSgCAd/JxoUpsAgCewfAfAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAECAX68uYGsppYVn+77/2ca/rm3z90+2CQAcwseFqh/GphXb/ydCXY1ZAMD7MfwHABBAqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFABBAqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAgwK9XF7C1lNLCs33fb1YJAPBOPi5UiU0AwDMY/gMACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFABBAqAIACCBUAQAEOF6oSim1bTte0rZtmqmq6jX1AQAf6WChqmmaoigmoQoA4OUOc0Plpmnatu26bv5UzliXy0XvFADwKscIVW3bns/nhWeLopCoAIAXOkaoqqqq7/uiKJqmuZWu2rYd0pWABQBs7BihalkeEzydTvnHnLpyCAMA2MbBJqovqOu67/u+78uyLG6PBs7PE1yjKP5sujMAwNG8Q0/VZIp6vsLC1SntxboerJS++v53VHkAwCd4h56qeadU7qxy5QUAYDPvEKqEJwDg5Q4fqtq2PZ1Ok86qPPbnHEAAYDOHD1U5OXVdl68O2rZtXlLX9WsLAwA+yjtMVO/7PqV0Pp+HS1jVdZ1vaAMAsI2Dhaqmaa6mpb7vh24qo34AwPYOFqoWiFMAwAsdfk4VAMAeCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACvM8V1VdKKS082/f9ZpUAAO/k40KV2AQAPIPhPwCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAF+vbqAraWUFp7t+/7OrX39rJylTfX976iNP1zDS8qAz+QXEI7u40LVvbFpcVNhf+zmmwqMaz+p5FVlwGfyCwiHZvgPACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAgF+vLmBrKaWFZ/u+36yS95bS13xh3//evhIA2MbHhSqxaTOTCHU1ZgHA2zD8BwAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQ4NerC9haSmnh2b7vN6vktVL6enUJe3GrKfr+98aVAHBoHxeqPic2fUtoGMybQugE4F6G/wAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABjheqUkpt286XV1WVUkopVVW1dU0AwMc7WKhqmqYoinmoSil1XZcfd123fNdkAIBwhwlVTdNUVXU+n+dP5a6puq77vu/7vq7r4m/8AgDYxjFCVdu25/N56IuayMuHFJUfXI1fAABPcoxQVVXVuBdqrizLjUsCABg7RqhacHXSuowFAGzs16sLeKK2bednAq6cw57Sn8mSvu9DqvqJlL7mC/v+9/aV8EMPf5S7/Q4oDOCdQ9VVa7JRSl+7/Zs7KezqAYNDePij3O13QGHAhzv88N8CF6wCADZz+FCVk9PkxMBb5wkCADzJ4UNVcWNaurnqAMCW3iFU5QtT5S6rtm3zVHQX/wQAtvQOE9Wrqqrr+nw+D2f2XS4XE6oAgC0drKeqaZq+7+e9UHn55XK5XC5930tUAMDG3qGnaiBLAQCvcrCeKgCAfRKqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABHirK6qvMdwf8Ib/26iObaX09eoS4Ol8z5ddbZ++/719JfCuPi5U9X0//jGlrw/5m/Ihu8mH8z1fNmkfMRRiGf4DAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQQKgCAAggVAEABBCqAAACCFUAAAGEKgCAAEIVAEAAoQoAIIBQBQAQ4NerC9haSmm25M/wuO/7bcs5npS+ri7v+98bV8I2rn7iPu5d8RnBTnxcqJrEppS+/Om517zFbiUt3sPkE/dx75DPCPbA8B8AQAChCgAggFAFABBAqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFABBAqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAv15dwNZSSrMlf4bHfd8/4R2/wrfJ3K127vvfG1cSxTdn7GprbPzh7qGGcCu/Zkffzed5v788/MTHhapJbErp66lffb9XW5q39tFzie/P2KQ1XvLh7qGGQCu/YEffzWd7v788PMzwHwBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgAC/Xl3A1lJKsyV/hsd9329bzpKUvgJXe3YZgRvv+99PfYuV23/4hQ+Laupb25nUv3K1PXv2lx8etv0fEPbg40LVJDal9LXPL/rKqp5d/AaNs/JIH7Lx9dt/+IUPi23qlfVvv5uB9vmbC8XBf7P4CcN/AAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAgDcJVW3bppmqql5dFwDwKd4kVAEAvNavVxcQo23boigul4veKQDgJd6kpyqHKokKAHiVN+mpytq2HdKVgAUAbOlNQlXXdUVRnE6n/OP5fC7LMgcsAIANvEmoyuq6bpqmKIqqqrquq6pqnqtSSrMlf9ZsvO/7gBJ5dyl9zRf2/e/t33QP7zhfbd4UL2mxNTVsX8b72cOHe6uMOR83P/cmoWoyRT1fYSF3X01MslFKX36RiDX5Rj078Wz/BV75jivz03zN7TPivIZXlfF+9vDhzsuY83ET4k0mqs9nUJVlWfydwA4A8GxvEqqEJwDgtd4hVLVtezqdJp1VeezPOYAAwDbeIVTl5NR1XdM0+aoKeUld168tDAD4HG8yUb3v+5TS+Xw+n895yXAmIADABt4kVBVF0ff90E1l1A8A2Nj7hKrChdQBgNd5hzlVAAAvJ1QBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAI8FZXVF8jpTRb8md43Pf9tuXwAil9Bb6w738/7x1jrSzjqdXupClWWlPtyj1a8z1ZaQ9teKuGh38dAtuHu/g4Yn1cqJrEppS+fHs+ysMf99UXrjm87eQLtrKMp1a7k6ZYaU21K/coPAbtoSXnNTz867CHmPjJJh+Kj+MnDP8BAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAI8OvVBWwtpTRb8md43Pf9tuW8j5S+Qta5tVrf/35gUxzUsz/f7b8/D7/j9i/cYGtPLWDyt2KbN31sa2tKvVXDY7v5kz/Cj/q/uE0dwMeFqklsSukr8DfwY61pw5XtfHW1NTGLt/HsT3b7b87D77j9CzfY2sN+EkGe+qaPbecnMfEnu/ntHsV+3CmlotjF92cbhv8AAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFABBAqAIACCBUAQAEEKoAAAIIVQAAAYQqAIAAQhUAQAChCgAggFAFABBAqAIACCBUAQAE+PXqAraWUpot+TM87vt+23JYK6WvV5dw3W4Lg+09/OsQ+Hv0Ib+SH7Kbh/NxoWoSm1L66vvfryqGlXb7Ge22MNjew78Ogb9HH/Ir+SG7eUSG/wAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAT49eoCtpZSmi35Mzzu+37bcgD4UCl9vboEgn1cqJrEppS++v73q4oB4DM59Lwlw38AAAGEKgCAAEIVAEAAoepI5rPsD+TQxRfqf7VD13/o4gv1v9Shi/9AQhUAQAChCgAggFAFABBAqAIACCBUAQAEEKquWHm2xZrVAje13vaFBda/fWHbN/7K1Xx57uXL84xNrXfoL09R/Pl+FV+e+1f7NG8VqqqqSimllKqqenUtAMBneZ97/41Tc9d1KSV3RwYANvMmPVW5a6qu677v+76v67ooiqZpXlsVAPA53qQ7J3dTjfdlviQvnC35mt8qfGUv15rVAjd19MI0hcLerzBN8d6FzQ8QH9sUz17tbbxDT1XbtkVRlGX56kIAgM/1DqHqKhkLANjS+0xUv3rGX9u2k+Xzs0BTunIm7W5PTz10YZri3tUUdu9qn/COK1dT2L2rXV1nfoD42KZ4eLWP8j6hKg8CLvuokV0AYEtvO/yXuWAVALCNN5mWv/LsPwCAJ3mTnqrJtHTnAwIAG3uTUJWv85kH+9q2PZ1OhYt/AgAbepNQVVVVXdf57jQ5UV0ul/GEqqPcFrBt2zQzqXmf+5JSunquwHK1+9mXef2H+Czy+a1DDfOPYOftv1D//tt/Uvx8hWM1/uSpnTf+REpp/l/0ztt/MCl+/43/8wr30/jx+vdyuVwul8tk4YH2+nK5zKsty3JYYZ/7ku8LNNwmaLBc7X725Wr9+/8shgrLshwGu8d7sfP2X65/5+1/tfjxCkds/Pmz+2z8iXl5/e7bf1LJuPj9N/4PK3x5/U/1VjtzVf57Mbkt4PzwvxO5vHkuzHa4L3VdXz2c999Vu/zjZhbqX/4s9lB/Lntc4fgv1P7bf7n+nbf/5GCQCxiOK0dp/OHHSf07b/x5MZOD+v7bf/zWk+L33/g/OU7tof6nev9QdSsmv6qeZfnreOvZve3L5P+VyS/GcrV72Jfl+ofo6uMAAARBSURBVPf/WczfMdec/9jtv/2X6995+xc3ukbWlPfy4vvv6t954w/Gv8LznpLxmntr//528ftv/J9UuIf6n+p9Lv551UFPA2zbNldeVdVkyHlX+1JVVd/3RVE0TXM+n+crLFf78n35tv5i359FWZbLMxJ23v7f1l/suP0niXz+p2bnjf9t/cWOG38wzKDND8Z23v7FYvHFERr/4Qp3Uv+zvDrVPVf+wzH5h2w5Zb/W/AMait/zvsy7cJerXXj2VpfyU13tgl74fdlb/dlwmOyP1v7ZuP7+OO1f1/UwiJPf/ViNP6+/P0jjD286KekQ7X+r+P4IjT8v71iN/1Rvcvbfslu3Bdy6jtWGo3tZll3Xrflvfouyghyr2vFnUez4Gv1N0wz/+C6vuc/2v1X//tv/fD7nbs6VHW8blHSXhfr33PhN03RdV9f1XVXtpP3XFL/nxs/e+zj1sDcf/ssO9FlOrgSRz1ztuu51FX2uo3wWw4XZilnNh3Cr/qO0f9/3bdvmw+TVq1rs3NX6d974bduez+eyLI94McJvi9954xdHqPCFPqKn6qp9HnvmVeV/U5b/Uu9zX26ZD8BPnt2ulEULn8V+6h86ePJ/jWvefVftv1D/Idp/eNP8G/rtcWVXjT9+30n9O2/8IY7k9sw/rgm1e2j/b4vfeeNffa+Vx6md1P9czx1d3IH5bu55x+fjyuvP53qhhTlJt5bsal+u1r//z2JyGvzE/tt/uf49t//VU8oPdOrlt/XvufGHYq7Kv8V7bv9vi9954/c/q3AP9T/V++zJLZOp3Fcnyu3E1drGX7j5tPSd7MvVULJc7a72ZeVE+719Fst/jPbf/gv177z9f1jeyxt/uf6dN/7cvOCdt//Ymln2u2r8o3/5n+39Q9X4GzDMgd3tiQbD/yv5rJDy36uo7XZfbvX0LFS7q31Z6Gnb7WcxvGk5Mz8HbYft/239O2//q+VdPTTusPG/rX/njT8xP8zvv/2vlprtv/F/UuEe6n+q9w9V/eiqtYf4/Ip/TY70+9yXW1fFXa52P/tyq/49fxaTd79ayZ7bf039e27/4XgwmPy3vefG71fUv+fGn5jnkn737T+4Wvz+G/8nFe6h/udJ/Y2rYryfW3MAdyhfVG1hWt+B9qX4rtqd78sbfBba/3mGmbmPlffyxl+uf+eNv8bO23/B/hv/hxW+vP4n+aBQBQDwPJ97SQUAgEBCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAIIFQBAAQQqgAAAghVAAABhCoAgABCFQBAAKEKACCAUAUAEECoAgAI8P8BLJgd3pNEkWUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Display the histogram\n", "# %jsroot on\n", "c = ROOT.TCanvas(\"Canvas 1\",\"Canvas 1\",800,600)\n", "h_mjj_raw.Draw()\n", "c.Draw()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "fout.Close()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 4 }