Efficient way to get all related entries assigned to matrix fields across a set of entries
If you are trying to get all people entries related to the event entry itself (what you call event &quot;e&quot;) then I would suggest going through matrix as follows.
{% set people = craft.entries.section('people').relatedTo([
    'or',
    { targetElement: event, field: 'matrixFieldHandle.relatedEvents' },
    { targetElement: event, field: 'matrixFieldHandle.relatedArticles' }
]) %}

If you need the target element to be all children of the event then this might do the trick.
{% set eventChildren = event.children %}

{% set people = craft.entries.section('people').relatedTo([
    'or',
    { targetElement: eventChildren, field: 'matrixFieldHandle.relatedEvents' },
    { targetElement: eventChildren, field: 'matrixFieldHandle.relatedArticles' }
]) %}

You can also combine the event with its children, if necessary, as follows.
{% set eventWithChildren = event.children|push(event) %}