diff --git a/docs/assets/images/betabeat_gui/analysis_panel_table.png b/docs/assets/images/betabeat_gui/analysis_panel_table.png new file mode 100644 index 00000000..ca84f046 Binary files /dev/null and b/docs/assets/images/betabeat_gui/analysis_panel_table.png differ diff --git a/docs/assets/images/betabeat_gui/bpm_data_phase_space.png b/docs/assets/images/betabeat_gui/bpm_data_phase_space.png new file mode 100644 index 00000000..9eefd5da Binary files /dev/null and b/docs/assets/images/betabeat_gui/bpm_data_phase_space.png differ diff --git a/docs/assets/images/betabeat_gui/bpm_panel_table.png b/docs/assets/images/betabeat_gui/bpm_panel_table.png new file mode 100644 index 00000000..cf39810c Binary files /dev/null and b/docs/assets/images/betabeat_gui/bpm_panel_table.png differ diff --git a/docs/assets/images/betabeat_gui/bpm_turn_by_turn_data.png b/docs/assets/images/betabeat_gui/bpm_turn_by_turn_data.png new file mode 100644 index 00000000..d8f315ce Binary files /dev/null and b/docs/assets/images/betabeat_gui/bpm_turn_by_turn_data.png differ diff --git a/docs/assets/images/betabeat_gui/do_analysis_dialog.png b/docs/assets/images/betabeat_gui/do_analysis_dialog.png new file mode 100644 index 00000000..ef12bf69 Binary files /dev/null and b/docs/assets/images/betabeat_gui/do_analysis_dialog.png differ diff --git a/docs/assets/images/betabeat_gui/do_analysis_dialog_open_settings.png b/docs/assets/images/betabeat_gui/do_analysis_dialog_open_settings.png new file mode 100644 index 00000000..f6ef94a6 Binary files /dev/null and b/docs/assets/images/betabeat_gui/do_analysis_dialog_open_settings.png differ diff --git a/docs/assets/images/betabeat_gui/plot_with_hover.png b/docs/assets/images/betabeat_gui/plot_with_hover.png new file mode 100644 index 00000000..713fd9ee Binary files /dev/null and b/docs/assets/images/betabeat_gui/plot_with_hover.png differ diff --git a/docs/css/custom_colors.css b/docs/css/custom_colors.css index 270d616b..662769b3 100644 --- a/docs/css/custom_colors.css +++ b/docs/css/custom_colors.css @@ -10,6 +10,14 @@ --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 */ .omc-emph { color: var(--md-primary-fg-color); diff --git a/docs/css/extra.css b/docs/css/extra.css index 48e1d002..05de1eda 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -90,12 +90,7 @@ a.cern_internal { } -/* 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; -} + /* Fix the Mathjax scrolling boxes issue */ .md-typeset div.arithmatex { diff --git a/docs/guis/betabeat/bpm_panel.md b/docs/guis/betabeat/bpm_panel.md index a9345815..605088c1 100644 --- a/docs/guis/betabeat/bpm_panel.md +++ b/docs/guis/betabeat/bpm_panel.md @@ -1,101 +1,236 @@ -# The Beta-Beat GUI BPM Panel +# The BPM Panel -The BPM panel provides a graphical interface to query and visualize information for the BPM data files. -It can load data files for all supported beams, mostly binary SDDS files or files in the SDDS ASCII format. +
+
+ The BPM Panel +
The BPM Panel.
+
+
+ +The BPM panel provides a graphical interface to query and visualize information for the BPM data files, i.e. the Turn-by-Turn data +and select the data to be analyzed further. + +## Loading Data + +### Measurement Groups aka Kick Groups -!!! todo +!!! warning "Not yet implemented" + The GUI does [not yet support loading of measurement groups][issue282]{target=_blank .cern_login} (i.e. kick groups). + The idea is to load all data from a single [kick-group, as defined in the Multiturn GUI](../multiturn/excitation.html#kick-groups) at once + or monitor a currently active kick-group and load the files as they are created. - Include a screenshot, possibly of settings when opening files? +### Open Files -## Opening Files and Applying SVD Cleaning +Use the ++"Open Files"++{.green-gui-button} button to open turn-by-turn data. -### Opening Files +
+
+ Open Files Dialog +
The Open Files Dialog.
+
+
-- Each tab has now an Open Files button, which opens only the files specific to this tab. -- The magic **+** button is gone, as its functionality was confusing (and there were different stories about its workings). +!!! warning "Model Required" + To be able to load files, you need to first need to have a [model loaded](model_creation.md#model-selection-window). + The name of the model will appear at the top of the GUI. + This is required, as the BPMs are checked vs the model and sorted by longitudinal location. -### Automatic BPM removal +!!! tip "Naming Filter" + For the LHC, the displayed files in the file-dialog are automatically filtered to show only `@BunchTurn` files of the currently selected beam. + You can change/deactivate that filter ("Files of Type") at the bottom of the dialog! -First, BPMs are removed based on the following criteria: +Multiple files can be opened at once and are added to the current `Measurements` directory, as well as to the table of loaded files in the panel. +If the file contained multiple bunches, they are added as separate entries (see [below](#table-of-loaded-files)). -- known bad BPMs (list is provided in `Beta-Beat.src/harmonic_analysis/clean.py` and can be extended in `Bad BPMs` field) -- BPMs which are not found in the model are discarded -- Flat BPMs (difference between min/max is smaller than `Pk-2-pk cut`) -- Spiky BPMs (value higher than `Max peak cut` found in at least one turn) -- An exact 0 is detected in at least one turn +If the ["Analyse TbT files on opening" setting](settings.md#gui-tab) is active, a window will open to prompt the user with the ["Do analysis Dialog"][do_analysis_dialog]. -### SVD-cleaning +!!! tip "Reopening Files" + - If you are opening a file with the same filename as an already opened file, an error will be thrown. + - If you want to open a new file with the same name as a previously opened file, i.e. one with the same name in the `Measurements` directory, + a popup will ask if the old file should be overwritten or simply opened instead (without running the converter). + - If you restart the GUI and select the ["Load Data" option in the beam selection window](beam_selection.md#load-data), + all files in the `Measurements` directory in the selected _Output Path_ will be reloaded (without running the converter). -Secondly, SVD cleaning is performed. -SVD modes with localized spikes in their spatial vectors indicate faulty BPMs using `Sum square` setting to find such spikes. -To globally reduce the noise on all BPM readings, only a predefined number of strongest singular modes (`Sing val cut`) remain in the turn-by-turn data. -While the `Sum square` setting has a direct influence on the number of BPMs identified as faulty, the number of modes affects the overall noise level in turn-by-turn signal. -The original application of SVD on BPMs data cleaning can be found [in this publication][svd_clean_rhic]. +#### Supported File Formats -If SVD is enabled in the settings, the external SVD cleaning python script will be called for the current file during the loading process. -when SVD cleaning detects and removes bad BPMs, they will be marked in the BPM names list. +The GUI itself only supports the opening of LHC-type (dual plane BPMs) or SPS-type (single plane BPMs) binary `.sdds` files. +You can choose in the [gui tab of the settings](settings.md#gui-tab) which format your turn-by-turn data is and if you want +to convert it into one of the supported formats. +The GUI will then call the [`omc3.tbt_converter`][tbt_converter]{target=_blank} to convert the file. +All formats that can be read by the [`turn-by-turn` package][tbt_package]{target=_blank} are supported. +If you choose the **"DO NOT CONVERT"** option, the files are simply copied into the current `Measurements` directory. + +!!! tip "ASCII files" + The old ASCII format (for SPS and LHC), which is still in use in some older conversion scripts and MAD-X tracking scripts, + is identified automatically by the converter when choosing `lhc` or `sps` as the file type to be opened. + One can use **the same format** for the conversion, i.e. `lhc` or `sps` respectively, and the converter will output the data in binary format. + The `ascii` input format can also be chosen directly. + +## Table of Loaded Files -All the settings mentioned above can be changed in the global settings panel:
- Cleaning thresholds in the settings panel -
Settings panel, where cleaning thresholds can be changed.
+ Table of loaded files +
The Table of loaded files in the BPM Panel.
-Turn-by-turn data cleaning is summarized in the output file which can be found at: -`Measurements/Beam1@...1-6600/Beam1@...sdds.bad_bpms_{x,y}.` +The table at the top of the panel shows the files that are currently opened in the GUI. +These are not necessarily all files present in the `Measurement` directory, as they need to be explicitly opened! +Each column in the table provides information regarding the opened measurement: + +- **File**: +Name of the file, without the path. +- **Bunch ID**: +The ID of the bunch within the file. +If the file contains multiple bunches, multiple entries with the same _File_ name, but different _Bunch IDs_ will be created. +- **Analysis Done**: +Indicator stating whether the analysis has been performed on this file. +_(:fontawesome-solid-triangle-exclamation:{.warning-colored} [Currently not working.][issue285]{target=_blank .cern_login})_ +- **Kick Group**: +Name of the [Kick Group](#measurement-groups-aka-kick-groups) this file belongs to. +_(:fontawesome-solid-triangle-exclamation:{.warning-colored} [Currently not working.][issue282]{target=_blank .cern_login})_ +- **No. of bad BPMs**: +Number of [bad BPMs][bpm_filtering] identified in this file as a sum between the two planes. +This value is `0` upon loading the file and will be updated when the harmonic analysis is done, which also performs the BPM filtering if [cleaning](settings.md#cleaning-tab) is active. +Bad BPMs will be [marked in red in the BPM lists below](#bad-bpms).
+_(:fontawesome-solid-triangle-exclamation:{.warning-colored} The default value for the case of something going wrong when updating this value is `-1` per plane +and hence sometimes `-2` is shown in this column, e.g. when the bad-BPM output file is missing.)_ + +!!! warning "Memory Usage" + File that are opened in this panel are stored in memory. + If your computer is running low on memory, you might want to close some of the open files. + +### Removing Entries + +Clicking on the ++"Remove"++{.red-gui-button} button will remove the selected entries from the table of loaded files.
+:fontawesome-solid-triangle-exclamation:{.warning-colored} This will **not** remove the files from the `Measurements` directory! + +## Investigating Turn-by-Turn Data + +After selecting one or more files in the table of loaded files, the turn-by-turn data is visualized in the two bottom charts, one for each plane. +The charts are [interactive](common_components.md#plotting) and can display either the measured amplitude values over turns for every BPM from the list or display the phase space, which is calculated by two consecutive BPMs. +You can select multiple measurements at once to compare them, but only one BPM per plane at a time. + +=== "Turn-by-Turn view" + +
+
+ Turn-by-Turn view of BPM data +
Turn-by-Turn view of BPM data with two measurements selected.
+
+
+ +=== "Phase space view" + +
+
+ Phase space view of BPM data +
Phase space view of BPM data.
+
+
+ +### Bad BPMs + +After [harmonic-analysis](#start-analysis) has been performed, the [bad BPMs][bpm_filtering] will be marked in red in the lists. +Hovering the BPM name will show a tooltip with the reason the BPM was deemed bad. + +### Averages, Removal of Turns and Splitting Files + +!!! warning "Broken Functionality" + These features [are currently broken][issue283] and we are considering whether they are actually needed. -It contains BPM names and corresponding threshold which identified a BPM as faulty. +The buttons on the top left side of the pane provide some features to handle the BPM data. -!!! note +- ++"Create Average"++ allows loading several data files too visualize their average repesentations on the same graph, which helps detecting differences or reducing noise. +- ++"Remove Turns"++ can be used to cut turns from the start or the end, to focus on a specified range of the data. +- ++"Split Files"++ splits the current BPM data file into N files, where N is specified in the dialog and the resulting files will have old-turns/N turns. - A single BPM can appear twice (for each threshold separately), e.g. in the case of exact zero flat signal. +## Start Analysis -The content of the loaded files will be displayed in two charts: +The ++"Analyse Spectra"++{.green-gui-button} button spawns [the configuration dialog](#do-analysis-dialog) for the analysis. +This will call an external program to perform a frequency analysis of the BPM data [**of the selected files**](#table-of-loaded-files), in order to compute tunes and similar beam properties and (optionally) to get the optics functions from that spectrum. +The **"Run optics as well"** checkbox will define whether the [_"Optics Analysis"_ in the _"Do analysis Dialog"_](#do-analysis-dialog) is automatically pre-checked. -- Horizontal BPMs, -- Vertical BPMs. +### Do-Analysis Dialog -!!! todo +=== "Closed Settings" - Include a screenshot with two BPM panels. +
+
+ The Do-Analysis Dialog +
The Do-Analysis Dialog.
+
+
-The charts are interactive and can be used to zoom in/out, or focus on a given rectangle of the shown data. +=== "Open Settings" -The charts can display either the measured amplitude values over turns for every BPM from the list or display the phase space, which is calculated by two consecutive BPMs. +
+
+ The Do-Analysis Dialog with open settings +
The Do-Analysis Dialog with open settings.
+
+
-!!! todo +This dialog allows you to specify the settings and output for the analysis run +on the currently selected files in the BPM-Panel. +Click the ++"Run"++ button to start the analysis. - Include a screenshot of the bad bpms panel. +!!! warning "Parallelization" + Parallelization of the analysis is only implemented on the GUI side, + possibly starting multiple python processes. + Check the caveats of the _"Run Per-File Tasks in Parallel"_ + setting in the _[GUI-Settings Tab](settings.md#gui-tab)_. -## Removing Turns and Computing an Average +### Harmonic Analysis -The buttons on the top left side of the pane provide useful features to handle the BPM data. +Keeping the _Optics Analysis_ checkbox unchecked will only perform the [harmonic analysis][harpy_analysis]. -- `Remove Turns` can be used to cut turns from the start or the end, to focus on a specified range of the data. +In this case, you will **not be able to specify an output name** for the results, as the resulting files will be **automatically** put into subfolders of the `Measurements` folder, based on the name of the `.sdds` files. +They therefore usually appear within the same folder as the turn-by-turn data. -!!! todo +The analysis results are automatically loaded into the [Analysis Panel](analysis_panel.md). - Include a screenshot of before-after comparison for `Remove Turns`. +### Optics -- `Create Average` allows loading several data files too visualize their average repesentations on the same graph, which helps detecting differences or reducing noise. +In case the _Optics Analysis_ checkbox is checked, also the optics are calculated. +You have the choice to combine the analysis of all files into a single optics, using the individual measurements for statistics, in which case you need to **specify a descriptive output name** for the analysis, the prefix of which will already be provided. +If you don't check the _Combine Analysis_ checkbox, the results are stored in a subfolder of the `Results` folder, based on the name of the `.sdds` files. -!!! todo +The analysis results are loaded automatically into the [Optics Panel](optics_panel.md). +If you want to take a look at the spectrum, it needs to be loaded **manually** +into the [Analysis Panel](analysis_panel.md) from the `Results//lin_files` +subfolder. - Include a screenshot of `Create Average` effect. +!!! warning "Loading the `lin_files` subfolder" + If the analysis files are loaded via [++"Open Files"++{.green-gui-button} in the Analysis Panel](analysis_panel.md) from the `lin_files` subfolder, + this folder is **copied** into the `Measurements` folder, keeping the `lin_files` name. + If you want to open another set of analyzed files from an `lin_files` folder, the GUI will **complain that the folder already exists**. + To avoid this, use the ++"Attach Files"++{.yellow-gui-button} button instead. -- `Do Analysis` spawns the configuration dialogue for the external analysis. - This will call an external program to perform harmonic analysis of the BPM data, in order to compute tunes and similar beam properties. - The results from the analysis can be seen in the [Analysis Panel](analysis_panel.md). +### Settings and Suffixes -!!! todo +By expanding the _Settings_ section at the bottom of the dialog +you can optionally change the [settings](settings.md) for the harmonic analysis in the _[Tunes](settings.md#tunes-tab)_, _[Harpy](settings.md#harpy-tab)_, _[Cleaning](settings.md#cleaning-tab)_ and _[Accelerator](settings.md#accelerator-tab)_ tabs, as well as for the optics analysis in the _[Optics](settings.md#optics-tab)_ tab if the _Optics Analysis_ checkbox is checked. - Include of screenshot of `Do Analysis` dialogue window. +The _Suffix_-field will be automatically set from your suffix-choices in the [_Harpy_ settings tab](settings.md#harpy-tab) and is only applied to the harmonic analysis output files (i.e. `.lin[xy]`, `.amps[xy]`, `.freqs[xy]`), **not to the folder names**. -!!! note +!!! warning "Changing the Settings" + This will **change the global settings** for all subsequent analysis runs, + not just for the current one! + You need to click the ++"Apply"++ button to actually apply these settings before the run. - The `Create Average` option requires synchronized data from withing the same bounds, otherwise the results will be meaningless. - The figure below shows three runs from LHC beam one with synchronized peaks for every turn and their corresponding averages. +[tbt_converter]: https://github.com/pylhc/omc3/blob/master/omc3/tbt_converter.py +[tbt_package]: https://github.com/pylhc/turn_by_turn +[issue282]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/282 +[issue283]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/283 +[issue285]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/285 +[bpm_filtering]: ../../measurements/physics/bpm_filtering.md +[do_analysis_dialog]: analysis_panel.md#do-analysis-dialog +[harpy_analysis]: ../../measurements/physics/harpy.md - [svd_clean_rhic]: https://journals.aps.org/prab/abstract/10.1103/PhysRevSTAB.7.042801 +*[LHC]: Large Hadron Collider +*[SPS]: Super Proton Synchrotron +*[PS]: Proton Synchrotron +*[PSB]: Proton Synchrotron Booster +*[BPM]: Beam Position Monitor diff --git a/docs/guis/betabeat/common_components.md b/docs/guis/betabeat/common_components.md index 03abd443..ab924eab 100644 --- a/docs/guis/betabeat/common_components.md +++ b/docs/guis/betabeat/common_components.md @@ -11,8 +11,15 @@ Independent of which tab is selected, some general components of the UI are comm All plots are running with the same back-end classes, which allows additional control via mouse and keyboard. -Zooming can be achieved by drawing a rectangle with the left mouse button or with the shortcuts listed below. -They also support the "hover" feature, which allows you to inspect additional details about the plotted points by hovering your mouse cursor over them. +
+
+ Beta-Beating Plot with BPM hover info. +
Hover info on a Beta-Beating Plot.
+
+
+ +- **Zoom**: Zooming can be achieved by drawing a rectangle with the left mouse button or with the shortcuts listed below. +- **Hover Info**: The plots support the "hover" feature, which allows you to inspect additional details about the plotted points by hovering your mouse cursor over them. ### Shortcuts @@ -124,5 +131,34 @@ As long as any task is running, there will also be a small animation on the righ but the actual task will keep running in the background. This needs to be implemented in the future. +## File Opening Dialogs + +To make navigating between different folders easier, especially considering the deeply nested paths of `afs` and `nfs`, +some shortcuts have been implemented into the file opening dialogs, which become available for all relevant dialogs **after [the beam selection window](beam_selection.md)**. +They can be found at the top right of the dialog, and hovering them will show their functionality: + +
+
+ Special links in the file opening dialogs. +
Special links in the file opening dialogs.
+
+
+ +- **First Path** (:fontawesome-solid-check::fontawesome-solid-x:): +Return to the initial path you were in when the window opened. +- **Input Path** (:fontawesome-solid-circle-info:): +Go to the path set as [_Input Path_ in the beam selection window](beam_selection.md#input). +- **Output Path** (:fontawesome-solid-eye:): +Go to the path set as [_Output Path_ in the beam selection window](beam_selection.md#output). +- **Root Path** (**<>**) +Go to the root-path for the current GUI instance, i.e. the path in which the accelerator-folder (e.g. `LHCB1`) is located. +This is usually the date-directory within the output folder, unless you have choosen that folder as the _Output Path_, +in which case it will be the same as the _Output Path_ (see the [Continue Analysis Admonition in the Beam Selection Window](beam_selection.md#folder-structure)). +- **Fill Dir** (:fontawesome-solid-arrow-right:) _(Only available for the LHC and only if the folder is mounted)_: +Go to the fill-directory of [the choosen accelerator](beam_selection.md#beam). +- **Accelerator Dir** (:fontawesome-solid-star:) _(Only available for LHC, SPS, PS and PSB, and only if the folder is mounted)_: +Go to the default OMC analyis directory of [the choosen accelerator](beam_selection.md#beam), +which is usually the same as [the _Output Dir_, if the default is used in the beam selection window](beam_selection.md#output). + [omc3]: https://github.com/omc3 [pylhc]: https://github.com/PyLHC \ No newline at end of file diff --git a/docs/guis/betabeat/settings.md b/docs/guis/betabeat/settings.md index fbb1bcf6..26e9841f 100644 --- a/docs/guis/betabeat/settings.md +++ b/docs/guis/betabeat/settings.md @@ -88,10 +88,10 @@ This is in contrast to the other settings tabs, which control the settings passe - **Run Per-File Tasks in Parallel**: If active, tasks that are started together but can run independently per file will be run in individual tasks in parallel, - e.g. the `harpy` analysis will be run in parallel for each turn-by-turn file, even if started with multiple files selected. - Also, when running multiple optics analysis, but clicking the `Run per file` button, the analysis will be run in parallel for each file. - Conversely, if `Also run optics analysis` is selected, the first step of the `harpy` analsysis will be run sequentially per file, - as coordination between multiple tasks is not implemented. + e.g. the `harpy` analysis will be run in parallel for each turn-by-turn file, even if started with multiple files selected at once. + When running `optics analysis` with _"combine analysis"_ **deactivated** the analysis will be run in parallel for each file. + Conversely, if opting to run the `optics analysis` directly from the BPM-Panel with _"combine analysis"_ **activated**, + the `harpy` analysis of the selected files will be run sequentially per file, as it is not explicitely parallelized on the python side. ## Tunes Tab @@ -156,7 +156,7 @@ The fields are non-editable when it does not make sense in the current settings -The Harpy tab contains the settings for the harmonic `harpy` analysis. +The Harpy tab contains the settings for the [harmonic `harpy` analysis][harpy_analysis]. - **Files**: This field is not editable and automatically set when selecting TbT files in the [BPM Panel](bpm_panel.md) and running the analysis. @@ -244,7 +244,7 @@ The `python` default is `""`, i.e. no suffix. -Most of the cleaning, for which the settings can be changed here, are part of the harmonic analysis module `harpy` in `omc3` +Most of the cleaning, for which the settings can be changed here, are part of the [harmonic analysis module `harpy` in `omc3`][harpy_analysis] and will be executed during the "Analyse Spectrum" phase. Some of this procedure is also described on the [BPM filtering page][bpm_filtering]. @@ -254,12 +254,12 @@ Some of this procedure is also described on the [BPM filtering page][bpm_filteri is done within the cleaning module (see below). ??? info "Why is cleaning part of the harmonic analysis?" - Cleaning is part of the harmonic analysis in `harpy` as the [frequency analysis is done on the v-matrix of the SVD][harpy_ipac]: + Cleaning is part of the harmonic analysis in `harpy` as the [frequency analysis is done on the v-matrix of the SVD][harpy_analysis]: SVD is used to reduce the noise in the BPM data by selecting only the most important modes and in the same step also to detect bad bpms. As this decomposition is a linear transformation, the frequency analysis can be run directly on decomposed v-matrix, without having to re-compose the data into the time-domain, saving time and memory. The disadvantage is that, as we do not save the SVD matrices, there is no way to only run _cleaning_ without frequency analysis at the moment. - For more details, see [doi:10.18429/JACoW-IPAC2022-WEPOMS035][harpy_ipac]. + For more details, see [this documentation][harpy_analysis] and [doi:10.18429/JACoW-IPAC2022-WEPOMS035][harpy_ipac]. - **Active**: If active, the cleaning module is run during the "Analyse Spectrum" phase. @@ -487,7 +487,6 @@ which is the `python`-internal representation of the accelerator and its setting [python-docs]: https://pylhc.github.io/omc3/ [multiturn]: ../multiturn/gui.md -[harpy_ipac]: https://accelconf.web.cern.ch/ipac2022/papers/wepoms035.pdf [bpm_filtering]: ../../measurements/physics/bpm_filtering.md [bad_bpms]: ../../measurements/physics/bpm_filtering.md#manual [isolation_forest_cleaning]: ../../measurements/physics/bpm_filtering.md#isolation-forest @@ -496,4 +495,6 @@ which is the `python`-internal representation of the accelerator and its setting [gitlab_issue279]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/279 [n_bpm_method]: https://journals.aps.org/prab/abstract/10.1103/PhysRevAccelBeams.20.111002 [three_bpm_method]: https://repository.cern/records/eny2v-4y338 -[isolation_forest_issue]: https://github.com/pylhc/omc3/issues/184 \ No newline at end of file +[isolation_forest_issue]: https://github.com/pylhc/omc3/issues/184 +[harpy_ipac]: https://accelconf.web.cern.ch/ipac2022/papers/wepoms035.pdf +[harpy_analysis]: ../../measurements/physics/harpy.md \ No newline at end of file diff --git a/docs/measurements/physics/harpy.md b/docs/measurements/physics/harpy.md new file mode 100644 index 00000000..14515c26 --- /dev/null +++ b/docs/measurements/physics/harpy.md @@ -0,0 +1,19 @@ +# Harmonic Analysis with Harpy + +This page describes how the harmonic analysis is performed with the `harpy` module. +If you want to know how to use the `harpy` module, refer to the [`omc3` analysis workflow][omc3_analysis]. + +!!! todo "Implement this page" + Explain how harpy works. + Similar to [Malina - Harpy: A Fast, Simple and Accurate Harmonic Analysis with Error Propagation](https://accelconf.web.cern.ch/ipac2022/doi/JACoW-IPAC2022-WEPOMS035.html) + but more detail: + + - SVD, Noise cleaning, Noise estimation + - Why numpy FFT? What about SUSSIX, LASKAR? + - Zero padding + - Binning + - Error propagation + - BPM cleaning + - Line identification + +[omc3_analysis]: ../../packages/omc3/analysis.md \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 0093702f..3dea5795 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -208,6 +208,7 @@ nav: - Error Propagation: measurements/physics/error_propagation.md - BPM-Calibration: measurements/physics/bpm_calibration.md - BPM-Filtering: measurements/physics/bpm_filtering.md + - Harmonic Analysis: measurements/physics/harpy.md - Coupling: measurements/physics/coupling.md - K-Mod: measurements/physics/kmod.md - Linear IR Optics: measurements/physics/ir_linear_optics.md