Corryvreckan merge requestshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests2018-07-05T15:05:35+02:00https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/42Ntlet tracking pr2018-07-05T15:05:35+02:00Thorben QuastNtlet tracking prhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/55Update README.md2018-10-24T17:12:37+02:00Jens KroegerUpdate README.mdhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/101Implemented an eventloader for Mupix telescope data and some minor changes li...2019-04-23T15:18:12+02:00Lennart HuthImplemented an eventloader for Mupix telescope data and some minor changes listed belowThis PR introduces a new converter to read in data from the MuPix telescope. A FindMUPIX8DAQ.cmake is added to correctly include the libraries required.
Some further minor changes are added:
* Millepede alignment has a new option to ig...This PR introduces a new converter to read in data from the MuPix telescope. A FindMUPIX8DAQ.cmake is added to correctly include the libraries required.
Some further minor changes are added:
* Millepede alignment has a new option to ignore the DUT (set to false as default - should not affect any older code)
* Tracks that are not assigned to any DUT-cluster are also histogramed now in AnalysisDUT.
* ClusteringSpatial also stores the local cluster positions
*https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/148WIP: DUTAssociation -> historam hNoAssocCls should have entries = number of t...2019-08-21T16:22:29+02:00Jens KroegerWIP: DUTAssociation -> historam hNoAssocCls should have entries = number of tracksI started this merge request because I realized that the number of entries of the histgram `DUTAssociation/hNoAssocCls` which shows the distribution of clusters per track has a smaller number of entries as the total number of tracks.
I ...I started this merge request because I realized that the number of entries of the histgram `DUTAssociation/hNoAssocCls` which shows the distribution of clusters per track has a smaller number of entries as the total number of tracks.
I realized that this is (partially) due to the fact that the histogram is not filled (with 0) when no clusters are present on the clipboard.
No I still get a slightly smaller number as the number of tracks...maybe Katharina, can you have a look at this? I think you introduced this plot, right? - you can push to this branch :-)https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/125Make filewriter write data on an event-by-event basis2019-08-25T15:51:16+02:00Paul Jean SchutzeMake filewriter write data on an event-by-event basisWith this MR, the `Filewriter` writes the data into the TTrees on an event-by-event basis. For each processed event, detector and object type, one vector of objects is stored instead of a continuous stream of the objects. The latter lead...With this MR, the `Filewriter` writes the data into the TTrees on an event-by-event basis. For each processed event, detector and object type, one vector of objects is stored instead of a continuous stream of the objects. The latter lead to an incapability of merging all hits in a certain event.
As a consequence, in some post-processing macro calling `TTree->GetEntry(eventNumber)` yields a vector of the requested object type.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/183WIP: General Broken Lines2019-11-07T16:42:45+01:00Lennart HuthWIP: General Broken LinesThis is only a WIP MR adding a general broken line as an optional fit model. There is still a lot of work/clean up required - comments and suggestions are welcome.
New features:
- General broken lines, ignoring rotations around x/y.
- "...This is only a WIP MR adding a general broken line as an optional fit model. There is still a lot of work/clean up required - comments and suggestions are welcome.
New features:
- General broken lines, ignoring rotations around x/y.
- "track" class is used as a base class to derive new classes StraightLineTrack and a GBLTrack.
- Build option `BUILD_GBL` to use corry on any system.
-
I am not really happy with the class names and open for suggestions. Currently, rotations are ignored.
There are still missing pieces (Feel free to add toDos here):
- [ ] Test if the new StraightLine implementation provides the same results as the Standard track.
- [ ] Improve naming
- [ ] Implement an `state()` and `direction()` function for the GBL
- [ ] Fix the CI problems
- [ ] Provide a test data set
- [ ] Rotationshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/43Ntlet Tracking2019-11-29T10:35:16+01:00Thorben QuastNtlet TrackingThis branch mainly contains the NtletTracking module used for the CMS HGCal beam test analysis of the MIMOSA 26 telescope data taken at DESY. Detailed description can be found in src/modules/NtletTracking/README.md.
The changes Detect...This branch mainly contains the NtletTracking module used for the CMS HGCal beam test analysis of the MIMOSA 26 telescope data taken at DESY. Detailed description can be found in src/modules/NtletTracking/README.md.
The changes Detector.c(h)pp are remnants from an attempt to integrate GBL tracking but might be useful to integrate.
log.cpp had to be adjusted in order to compile on the CentOS7 (gcc 4.9.3).
Millepede.cpp was adjusted because the DUT did not contribute to the alignment.
Not sure why Analysis.cpp is marked as changed...https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/248WIP: Improve setup lxplus2020-02-05T11:51:45+01:00Jens KroegerWIP: Improve setup lxplusThis MR follows up with some feedback I got during the BTTB8 tutorial on Corryvreckan:
When installing corry on lxplus, one has to clone the repo and then do
```bash
source etc/setup_lxplus.sh
```
to get the correct dependencies. Howeve...This MR follows up with some feedback I got during the BTTB8 tutorial on Corryvreckan:
When installing corry on lxplus, one has to clone the repo and then do
```bash
source etc/setup_lxplus.sh
```
to get the correct dependencies. However, this will create a misleading output, namely:
```
-bash: cd: /afs/cern.ch/user/j/jekroege/software/corryvreckan/etc/../bin: No such file or directory
```
Of course, this is correct because the software has not yet been compiled but it confused the new users.
Therefore, I propose to add an if/else to check if the exectuable exists and if yes, continue as before, if not add an output message about how to proceed.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/266WIP: Function rename2020-03-30T15:53:06+02:00Jin ZhangWIP: Function renameThis MR change the function name releted to MR !263 , to make it easier to overview, this is to be review after !263
following are the rules:
public function as `CamelCase()`, private function as `lower_case()`
Simultaneously, `Name...This MR change the function name releted to MR !263 , to make it easier to overview, this is to be review after !263
following are the rules:
public function as `CamelCase()`, private function as `lower_case()`
Simultaneously, `Name()` changes to `GetName()` and `Type()` changes to `GetType()`https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/270Rename detector function name2020-04-02T15:10:39+02:00Jin ZhangRename detector function nameThis MR follows !263 to change the detector function name,
Following are the rules:
public function as `CamelCase()`, protected/private function as `lower_case()`
Simultaneously, `Name()` changes to `GetName()` and `Type()` chan...This MR follows !263 to change the detector function name,
Following are the rules:
public function as `CamelCase()`, protected/private function as `lower_case()`
Simultaneously, `Name()` changes to `GetName()` and `Type()` changes to `GetType()`https://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/219WIP: Mutliplet Tracking2020-04-20T16:39:58+02:00Simon SpannagelWIP: Mutliplet TrackingPort of @tquast's work in !43 to the latest Corry version.
This currently does not compile as it requires access to private `Track` members.
The module cannot go in as it is now, but in https://gitlab.cern.ch/corryvreckan/corryvrec...Port of @tquast's work in !43 to the latest Corry version.
This currently does not compile as it requires access to private `Track` members.
The module cannot go in as it is now, but in https://gitlab.cern.ch/corryvreckan/corryvreckan/tree/tracking we have laid the basis for implementing different track models.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/286Quick-fix memory leak in Track class2020-05-11T14:46:47+02:00Paul Jean SchutzeQuick-fix memory leak in Track classWhen a track is cloned (call of `Track(const Track& track)`), new clusters are created, but never deleted. Hence in this fix the destructor deletes these objects, if this particular constructor was called.When a track is cloned (call of `Track(const Track& track)`), new clusters are created, but never deleted. Hence in this fix the destructor deletes these objects, if this particular constructor was called.Simon SpannagelSimon Spannagelhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/335Mupix decoding in Eventloader2020-06-18T10:35:06+02:00Lennart HuthMupix decoding in EventloaderDifferent Mupix sensors can be used in Eudaq. this MR allows defining which sensor is used based on a config parameter `sensor_id`
This is very experiment specific, but currently, the only way to do it without rebuilding EUDAQ all the timeDifferent Mupix sensors can be used in Eudaq. this MR allows defining which sensor is used based on a config parameter `sensor_id`
This is very experiment specific, but currently, the only way to do it without rebuilding EUDAQ all the timehttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/331WIP: Speeding up the GBL2020-08-17T20:02:48+02:00Lennart HuthWIP: Speeding up the GBLThis MR is reducing the number of copies done to speed up GBL.
Still WIP, but already approx 25% reduction based on the multiple test
Comments and further ideas very welcome :)This MR is reducing the number of copies done to speed up GBL.
Still WIP, but already approx 25% reduction based on the multiple test
Comments and further ideas very welcome :)https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/370Histo for more pixels fired added2020-10-12T11:01:52+02:00Manuel ColocciHisto for more pixels fired addedhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/373Add track incident angles2020-10-20T19:50:12+02:00Jens KroegerAdd track incident angles**Goal of this MR:**
Implement histograms that show the track incident angle on each plane.
Currently, we only have a histogram for the track angle in the global reference frame (and only for straight-line, this makes no sense for GBL)...**Goal of this MR:**
Implement histograms that show the track incident angle on each plane.
Currently, we only have a histogram for the track angle in the global reference frame (and only for straight-line, this makes no sense for GBL) and the kink angles at each plane for GBL.
**Approach:**
First, I thought it would be better to implement a new function `getIncidentAngle()` as part of the `Track` class:
```cpp
track->getIncidentAngle(detector);
```
Started implementing that in:
* a493678a48d996c270e04134388e244c7d143584 (reverted in edb88aa3204182d6d9d538a51de0f62f134a551f)
* e183743044382c7e042a88498a60d799270926e3 (reverted in bfa2c6925d8f9bbd785634f29095732da8020956)
* 76c83f9ad3f33fea13a463adf14e34072d137ee6 (reverted in 7246c8b3e5501956398c74c7e05950a202b66d0a)
* b0b67aab3350d1ff5b829a148d175ffdd0962910 (reverted in 085dd69419d7f08e234cb32bf944efd8d750a4a8)
But then I saw that the `Track` class doesn't know `detector` but only has the concepts of planes. And I need `detector->rotation()` to get the orientation angles.
In turn, the `Detector` class already knows `track`, so it fits in more naturally like this:
```cpp
detector->getIncidentAngle(track);
```
Please have a look at the current implementation and let me know what you think. Of coarse, some clean-up and testing is still necessary.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/380WIP: Run2020 telescope module2020-11-02T12:09:09+01:00Vadym Denysenkovadym.denysenko@cern.chWIP: Run2020 telescope moduleAdd Run2020 telescope module. Work in progress.Add Run2020 telescope module. Work in progress.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/414CMake: Do not use Find_package(Eigen3) in gbl CMakeLists2021-04-21T19:35:47+02:00Lennart HuthCMake: Do not use Find_package(Eigen3) in gbl CMakeListsSince we are using eigen3 now for all tracking purposes, we are searching for eigen3 in the main CMakeFile. Removed `FIND_PACKAGE(EIGEN3 REQUIRED)` in gbl CMakeLists.Since we are using eigen3 now for all tracking purposes, we are searching for eigen3 in the main CMakeFile. Removed `FIND_PACKAGE(EIGEN3 REQUIRED)` in gbl CMakeLists.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/419removed extra;2021-04-23T16:47:09+02:00Lennart Huthremoved extra;super important MR :Psuper important MR :P