Generate quick plots from Ph2_ACF quick/full test results for 2S modules — whether tested individually in a single-module box or integrated into a ladder within a cold-box setup.
- Fast plotting of Ph2_ACF quick/full test data
- Supports both single module and ladder cold-box configurations
- Flexible analysis levels:
- 🔬 CBC-level inspection
- 📦 Module-level summary
- ⚖ Cross-setup comparison (single-module vs. ladder / ladder-1 vs. ladder-2)
- Collect test results from Ph2_ACF quick/full tests : Main requirement.
- Then one/two
yamlfiles e.g. in Configs, is/are needed to run the main function. - The main script first load the Data from ROOT file to a dictionary, that one can dump to a separate
yamlif needed. - The Plotter takes the dictionary as input on-the-fly and starts producing the plots.
Two options :
- Use
cvmfs: The easiest way - Or, use
Anacondato setup the environment : Easy but messy
Install requirements:
if cvmfs is not accessible, a bit longer process to be followed
# conda installation
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# use the `yml` and build the environment
conda env create -f environment.yml
# and, then clone the repoBut, if cvmfs is there, then life would be easier as mentioned above
# first clone the repo
git clone https://github.com/gsaha009/LadderIntegrationOT2S.git
source setup.sh
# and everything will be readyAgain, to clone the repository, if not done e.g. for w/o cvmfs:
git clone https://github.com/gsaha009/LadderIntegrationOT2S.gitConfigs:- Here you can find some
yamlfiles, which are the config files with information about input, output, histogram names, module_IDs etc. tests.ymlconfig with some switches for test
- Here you can find some
DataLoader.py:- It reads the ROOT files, and saves some information like noise, nHits, pedestal etc. in a dictionary. It needs to be modified if one wants to add more info to the dictionaries.
Plotter.py:- Plotter reads the dictionaries to produce the plots.
Fitter.py:- Several models can be used to fit the plots e.g. nHits
main.py:- the main function, reads the config, loads the ROOT files, produced the dictionaries and do the plots.
python main.py -cs Configs/bla.yaml Configs/foo.yaml -t <Output_Tag>
# max 2 configs can be used if `compare` switch is True in `tests.yaml`, or one config if it is False| Path | Repository | Purpose |
|---|---|---|
modules/2SLadderCMNAna |
GitHub Repo | CMNoise fitter |
modules/EventContainer |
GitLab Repo | Read OTPhysics Root file |