top::truth::initRecoMuonHistoryInfo(muon,m_config->softmuonAdditionalTruthInfoCheckPartonOrigin());//it's safer if we initialize everything to default for each muon before filling the muon history
goodSoftMuons->setStore(goodSoftMuonsAux);//< Connect the two
m_goodSoftMuons.reset(goodSoftMuons);
m_goodSoftMuonsAux.reset(goodSoftMuonsAux);
//if we want the soft muon truth history, the parent navigation for the TruthMuons collection is unfortunately working only in DAOD_PHYS, in other derivations
//we need a workaround, i.e. we need to use the muon from the TruthParticles container instead of the one from the TruthMuon container
std::vector<constxAOD::TruthParticle*>truth_particles_vec;//this is an helper vector to speed up looking for the right muon...
if(m_config->softmuonAdditionalTruthInfo()&&(!muPtr->isAvailable<bool>("hasTruthMuonHistoryInfo")||!muPtr->auxdecor<bool>("hasTruthMuonHistoryInfo")))//if "hasTruthMuonPartonHistoryInfo" exists and is true, we already filled these info for this muon (since muon history filling can be done in several parts of the code for good reasons)