@@ -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