Metadata-Version: 2.1 Name: HighResAnalysis Version: 0.0.7 Summary: Analysis of High Resolution Data from CERN and DESY beam tests Home-page: https://github.com/dmitryhits/HighResAnalysis Author: Dmitry Hits Author-email: dmitry.hits@gmail.com License: Apache Software License 2.0 Keywords: nbdev jupyter notebook python alignment telescope testbeam Classifier: Development Status :: 3 - Alpha Classifier: Intended Audience :: Developers Classifier: Natural Language :: English Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: License :: OSI Approved :: Apache Software License Requires-Python: >=3.7 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: nbdev Requires-Dist: ipython Requires-Dist: termcolor Requires-Dist: numpy Requires-Dist: uncertainties Requires-Dist: h5py Requires-Dist: toml Requires-Dist: pytz Requires-Dist: uproot Requires-Dist: gtts Requires-Dist: gspread Requires-Dist: oauth2client Requires-Dist: awkward Requires-Dist: progressbar Requires-Dist: scipy Requires-Dist: screeninfo Requires-Dist: fastcore Provides-Extra: dev HighResAnalysis ================ The current repository is in development and is not guaranteed to work The working version can be found https://github.com/diamondIPP/HighResAnalysis ## Prerequisites - [python](https://www.python.org)\>=3.6 - python=3.10 was used for the development - [cmake](https://cmake.org)\>=3.7 - optionally [cmake GUI](https://cmake.org/runningcmake/), for example ccmake ## Installation - First, install `mamba`. If you do not yet have `conda` install then getting [Mambaforge](https://github.com/conda-forge/miniforge#mambaforge) is the recommended way to get `mamba`. Here is the instruction for Linux. ``` shell curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh" bash Mambaforge-Linux-x86_64.sh ``` If this not the case for you. You can follow the instruction on [mamba install page](https://mamba.readthedocs.io/en/latest/installation.html#installation "complete mamba installation instructions") - Next you can install [root](https://root.cern.ch). In the [root installation instructions](https://root.cern/install/#conda) you need to replace `conda` with `mamba` and skip the instructions about the environment, since the `Mambaforge` already created the default `base` environment. ``` shell mamba config --set channel_priority strict mamba install root mamba install -c conda-forge root ``` - Install the analysis code: ``` shell pip install HighResAnalysys ``` - Optionally install other useful python packages: ``` shell mamba install -c conda-forge scikit-learn numpy pandas mamba install pyarrow openpyxl xlrd pytables requests sqlalchemy mamba install -c fastai nbdev mamba install jupyterlab mamba install jupyternotebook mamba install ipython mamba install notebook mamba install voila ``` - For the installation of the software hosted on the GitHub it is useful to make a dedicated folder: ``` shell mkdir software cd software ``` - And clone all the necessary packages there: ``` shell git clone git@github.com:diamondIPP/DRS4-v5-shared.git git clone git@github.com:diamondIPP/proteus.git git clone git@github.com:diamondIPP/judith.git git clone git@github.com:diamondIPP/HVClient.git git clone git@github.com:diamondIPP/eudaq-2.git ``` - generate shh keys and copy them to login.phys.ethz.ch ``` shell ssh-keygen ssh-copy-id username@login.phys.ethz.ch ``` - Clone the analysis setup from GitHub. It contains all the necessary config files: ``` shell git clone git@github.com:diamondIPP/setup-analysis.git HighResAnalysis cd HighResAnalysis/ ``` - To install the converters follow the instructions on the respective pages: - [proteus](https://github.com/diamondIPP/proteus) - It will need [Eigen3](https://eigen.tuxfamily.org/index.php?title=Main_Page) and you will have to tell `cmake` the path to it. - [judith](https://github.com/diamondIPP/judith) (only for CERN data) - [eudaq2](https://github.com/diamondIPP/eudaq-2) (only for DESY data) ## Example analysis of the DESY data the data need to be frist pre-converted: `>analyse --run=4` you will need to import a couple of libraries. Most of the tools are in `src.dut_analysis`. It will load the data and set all the cuts. The `draw` module from plotting library has some useful functions and presets that allow plotting histograms and graphs ``` python from HighResAnalysis.src.dut_analysis import * from HighResAnalysis.plotting.draw import * ``` Welcome to JupyROOT 6.28/00 Initialize the DUTAnalysis with run number, DUT number, and a string indicating the year and the month of the beam test ``` python run4 = DUTAnalysis(4, 0, '201912') ``` --- Palette ------ 55 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STARTING DUT ANALYSIS of D02, run 4 (Dec 2019), 2.50M ev | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ************** Initing Converter ***************** *************** Initing PROTEUS ****************** A small function that allows inline plotting of ROOT histograms ``` python def dc(): get_last_canvas().Draw() ``` Let’s plot a signal distribution ``` python run4.draw_charge_distribution() dc() ``` INFO: 10:34:18 --> Creating directory: /Users/hits/Documents/GitHub/HighResAnalysis/HighResAnalysis/results/201912 INFO: 10:34:18 --> saving plot: SignalDist WARNING: 10:34:19 --> Diamond server is not mounted in /Users/hits/mounts/high-rate ![](index_files/figure-commonmark/cell-5-output-2.png)