You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Detectors/AOD/src/AODProducerWorkflowSpec.cxx
+35-9Lines changed: 35 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -947,13 +947,17 @@ void clearMCKeepStore(std::vector<std::vector<std::unordered_map<int, int>>>& st
947
947
}
948
948
949
949
// helper function to add a particle/track to the MC keep store
950
-
voidkeepMCParticle(std::vector<std::vector<std::unordered_map<int, int>>>& store, int source, int event, int track, int value = 1)
950
+
voidkeepMCParticle(std::vector<std::vector<std::unordered_map<int, int>>>& store, int source, int event, int track, int value = 1, bool useSigFilt = false)
951
951
{
952
952
if (track < 0) {
953
953
LOG(warn) << "trackID is smaller than 0. Neglecting";
for (int iCol = 0; iCol < nMCCollisions; iCol++) {
2063
2069
totalNParts += mcParts[iCol].size();
2070
+
2071
+
// if signal filtering enabled, let's check if there are more than one source; otherwise fatalise
2072
+
if (mUseSigFiltMC) {
2073
+
std::vector<int> sourceIDs{};
2074
+
auto& colParts = mcParts[iCol];
2075
+
for (auto colPart : colParts) {
2076
+
int sourceID = colPart.sourceID;
2077
+
if (std::find(sourceIDs.begin(), sourceIDs.end(), sourceID) == sourceIDs.end()) {
2078
+
sourceIDs.push_back(sourceID);
2079
+
}
2080
+
if (sourceIDs.size() > 1) { // we found more than one, exit
2081
+
break;
2082
+
}
2083
+
}
2084
+
if (sourceIDs.size() <= 1) {
2085
+
LOGP(fatal, "Signal filtering cannot be enabled without embedding. Please fix the configuration either enabling the embedding, or turning off the signal filtering.");
0 commit comments