Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ghost hit definition in the DDSpacePointBuilder #56

Open
dudarboh opened this issue Oct 8, 2021 · 0 comments
Open

Ghost hit definition in the DDSpacePointBuilder #56

dudarboh opened this issue Oct 8, 2021 · 0 comments

Comments

@dudarboh
Copy link
Member

dudarboh commented Oct 8, 2021

DDSpacePointBuilder defines ghost hit as if different MCParticles are assigned to each strip:

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:

image

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant