{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction\n", "\n", "QA plots for the INTT detector" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T23:02:07.615228Z", "iopub.status.busy": "2025-03-24T23:02:07.614647Z", "iopub.status.idle": "2025-03-24T23:02:07.622212Z", "shell.execute_reply": "2025-03-24T23:02:07.620989Z" } }, "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-24T23:02:07.626620Z", "iopub.status.busy": "2025-03-24T23:02:07.626144Z", "iopub.status.idle": "2025-03-24T23:02:07.642784Z", "shell.execute_reply": "2025-03-24T23:02:07.641720Z" } }, "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-24T23:02:07.713768Z", "iopub.status.busy": "2025-03-24T23:02:07.713155Z", "iopub.status.idle": "2025-03-24T23:02:07.723910Z", "shell.execute_reply": "2025-03-24T23:02:07.722598Z" } }, "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-low-occupancy)\n", "\n", "## Tracking QA at low occupancy\n", "\n", "Low occupancy tracking QA concists full tracker + reconstruction of events with 20 $\\pi^+$, 20 $\\pi^-$ and one $\\Upsilon(1S) \\rightarrow e^+ e^-$. Please note the calorimeters are disabled to improve execution speed, which also removed some of the correlated albedo background for the tracker. \n", "\n", "The source code of the macro can be found at https://github.com/sPHENIX-Collaboration/macros/tree/QA-tracking-low-occupancy or [comparing it to the master branch](https://github.com/sPHENIX-Collaboration/macros/compare/QA-tracking-low-occupancy?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-24T23:02:07.727530Z", "iopub.status.busy": "2025-03-24T23:02:07.727062Z", "iopub.status.idle": "2025-03-24T23:02:16.806107Z", "shell.execute_reply": "2025-03-24T23:02:16.804210Z" } }, "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-24T23:02:16.811614Z", "iopub.status.busy": "2025-03-24T23:02:16.811232Z", "iopub.status.idle": "2025-03-24T23:02:16.949689Z", "shell.execute_reply": "2025-03-24T23:02:16.948333Z" } }, "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-24T23:02:16.954531Z", "iopub.status.busy": "2025-03-24T23:02:16.954071Z", "iopub.status.idle": "2025-03-24T23:02:17.085051Z", "shell.execute_reply": "2025-03-24T23:02:17.083644Z" } }, "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-low-occupancy-qa/7015/" ], "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-low-occupancy-qa/7015/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-24T23:02:17.089623Z", "iopub.status.busy": "2025-03-24T23:02:17.089101Z", "iopub.status.idle": "2025-03-24T23:02:17.928998Z", "shell.execute_reply": "2025-03-24T23:02:17.927710Z" }, "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-24T23:02:17.933216Z", "iopub.status.busy": "2025-03-24T23:02:17.932773Z", "iopub.status.idle": "2025-03-24T23:02:18.690728Z", "shell.execute_reply": "2025-03-24T23:02:18.689411Z" } }, "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-24T23:02:18.695363Z", "iopub.status.busy": "2025-03-24T23:02:18.694814Z", "iopub.status.idle": "2025-03-24T23:02:18.853648Z", "shell.execute_reply": "2025-03-24T23:02:18.852247Z" } }, "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-24T23:02:18.858509Z", "iopub.status.busy": "2025-03-24T23:02:18.858051Z", "iopub.status.idle": "2025-03-24T23:02:18.969155Z", "shell.execute_reply": "2025-03-24T23:02:18.967778Z" } }, "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-24T23:02:18.973904Z", "iopub.status.busy": "2025-03-24T23:02:18.973329Z", "iopub.status.idle": "2025-03-24T23:02:19.165626Z", "shell.execute_reply": "2025-03-24T23:02:19.164294Z" } }, "outputs": [ { "data": { "text/markdown": [ "Openning QA file at `G4sPHENIX_test-tracking_Event400_Sum28_qa.root`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "Openning QA reference file at `reference/G4sPHENIX_test-tracking_Event400_Sum28_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-24T23:02:19.170211Z", "iopub.status.busy": "2025-03-24T23:02:19.169654Z", "iopub.status.idle": "2025-03-24T23:02:19.295733Z", "shell.execute_reply": "2025-03-24T23:02:19.294397Z" }, "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\"<( 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", "\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", " }\n", "\n", " // draw\n", " cv->cd( ilayer+1 );\n", " DrawReference(hnew, href);\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-24T23:02:19.571622Z", "iopub.status.busy": "2025-03-24T23:02:19.571179Z", "iopub.status.idle": "2025-03-24T23:02:19.959766Z", "shell.execute_reply": "2025-03-24T23:02:19.958865Z" } }, "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-24T23:02:19.965993Z", "iopub.status.busy": "2025-03-24T23:02:19.965594Z", "iopub.status.idle": "2025-03-24T23:02:20.115611Z", "shell.execute_reply": "2025-03-24T23:02:20.114356Z" } }, "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-24T23:02:20.121627Z", "iopub.status.busy": "2025-03-24T23:02:20.121072Z", "iopub.status.idle": "2025-03-24T23:02:20.272522Z", "shell.execute_reply": "2025-03-24T23:02:20.271262Z" } }, "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-24T23:02:20.278975Z", "iopub.status.busy": "2025-03-24T23:02:20.278466Z", "iopub.status.idle": "2025-03-24T23:02:20.427882Z", "shell.execute_reply": "2025-03-24T23:02:20.426594Z" } }, "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-24T23:02:20.433885Z", "iopub.status.busy": "2025-03-24T23:02:20.433376Z", "iopub.status.idle": "2025-03-24T23:02:20.580600Z", "shell.execute_reply": "2025-03-24T23:02:20.579323Z" } }, "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-24T23:02:20.586112Z", "iopub.status.busy": "2025-03-24T23:02:20.585563Z", "iopub.status.idle": "2025-03-24T23:02:20.736604Z", "shell.execute_reply": "2025-03-24T23:02:20.735398Z" } }, "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-24T23:02:20.742856Z", "iopub.status.busy": "2025-03-24T23:02:20.742347Z", "iopub.status.idle": "2025-03-24T23:02:20.890014Z", "shell.execute_reply": "2025-03-24T23:02:20.888798Z" } }, "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-24T23:02:20.895534Z", "iopub.status.busy": "2025-03-24T23:02:20.895018Z", "iopub.status.idle": "2025-03-24T23:02:21.041641Z", "shell.execute_reply": "2025-03-24T23:02:21.040383Z" } }, "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-24T23:02:21.047145Z", "iopub.status.busy": "2025-03-24T23:02:21.046599Z", "iopub.status.idle": "2025-03-24T23:02:21.193222Z", "shell.execute_reply": "2025-03-24T23:02:21.191926Z" } }, "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": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Summary statistics" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T23:02:21.198753Z", "iopub.status.busy": "2025-03-24T23:02:21.198251Z", "iopub.status.idle": "2025-03-24T23:02:21.354141Z", "shell.execute_reply": "2025-03-24T23:02:21.352799Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This notebook contains 36 KSTets: combined Chi2/nDoF = -0 / 72, and combined __p-Value = 1__\n" ] } ], "source": [ "%%cpp\n", "\n", "KSTestSummary::getInstance()->make_summary_txt(\"QA-Intt.txt\");" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2025-03-24T23:02:21.358672Z", "iopub.status.busy": "2025-03-24T23:02:21.358110Z", "iopub.status.idle": "2025-03-24T23:02:21.496676Z", "shell.execute_reply": "2025-03-24T23:02:21.495422Z" } }, "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 }