eic / EICrecon

EIC Reconstruction - JANA based
https://eic.github.io/EICrecon
GNU Lesser General Public License v3.0
6 stars 27 forks source link

Add associations between tracker Raw and Sim hits #1392

Closed bschmookler closed 4 months ago

bschmookler commented 4 months ago

Briefly, what does this PR introduce?

This fills the edm4eic::MCRecoTrackerHitAssociation for each tracking detector. This should allow us to more easily implement track to MCParticle hit-based matching.

An example of the result for 1 single-muon event and one subsystem (SVT endcap) is shown below:

SiEndcapHitAssociations = (vector<edm4eic::MCRecoTrackerHitAssociationData>*)0x559bcc564160
 SiEndcapHitAssociations.weight = 1.000000, 1.000000, 1.000000, 1.000000
 SiEndcapHitAssociations.simHits_begin = 0, 1, 2, 3
 SiEndcapHitAssociations.simHits_end = 1, 2, 3, 4
 _SiEndcapHitAssociations_simHits = (vector<podio::ObjectID>*)0x559bcc5a96a0
 _SiEndcapHitAssociations_simHits.index = 2, 3, 1, 0
 _SiEndcapHitAssociations_simHits.collectionID = 1948551886, 1948551886, 1948551886, 1948551886
 _SiEndcapHitAssociations_rawHit = (vector<podio::ObjectID>*)0x559bcc5eebe0
 _SiEndcapHitAssociations_rawHit.index = 0, 1, 2, 3
 _SiEndcapHitAssociations_rawHit.collectionID = 1932353945, 1932353945, 1932353945, 1932353945
 SiEndcapTrackerRawHits = (vector<edm4eic::RawTrackerHitData>*)0x559bcc610460
 SiEndcapTrackerRawHits.cellID = 16923118878035329862, 17280310082315273286, 16544254001764418118, 16186218179280814405
 SiEndcapTrackerRawHits.charge = 12, 11, 8, 15
 SiEndcapTrackerRawHits.timeStamp = -6769, 16333, 17563, 16
 SiEndcapTrackerRecHits = (vector<edm4eic::TrackerHitData>*)0x559bc5a2b160
 SiEndcapTrackerRecHits.cellID = 16923118878035329862, 17280310082315273286, 16544254001764418118, 16186218179280814405
 SiEndcapTrackerRecHits.position.x = -46.624271, -58.748764, -34.917282, -23.603687
 SiEndcapTrackerRecHits.position.y = -112.486023, -138.429794, -86.344360, -59.997082
 SiEndcapTrackerRecHits.position.z = -849.864990, -1049.864990, -649.864990, -449.864990
 SiEndcapTrackerRecHits.positionError.xx = 0.000033, 0.000033, 0.000033, 0.000033
 SiEndcapTrackerRecHits.positionError.yy = 0.000033, 0.000033, 0.000033, 0.000033
 SiEndcapTrackerRecHits.positionError.zz = 0.000000, 0.000000, 0.000000, 0.000000
 SiEndcapTrackerRecHits.time = -6.769000, 16.333000, 17.563000, 0.016000
 SiEndcapTrackerRecHits.timeError = 10.000000, 10.000000, 10.000000, 10.000000
 SiEndcapTrackerRecHits.edep = 0.000012, 0.000011, 0.000008, 0.000015
 SiEndcapTrackerRecHits.edepError = 0.000000, 0.000000, 0.000000, 0.000000
 TrackerEndcapHits = (vector<edm4hep::SimTrackerHitData>*)0x559bc20326e0
 TrackerEndcapHits.cellID = 16186218179280814405, 16544254001764418118, 16923118878035329862, 17280310082315273286
 TrackerEndcapHits.EDep = 0.000015, 0.000008, 0.000012, 0.000011
 TrackerEndcapHits.time = 1.516304, 2.190398, 2.864473, 3.538543
 TrackerEndcapHits.pathLength = 0.040409, 0.040409, 0.040408, 0.040408
 TrackerEndcapHits.quality = 0, 0, 0, 0
 TrackerEndcapHits.position.x = -23.6101, -34.9112, -46.6319, -58.7455
 TrackerEndcapHits.position.y = -59.9919, -86.3539, -112.488, -138.43
 TrackerEndcapHits.position.z = -449.865, -649.865, -849.865, -1049.87
 TrackerEndcapHits.momentum.x = -0.282981, -0.295752, -0.305873, -0.315357
 TrackerEndcapHits.momentum.y = -0.678451, -0.672997, -0.667216, -0.662762
 TrackerEndcapHits.momentum.z = -5.127204, -5.127089, -5.127127, -5.127013
 _TrackerEndcapHits_MCParticle = (vector<podio::ObjectID>*)0x559bcce57ce0
 _TrackerEndcapHits_MCParticle.index = 0, 0, 0, 0
 _TrackerEndcapHits_MCParticle.collectionID = 2714477136, 2714477136, 2714477136, 2714477136

What kind of change does this PR introduce?

Please check if this PR fulfills the following:

Does this PR introduce breaking changes? What changes might users need to make to their code?

No.

Does this PR change default behavior?

Yes, it writes out theedm4eic::MCRecoTrackerHitAssociation collection.

github-actions[bot] commented 4 months ago

Capybara summary for PR 1392