Constructor in Event example have the embedded pointer:
fgTracks = new TClonesArray(“Track”, 1000),
that, I think, conflicts with the default constructor requirement about allocation any space for embedded pointer objects.
and that fgTracks is static. This means that the TClonesArray allocation is done once and only once per process. This is a trick to insure re-use of the same memory/object (for the TClonesArray) for all the event objects.