the following statement in a ctor of a class (called once)
p.SetXYZM(fPx, fPy, fPz, TDatabasePDG::Instance()->GetParticle(fPdgCode)->Mass());
causes a ROOT file -not related to this class at all- used for output not to be written properly for every single entry of the TTree that it contains.
Edit (16:52): When trying to open the file in a new session:
Warning in TFile::Init: file sim.root probably not closed, trying to recover
Info in TFile::Recover: sim.root, recovered key TTree:sim at address 218724
Putting a hardcoded value in the place of TDatabasePDG::Instance()->GetParticle(fPdgCode)->Mass()
makes the problem disappear. Any hint? cheers,