{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Access a TTree with the TTreeReader\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Open a file which is located on the web. \n", "Build a TTreeReader and two TTreeReader values, one for the tracks and one for the event number." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "auto f = TFile::Open(\"https://root.cern.ch/files/summer_student_tutorial_tracks.root\");\n", "\n", "TTreeReader myReader(\"events\",f);\n", "TTreeReaderValue> tracksRV(myReader, \"tracks\");\n", "TTreeReaderValue eventNumRV(myReader, \"evtNum\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loop over the events stored in the tree. Analyse the transverse momentum of tracks and identify the maximum one.\n", "Print the result every one hundred events." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Processing event number 0\n", "Max pt is 37.5882\n", "Processing event number 100\n", "Max pt is 32.405\n", "Processing event number 200\n", "Max pt is 34.6248\n", "Processing event number 300\n", "Max pt is 37.0227\n", "Processing event number 400\n", "Max pt is 35.2018\n", "Processing event number 500\n", "Max pt is 35.2578\n", "Processing event number 600\n", "Max pt is 43.0203\n", "Processing event number 700\n", "Max pt is 36.7313\n", "Processing event number 800\n", "Max pt is 34.0827\n", "Processing event number 900\n", "Max pt is 34.7578\n" ] } ], "source": [ "double maxPt;\n", "while(myReader.Next()){\n", " auto evtNum (*eventNumRV);\n", "\n", " auto tracks = *tracksRV;\n", " maxPt = -1;\n", " for (auto&& track : tracks){\n", " auto pt = track.Pt();\n", " if (pt>maxPt) maxPt = pt;\n", " }\n", " if (evtNum %100 == 0) {\n", " std::cout << \"Processing event number \" << evtNum << std::endl;\n", " std::cout << \"Max pt is \" << maxPt << std::endl;\n", " }\n", "\n", "} " ] } ], "metadata": { "kernelspec": { "display_name": "ROOT C++", "language": "c++", "name": "root" }, "language_info": { "codemirror_mode": "text/x-c++src", "file_extension": ".C", "mimetype": " text/x-c++src", "name": "c++" } }, "nbformat": 4, "nbformat_minor": 0 }