You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The file implements a 2D-strip segmentation for MPGDs. It's a re-segmentation, overwriting what's done at simulation, as opposed to reconstruction, time and stored into the SimTrackerHit input to the reconstruction. 2D-strip means here a readout with a simultaneous registering of a unique ionization process along two distinct strip coordinates. The whole thing is achieved software-wise thanks to a 3-valued MultiSegmentation: 1 = pixel cellID (or pixelID) at simulation time, (2,3) = two strip cellIDs (or stripIDs) determined at reconstruction time by MPGDTrackerDigi.cc.
Describe the solution you'd like
The determination of the two stripIDs is done by re-executing the segmentation process based on the Cartesian coordinates of the input SimTrackerHitvia the dd4hep::Segmentation::cellID method.
It turns out that the pixelID is the concatenation of the two stripIDs. In hexadecimal representation: pixelID = (hex1|hex2) , stripID1 = (hex1|0) , stripID2 = (0,hex2) .
This, provided that the IDDescriptors of pixel and strips match.
Therefore, we could simplify out dd4hep::Segmentation::cellID and simply split the input pixelID into two.
The association RawTrackerHit -> SimTrackerHit could also be made simpler.
Additional context
Keeping MPGDTrackerDigi.cc as is offers still some advantage: one can reconstruct successively a same input data set with different 2D-strip readouts, which can be useful in the debugging stage.
The text was updated successfully, but these errors were encountered:
https://github.com/eic/EICrecon/blob/2D-strip-MPGDs/src/algorithms/digi/MPGDTrackerDigi.cc
(Note: the link supra points to the
2D-strip-MPGDs
branch, before it's merged intomain
.)The file implements a 2D-strip segmentation for MPGDs. It's a re-segmentation, overwriting what's done at simulation, as opposed to reconstruction, time and stored into the
SimTrackerHit
input to the reconstruction. 2D-strip means here a readout with a simultaneous registering of a unique ionization process along two distinct strip coordinates. The whole thing is achieved software-wise thanks to a 3-valuedMultiSegmentation
: 1 = pixel cellID (or pixelID) at simulation time, (2,3) = two strip cellIDs (or stripIDs) determined at reconstruction time byMPGDTrackerDigi.cc
.Describe the solution you'd like
SimTrackerHit
via thedd4hep::Segmentation::cellID
method.pixelID = (hex1|hex2) , stripID1 = (hex1|0) , stripID2 = (0,hex2) .
This, provided that the IDDescriptors of pixel and strips match.
dd4hep::Segmentation::cellID
and simply split the input pixelID into two.The association
RawTrackerHit
->SimTrackerHit
could also be made simpler.Additional context
MPGDTrackerDigi.cc
as is offers still some advantage: one can reconstruct successively a same input data set with different 2D-strip readouts, which can be useful in the debugging stage.The text was updated successfully, but these errors were encountered: