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
Configurable<int> cfgMultMin{"cfgMultMin", 10, "Minimum number of particles required for the event to have."};
85
93
} cfgEventCuts;
86
94
95
+
O2_DEFINE_CONFIGURABLE(cfgTrackBitMask, uint16_t, 0, "Track selection bitmask to use as defined in the filterCorrelations.cxx task");
96
+
O2_DEFINE_CONFIGURABLE(cfgMultCorrelationsMask, uint16_t, 0, "Selection bitmask for the multiplicity correlations. This should match the filter selection cfgEstimatorBitMask.")
97
+
O2_DEFINE_CONFIGURABLE(cfgMultCutFormula, std::string, "", "Multiplicity correlations cut formula. A result greater than zero results in accepted event. Parameters: [cFT0C] FT0C centrality, [mFV0A] V0A multiplicity, [mGlob] global track multiplicity, [mPV] PV track multiplicity, [cFT0M] FT0M centrality")
98
+
87
99
// // Filters to be applied to the received data.
88
100
// // The analysis assumes the data has been subjected to a QA of its selection,
89
101
// // and thus only the final distributions of the data for analysis are saved.
std::array<std::string, aod::cfmultset::NMultiplicityEstimators> pars = {"cFT0C", "mFV0A", "mPV", "mGlob", "cFT0M"}; // must correspond the order of MultiplicityEstimators
127
+
for (uint i = 0, n = multCutFormula->GetNpar(); i < n; ++i) {
128
+
auto m = std::find(pars.begin(), pars.end(), multCutFormula->GetParName(i));
129
+
if (m == pars.end()) {
130
+
LOGF(warning, "Unknown parameter in cfgMultCutFormula: %s", multCutFormula->GetParName(i));
if ((cfgMultCorrelationsMask.value & (1u << estIdx)) == 0) {
135
+
LOGF(warning, "The centrality/multiplicity estimator %s is not available to be used in cfgMultCutFormula. Ensure cfgMultCorrelationsMask is correct and matches the CFMultSets in derived data.", m->c_str());
136
+
} else {
137
+
multCutFormulaParamIndex[estIdx] = i;
138
+
LOGF(info, "Multiplicity cut parameter %s in use.", m->c_str());
if (std::popcount(static_cast<uint32_t>(cfgMultCorrelationsMask.value)) != static_cast<int>(collision.multiplicities().size()))
232
+
LOGF(fatal, "Multiplicity selections (cfgMultCorrelationsMask = 0x%x) do not match the size of the table column (%ld).", cfgMultCorrelationsMask.value, collision.multiplicities().size());
233
+
if (!passOutlier(collision))
234
+
return;
235
+
analyze(collision, tracks);
236
+
}
237
+
PROCESS_SWITCH(flowJSPCAnalysis, processCFDerivedMultSetCorrected, "Process CF derived data with corrections and multiplicity sets", false);
0 commit comments