Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
935d55b
moved ideas to codi, omc3 all around
JoschD May 15, 2025
2ce5269
defaults
JoschD May 15, 2025
dcbc985
defaults again
JoschD May 15, 2025
6641979
bring fontawesome back
JoschD May 15, 2025
4db79df
some intro
JoschD May 15, 2025
8d8baf3
image beamselect
JoschD May 15, 2025
6c44573
bbs faqs
JoschD May 15, 2025
eb7909e
typos and lint fixes
fsoubelet May 19, 2025
254c282
replace dead link with our TFS page
fsoubelet May 19, 2025
13fa447
Moved (#175)
JoschD May 19, 2025
0713d24
Kmod gui rework (#176)
fsoubelet May 21, 2025
bf1029c
images (#178)
JoschD May 21, 2025
f7c45a1
Linting PR (#179)
fsoubelet May 22, 2025
c185c15
Chroma GUI Page (#180)
fsoubelet May 23, 2025
17b45c5
First Updates regarding the BBGUI (#184)
JoschD Jun 18, 2025
39a2b05
fix absolute link
fsoubelet Jun 24, 2025
3821ac0
fix outdated anchor link
fsoubelet Jun 24, 2025
41f6b8f
fix outdated anchor link
fsoubelet Jun 24, 2025
d9f605b
Java IDE setup and GUI Release (#186)
JoschD Jun 24, 2025
39ab290
Update workflows (#189)
fsoubelet Jun 26, 2025
b42683f
Add multiturn documentation (#190)
jgray-19 Jul 11, 2025
bace909
Merge branch 'master' into user_guide_updates
JoschD Jul 30, 2025
0ac0c25
bbgui model creation (#188)
JoschD Aug 19, 2025
1db37e1
User guide updates bpm panel (#197)
JoschD Aug 19, 2025
2cbef9f
Merge branch 'master' into user_guide_updates
JoschD Aug 21, 2025
03be141
Adding some preliminary RDT feeddown documentation
Aug 29, 2025
ef0dd1b
Making wording clearer and fixing a repetition in css file and renami…
Aug 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 13 additions & 16 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,39 @@ defaults:
run:
shell: bash

env:
UV_COMPILE_BYTECODE: 1

on: # Runs on any push event to master
push:
branches:
- master

jobs:
documentation:
name: ${{ matrix.os }} / ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.12]
name: Build and Publish Static Documentation
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Install uv and Python
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: '**/requirements.txt'

- name: Upgrade pip, setuptools and wheel
run: python -m pip install --upgrade pip setuptools wheel
python-version: 3.13
enable-cache: true
activate-environment: true
cache-dependency-glob: "requirements.txt"

- name: Install dependencies
run: python -m pip install -r requirements.txt
run: uv pip install -r requirements.txt

- name: Build documentation
run: python -m mkdocs build -d ./doc_build

- name: Upload documentation to gh-pages
if: success()
uses: JamesIves/github-pages-deploy-action@v4
if: success()
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
Expand Down
27 changes: 12 additions & 15 deletions .github/workflows/test_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,29 @@ defaults:
run:
shell: bash

env:
UV_COMPILE_BYTECODE: 1

on: [push, pull_request] # Runs on all push events to any branch

jobs:
documentation:
name: ${{ matrix.os }} / ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.12]
name: Build Static Documentation
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Install uv and Python
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: '**/requirements.txt'

- name: Upgrade pip, setuptools and wheel
run: python -m pip install --upgrade pip setuptools wheel
python-version: 3.13
enable-cache: true
activate-environment: true
cache-dependency-glob: "requirements.txt"

- name: Install dependencies
run: python -m pip install -r requirements.txt
run: uv pip install -r requirements.txt

- name: Build documentation
run: python -m mkdocs build -d ./doc_build
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Get a local copy of this repository, set up a `Python3.6+` environment and insta

```bash
git clone https://github.com/pylhc/pylhc.github.io
pip install mkdocs mkdocs-material mkdocs-minify-plugin
python -m pip install mkdocs mkdocs-material mkdocs-minify-plugin
```

Create a branch (from master) and make your changes.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/bpm_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/console.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/gui_top.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/log_viewer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/open_files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/betabeat_gui/optics_panel.png
Binary file added docs/assets/images/betabeat_gui/rbac.png
Binary file added docs/assets/images/betabeat_gui/settings_gui.png
Binary file added docs/assets/images/betabeat_gui/top_buttons.png
Binary file removed docs/assets/images/bpm_filtering/badbpm.png
Diff not rendered.
Binary file removed docs/assets/images/bpm_filtering/bpmvsowl.png
Diff not rendered.
Binary file added docs/assets/images/chroma_gui/default_view.png
Binary file added docs/assets/images/gui_ide_setup/vscode_cbng.png
Binary file added docs/assets/images/kmod_gui/analysis_result.png
Binary file added docs/assets/images/kmod_gui/analysis_settings.png
Binary file removed docs/assets/images/kmod_gui/analyzing_config.png
Diff not rendered.
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/autotrim_date_picker.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/autotrim_input.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/betastar_input.png
Diff not rendered.
Binary file added docs/assets/images/kmod_gui/default_view.png
Binary file added docs/assets/images/kmod_gui/fetch_kmod.png
Binary file removed docs/assets/images/kmod_gui/ip_panel_trim.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/load_model.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/measurement_view.png
Diff not rendered.
Binary file added docs/assets/images/kmod_gui/modulation_view.png
Binary file removed docs/assets/images/kmod_gui/select_quadrupole.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/select_trim_by_date.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/select_trim_panel.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/trim_config.png
Diff not rendered.
Binary file removed docs/assets/images/kmod_gui/trim_result_panel.png
Diff not rendered.
Binary file added docs/assets/images/multiturn_gui/ADTACDipole.png
Binary file added docs/assets/images/multiturn_gui/default_view.png
Binary file added docs/assets/images/multiturn_gui/flag_status.png
Binary file added docs/assets/images/multiturn_gui/tunes_setup.png
Binary file added docs/assets/images/rdtfeeddown_gui/errorlog.png
Binary file added docs/assets/images/rdtfeeddown_gui/help.png
60 changes: 56 additions & 4 deletions docs/css/custom_colors.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,19 @@
/* Define the specific colors using CSS variables (optional but good practice) */
:root {
--color-cernniceblue: #0669b2;
--color-atlasgreen: #27a572;
--color-cernred: #e15e32;
--color-atlasorange: #f09010;
--color-atlasgreen: #27a572;
--color-cernred: #e15e32;
--color-atlasorange: #f09010;
--color-cernlightblue: #15b3da;
--color-cernpurple: #6e2466;
--color-cernpurple: #6e2466;
}


/* Useful to set a `cern` blue as primary in mkdocs.yml (dark mode) */
[data-md-color-primary="cern"] {
--md-primary-fg-color: #0033a0;
--md-primary-fg-color--light: #9BAEDB;
--md-primary-fg-color--dark: #0033A0;
}

/* General emphasis class */
Expand All @@ -16,4 +24,48 @@
font-weight: bold;
}

.warning-colored {
color: var(--color-atlasorange);
font-weight: bold;
}

.cernred {
color: var(--color-cernred);
font-weight: bold;
}

.settings-icon {
display: inline-flex;
justify-content: center;
align-items: center;
width: 1.1em;
height: 1.1em;
background-color: rgb(71, 148, 192);
color: white;
font-size: 1em;
border-radius: 4px; /* optional: adds slight rounding */
}

.green-gui-button kbd {
background-color: rgb(88, 226, 46) !important;
color: black !important;
box-shadow: 0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem rgb(159, 202, 146) inset;;
}

.red-gui-button kbd {
background-color: rgb(226, 46, 46) !important;
color: black !important;
box-shadow: 0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem rgb(202, 142, 124) inset;;
}

.yellow-gui-button kbd {
background-color: rgb(255, 201, 0) !important;
color: black !important;
box-shadow: 0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem rgb(202, 177, 124) inset;;
}

.blue-gui-button kbd {
background-color: rgb(0, 0, 255) !important;
color: rgb(250, 247, 247) !important;
box-shadow: 0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem rgb(124, 125, 202) inset;;
}
41 changes: 34 additions & 7 deletions docs/css/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ a.cern_internal {

.md-typeset .nodeco .leftFigure,
.md-typeset .nodeco .rightFigure {
width:45%;
width:45%;
margin: 0 0 0 0;
display: inline-block;
}
Expand All @@ -91,12 +91,6 @@ a.cern_internal {
}


/* Not used but I'll leave it here in case someone wants to test it. Just put `cern` as primary in mkdocs.yml (jdilly) */
[data-md-color-primary="cern"] {
--md-primary-fg-color: #0033a0;
--md-primary-fg-color--light: #9BAEDB;
--md-primary-fg-color--dark: #0033A0;
}

/* Fix the Mathjax scrolling boxes issue */
.md-typeset div.arithmatex {
Expand All @@ -106,3 +100,36 @@ a.cern_internal {
.clickImg {
cursor: pointer;
}

.rdtfeeddown_guilabel {
white-space: nowrap;
padding: 0.5px 12px;
width: fit-content;
border-radius: 0px;
font-weight: bold;
display: inline-block;
background: var(--rdtfeeddown_guilabel-bg, #3c3c3c);
color: var(--rdtfeeddown_guilabel-fg, #ffffff);
box-shadow: 0 1px 2px rgba(0,0,0,0.12);
font-size: 1em;
}

a.rdtfeeddown_tab-link {
display: inline-block;
padding: 0.15em 0.7em;
border-radius: 0px;
background: #3c3c3c;
color: #e0e0e0;
font-family: inherit;
font-size: 1em;
font-weight: 600;
text-transform: uppercase;
text-decoration: none;
border: 1.5px solid #232323;
box-shadow: 0 2px 6px rgba(21,101,192,0.08);
transition: background 0.2s, color 0.2s, border-bottom 0.2s;
}
a.rdtfeeddown_tab-link:hover, a.rdtfeeddown_tab-link:focus {
background: #484848;
color: #ffffff;
}
68 changes: 47 additions & 21 deletions docs/guis/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,56 @@ The OMC team uses several GUIs to help running data acquisition and analysis cod
- [The Beta-Beat GUI](betabeat/gui.md) to perform analysis of measurement files and compute corrections.
- [The Kmod GUI](kmod/gui.md) to perform K-modulation, analyse data and export results.
- [The Multiturn GUI](multiturn/gui.md) to perform beam excitation and data acquisition.
- [The Chroma GUI](chroma/gui.md) to determine chromaticity from RF scan analysis and compute corrections.

Of these, only the Beta-Beat GUI is currently developed by the team.

## Running the GUIs

The GUIs can be started from your development environment or via deployed `.jnlp` from the archives:
<!-- TODO: Add SbS and RDT Feeddown GUIs here when pages are ready. -->

=== "Beta-Beat"

- Latest [Beta-Beating production version][prod_bbgui]{target=_blank}.
- Latest [Beta-Beating development version][dev_bbgui]{target=_blank}.
- Complete [list of releases][releases_bbgui]{target=_blank}.

=== "Beta-Beat-OMC3"

- Latest [Beta-Beating production version][prod_bbgui_omc3]{target=_blank}.
- Latest [Beta-Beating development version][dev_bbgui_omc3]{target=_blank}.
- Complete [list of releases][releases_bbgui_omc3]{target=_blank}.


=== "Beta-Beat (Legacy)"

- Latest [Beta-Beating production version][prod_bbgui]{target=_blank}.
- Latest [Beta-Beating development version][dev_bbgui]{target=_blank}.
- Complete [list of releases][releases_bbgui]{target=_blank}.

=== "Kmod"

The K-mod GUI is now a Python app published with `acc-py`, and can be run with:
The K-modulations GUI is now a Python app published with `acc-py`, and can be run with:

```bash
/acc/local/share/python/acc-py/apps/acc-py-cli/pro/bin/acc-py app run pykmodlhc
```

=== "Multiturn"

- Latest [Multiturn production version][prod_mtgui]{target=_blank}.
- Latest [Multiturn development version][dev_mtgui]{target=_blank}.
- Complete [list of releases][releases_mtgui]{target=_blank}.

=== "Chroma"

The Chroma GUI is a Python app published with `acc-py`, and can be run with:

```bash
/acc/local/share/python/acc-py/apps/acc-py-cli/pro/bin/acc-py app run chroma-gui
```

!!! warning
Please note that these site are currently available only to devices connected to the CERN network ([workaround][connect_gpn]).
Please note these sites are currently available only to devices connected to the CERN network ([see: workaround][connect_gpn]).

Open the `.jnlp` executable inside a browser, or [call it with `jws` from the command line][jws_calls]:

!!! info "Compatibility Issues"
Since `javaws` (java web start) makes trouble due to intenal security mechanisms, a replacement named `jws` was developed and has to be used to run the `jlnp` file.
Since `javaws` (java web start) causes trouble due to internal security mechanisms, a replacement named `jws` was developed and has to be used to run the `jlnp` file.
For further information see the [jws Confluence][jws_confluence]{target=_blank .cern_internal} page.

## Requirements
Expand All @@ -66,7 +75,25 @@ The following are required to run the GUIs:

You may encounter the following errors:

#### Problems with execution due to disabled Java
### Running in the CCC in 2025

On the CCC terminals, there are some issues related to finding the correct java path,
which affects `NXCals` extraction.
To avoid this, close all windows and CCMs and then run:

```bash
/user/slops/data/LHC_DATA/OP_DATA/Betabeat/launch_ccm.sh
```

This script performs the following commands, which could also be done manually in a terminal:

- Create a kerberos ticket: `kinit lhcop`
- Adapt the path/set `JAVA_HOME` to use the correct java: `export PATH=/bin:$PATH` and/or `export JAVA_HOME=/usr/java/jdk` (either should be fine)
- run `ccm` or `/mcr/bin/ccm`

Then select `LHCOP` and launch the Beta-Beat GUI from the new CCM window.

### Problems with execution due to disabled Java

If you encounter a complaint about `Java` being too old, try using `/mcr/bin/jws`.

Expand All @@ -81,16 +108,15 @@ If you encounter a complaint about `Java` being too old, try using `/mcr/bin/jws
/mcr/bin/jws https://bewww.cern.ch/ap/deployments/applications/cern/lhc/lhc-app-beta-beating-omc3/PRO/BetaBeatingOMC3-Control-3t.jnlp
```

#### Unspecific Error
### Unspecific Error

!!! failure
Any random error

If so, check that you can import `numpy` from the `omc-anaconda-python`.
If so, check that you can import `numpy` from the `OMC` production Python environment.
If this leads to the previously raised error, then the permissions are broken.
Either fix the permissions on `afs` or ask someone to do so for you.


*[TN]: Technical Network
*[LSA]: LHC Software Architecture
*[GPN]: General Purpose Network
Expand All @@ -107,14 +133,14 @@ Either fix the permissions on `afs` or ask someone to do so for you.
[dev_mtgui]: https://bewww.cern.ch/ap/deployments-dev/applications/cern/lhc/lhc-multiturn/PRO/lhc-multiturn-lhc-multiturn.jnlp
[releases_mtgui]: https://bewww.cern.ch/ap/deployments/applications/cern/lhc/lhc-multiturn/

[prod_kmodgui]: https://bewww.cern.ch/ap/deployments/applications/cern/lhc/lhc-app-kmod/PRO/lhc-app-kmod-lhc-app-kmod.jnlp
[dev_kmodgui]: https://bewww.cern.ch/ap/deployments-dev/applications/cern/lhc/lhc-app-kmod/PRO/lhc-app-kmod-lhc-app-kmod.jnlp
[prod_kmodgui]: https://bewww.cern.ch/ap/deployments/applications/cern/lhc/lhc-app-kmod/PRO/lhc-app-kmod-lhc-app-kmod.jnlp
[dev_kmodgui]: https://bewww.cern.ch/ap/deployments-dev/applications/cern/lhc/lhc-app-kmod/PRO/lhc-app-kmod-lhc-app-kmod.jnlp
[releases_kmodgui]: https://bewww.cern.ch/ap/deployments/applications/cern/lhc/lhc-app-kmod/

[jws_confluence]: https://wikis.cern.ch/display/DVTLS/jws+-+a+replacement+for+javaws
[jws]: https://wikis.cern.ch/display/DVTLS/jws+-+a+replacement+for+javaws

[mounting_resources]: ../howto/setup/shared_filesystems.md#mounting-tn-resources-on-gn-machines
[connect_gpn]: ../howto/teleworking/access.md#accessing-cern-internal-websites
[sshuttle_method]: ../howto/setup/guis.md#running-guis-locally
[mounting_resources]: ../resources/shared_filesystems.md#mounting-tn-resources-on-gpn-and-other-machines
[connect_gpn]: ../resources/remote_access.md#accessing-cern-internal-websites
[sshuttle_method]: usage/remote.md#running-guis-locally
[jws_calls]: ../resources/links.md#jws-programs
1 change: 1 addition & 0 deletions docs/guis/betabeat/ampdet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Amplitude Detuning Analysis
Loading