Skip to content
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

TRD: PID: fixups #11664

Merged
merged 1 commit into from
Aug 11, 2023
Merged

TRD: PID: fixups #11664

merged 1 commit into from
Aug 11, 2023

Conversation

f3sch
Copy link
Collaborator

@f3sch f3sch commented Jul 18, 2023

@martenole For you to look over.

I am not sure what way would be prefered for the lookup tables, just a vector and hardcode the momentum intervals or the class I included?

Also I did not change the paths to the ccdb yet, we can upload a preliminary object or wait for the results of the service work by leonardo?

And should I pull over the macros from the other repo so that we have the CI?

@martenole
Copy link
Contributor

Thanks, did not go through it yet but the CI errors are real, can you please check?

/Volumes/build/alice-ci-workdir/o2/sw/SOURCES/O2/11664/0/Detectors/TRD/pid/src/PIDBase.cxx:66:11: error: enumeration value 'NMODELS' not handled in switch [-Werror,-Wswitch]
  switch (policy) {
          ^~~~~~
/Volumes/build/alice-ci-workdir/o2/sw/SOURCES/O2/11664/0/Detectors/TRD/pid/src/PIDBase.cxx:66:11: note: add missing switch cases

Copy link
Contributor

@martenole martenole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general looks all good. Just some minor comments on the track extrapolation and I think it would be nice to have the LUT class a bit more flexible.
For the CCDB objects I would also wait for Leonardo first

Detectors/TRD/pid/include/TRDPID/LQND.h Outdated Show resolved Hide resolved
{
/// Lookup Table class for ccdb upload
template <int nDim>
class LUT
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the way to have the LUT as a class with a configurable number of dimensions. Would it be possible to make it accept not only 1 and 3D, but also things like 2 or 7D for example? I think we had such LUTs in the past in Run 2

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

7D seems nonsensical since we only get 3 windows from the FEE anyways, this was different in Run 2 were we would get 7 windows, I think.
How would you combine the windows in the 2D case (Q0+Q2 and Q1, seems the most resonable to me?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok 7D is probably indeed not needed, but 2D I could imagine (although no idea which windows would be best at the moment). Could you not get rid of the whole if constexpr block of the class? For 1D it will anyhow be called with iDim = 0 only and so you could return mLUTS[index + iDim] always, no?

Detectors/TRD/pid/src/ML.cxx Outdated Show resolved Hide resolved
@alibuild
Copy link
Collaborator

alibuild commented Aug 1, 2023

Error while checking build/O2/fullCI for c6ccbde at 2023-08-01 11:50:

## sw/BUILD/O2-latest/log
input_line_9:374:62: error: no viable conversion from 'gsl::span<const o2::trd::Tracklet64, 18446744073709551615ull>::element_type' (aka 'const o2::trd::Tracklet64') to 'int'
input_line_9:374:131: error: expected ';' at end of declaration
Error: /sw/slc8_x86-64/ROOT/v6-28-04-21/bin/rootcling: compilation failure (/sw/BUILD/f20612c6f1e83c7222005b4c4395bf2917275da2/O2/Detectors/TRD/pid/G__O2TRDPID6e43159b36_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

@alibuild
Copy link
Collaborator

alibuild commented Aug 1, 2023

Error while checking build/O2/fullCI for 2eb2ae0 at 2023-08-01 17:19:

## sw/BUILD/O2-latest/log
input_line_9:375:62: error: use of undeclared identifier 'getSector'
Error: /sw/slc8_x86-64/ROOT/v6-28-04-21/bin/rootcling: compilation failure (/sw/BUILD/f20612c6f1e83c7222005b4c4395bf2917275da2/O2/Detectors/TRD/pid/G__O2TRDPID4e6c46f7b3_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

@alibuild
Copy link
Collaborator

alibuild commented Aug 2, 2023

Error while checking build/O2/fullCI for d78aebd at 2023-08-02 09:53:

## sw/BUILD/O2-latest/log
input_line_9:375:24: error: use of undeclared identifier 'getSnpAt'
Error: /sw/slc8_x86-64/ROOT/v6-28-04-21/bin/rootcling: compilation failure (/sw/BUILD/f20612c6f1e83c7222005b4c4395bf2917275da2/O2/Detectors/TRD/pid/G__O2TRDPID582bb84811_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

@alibuild
Copy link
Collaborator

alibuild commented Aug 2, 2023

Error while checking build/O2/fullCI for 44c2c97 at 2023-08-02 11:57:

## sw/BUILD/O2-latest/log
input_line_9:376:35: error: 'TrackParametrization' is not a class, namespace, or enumeration
Error: /sw/slc8_x86-64/ROOT/v6-28-04-21/bin/rootcling: compilation failure (/sw/BUILD/f20612c6f1e83c7222005b4c4395bf2917275da2/O2/Detectors/TRD/pid/G__O2TRDPIDa9e71f5bfd_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

@alibuild
Copy link
Collaborator

alibuild commented Aug 5, 2023

Error while checking build/O2/fullCI for cbb89aa at 2023-08-05 03:36:

## sw/BUILD/O2Physics-latest/log
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[ERROR] Function RecoDecay::getMassPDG is deprecated and will be removed soon.
[ERROR] Please use the Mass function in the O2DatabasePDG service instead.
[ERROR] See the example of usage in Tutorials/src/usingPDGService.cxx.
[0 more errors; see full log]

Full log here.

This commit renames the factory function to better reflect its purpose.
Additionally, z-row merging and charge correction have been added to the codebase to improve functionality.
Pytorch policy and LQND policy have been added as new policies.
The README has also been added to provide additional explanation of the code.
As part of this update, the pid policy map and pidvalue alias have been
removed.
A print overload has been added for the policy enum to improve readability.
Various minor fixes have also been made to improve overall code quality.
Also included are various changes to the class layout and the ccdb object for LUTs.

Signed-off-by: Felix Schlepper <[email protected]>
@martenole martenole merged commit 0823eee into AliceO2Group:dev Aug 11, 2023
6 checks passed
@f3sch f3sch deleted the trd_pid_feat branch August 11, 2023 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants