50 if(!prdTruth || !prd || !simDataMap) {
56 bool gotValidParticle =
false;
59 std::vector<Identifier>::const_iterator nextRDO = prd->
rdoList().begin();
60 std::vector<Identifier>::const_iterator lastRDO = prd->
rdoList().end();
61 for (; nextRDO!=lastRDO; ++nextRDO) {
62 InDetSimDataCollection::const_iterator iter(simDataMap->find(*nextRDO));
64 if ( pixels && iter == simDataMap->end() ) {
71 if(iter != simDataMap->end() ) {
75 const std::vector< InDetSimData::Deposit >& deposits = sdo.
getdeposits();
76 std::vector< InDetSimData::Deposit >::const_iterator nextdeposit = deposits.begin();
77 std::vector< InDetSimData::Deposit >::const_iterator lastdeposit = deposits.end();
78 for( ; nextdeposit!=lastdeposit; ++nextdeposit) {
95 gotValidParticle =
true;
99 using truthiter = PRD_MultiTruthCollection::iterator;
100 std::pair<truthiter, truthiter>
r = prdTruth->equal_range(prd->
identify());
101 if(
r.second == std::find_if(
r.first,
r.second,
102 [ particleLink ](
const PRD_MultiTruthCollection::value_type &prd_to_truth) {
103 return prd_to_truth.second == particleLink;
106 prdTruth->insert(std::make_pair(prd->
identify(), particleLink));
113 if(gotSDO && !gotValidParticle) {
a link optimized in size for a GenParticle in a McEventCollection
HepMC::ConstGenParticlePtr cptr() const
Dereference.