{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Offsets in the Monte Carlo & hit residuals\n", "\n", "\n", "### hits from trigger simulation\n", "The hits that have passed though jtriggerefficieny have a time\n", "offset. This is because the trigger simulation must first put the\n", "event in a timeslice somewhere. We have to deal with a few different\n", "quantities.\n", "\n", " - evt.hits[].t is the time in nanoseconds of the hit with respect to\n", " the beginning of the timeslice. (between 0 and 1e8)\n", " \n", " - evt.t is a ROOT::TTimeStamp representing the start of the timeslice in which the event occured. It is present in\n", " both data and MC. The exact time of a hit is therefore evt.t + hit.t\n", " \n", " - evt.mc_t Is the MonteCarlo time. It corresponds to the time a hit with t=0 will have after passing through triggerefficiency.\n", " \n", "Note all is not applicable to the mc_hits which are not effected\n", "at all by the trigger simulation. In practice this means that, to\n", "compare with the MC tracks, you need to subtract the following\n", "offset from the hit t's:\n", "\n", " offset = evt.mc_t - evt.t.AsDouble()*1e9\n", "\n", "\n", "\n", "### Monte Carlo tracks \n", " \n", "Believe it or not, but Monte Carlo tracks (generated by genhen) are generally not\n", "in the same coordinate system as the coordinates of the DOMs. So to compare Mc tracks\n", "to hit positions and reconstructed tracks, you need to offset there position by\n", "a 3d vector that is stored in the header information (coord_origin).\n", "\n", "\n", "### Residuals\n", "\n", "A hit residual plot is a good way to test whether the offsets are\n", "applied correctly. \n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vec: 13.887000 6.713000 405.932000\n", " EventFile io / wall time = 0.32065 / 109.002 (0.294169 % spent on io.)\n", "../detfiles/km3net_jul13_90m.det\n" ] } ], "source": [ "f = EventFile(\"../evtfiles/genhen_v7r6_nueCC_1.km3_v5r3.jte_v7.root\")\n", "print f.header.coord_origin()\n", "det = Det(\"../detfiles/\"+f.header.get_line(\"detector\"))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "TFile::Append:0: RuntimeWarning: Replacing existing TH1: hres1 (Potential memory leak).\n", "TFile::Append:0: RuntimeWarning: Replacing existing TH1: hres2 (Potential memory leak).\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Vec: 13.887000 6.713000 405.932000\n" ] }, { "data": { "image/png": "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\nAAT9P7pA41pusXfaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hres1 = TH1D(\"hres1\",\"Hit residual for Mc photons;resdual(ns);events\",125,-50,200)\n", "hres2 = TH1D(\"hres2\",\"Hit residual for simulated hits;residual(ns);events\",125,-50,200)\n", "\n", "coord_offset = f.header.coord_origin()\n", "print coord_offset\n", "\n", "from ROOT import v_light\n", "\n", "for evt in f :\n", " \n", " nu = evt.mc_trks[0]\n", " if nu.E < 1e4 : continue\n", " det.apply(evt)\n", " \n", " hit_time_offset = evt.t.AsDouble()*1e9 - evt.mc_t\n", " \n", " for t in evt.mc_trks : t.pos += coord_offset # note: only the mc_trks (not trks)\n", " for h in evt.hits : h.t += hit_time_offset # note: only the hits (not mc_hits) \n", " \n", " for h in evt.mc_hits : \n", " d = (h.pos - nu.pos).len()\n", " r = h.t - ( nu.t + d / v_light )\n", " hres1.Fill(r)\n", " \n", " for h in evt.hits : \n", " d = (h.pos - nu.pos).len()\n", " r = h.t - ( nu.t + d / v_light )\n", " hres2.Fill(r)\n", " \n", " # break after 100k hits\n", " if hres1.Integral() > 1e5 : break \n", " \n", " \n", "for h in [hres1, hres2] : h.Scale( 1.0 / h.Integral() )\n", "hres1.SetLineColor(2)\n", "hres2.SetLineColor(4)\n", "hres1.Draw()\n", "hres2.Draw(\"same\")\n", "ROOT.gPad.Draw() # need this in jupyter...\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }