Skip to content

MCTruthClassifier bring developments/splitting from 21.6 (AGENE-1573) to master (AGENE-1787)

This is an effort to bring the developments from 21.6 (AGENE-1573) to master due to https://its.cern.ch/jira/browse/AGENE-1787

Let me copy paste from AGENE-1573 as this is not simple . In principle it just moves existing code around and make parts to compile conditionally on the release/project, but is a bit too much messy code already ...

You have 3 implementation cxx files.

MCTruthClassifierGen.cxx : This has all the Generator/Truth classification methods. This "contains" the actual classification part.

MCRecoToTruth.cxx : This is actually the thing that eventually should be split in another tool (and we change a bit the clinet workflow). It has the methods used to go from a Reconstructed particle to a Truth/Generator one.

MCTruthClassifierAthena.cxx : This one is a about Reco to truth also. But is the part that needs extrapolators (so does not work in analyses releases) and the truth in cone . This split was there to make this Dual Use. Again though one can claim that this is a Cluster to Truth tool.

For now to not touch the clients and just solve the issue on this ticket.

IMCTruthClassifier.h . The methods exposed for everyone are on the top. Then you have the methods for particular cases.

MCTruthClassifier.cxx (and the header) it handles what one can see and what not based on environment.

CMakeLists.txt tries to follow these conventions.

What happens is that there are kind of 3-4 .o build and then put into the library depending on the environment.

I overdid it a bit on purpose on the physical file seperation. Mainly because at the end ideally the 3 bodies will become bodies of 3 tools as such . With 3 interfaces and 3 headers etc etc . So at least wanted to make the physical separation to resemble the conseptual one which should be done at some point.

Mentioning @jchapman , this is now checked for Athena (also this MR) but seems to a least compile on its own with AthGeneration/22.0.12 so getting there I guess.

Edited by Christos Anastopoulos

Merge request reports