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
@@ -892,13 +892,17 @@ void clearMCKeepStore(std::vector<std::vector<std::unordered_map<int, int>>>& st
892
892
}
893
893
894
894
// helper function to add a particle/track to the MC keep store
895
-
voidkeepMCParticle(std::vector<std::vector<std::unordered_map<int, int>>>& store, int source, int event, int track, int value = 1)
895
+
voidkeepMCParticle(std::vector<std::vector<std::unordered_map<int, int>>>& store, int source, int event, int track, int value = 1, bool useSigFilt = false)
896
896
{
897
897
if (track < 0) {
898
898
LOG(warn) << "trackID is smaller than 0. Neglecting";
for (int iCol = 0; iCol < nMCCollisions; iCol++) {
1943
1949
totalNParts += mcParts[iCol].size();
1950
+
1951
+
// if signal filtering enabled, let's check if there are more than one source; otherwise fatalise
1952
+
if (mUseSigFiltMC) {
1953
+
std::vector<int> sourceIDs{};
1954
+
auto& colParts = mcParts[iCol];
1955
+
for (auto colPart : colParts) {
1956
+
int sourceID = colPart.sourceID;
1957
+
if (std::find(sourceIDs.begin(), sourceIDs.end(), sourceID) == sourceIDs.end()) {
1958
+
sourceIDs.push_back(sourceID);
1959
+
}
1960
+
if (sourceIDs.size() > 1) { // we found more than one, exit
1961
+
break;
1962
+
}
1963
+
}
1964
+
if (sourceIDs.size() <= 1) {
1965
+
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