Dear @Miriam
sorry for your desparation, I hope I can shed some light onto this issue. In APSQ the definition of “particle” deviates slightly from the one in Geant4, simply because we are usually interested in what happens inside the sensor.
Hence, we define MCParticles per sensor and call all those primary that enter the sensor from the outside. All particles generated by interactions within the sensor, like delta rays, are consequently called secondary. This I would argue is a quite common nomenclature.
I guess this becomes a bit more complicated as particles propagate further. Any particle not absorbed in the first sensor also penetrate the second detector. There they are counted as primary particle because they originate outside this sensor’s volume - but their originating volume is not the world volume because they were created in the first sensor.
This approach allows to unanimously distinguish for each sensor whether a certain particle was created inside or outside its volume - which can be quite handy. Now in order to be able to track particles between sensors, we have the MCTrack object which follows the physical particle throughout its lifetime.
Tl;dr: depending on what your goal of filtering is, you either have to look at MCParticle (per sensor) or MCTrack (for the full setup). Does this help?
Cheers,
Simon