Corryvreckan merge requestshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests2020-04-16T09:00:02+02:00https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/285Fix memory leak in track base class2020-04-16T09:00:02+02:00Paul Jean SchutzeFix memory leak in track base classIn the track base class constructor `Track(Track& track)`, clusters are created and never deleted.
I am not sure whether using the clusters of the initial `track` is the correct way to do it, or whether the clusters should be created h...In the track base class constructor `Track(Track& track)`, clusters are created and never deleted.
I am not sure whether using the clusters of the initial `track` is the correct way to do it, or whether the clusters should be created here and deleted in the constructor.Simon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/541Draft: Fix Uploading of CI Test Results2022-07-12T17:23:06+02:00Simon SpannagelDraft: Fix Uploading of CI Test ResultsSimon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/570Jobsub: Fix Submission Without CSV File2022-11-15T18:10:56+01:00Simon SpannagelJobsub: Fix Submission Without CSV File...which seems broken since !182.
Now the generation of a config file and the execution of the program or submission to the batch scheduler does not depend anymore on the existence of a CSV runlist....which seems broken since !182.
Now the generation of a config file and the execution of the program or submission to the batch scheduler does not depend anymore on the existence of a CSV runlist.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/672EventLoaderEUDAQ2: Do Not Drop UNKNOWN Events2024-01-04T17:45:29+01:00Simon SpannagelEventLoaderEUDAQ2: Do Not Drop UNKNOWN EventsEvents with `UNKNOWN` position should not be dropped, otherwise we just run through the file without ever matching. This will be taken care of by the next iteration, marking it as `BEFORE`.
### Example 1
* `Event` holds trigger with ID...Events with `UNKNOWN` position should not be dropped, otherwise we just run through the file without ever matching. This will be taken care of by the next iteration, marking it as `BEFORE`.
### Example 1
* `Event` holds trigger with ID 0 and 3.
* Detector has trigger with ID 2, position is `UNKNOWN`
Currently:
* We drop detector data with trigger ID 2 and read the next
What we should do:
* Look at next event, which has trigger IDs 4 and 5.
* Detector has trigger ID 2, tagged as `BEFORE` and discarded.
### Example 2
The difference comes for events with no trigger ID at all, here we would just discard the event but the subsequent one may actually hold ID2.
* `Event` holds no trigger
* Detector holds trigger 1, position `UNKNOWN`
* We drop detector data, go to next event, which has trigger 1
* ...
what we should do:
* Do not drop event, check next one
* We have a match!https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/664OnlineMonitor: Resolving Issues with Threading2023-11-28T11:40:49+01:00Simon SpannagelOnlineMonitor: Resolving Issues with ThreadingThis MR contains some fixups to !650 since @pschutze and me experienced issues with some modules when attempting do online monitoring, manifesting itself in seemingly random crashes deep within different parts of ROOT, changing whenever ...This MR contains some fixups to !650 since @pschutze and me experienced issues with some modules when attempting do online monitoring, manifesting itself in seemingly random crashes deep within different parts of ROOT, changing whenever restarting.
This was traced back to be a threading issue, so this MR implements the following changes:
* The `TApplication` is created on the main thread - this removes the random crashes but leaves the spawned thread with an empty ROOT directory
* Passing the `gDirectory` ti the spawned GUI thread and `cd()`ing into it explicitly restores access to the histograms
* The `gui_running` is now a `std::atomic<bool>` to be thread-safe
* An additional `gui_ready` atomic bool blocks the main thread `initialize()` method until the GUI has been properly initialized. This removes possible race conditions between histogram creating/filling in other modules and the booking and access thereof from the GUI thread.
@aloeschc would you be so kind to look at this and test this since it touches your work?https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/663AlignmentDUT: Do not attempt to delete pointers because ROOT does it :/2023-11-30T11:29:18+01:00Simon SpannagelAlignmentDUT: Do not attempt to delete pointers because ROOT does it :/This fixes #186
(cc) @avauth @maantone fixed.This fixes #186
(cc) @avauth @maantone fixed.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/662Remove Workarounds for RootMacros.cmake2023-11-24T13:34:41+01:00Simon SpannagelRemove Workarounds for RootMacros.cmakeRemoving the workaround that was necessary with ROOT versions below 6.20.
This fixes #82
@avauth @rprivara should fix your issues.Removing the workaround that was necessary with ROOT versions below 6.20.
This fixes #82
@avauth @rprivara should fix your issues.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/660Do not expose 3rdpart header in our headers2023-11-30T11:30:37+01:00Simon SpannagelDo not expose 3rdpart header in our headersAttempt to fix #163
@aloeschc would you mind testing this?Attempt to fix #163
@aloeschc would you mind testing this?https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/659GBL: Calculate both residuals from fitted points2023-11-24T11:04:44+01:00Simon SpannagelGBL: Calculate both residuals from fitted pointshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/658Jobsub: Attempt to fix Ctrl+C / SIGINT Treatment2023-11-30T11:29:56+01:00Simon SpannagelJobsub: Attempt to fix Ctrl+C / SIGINT TreatmentThis is an attempt to fix #183 reported by @lex.
The first part is simple, before spawning pool workers we need to inhibit the signal handling of `SIGINT` because they will inherit this. Then we can set the signal handler.
Now the othe...This is an attempt to fix #183 reported by @lex.
The first part is simple, before spawning pool workers we need to inhibit the signal handling of `SIGINT` because they will inherit this. Then we can set the signal handler.
Now the other problem (runs continue to being processed) I somehow cannot seem to solve - I can close the pool for new submissions with `pool.close()` but there is no way to *invalidate the existing task queue* already held by the pool. :/
Someone more pythonic needs to take a look at this.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/638EtaCalculation: Limit Number of Histogram Bins2023-06-29T14:51:43+02:00Simon SpannagelEtaCalculation: Limit Number of Histogram Bins@naomi here you go.@naomi here you go.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/599JSONWriter: Request Storage of Object History2023-02-06T12:01:15+01:00Simon SpannagelJSONWriter: Request Storage of Object HistoryThis fixes #180This fixes #180https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/580Fix Default Unit of B Field Strength2022-12-01T15:15:39+01:00Simon SpannagelFix Default Unit of B Field StrengthSee https://gitlab.cern.ch/allpix-squared/allpix-squared/-/merge_requests/835
Wrong documentation was all.See https://gitlab.cern.ch/allpix-squared/allpix-squared/-/merge_requests/835
Wrong documentation was all.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/576Codespell: Ignore PDF Files2022-11-23T21:08:46+01:00Simon SpannagelCodespell: Ignore PDF Files..otherwise it gets wild...otherwise it gets wild.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/565Fix Issue in Module Instantiation2022-10-25T09:29:30+02:00Simon SpannagelFix Issue in Module InstantiationThis MR fixes a problem in module instantiation that would occur in very specific setups. Thanks @cjessima for reporting!This MR fixes a problem in module instantiation that would occur in very specific setups. Thanks @cjessima for reporting!https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/557Fix prevention of compiler smartness (copy elision)2022-08-26T16:35:28+02:00Simon SpannagelFix prevention of compiler smartness (copy elision)This closes #167This closes #167Simon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/547Update Compiler Version Check2022-07-28T09:51:53+02:00Simon SpannagelUpdate Compiler Version Checkwe need GCC9 among others. :smile: Thansk @avauthwe need GCC9 among others. :smile: Thansk @avauthSimon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/545Waveform: use ClassDefOverride2022-07-11T18:20:40+02:00Simon SpannagelWaveform: use ClassDefOverrideSimon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/538Track: no core includes in headers2022-07-04T10:35:33+02:00Simon SpannagelTrack: no core includes in headers...otherwise:
```
fatal error: 'core/utils/type.h' file not found
#include "core/utils/type.h"
```
in 3rdparty user code that tries to read Corry data files....otherwise:
```
fatal error: 'core/utils/type.h' file not found
#include "core/utils/type.h"
```
in 3rdparty user code that tries to read Corry data files.Simon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/536Clipboard: remove keys if storage is empty2022-07-04T10:25:54+02:00Simon SpannagelClipboard: remove keys if storage is emptyUp till now the key was not cleared if all data was removed from the keyboard for a given type and key. Now we drop the key so they can be re-added.
In addition there is now `appendData` which allows to add data to existing collections....Up till now the key was not cleared if all data was removed from the keyboard for a given type and key. Now we drop the key so they can be re-added.
In addition there is now `appendData` which allows to add data to existing collections. Use with care.
@lhuth please testSimon SpannagelSimon Spannagel