-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alpha ana #124
Conversation
PandaX-III pipeline is failing. Perhaps due to the new https://gitlab.cern.ch/rest-for-physics/framework/-/jobs/19174479 |
Indeed, looks like the issue is that we have to add a TRestRawToDetectorSignalProcess after TRestRawZeroSuppresionProcess. @jgalan are you going to fix it in panda pipeline? |
Another issue is that we are loosing precision because former TRestRawZeroSuppresionProcess was saving data as Double_t, while now the data is stored as a Short_t in TRestRawSignal. |
Any idea in how to fix this issue, shall we go back to the previous implementation? |
Aham, well the data in origin is in short format. So why the result is different? Perhaps at ZeroSuppression there is an additional manipulation before being transformed to |
At
We should avoid to remove the baseline as soon as we stay at So, using The idea behind is that we always calculate the baseline so that we do not store the values inside An option would be to include those data members Option 1: We introduce those data members at Option 2: We implement @nkx what do you think? |
I would suggest to move to option 2 |
I really don't understand the following observabales in TRestRawZeroSuppresionProcess:
Particularly the definition:
Note that Shall we keep these observables or it is a good time to get rid of them? |
Pipeline is failing because of c++ structure bindings. So looks like pipeline is still using C++14, indeed root version is still 6.10/08 in which only C++14 was supported. @jgalan Can we upgrade it to ROOT 6.24 and compile in C++17? |
In principle I have no problem. I believe the reason behind is to keep compatibility with older systems, so installation is possible on those systems @nkx? I guess we just need someone preparing a docker image. Perhaps, we could say, v2.3.10 is compatible with C++14, v2.3.11 will not be compatible anymore? We have also the LFNA GitLab instance at Unizar, where we were previously executing jobs without docker and we had much more control. If it is not possible to keep the code compatible with both? |
Yes, it is possible but I think we should implement C++17 features in the code, particularly structure bindings makes the coding easier. I tested locally with C++17 and ROOT 6.24 and it is running fine to me. |
I am not a big fan of structures. If it is as relevant as to create a structure, perhaps a full class is a better option. |
I am looking at the advantages at this example https://www.geeksforgeeks.org/structured-binding-c/ And I dont really understand the benefit of linking to C++98 looked simple enough, why it became complex later, and then they had to redo it later again? |
Perhaps you are looking to the wrong example, structure bindings are particularly useful for e.g. std::map, for instance the part of the code that I wrote:
C++17
As you can see the implementation in C++14 is not readable and error prone while in C++17 it is easy to understand. On the other hand C++17 has many other advantages apart of structure bindings: Still don't understand why you are against moving forward to C++17, latest version is C++20 and C++23 is on-going... |
Again, as I said before, I am not against. |
Hello, I use this DockerHub image to do all my tests: https://hub.docker.com/r/lobis/root-geant4-garfieldpp/tags we can use this in the pipeline if you want. There are a good combination of ROOT / Geant4 / C++ versions available, I can make more if you want. |
I also stands for the option 2. It is too quick to move to 2.4.0 now. |
These lines are some rough handling to AGET abnormal tailing signals, developed very long time ago. I think they are already out-dated for 2.3.x. We can just remove them. In future we may develop specific processes to handle those signals. fNPointsFlatThreshold=512 means to turn off that functionality in |
I have already implemented option 2 |
Yes, but I cannot approve it myself since I created. It seems fine to me to merge it. |
rest-for-physics/rawlib#46 pipeline is failing |
This is because the docker image is not the right one, I think should be fine after merging. Similar issues have been spotted in other PR. |
In fact this is fixed in rest-for-physics/rawlib#51 which is not yet merged in master. |
But rest-for-physics/rawlib#51 is also failing |
Actually rawlib at master is also failing after merging rest-for-physics/rawlib#50. Perhaps we just need to update the docker image? @lobis |
Indeed, this is another un-related issue to this PR after the migration to C++17. This issue arises from performing on-the-fly compilation of STL containers and hardcoding compilation flags in the code:
A patch could be
@lobis we had a chat about this, we don't have any related issue? |
However, the rawlib pipeline seems to fail at the
https://gitlab.cern.ch/rest-for-physics/rawlib/-/jobs/20856420 |
master is failing because we don't have the proper docker image. Docker image is updated on rest-for-physics/rawlib#51, however is failing becasue of
|
So, then why dont try to update it at that PR using system(Form("gcc %s |
cmake/FindGarfieldOld.cmake
Outdated
|
||
#message(STATUS Garfield_INCLUDE_DIRS ${Garfield_INCLUDE_DIRS}) | ||
|
||
find_library(Garfield_LIBRARIES NAMES libGarfield.so Garfield | ||
HINTS ${Garfield_DIR}/lib ${Garfield_LIB_DIR} | ||
$ENV{GARFIELD_HOME}/lib) | ||
$ENV{GARFIELD_DIR}/lib) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://cmake.org/cmake/help/latest/command/find_library.html
If I understand this correctly, this change should be equivalent to removing $ENV{GARFIELD_HOME}/lib)
from the macro. Why is this needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this line is not needed and it was actually removed, I don't understand how it end up in this PR.
As fas as I remember some commits were cherry-pick from this PR to master. Perhaps something when wrong in between.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess thats why "outdated" appears next to the file name
This PR is created to validate alphaAna implementation.
Related PR:
rest-for-physics/rawlib#46
rest-for-physics/detectorlib#33
rest-for-physics/connectorslib#8
rest-for-physics/tracklib#13