-
Notifications
You must be signed in to change notification settings - Fork 34
Description
DDSpacePointBuilder defines ghost hit as if different MCParticles are assigned to each strip:
MarlinTrkProcessors/source/Digitisers/src/DDSpacePointBuilder.cc
Lines 280 to 292 in 0c06ad1
| bool ghost_hit = true; | |
| if (simHitsFront.size()==1 && simHitsBack.size() == 1) { | |
| streamlog_out(DEBUG3) << "SpacePoint creation from two good hits:" << std::endl; | |
| ghost_hit = static_cast<EVENT::SimTrackerHit*>(simHitsFront.at(0))->getMCParticle() != static_cast<EVENT::SimTrackerHit*>(simHitsBack.at(0))->getMCParticle(); | |
| } | |
| if ( ghost_hit == true ) { | |
| streamlog_out(DEBUG3) << "SpacePoint Ghosthit!" << std::endl; | |
| } |
However, this may not be robust check as (back-)scattered secondary particles are still assigned to the parent MCParticle.
This means that this check will consider some ghost hits as true hits if one strip is fired by the parent MCParticle and the other one by the back-scatter.
I believe it doesn't affect the production as this is only used for the debug prints, but this is crucial for the later performance studies of the detectors...
As an example of such secondary particles:
Only two SET simHits are actual hits from the initial electron, all other sim hits are activated by the secondary particles, but they are still have the same MCParticle pointer, but with the isProducedBySecondary flag on.
[ DEBUG5 "MySETTest"] Event 9 has 10 sim hits in the SET.
[ DEBUG5 "MySETTest"] Hit 1 at (1054.43 -1438.28 1481.95) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 0
[ DEBUG5 "MySETTest"] Hit 2 at (1055.99 -1440.27 1484.05) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 0
[ DEBUG5 "MySETTest"] Hit 3 at (1196.78 -1310.33 1879.03) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 4 at (1194.7 -1312.41 1883.6) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 5 at (1196.93 -1310.3 1878.93) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 6 at (949.625 -1501.67 1746.52) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 7 at (951.298 -1500.82 1747.4) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 8 at (952.366 -1500.09 1747.09) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 9 at (952.036 -1500.18 1746.13) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
[ DEBUG5 "MySETTest"] Hit 10 at (-132.03 -1775.36 864.171) is MCParticle 0x145661b0 pdg 11 overlay 0 2ndary 1
An example, where secondary particle actually produces ghost hit with the parent is quite hard to find, but in principle can happen.
