Skip to content

Ghost hit definition in the DDSpacePointBuilder #56

@dudarboh

Description

@dudarboh

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions