locklost merge requestshttps://git.ligo.org/jameson.rollins/locklost/-/merge_requests2024-03-05T00:37:48Zhttps://git.ligo.org/jameson.rollins/locklost/-/merge_requests/127Draft: New Tag: Excitations2024-03-05T00:37:48ZAustin JenningsDraft: New Tag: ExcitationsCloses https://git.ligo.org/jameson.rollins/locklost/-/issues/199
I have added a new tag that will check all ASC/LSC excitation channels and will add a tag/note in the log if any of the channels have excitations during a locklossCloses https://git.ligo.org/jameson.rollins/locklost/-/issues/199
I have added a new tag that will check all ASC/LSC excitation channels and will add a tag/note in the log if any of the channels have excitations during a locklosshttps://git.ligo.org/jameson.rollins/locklost/-/merge_requests/102Draft: Adjust lpy saturation threshold based on suspensions being plotted, ad...2023-01-17T19:07:58ZYannick LecoeucheDraft: Adjust lpy saturation threshold based on suspensions being plotted, add magnet signs to lpy map, use ETMX L3 if no saturations**1.)** Changes saturation threshold based on whether suspension channels are 16, 18, or 20-bit.
ETMX L3 lpy plot before: [Screen_Shot_2020-07-08_at_2.46.27_PM](/uploads/6e9aa46a01fcda5049451240281b56d6/Screen_Shot_2020-07-08_at_2.46.27...**1.)** Changes saturation threshold based on whether suspension channels are 16, 18, or 20-bit.
ETMX L3 lpy plot before: [Screen_Shot_2020-07-08_at_2.46.27_PM](/uploads/6e9aa46a01fcda5049451240281b56d6/Screen_Shot_2020-07-08_at_2.46.27_PM.JPG)
ETMX L3 lpy plot after: [Screen_Shot_2020-07-08_at_3.24.56_PM](/uploads/617f241dd817d17e13a2616758c14ed1/Screen_Shot_2020-07-08_at_3.24.56_PM.JPG)
**2.)** It turns out the coil driver magnet signs were forgotten when creating the lpy maps. I have expanded the map to include the many different magnet sign configurations, though it may make more sense to the new viewer if I create a separate matrix to multiply lpy_map by.
Previous lpy summing: https://ldas-jobs.ligo-wa.caltech.edu/~lockloss/events/1267/771084/lpy_WIDE.png
New lpy summing: https://ldas-jobs.ligo-wa.caltech.edu/~yannick.lecoeuche/events/1267/771084/lpy_WIDE.png
**3.)** Uses ETMX L3 if there are no saturating suspensions for the event.
Previous event page: https://ldas-jobs.ligo-wa.caltech.edu/~lockloss/index.cgi?event=1268953680
New event page: https://ldas-jobs.ligo-wa.caltech.edu/~yannick.lecoeuche/index.cgi?event=1268953680
**4.)** Adds TMS to checked LHO suspensions and incorporates TMS/ETM channels at LLO that were switched to 20-bit.
Previous LLO ETM sat suspensions: https://ldas-jobs.ligo-la.caltech.edu/~lockloss/events/1282/078822/saturations_WIDE.png
New LLO ETM sat suspensions: https://ldas-jobs.ligo-la.caltech.edu/~yannick.lecoeuche/events/1282/078822/saturations_WIDE.png
Closes #163, #164, #167Camilla ComptonCamilla Comptonhttps://git.ligo.org/jameson.rollins/locklost/-/merge_requests/98Draft: WIP Positive/negative standard deviation refinement2022-01-08T00:01:13ZCamilla ComptonDraft: WIP Positive/negative standard deviation refinementI have changed the function `find_transition` in refine.py look at threshold crossings above and below the channel's mean by a given standard deviation. This makes the refinement more accurate by around 25ms in some cases (see images bel...I have changed the function `find_transition` in refine.py look at threshold crossings above and below the channel's mean by a given standard deviation. This makes the refinement more accurate by around 25ms in some cases (see images below) and does not effect the refinement in others. The tuple returned by `find_transition` is `threshold, refined_gps` from the first threshold crossing (or *only* threshold crossing or `None` if no crossings exist).
The number of standard deviations is still taken from config.py but now the sign doesn't matter, only the magnitude. Signs have been removed and comments added too config.py to indicate that.
`find_transition` now creates a ~~list~~ **dictionary** containing ~~a list of~~ first ind where threshold crosses and threshold, ~~sorts that list so the first ind (crossing) comes first and then outputs ind and threshold from the beginning of the list. This list only contains entries if the ind exists.~~
~~eg: `thresh_crossing_list = [[ind_that_comes_first, associated_threshold],[ind_that_comes_second, associated_threshold]]`~~
eg: `thresh_crossing_dict = {'thresh': {'lower': lower_threshold, 'upper': upper_threshold}, 'ind': {'lower': lower_ind, 'upper': upper_ind} } `
The key of the minimum ind is retuned as `first_crossing` and will be `upper`, `lower` or `None` if no crossings exist. The threshold and refined_gps is then retuned using the `first_crossing` key.
I have removed the logic that was: if no threshold crossing exists, choose the max/min channel value for use in plotting the threshold. ~~Do we think that is okay to do?~~
Closes #158
Old version, refined gps = .0688
![Screen_Shot_2020-05-15_at_12.01.35_PM](/uploads/f53d1c608bff2133d2801c08f55bd8ea/Screen_Shot_2020-05-15_at_12.01.35_PM.png)
New version, refined gps = .0429 (i.e. 25.9ms sooner)
![Screen_Shot_2020-05-15_at_12.03.27_PM](/uploads/9618797bec21b5e58cd3b629bc74a2b1/Screen_Shot_2020-05-15_at_12.03.27_PM.png)
Additionally, I have changed to input params of `plot_indicators` from taking the dictionary `params` to just taking `channel`. ~~Previously the plotting looked at whether the upper or lower threshold was used in order to place the annotation "threshold" above or below the plotted line. This seemed tricky to do with the variable thresholds so I removed the dependence and put the annotation always below. This doesn't always look as smart if anyone can think of a better way of doing this~~ Plotting will still look at whether threshold is above or below mean and plot "threshold" annotation in the correct place.