This PR introduce a new producer module: CRTT0Tagging
This new module produces an association with tracks and and a T0 object following CRT-TPC association. It also fills a new icarus only data product with some summary information on the result of the match, this product is called CRTTPCMatchingInfo.
Additionally associations of anab::T0 and tracks and CRT and CRTTPCMatchingInfo are stored.
This PR introduces also the CRTMatching class which contains the matching functions. In future, TripleMatching will exploits the same functions, this is why, for example, there is the GetTrackBarycenter function which is not yet used.
A brief story: there is an already existent CRTT0Matching object, but that is very outdated and not mantained anymore. The problem is that that product is widely used around our code. Not to create confusion, I added here the updated version under a new name. The new matching is based on a PCA fit of the track direction and extrapolated to the CRT plane of the CRT hit under test.
At the state of this PR, the module lives on its own and it is not included into any stage0/1/caf definitions. It is there for people to use if needed. I will follow up, once this PR is considered ok, with an additional one which starts to implement the CRTTagging of the TPC tracks in our production and analysis flow.
This module works on both data and MC! The only caveat is that for data there is an additional implementation which re-align the Top CRT modules to the TPCs, following to the alignment campaign which I performed on Run2 data. It is expected that for Run3 a new alignment txt file will be produced, but I do not have yet since we did not reprocess Run3, so using the Run2 one is way better than not using it.
I believe this SBN DocDB summarizes everything that it is introduced here: https://sbn-docdb.fnal.gov/cgi-bin/sso/RetrieveFile?docid=38008&filename=TPCCalibrationWithCRTTPCTaggedTracks.pdf&version=1
This PR introduce a new producer module: CRTT0Tagging This new module produces an association with tracks and and a T0 object following CRT-TPC association. It also fills a new icarus only data product with some summary information on the result of the match, this product is called CRTTPCMatchingInfo. Additionally associations of anab::T0 and tracks and CRT and CRTTPCMatchingInfo are stored. This PR introduces also the CRTMatching class which contains the matching functions. In future, TripleMatching will exploits the same functions, this is why, for example, there is the GetTrackBarycenter function which is not yet used. A brief story: there is an already existent CRTT0Matching object, but that is very outdated and not mantained anymore. The problem is that that product is widely used around our code. Not to create confusion, I added here the updated version under a new name. The new matching is based on a PCA fit of the track direction and extrapolated to the CRT plane of the CRT hit under test. At the state of this PR, the module lives on its own and it is not included into any stage0/1/caf definitions. It is there for people to use if needed. I will follow up, once this PR is considered ok, with an additional one which starts to implement the CRTTagging of the TPC tracks in our production and analysis flow. This module works on both data and MC! The only caveat is that for data there is an additional implementation which re-align the Top CRT modules to the TPCs, following to the alignment campaign which I performed on Run2 data. It is expected that for Run3 a new alignment txt file will be produced, but I do not have yet since we did not reprocess Run3, so using the Run2 one is way better than not using it. I believe this SBN DocDB summarizes everything that it is introduced here: https://sbn-docdb.fnal.gov/cgi-bin/sso/RetrieveFile?docid=38008&filename=TPCCalibrationWithCRTTPCTaggedTracks.pdf&version=1