Skip to content

Commit 66acd67

Browse files
committed
Configurable invariant mass axis
1 parent 6fb0f69 commit 66acd67

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

PWGCF/Tasks/correlations.cxx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ struct CorrelationTask {
8181
O2_DEFINE_CONFIGURABLE(cfgVerbosity, int, 1, "Verbosity level (0 = major, 1 = per collision)")
8282

8383
O2_DEFINE_CONFIGURABLE(cfgDecayParticleMask, int, 0, "Selection bitmask for the decay particles: 0 = no selection")
84+
O2_DEFINE_CONFIGURABLE(cfgMassAxis, int, 0, "Use invariant mass axis (0 = OFF, 1 = ON)")
8485

8586
ConfigurableAxis axisVertex{"axisVertex", {7, -7, 7}, "vertex axis for histograms"};
8687
ConfigurableAxis axisDeltaPhi{"axisDeltaPhi", {72, -PIHalf, PIHalf * 3}, "delta phi axis for histograms"};
@@ -93,8 +94,7 @@ struct CorrelationTask {
9394
ConfigurableAxis axisEtaEfficiency{"axisEtaEfficiency", {20, -1.0, 1.0}, "eta axis for efficiency histograms"};
9495
ConfigurableAxis axisPtEfficiency{"axisPtEfficiency", {VARIABLE_WIDTH, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0}, "pt axis for efficiency histograms"};
9596

96-
// Use one mass bin only by default in case mass dependency is not needed
97-
ConfigurableAxis axisInvMass{"axisInvMass", {1, -1.0, 1.0}, "invariant mass axis for histograms"};
97+
ConfigurableAxis axisInvMass{"axisInvMass", {VARIABLE_WIDTH, 0, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0, 5.0}, "invariant mass axis for histograms"};
9898
ConfigurableAxis axisInvMassHistogram{"axisInvMassHistogram", {1000, 1.0, 3.0}, "invariant mass histogram binning"};
9999

100100
// This filter is applied to AOD and derived data (column names are identical)
@@ -177,7 +177,7 @@ struct CorrelationTask {
177177
std::vector<AxisSpec> effAxis = {{axisEtaEfficiency, "#eta"},
178178
{axisPtEfficiency, "p_{T} (GeV/c)"},
179179
{axisVertexEfficiency, "z-vtx (cm)"}};
180-
std::vector<AxisSpec> userAxis = {{axisInvMass, "m (GeV/c^2)"}};
180+
std::vector<AxisSpec> userAxis = cfgMassAxis != 0 ? {{axisInvMass, "m (GeV/c^2)"}} : {};
181181
same.setObject(new CorrelationContainer("sameEvent", "sameEvent", corrAxis, effAxis, userAxis));
182182
mixed.setObject(new CorrelationContainer("mixedEvent", "mixedEvent", corrAxis, effAxis, userAxis));
183183

@@ -385,14 +385,15 @@ struct CorrelationTask {
385385
deltaPhi += TwoPI;
386386
}
387387

388-
float invMass;
389-
if constexpr (std::experimental::is_detected<hasInvMass, typename TTracks1::iterator>::value)
390-
invMass = track1.invMass();
391-
else
392-
invMass = 0.0f;
393388
// last param is the weight
394-
target->getPairHist()->Fill(step,
395-
track1.eta() - track2.eta(), track2.pt(), track1.pt(), multiplicity, deltaPhi, posZ, invMass, associatedWeight);
389+
const double params[] = {track1.eta() - track2.eta(), track2.pt(), track1.pt(), multiplicity, deltaPhi, posZ, associatedWeight, associatedWeight};
390+
if (cfgMassAxis) {
391+
if constexpr (std::experimental::is_detected<hasInvMass, typename TTracks1::iterator>::value)
392+
params[6] = track1.invMass();
393+
else
394+
params[6] = 0.0f;
395+
}
396+
target->getPairHist()->Fill(step, 7 + cfgMassAxis, params);
396397
}
397398
}
398399
}

0 commit comments

Comments
 (0)