@@ -400,13 +400,14 @@ namespace edm {
400400 }
401401 }
402402 }
403+ std::shared_ptr<BranchIDLists> mutableBranchIDLists;
403404 if (!fileFormatVersion ().splitProductIDs ()) {
404405 // Old provenance format input file. Create a provenance adaptor.
405406 // propagate_const<T> has no reset() function
406407 provenanceAdaptor_ = std::make_unique<ProvenanceAdaptor>(
407408 inputProdDescReg, pHistMap, pHistVector, processConfigurations, psetIdConverter, true );
408409 // Fill in the branchIDLists branch from the provenance adaptor
409- branchIDLists_ = provenanceAdaptor_->branchIDLists ();
410+ mutableBranchIDLists = provenanceAdaptor_->releaseBranchIDLists ();
410411 } else {
411412 if (!fileFormatVersion ().triggerPathsTracked ()) {
412413 // New provenance format, but change in ParameterSet Format. Create a provenance adaptor.
@@ -418,7 +419,7 @@ namespace edm {
418419 if (metaDataTree->FindBranch (poolNames::branchIDListBranchName ().c_str ()) == nullptr ) {
419420 throw Exception (errors::EventCorruption) << " Failed to find branchIDLists branch in metaData tree.\n " ;
420421 }
421- branchIDLists_ .reset (branchIDListsAPtr.release ());
422+ mutableBranchIDLists .reset (branchIDListsAPtr.release ());
422423 }
423424
424425 if (fileFormatVersion ().hasThinnedAssociations ()) {
@@ -460,9 +461,10 @@ namespace edm {
460461 inputProdDescReg.copyProduct (newBD);
461462 // Fix up other per file metadata.
462463 daqProvenanceHelper_->fixMetaData (processConfigurations, pHistVector);
463- daqProvenanceHelper_->fixMetaData (*branchIDLists_ );
464+ daqProvenanceHelper_->fixMetaData (*mutableBranchIDLists );
464465 daqProvenanceHelper_->fixMetaData (*productDependencies_);
465466 }
467+ branchIDLists_ = std::move (mutableBranchIDLists);
466468 }
467469
468470 for (auto const & history : pHistVector) {
0 commit comments