Skip to content

Commit 1234dae

Browse files
mfasDaBarthelemy
authored andcommitted
[EMCAL-530] Optional centrality cut for meson selection (#1996)
Multiplcity based on selected cluster multiplicity.
1 parent 9c9df38 commit 1234dae

2 files changed

Lines changed: 23 additions & 8 deletions

File tree

Modules/EMCAL/include/EMCAL/ClusterTask.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#define QC_MODULE_EMC_EMCCLUSTERTASK_H
1919

2020
#include <array>
21+
#include <climits>
2122
#include <iosfwd>
2223
#include <unordered_map>
2324
#include <string>
@@ -116,11 +117,13 @@ class ClusterTask final : public TaskInterface
116117
/// \struct TaskParams
117118
/// \brief Other task parameters
118119
struct TaskParams {
119-
bool mInternalClusterizer = false; ///< Use run internal clusterizer, do not subscribe to external cluster collection
120-
bool mCalibrate = false; ///< Perform recalibration
121-
bool mFillInvMassMeson = false; ///< Fill invariant mass of meson candidates
122-
bool mFillControlHistograms = false; ///< Fill control histograms at cell level
123-
int mMultiplicityRange = 200; ///< Range for multiplicity histograms
120+
bool mInternalClusterizer = false; ///< Use run internal clusterizer, do not subscribe to external cluster collection
121+
bool mCalibrate = false; ///< Perform recalibration
122+
bool mFillInvMassMeson = false; ///< Fill invariant mass of meson candidates
123+
bool mFillControlHistograms = false; ///< Fill control histograms at cell level
124+
int mMultiplicityRange = 200; ///< Range for multiplicity histograms
125+
int mMesonMinClusterMultiplicity = 0; ///< Min. cluster multiplicty meson selection
126+
int mMesonMaxClusterMultiplicity = INT_MAX; ///< Max. cluster multiplicity meson selection
124127

125128
/// \brief Print task parameters to output stream
126129
/// \param stream Stream used for printing

Modules/EMCAL/src/ClusterTask.cxx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,12 @@ void ClusterTask::analyseTimeframe(const gsl::span<const o2::emcal::Cell>& cells
514514

515515
} // cls loop
516516
if (isPhysicsTrigger && mTaskParameters.mFillInvMassMeson) {
517-
buildAndAnalysePiOs(selclustersEMCAL, true);
518-
buildAndAnalysePiOs(selclustersDCAL, false);
517+
// Apply centrality selection (paticularly for heavy-ion)
518+
// Selection based on cluster multiplicity
519+
if (nClustersEventSelected >= mTaskParameters.mMesonMinClusterMultiplicity && nClustersEventSelected <= mTaskParameters.mMesonMaxClusterMultiplicity) {
520+
buildAndAnalysePiOs(selclustersEMCAL, true);
521+
buildAndAnalysePiOs(selclustersDCAL, false);
522+
}
519523
}
520524
if (isPhysicsTrigger) {
521525
mHistNclustPerEvtSelected->Fill(nClustersEventSelected);
@@ -867,6 +871,12 @@ void ClusterTask::configureTaskParameters()
867871
if (hasConfigValue("MultiplicityRange")) {
868872
mTaskParameters.mMultiplicityRange = std::stoi(getConfigValueLower("MultiplicityRange"));
869873
}
874+
if (hasConfigValue("mesonMinClusterMultiplicity")) {
875+
mTaskParameters.mMesonMinClusterMultiplicity = std::stoi(getConfigValueLower("mesonMinClusterMultiplicity"));
876+
}
877+
if (hasConfigValue("mesonMaxClusterMultiplicity")) {
878+
mTaskParameters.mMesonMaxClusterMultiplicity = std::stoi(getConfigValueLower("mesonMaxClusterMultiplicity"));
879+
}
870880

871881
ILOG(Info, Support) << mTaskParameters;
872882
}
@@ -1016,7 +1026,9 @@ void ClusterTask::TaskParams::print(std::ostream& stream) const
10161026
<< "Calibrate cells before clusterization: " << (mCalibrate ? "yes" : "no") << "\n"
10171027
<< "Filling cell-level control histograms: " << (mFillControlHistograms ? "yes" : "no") << "\n"
10181028
<< "Invariant mass histograms for Meson candidates: " << (mFillInvMassMeson ? "enabled" : "disabled") << "\n"
1019-
<< "Max. range of multiplicity histograms: " << mMultiplicityRange << "\n";
1029+
<< "Max. range of multiplicity histograms: " << mMultiplicityRange << "\n"
1030+
<< "Min. cluster multiplicity for Meson candidates: " << mMesonMinClusterMultiplicity << "\n"
1031+
<< "Max. cluster mutliplicity for Meson candidates: " << mMesonMaxClusterMultiplicity << "\n";
10201032
}
10211033

10221034
std::ostream& operator<<(std::ostream& stream, const ClusterTask::ClusterizerParams& params)

0 commit comments

Comments
 (0)