An accelerator physics tools package for the OMC team at CERN.
Project description
3
This is the python-tool package of the Optics Measurements and Corrections team (OMC) at CERN.
Most of the codes are generic and not limited to CERN accelerators, and the package can easily be used for your favorite circular accelerator.
To see how to adapt this for your machine, see our documentation, Model
section.
To contribute, see our guidelines on the OMC website.
Documentation
- Autogenerated docs via
Sphinx
can be found at https://pylhc.github.io/omc3/. - General documentation of the OMC Team is located at https://pylhc.github.io/.
Installing
Installation is easily done via pip
:
pip install omc3
For development purposes, we recommend creating a new virtual environment and installing from VCS in editable mode with all extra dependencies (cern
for packages only available in the CERN GPN, test
for pytest
and relevant plugins, and doc
for packages needed to build documentation)
git clone https://github.com/pylhc/omc3
pip install --editable "omc3[all]"
Codes can then be run with either python -m omc3.SCRIPT --FLAG ARGUMENT
or calling the .py
file directly.
Functionality
Main Scripts
Main scripts to be executed lie in the /omc3
directory. These include:
global_correction.py
to calculate corrections from measurement files.hole_in_one.py
to perform frequency analysis on turn by turn BPM data and infer optics (and more) for a given accelerator.madx_wrapper.py
to start aMAD-X
run with a file or string as input.model_creator.py
to generate optics models required for optics analysis.response_creator.py
to provide correction response files.run_kmod.py
to analyze data from K-modulation and return the measured optics functions.tbt_converter.py
to convert different turn by turn data types toSDDS
, potentially adding noise.amplitude_detuning_analysis.py
to perform amp. det. analysis on optics data with tune correction.knob_extractor.py
to extract fromNXCALS
the value of given knobs in the machine at a given time.
Plotting Scripts
Plotting scripts for analysis outputs can be found in /omc3/plotting
:
plot_spectrum.py
to generate plots from files generated by frequency analysis.plot_bbq.py
to generate plots from files generated by BBQ analysis.plot_amplitude_detuning.py
to generate plots from files generated by amplitude detuning analysis.plot_optics_measurements.py
to generate plots from files generated by optics_measurements.plot_tfs.py
all-purpose tfs-file plotter.
Other Scripts
Other general utility scripts are in /omc3/scripts
:
update_nattune_in_linfile.py
to update the natural tune columns in the lin files by finding the highest peak in the spectrum in a given interval.write_madx_macros.py
to generateMAD-X
tracking macros with observation points from a TWISS file.merge_kmod_results.py
to merge LSA results files created by kmod, and add the luminosity imbalance if the 4 needed IP/Beam files combination are present.fake_measurement_from_model.py
to create a fake measurement based on a model TWISS file.betabeatsrc_output_converter.py
to convert outputs from our old codes toomc3
's new standardized format.linfile_clean.py
to automatically clean given columns in lin files.
Example use for these scripts can be found in the tests
files.
Documentation including relevant flags and parameters can be found at https://pylhc.github.io/omc3/.
License
This project is licensed under the MIT License
- see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file omc3-0.16.2.tar.gz
.
File metadata
- Download URL: omc3-0.16.2.tar.gz
- Upload date:
- Size: 20.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 131a969018fc27235f22bc8c606e499977300f4b63d2488555a071dbf1e5a3fe |
|
MD5 | 5861f849de29d92b75f20549b1c1c4b2 |
|
BLAKE2b-256 | 8b50458d64c3f55391c0ac3f6267b61c246a1ab244016816262e2f9cdefc6d32 |
File details
Details for the file omc3-0.16.2-py3-none-any.whl
.
File metadata
- Download URL: omc3-0.16.2-py3-none-any.whl
- Upload date:
- Size: 20.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59862e63a16f189dcee4df847699a39c7845ad86e0f0add5cf2b9af5caf36203 |
|
MD5 | 12d18719a1f53c55faf9a52c17c08930 |
|
BLAKE2b-256 | dc543d3976f5741f5cb019176ee5efa84ba34ada7d7acb326dfa54e6f945b6f2 |