|
56 | 56 | #include <iostream> |
57 | 57 | #include <map> |
58 | 58 | #include <memory> |
| 59 | +#include <random> |
59 | 60 | #include <string> |
60 | 61 | #include <utility> |
61 | 62 | #include <vector> |
@@ -2791,7 +2792,12 @@ struct AnalysisDileptonTrack { |
2791 | 2792 | if (!event.isEventSelected_bit(0)) { |
2792 | 2793 | continue; |
2793 | 2794 | } |
2794 | | - if (fConfigOptions.fConfigSavelessevents.value > 0 && event.globalIndex() % fConfigOptions.fConfigSavelessevents == 0) |
| 2795 | + std::hash<uint64_t> hasher; |
| 2796 | + size_t seed = hasher(static_cast<uint64_t>(event.globalIndex())); |
| 2797 | + std::mt19937 gen(seed); |
| 2798 | + std::uniform_real_distribution<float> dist(0.0, 1.0); |
| 2799 | + float randomVal = dist(gen); |
| 2800 | + if (randomVal < fConfigOptions.fConfigSavelessevents) |
2795 | 2801 | continue; |
2796 | 2802 | auto groupedBarrelAssocs = assocs.sliceBy(trackAssocsPerCollision, event.globalIndex()); |
2797 | 2803 | // groupedBarrelAssocs.bindInternalIndicesTo(&assocs); |
@@ -2986,7 +2992,12 @@ struct AnalysisDileptonTrack { |
2986 | 2992 | if (!event.has_mcCollision()) { |
2987 | 2993 | continue; |
2988 | 2994 | } |
2989 | | - if (fConfigOptions.fConfigSavelessevents.value > 0 && event.globalIndex() % fConfigOptions.fConfigSavelessevents == 0) |
| 2995 | + std::hash<uint64_t> hasher; |
| 2996 | + size_t seed = hasher(static_cast<uint64_t>(event.globalIndex())); |
| 2997 | + std::mt19937 gen(seed); |
| 2998 | + std::uniform_real_distribution<float> dist(0.0, 1.0); |
| 2999 | + float randomVal = dist(gen); |
| 3000 | + if (randomVal < fConfigOptions.fConfigSavelessevents) |
2990 | 3001 | continue; |
2991 | 3002 | runEnergyCorrelators<VarManager::kJpsiHadronMass>(event, mcTracks); |
2992 | 3003 | } |
|
0 commit comments