{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction\n", "\n", "QA plots for the MVTX detector" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:04.342127Z", "iopub.status.busy": "2025-03-24T22:22:04.341489Z", "iopub.status.idle": "2025-03-24T22:22:04.347898Z", "shell.execute_reply": "2025-03-24T22:22:04.347406Z" } }, "outputs": [], "source": [ "# imports to write dynamic markdown contents\n", "import os\n", "from IPython.display import display, Markdown, Latex\n", "from IPython.display import HTML" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:04.350736Z", "iopub.status.busy": "2025-03-24T22:22:04.350493Z", "iopub.status.idle": "2025-03-24T22:22:04.360440Z", "shell.execute_reply": "2025-03-24T22:22:04.359720Z" } }, "outputs": [ { "data": { "text/markdown": [ "*For the result HTML page:* " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# turn off/on code for the result HTML page\n", "\n", "display(Markdown('*For the result HTML page:* '))\n", " \n", "HTML('''\n", "
''')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:04.406206Z", "iopub.status.busy": "2025-03-24T22:22:04.405722Z", "iopub.status.idle": "2025-03-24T22:22:04.414659Z", "shell.execute_reply": "2025-03-24T22:22:04.413846Z" } }, "outputs": [ { "data": { "text/markdown": [ "[//]: # (This section starts with a 2nd level heading and get embedded in the result QA report at https://github.com/sPHENIX-Collaboration/QA-gallery/tree/QA-tracking-pythiajet)\n", "\n", "## Tracking QA with high pT Pythia events\n", "\n", "PYTHIA high $p_T$ tracking QA consists full tracker + reconstruction of events with the default Pythia configuration file. This cfg file has a single hard QCD ccbar event with minimum partonic $p_T$ of 10 GeV and truth jet triggering of $p_T>20$ GeV. \n", "\n", "Last a D0->piK filter is applied so the same sample canbe used in D0 reco validation. Please note the calorimeters are disabled to improve execution speed, which also removed some of the correlated albedo background for the tracker. \n", "\n", "In addition to the Pythia event, an Upsilon is embedded to probe an agregated tracking resolution. \n", "\n", "The source code of the macro can be found at https://github.com/sPHENIX-Collaboration/macros/tree/QA-tracking-pythiajet or [comparing it to the master branch](https://github.com/sPHENIX-Collaboration/macros/compare/QA-tracking-pythiajet?expand=1).\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import os.path\n", "\n", "# readme file of the macros, available if run under JenkinsCI\n", "# https://github.com/sPHENIX-Collaboration/utilities/blob/master/jenkins/built-test/test-tracking-qa.sh \n", "\n", "macro_markdown = 'Fun4All-macros-README.md'\n", "\n", "if os.path.isfile(macro_markdown) :\n", " with open(macro_markdown, 'r') as file:\n", " display(Markdown(file.read()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `pyROOT` env check" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:04.418136Z", "iopub.status.busy": "2025-03-24T22:22:04.417739Z", "iopub.status.idle": "2025-03-24T22:22:13.682626Z", "shell.execute_reply": "2025-03-24T22:22:13.681016Z" } }, "outputs": [ { "data": { "text/markdown": [ "via sPHENIX software distribution at `/var/lib/jenkins/workspace/sPHENIX/Build-Master-gcc14/build/new/install.1`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import ROOT\n", "\n", "OFFLINE_MAIN = os.getenv(\"OFFLINE_MAIN\")\n", "if OFFLINE_MAIN is not None:\n", " display(Markdown(f\"via sPHENIX software distribution at `{OFFLINE_MAIN}`\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting source code" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:13.687924Z", "iopub.status.busy": "2025-03-24T22:22:13.687626Z", "iopub.status.idle": "2025-03-24T22:22:13.816078Z", "shell.execute_reply": "2025-03-24T22:22:13.814644Z" } }, "outputs": [ { "data": { "text/markdown": [ "View the source code repository at https://github.com/sPHENIX-Collaboration/QA-gallery.git" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import subprocess\n", "\n", "try:\n", " git_url = \\\n", " subprocess.run(['git','remote','get-url','origin'], stdout=subprocess.PIPE)\\\n", " .stdout.decode('utf-8').strip()\\\n", " .replace('git@github.com:','https://github.com/')\n", "\n", " display(Markdown(f\"View the source code repository at {git_url}\"))\n", "except: # catch *all* exceptions\n", " # well do nothing\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## JenkinsCI information (if available)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:13.818871Z", "iopub.status.busy": "2025-03-24T22:22:13.818624Z", "iopub.status.idle": "2025-03-24T22:22:13.943825Z", "shell.execute_reply": "2025-03-24T22:22:13.942737Z" } }, "outputs": [ { "data": { "text/markdown": [ "Some further details about the QA run, if executed under the Jenkins CI:" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "* The commit being checked is sPHENIX-Collaboration/coresoftware/a31efaeddc6c0746d9d331f2948fb8ec821d73ac" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "* Link to the pull request: https://github.com/sPHENIX-Collaboration/coresoftware/pull/3493" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "* Link to the build: https://web.sdcc.bnl.gov/jenkins-sphenix/job/sPHENIX/job/test-tracking-pythiajet-qa/5340/" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "* Git repo for macros: https://github.com/sPHENIX-Collaboration/macros.git , which merges `master` and the QA tracking branch" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "* Download the QA ROOT files: https://web.sdcc.bnl.gov/jenkins-sphenix/job/sPHENIX/job/test-tracking-pythiajet-qa/5340/display/redirect?page=artifacts" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "Automatically generated by [sPHENIX Jenkins continuous integration](https://web.sdcc.bnl.gov/jenkins-sphenix/) [![sPHENIX](https://raw.githubusercontent.com/sPHENIX-Collaboration/utilities/master/jenkins/material/sphenix-logo-white-bg-72p.png)](https://www.sphenix.bnl.gov/web/)             [![jenkins.io](https://raw.githubusercontent.com/sPHENIX-Collaboration/utilities/master/jenkins/material/jenkins_logo_title-72p.png)](https://jenkins.io/)" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(Markdown('Some further details about the QA run, if executed under the Jenkins CI:'))\n", "\n", "checkrun_repo_commit = os.getenv(\"checkrun_repo_commit\")\n", "if checkrun_repo_commit is not None:\n", " display(Markdown(f\"* The commit being checked is {checkrun_repo_commit}\"))\n", " \n", "ghprbPullLink = os.getenv(\"ghprbPullLink\")\n", "if ghprbPullLink is not None:\n", " display(Markdown(f\"* Link to the pull request: {ghprbPullLink}\"))\n", "\n", "BUILD_URL = os.getenv(\"BUILD_URL\")\n", "if BUILD_URL is not None:\n", " display(Markdown(f\"* Link to the build: {BUILD_URL}\"))\n", "\n", "git_url_macros = os.getenv(\"git_url_macros\")\n", "sha_macros = os.getenv(\"sha_macros\")\n", "if git_url_macros is not None:\n", " display(Markdown(f\"* Git repo for macros: {git_url_macros} , which merges `{sha_macros}` and the QA tracking branch\"))\n", "\n", "RUN_ARTIFACTS_DISPLAY_URL = os.getenv(\"RUN_ARTIFACTS_DISPLAY_URL\")\n", "if RUN_ARTIFACTS_DISPLAY_URL is not None:\n", " display(Markdown(f\"* Download the QA ROOT files: {RUN_ARTIFACTS_DISPLAY_URL}\"))\n", "\n", "JENKINS_URL = os.getenv(\"JENKINS_URL\")\n", "if JENKINS_URL is not None:\n", " display(Markdown(f\"Automatically generated by [sPHENIX Jenkins continuous integration]({JENKINS_URL}) [![sPHENIX](https://raw.githubusercontent.com/sPHENIX-Collaboration/utilities/master/jenkins/material/sphenix-logo-white-bg-72p.png)](https://www.sphenix.bnl.gov/web/)             [![jenkins.io](https://raw.githubusercontent.com/sPHENIX-Collaboration/utilities/master/jenkins/material/jenkins_logo_title-72p.png)](https://jenkins.io/)\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Initialization" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:13.948062Z", "iopub.status.busy": "2025-03-24T22:22:13.947272Z", "iopub.status.idle": "2025-03-24T22:22:14.563951Z", "shell.execute_reply": "2025-03-24T22:22:14.562731Z" }, "scrolled": true }, "outputs": [], "source": [ "%%cpp -d\n", "\n", "#include \"QA_Draw_Utility.C\"\n", "\n", "#include \n", "\n", "#include \n", "#include \n", "#include \n", "#include \n", "#include \n", "#include " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:14.568653Z", "iopub.status.busy": "2025-03-24T22:22:14.567812Z", "iopub.status.idle": "2025-03-24T22:22:15.520546Z", "shell.execute_reply": "2025-03-24T22:22:15.519166Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sPhenixStyle: Applying nominal settings.\n", "sPhenixStyle: ROOT6 mode\n" ] } ], "source": [ "%%cpp\n", "\n", "SetsPhenixStyle();\n", "TVirtualFitter::SetDefaultFitter(\"Minuit2\");\n", "\n", "// test sPHENIX lib load\n", "// gSystem->Load(\"libg4eval.so\");\n", "\n", "// test libs\n", "// gSystem->ListLibraries();" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:15.526325Z", "iopub.status.busy": "2025-03-24T22:22:15.525938Z", "iopub.status.idle": "2025-03-24T22:22:15.678144Z", "shell.execute_reply": "2025-03-24T22:22:15.677083Z" } }, "outputs": [], "source": [ "%jsroot on" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inputs and file checks" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:15.682447Z", "iopub.status.busy": "2025-03-24T22:22:15.681531Z", "iopub.status.idle": "2025-03-24T22:22:15.791236Z", "shell.execute_reply": "2025-03-24T22:22:15.790321Z" } }, "outputs": [], "source": [ "\n", "qa_file_name_new = os.getenv(\"qa_file_name_new\")\n", "if qa_file_name_new is None:\n", " qa_file_name_new = \"G4sPHENIX_test-tracking-low-occupancy-qa_Event100_Sum10_qa.root\"\n", " display(Markdown(f\"`qa_file_name_new` env not set. use the default `qa_file_name_new={qa_file_name_new}`\"))\n", "\n", "qa_file_name_ref = os.getenv(\"qa_file_name_ref\")\n", "if qa_file_name_ref is None:\n", " qa_file_name_ref = \"reference/G4sPHENIX_test-tracking-low-occupancy-qa_Event100_Sum10_qa.root\"\n", " display(Markdown(f\"`qa_file_name_ref` env not set. use the default `qa_file_name_ref={qa_file_name_ref}`\"))\n", "elif qa_file_name_ref == 'None':\n", " qa_file_name_ref = None\n", " display(Markdown(f\"`qa_file_name_ref` = None and we are set to not to use the reference histograms\"))\n", " \n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:15.793501Z", "iopub.status.busy": "2025-03-24T22:22:15.793148Z", "iopub.status.idle": "2025-03-24T22:22:15.972217Z", "shell.execute_reply": "2025-03-24T22:22:15.971058Z" } }, "outputs": [ { "data": { "text/markdown": [ "Openning QA file at `G4sPHENIX_test-tracking_Event550_Sum10_qa.root`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "Openning QA reference file at `reference/G4sPHENIX_test-tracking_Event550_Sum10_qa.root`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# qa_file_new = ROOT.TFile.Open(qa_file_name_new);\n", "\n", "# assert qa_file_new.IsOpen()\n", "# qa_file_new.ls()\n", "display(Markdown(f\"Openning QA file at `{qa_file_name_new}`\"))\n", "ROOT.gInterpreter.ProcessLine(f\"TFile *qa_file_new = new TFile(\\\"{qa_file_name_new}\\\");\")\n", "ROOT.gInterpreter.ProcessLine(f\"const char * qa_file_name_new = \\\"{qa_file_name_new}\\\";\")\n", "\n", "if qa_file_name_ref is not None:\n", "# qa_file_ref = ROOT.TFile.Open(qa_file_name_ref);\n", "\n", "# assert qa_file_ref.IsOpen()\n", " display(Markdown(f\"Openning QA reference file at `{qa_file_name_ref}`\"))\n", " ROOT.gInterpreter.ProcessLine(f\"TFile *qa_file_ref = new TFile(\\\"{qa_file_name_ref}\\\");\")\n", " ROOT.gInterpreter.ProcessLine(f\"const char * qa_file_name_ref = \\\"{qa_file_name_ref}\\\";\")\n", "else:\n", " ROOT.gInterpreter.ProcessLine(f\"TFile *qa_file_ref = nullptr;\")\n", " ROOT.gInterpreter.ProcessLine(f\"const char * qa_file_name_ref = nullptr;\")\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:15.975058Z", "iopub.status.busy": "2025-03-24T22:22:15.974669Z", "iopub.status.idle": "2025-03-24T22:22:16.101410Z", "shell.execute_reply": "2025-03-24T22:22:16.100136Z" }, "scrolled": true }, "outputs": [], "source": [ "%%cpp\n", "\n", "if (qa_file_new == nullptr) \n", "{\n", " cout <<\"Error, can not open QA root file\"<ls();\n", "\n", "//TFile *qa_file_ref = NULL;\n", "//if (qa_file_name_ref)\n", "//{\n", "// qa_file_ref = new TFile(qa_file_name_ref);\n", "// \n", "// if (qa_file_ref == nullptr) \n", "// {\n", "// cout <<\"Error, can not open QA root file\"<Divide( nlayers_mvtx, 1 );\n", " for( int ilayer = 0; ilayer < nlayers_mvtx; ++ilayer )\n", " {\n", "\n", " const int layer = ilayer + first_layer_mvtx;\n", "\n", " // get histograms\n", " auto hnew = static_cast( qa_file_new->GetObjectChecked( Form( \"%s%s_%i\", prefix.Data(), tag.Data(), layer ), \"TH1\" ) );\n", " hnew->Scale( 1./hnew->GetEntries() );\n", " hnew->SetMinimum(0);\n", " hnew->GetXaxis()->SetMaxDigits(2);\n", "\n", " // reference\n", " auto href = qa_file_ref ? static_cast( qa_file_ref->GetObjectChecked( Form( \"%s%s_%i\", prefix.Data(), tag.Data(), layer ), \"TH1\" ) ) : nullptr;\n", " if( href )\n", " {\n", " href->Scale( 1./href->GetEntries() );\n", " href->SetMinimum(0);\n", " href->GetXaxis()->SetMaxDigits(2);\n", " }\n", "\n", " // draw\n", " cv->cd( ilayer+1 );\n", " DrawReference(hnew, href);\n", " gPad->SetRightMargin(0.15);\n", " \n", " auto line = VerticalLine( gPad, 0 );\n", " line->Draw();\n", " }\n", "\n", " return cv;\n", "\n", "}\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Azimuthal arc-length, $r \\Delta\\phi$, residuals, errors and pulls" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Residuals" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:16.365085Z", "iopub.status.busy": "2025-03-24T22:22:16.364863Z", "iopub.status.idle": "2025-03-24T22:22:16.713170Z", "shell.execute_reply": "2025-03-24T22:22:16.712077Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"drphi\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Errors " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:16.716168Z", "iopub.status.busy": "2025-03-24T22:22:16.715692Z", "iopub.status.idle": "2025-03-24T22:22:16.860364Z", "shell.execute_reply": "2025-03-24T22:22:16.859138Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"rphi_error\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pulls" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:16.862940Z", "iopub.status.busy": "2025-03-24T22:22:16.862716Z", "iopub.status.idle": "2025-03-24T22:22:17.003405Z", "shell.execute_reply": "2025-03-24T22:22:17.001903Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"phi_pulls\" )-> Draw();" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# $z$ residuals, errors and pulls" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Residuals" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.008860Z", "iopub.status.busy": "2025-03-24T22:22:17.008628Z", "iopub.status.idle": "2025-03-24T22:22:17.148731Z", "shell.execute_reply": "2025-03-24T22:22:17.147421Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"dz\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Errors " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.151328Z", "iopub.status.busy": "2025-03-24T22:22:17.151101Z", "iopub.status.idle": "2025-03-24T22:22:17.288820Z", "shell.execute_reply": "2025-03-24T22:22:17.287529Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"z_error\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pulls" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.292893Z", "iopub.status.busy": "2025-03-24T22:22:17.292651Z", "iopub.status.idle": "2025-03-24T22:22:17.430672Z", "shell.execute_reply": "2025-03-24T22:22:17.429458Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"z_pulls\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Cluster sizes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cluster size" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.435504Z", "iopub.status.busy": "2025-03-24T22:22:17.434530Z", "iopub.status.idle": "2025-03-24T22:22:17.570830Z", "shell.execute_reply": "2025-03-24T22:22:17.569533Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"clus_size\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cluster azimuthal size " ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.574271Z", "iopub.status.busy": "2025-03-24T22:22:17.573898Z", "iopub.status.idle": "2025-03-24T22:22:17.710546Z", "shell.execute_reply": "2025-03-24T22:22:17.709101Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"clus_size_phi\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cluster $z$-size" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.713924Z", "iopub.status.busy": "2025-03-24T22:22:17.713179Z", "iopub.status.idle": "2025-03-24T22:22:17.849948Z", "shell.execute_reply": "2025-03-24T22:22:17.848675Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "Draw( qa_file_new, qa_file_ref, hist_name_prefix, \"clus_size_z\" )-> Draw();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Summary statistics" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:17.852465Z", "iopub.status.busy": "2025-03-24T22:22:17.852232Z", "iopub.status.idle": "2025-03-24T22:22:18.001290Z", "shell.execute_reply": "2025-03-24T22:22:18.000161Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This notebook contains 27 KSTets: combined Chi2/nDoF = -0 / 54, and combined __p-Value = 1__\n" ] } ], "source": [ "%%cpp\n", "\n", "KSTestSummary::getInstance()->make_summary_txt(\"QA-Mvtx.txt\");" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T22:22:18.003873Z", "iopub.status.busy": "2025-03-24T22:22:18.003630Z", "iopub.status.idle": "2025-03-24T22:22:18.135982Z", "shell.execute_reply": "2025-03-24T22:22:18.135102Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%cpp\n", "\n", "KSTestSummary::getInstance()->make_summary_TCanvas() -> Draw();" ] } ], "metadata": { "kernelspec": { "display_name": "Python (sPHENIX)", "language": "python", "name": "sphenix-env" }, "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.13.0" } }, "nbformat": 4, "nbformat_minor": 4 }