@@ -458,7 +458,7 @@ struct FilterCF {
458458 }
459459
460460 // This process must run before the collision processes below.
461- void processDataframeSeed (aod::Origins const & origins, aod::BCs const & bcs )
461+ void processDataframeSeed (aod::Origins const & origins)
462462 {
463463 if (!cfgMultiplicityPoisson) {
464464 return ;
@@ -467,19 +467,9 @@ struct FilterCF {
467467 LOGF (fatal, " Cannot seed Poisson multiplicity sampling without a dataframe ID" );
468468 return ;
469469 }
470-
471- const uint32_t runNumber = bcs.size () > 0 ? static_cast <uint32_t >(bcs.iteratorAt (0 ).runNumber ()) : 0u ;
472- std::vector<uint32_t > seedInputs;
473- seedInputs.reserve (2 + 2 * origins.size ());
474- seedInputs.push_back (cfgMultiplicityPoissonSeed.value );
475- seedInputs.push_back (runNumber);
476- for (const auto & origin : origins) {
477- const uint64_t dataframeId = origin.dataframeID ();
478- seedInputs.push_back (static_cast <uint32_t >(dataframeId));
479- seedInputs.push_back (static_cast <uint32_t >(dataframeId >> std::numeric_limits<uint32_t >::digits));
480- }
481-
482- std::seed_seq seed (seedInputs.begin (), seedInputs.end ());
470+ const uint64_t dataframeId = origins.iteratorAt (0 ).dataframeID ();
471+ std::seed_seq seed{cfgMultiplicityPoissonSeed.value , static_cast <uint32_t >(dataframeId),
472+ static_cast <uint32_t >(dataframeId >> std::numeric_limits<uint32_t >::digits)};
483473 std::array<uint32_t , 2 > seedWords{};
484474 seed.generate (seedWords.begin (), seedWords.end ());
485475 // Speed up seeding by creating one 64-bit seed from the dataframe information.
0 commit comments