I am not sure I understand your second comment.
Following your previous suggestion I had moved from
<pre>
      NewTrackExtraList_->push_back( reco::TrackExtra( track.outerPosition(), track.outerMomentum(), track.outerOk(),
                                                       track.innerPosition(), track.innerMomentum(), track.innerOk(),
                                                       track.outerStateCovariance(), track.outerDetId(),
                                                       track.innerStateCovariance(), track.innerDetId(),
                                                       track.seedDirection(),
                                                       track.seedRef() ) );
</pre>
to
<pre>
      auto const& extra = (*tracksExtras)[track_counter];
      NewTrackExtraList_->push_back(extra);
</pre>

Now I changed into
<pre>
      auto const& extra = reco::TrackExtra( track.outerPosition(), track.outerMomentum(), track.outerOk(),
                                            track.innerPosition(), track.innerMomentum(), track.innerOk(),
                                            track.outerStateCovariance(), track.outerDetId(),
                                            track.innerStateCovariance(), track.innerDetId(),
                                            track.seedDirection(),
                                            track.seedRef() );
      NewTrackExtraList_->push_back(extra);
</pre>

and I get
<pre>
An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 1 event: 1
   [1] Running path 'simulation_step'
   [2] Calling event method for module MixingModule/'mix'
Exception Message:
RefCore: A request to resolve a reference to a product of type 'std::vector<reco::TrackExtra>' with ProductID '1:918'
can not be satisfied because the product cannot be found.
Probably the branch containing the product is not stored in the input file.
</pre>