diff --git a/PWGLF/Tasks/Strangeness/strangenessInJets.cxx b/PWGLF/Tasks/Strangeness/strangenessInJets.cxx index 689476701e2..e9b0a4a55df 100644 --- a/PWGLF/Tasks/Strangeness/strangenessInJets.cxx +++ b/PWGLF/Tasks/Strangeness/strangenessInJets.cxx @@ -36,16 +36,16 @@ #include "EventFiltering/Zorro.h" #include "EventFiltering/ZorroSummary.h" -#include "CCDB/BasicCCDBManager.h" -#include "CCDB/CcdbApi.h" -#include "Framework/ASoAHelpers.h" -#include "Framework/AnalysisDataModel.h" -#include "Framework/AnalysisTask.h" -#include "Framework/runDataProcessing.h" -#include "ReconstructionDataFormats/Track.h" - -#include "Math/Vector3D.h" -#include "Math/Vector4D.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include #include #include #include @@ -98,7 +98,13 @@ struct StrangenessInJets { HistogramRegistry registryQC{"registryQC", {}, OutputObjHandlingPolicy::AnalysisObject, true, true}; // Global analysis parameters - Configurable particleOfInterest{"particleOfInterest", 0, "0 = K0 and Lambda, 1 = Xi and Omega, 2 = pion, 3 = kaon, 4 = proton"}; + enum ParticleOfInterest { kV0Particles = 0, + kCascades, + kPions, + kKaons, + kProtons, + kParticles }; + Configurable> enabledSignals{"enabledSignals", {1, 0, 0, 0, 0}, "Enable particles"}; Configurable minJetPt{"minJetPt", 10.0, "Minimum reconstructed pt of the jet (GeV/c)"}; Configurable rJet{"rJet", 0.3, "Jet resolution parameter (R)"}; Configurable zVtx{"zVtx", 10.0, "Maximum z-vertex position"}; @@ -150,13 +156,6 @@ struct StrangenessInJets { ConfigurableAxis longLivedBinsDca{"longLivedBinsDca", {VARIABLE_WIDTH, -3.0, -2.95, -2.9, -2.85, -2.8, -2.75, -2.7, -2.65, -2.6, -2.55, -2.5, -2.45, -2.4, -2.35, -2.3, -2.25, -2.2, -2.15, -2.1, -2.05, -2.0, -1.975, -1.95, -1.925, -1.9, -1.875, -1.85, -1.825, -1.8, -1.775, -1.75, -1.725, -1.7, -1.675, -1.65, -1.625, -1.6, -1.575, -1.55, -1.525, -1.5, -1.475, -1.45, -1.425, -1.4, -1.375, -1.35, -1.325, -1.3, -1.275, -1.25, -1.225, -1.2, -1.175, -1.15, -1.125, -1.1, -1.075, -1.05, -1.025, -1.0, -0.99, -0.98, -0.97, -0.96, -0.95, -0.94, -0.93, -0.92, -0.91, -0.9, -0.89, -0.88, -0.87, -0.86, -0.85, -0.84, -0.83, -0.82, -0.81, -0.8, -0.79, -0.78, -0.77, -0.76, -0.75, -0.74, -0.73, -0.72, -0.71, -0.7, -0.69, -0.68, -0.67, -0.66, -0.65, -0.64, -0.63, -0.62, -0.61, -0.6, -0.59, -0.58, -0.57, -0.56, -0.55, -0.54, -0.53, -0.52, -0.51, -0.5, -0.49, -0.48, -0.47, -0.46, -0.45, -0.44, -0.43, -0.42, -0.41, -0.4, -0.396, -0.392, -0.388, -0.384, -0.38, -0.376, -0.372, -0.368, -0.364, -0.36, -0.356, -0.352, -0.348, -0.344, -0.34, -0.336, -0.332, -0.328, -0.324, -0.32, -0.316, -0.312, -0.308, -0.304, -0.3, -0.296, -0.292, -0.288, -0.284, -0.28, -0.276, -0.272, -0.268, -0.264, -0.26, -0.256, -0.252, -0.248, -0.244, -0.24, -0.236, -0.232, -0.228, -0.224, -0.22, -0.216, -0.212, -0.208, -0.204, -0.2, -0.198, -0.196, -0.194, -0.192, -0.19, -0.188, -0.186, -0.184, -0.182, -0.18, -0.178, -0.176, -0.174, -0.172, -0.17, -0.168, -0.166, -0.164, -0.162, -0.16, -0.158, -0.156, -0.154, -0.152, -0.15, -0.148, -0.146, -0.144, -0.142, -0.14, -0.138, -0.136, -0.134, -0.132, -0.13, -0.128, -0.126, -0.124, -0.122, -0.12, -0.118, -0.116, -0.114, -0.112, -0.11, -0.108, -0.106, -0.104, -0.102, -0.1, -0.099, -0.098, -0.097, -0.096, -0.095, -0.094, -0.093, -0.092, -0.091, -0.09, -0.089, -0.088, -0.087, -0.086, -0.085, -0.084, -0.083, -0.082, -0.081, -0.08, -0.079, -0.078, -0.077, -0.076, -0.075, -0.074, -0.073, -0.072, -0.071, -0.07, -0.069, -0.068, -0.067, -0.066, -0.065, -0.064, -0.063, -0.062, -0.061, -0.06, -0.059, -0.058, -0.057, -0.056, -0.055, -0.054, -0.053, -0.052, -0.051, -0.05, -0.049, -0.048, -0.047, -0.046, -0.045, -0.044, -0.043, -0.042, -0.041, -0.04, -0.039, -0.038, -0.037, -0.036, -0.035, -0.034, -0.033, -0.032, -0.031, -0.03, -0.029, -0.028, -0.027, -0.026, -0.025, -0.024, -0.023, -0.022, -0.021, -0.02, -0.019, -0.018, -0.017, -0.016, -0.015, -0.014, -0.013, -0.012, -0.011, -0.01, -0.009, -0.008, -0.007, -0.006, -0.005, -0.004, -0.003, -0.002, -0.001, -0.0, 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.011, 0.012, 0.013, 0.014, 0.015, 0.016, 0.017, 0.018, 0.019, 0.02, 0.021, 0.022, 0.023, 0.024, 0.025, 0.026, 0.027, 0.028, 0.029, 0.03, 0.031, 0.032, 0.033, 0.034, 0.035, 0.036, 0.037, 0.038, 0.039, 0.04, 0.041, 0.042, 0.043, 0.044, 0.045, 0.046, 0.047, 0.048, 0.049, 0.05, 0.051, 0.052, 0.053, 0.054, 0.055, 0.056, 0.057, 0.058, 0.059, 0.06, 0.061, 0.062, 0.063, 0.064, 0.065, 0.066, 0.067, 0.068, 0.069, 0.07, 0.071, 0.072, 0.073, 0.074, 0.075, 0.076, 0.077, 0.078, 0.079, 0.08, 0.081, 0.082, 0.083, 0.084, 0.085, 0.086, 0.087, 0.088, 0.089, 0.09, 0.091, 0.092, 0.093, 0.094, 0.095, 0.096, 0.097, 0.098, 0.099, 0.1, 0.102, 0.104, 0.106, 0.108, 0.11, 0.112, 0.114, 0.116, 0.118, 0.12, 0.122, 0.124, 0.126, 0.128, 0.13, 0.132, 0.134, 0.136, 0.138, 0.14, 0.142, 0.144, 0.146, 0.148, 0.15, 0.152, 0.154, 0.156, 0.158, 0.16, 0.162, 0.164, 0.166, 0.168, 0.17, 0.172, 0.174, 0.176, 0.178, 0.18, 0.182, 0.184, 0.186, 0.188, 0.19, 0.192, 0.194, 0.196, 0.198, 0.2, 0.204, 0.208, 0.212, 0.216, 0.22, 0.224, 0.228, 0.232, 0.236, 0.24, 0.244, 0.248, 0.252, 0.256, 0.26, 0.264, 0.268, 0.272, 0.276, 0.28, 0.284, 0.288, 0.292, 0.296, 0.3, 0.304, 0.308, 0.312, 0.316, 0.32, 0.324, 0.328, 0.332, 0.336, 0.34, 0.344, 0.348, 0.352, 0.356, 0.36, 0.364, 0.368, 0.372, 0.376, 0.38, 0.384, 0.388, 0.392, 0.396, 0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.6, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.9, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 1.0, 1.025, 1.05, 1.075, 1.1, 1.125, 1.15, 1.175, 1.2, 1.225, 1.25, 1.275, 1.3, 1.325, 1.35, 1.375, 1.4, 1.425, 1.45, 1.475, 1.5, 1.525, 1.55, 1.575, 1.6, 1.625, 1.65, 1.675, 1.7, 1.725, 1.75, 1.775, 1.8, 1.825, 1.85, 1.875, 1.9, 1.925, 1.95, 1.975, 2.0, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65, 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3.0}, "Binning of DCA xy and z axis"}; } longLivedOptions; - // List of Particles - enum ParticleOfInterest { kV0Particles, - kCascades, - kPions, - kKaons, - kProtons }; - // Instantiate utility class for jet background subtraction JetBkgSubUtils backgroundSub; @@ -175,6 +174,24 @@ struct StrangenessInJets { zorroSummary.setObject(zorro.getZorroSummary()); } + int enabled = 0; + auto checkEnabled = [&](const ParticleOfInterest particle) { + LOG(info) << "Checking if " << particle << " are enabled"; + if (enabledSignals.value[particle]) { + LOG(info) << particle << " are enabled"; + return 1; + } + return 0; + }; + enabled += checkEnabled(ParticleOfInterest::kV0Particles); + enabled += checkEnabled(ParticleOfInterest::kCascades); + enabled += checkEnabled(ParticleOfInterest::kPions); + enabled += checkEnabled(ParticleOfInterest::kKaons); + enabled += checkEnabled(ParticleOfInterest::kProtons); + if (enabled == 0) { + LOG(fatal) << "At least one particle species must be enabled for the analysis. Please check the configuration of the task." << endl; + } + // Define binning and axis specifications for multiplicity, eta, pT, PID, and invariant mass histograms std::vector multBinning = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; AxisSpec multAxis = {multBinning, "FT0C percentile"}; @@ -196,34 +213,35 @@ struct StrangenessInJets { registryData.add("number_of_events_vsmultiplicity", "number of events in data vs multiplicity", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}}); // Histograms for analysis of strange hadrons - switch (particleOfInterest) { - case ParticleOfInterest::kV0Particles: - registryData.add("Lambda_in_jet", "Lambda_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); - registryData.add("AntiLambda_in_jet", "AntiLambda_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); - registryData.add("Lambda_in_ue", "Lambda_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); - registryData.add("AntiLambda_in_ue", "AntiLambda_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); - registryData.add("K0s_in_jet", "K0s_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassK0sAxis}); - registryData.add("K0s_in_ue", "K0s_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassK0sAxis}); - break; - case ParticleOfInterest::kCascades: - registryData.add("XiPos_in_jet", "XiPos_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); - registryData.add("XiPos_in_ue", "XiPos_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); - registryData.add("XiNeg_in_jet", "XiNeg_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); - registryData.add("XiNeg_in_ue", "XiNeg_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); - registryData.add("OmegaPos_in_jet", "OmegaPos_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); - registryData.add("OmegaPos_in_ue", "OmegaPos_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); - registryData.add("OmegaNeg_in_jet", "OmegaNeg_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); - registryData.add("OmegaNeg_in_ue", "OmegaNeg_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); - break; - case ParticleOfInterest::kPions: - case ParticleOfInterest::kKaons: - case ParticleOfInterest::kProtons: - registryData.add("ll_in_jet", "ll_in_jet", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); - registryData.add("ll_in_ue", "ll_in_ue", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); - break; - default: - LOG(fatal) << "Cannot interpret particle " << particleOfInterest; - break; + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { + registryData.add("Lambda_in_jet", "Lambda_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); + registryData.add("AntiLambda_in_jet", "AntiLambda_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); + registryData.add("Lambda_in_ue", "Lambda_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); + registryData.add("AntiLambda_in_ue", "AntiLambda_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassLambdaAxis}); + registryData.add("K0s_in_jet", "K0s_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassK0sAxis}); + registryData.add("K0s_in_ue", "K0s_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassK0sAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kCascades]) { + registryData.add("XiPos_in_jet", "XiPos_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); + registryData.add("XiPos_in_ue", "XiPos_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); + registryData.add("XiNeg_in_jet", "XiNeg_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); + registryData.add("XiNeg_in_ue", "XiNeg_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassXiAxis}); + registryData.add("OmegaPos_in_jet", "OmegaPos_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); + registryData.add("OmegaPos_in_ue", "OmegaPos_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); + registryData.add("OmegaNeg_in_jet", "OmegaNeg_in_jet", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); + registryData.add("OmegaNeg_in_ue", "OmegaNeg_in_ue", HistType::kTH3F, {multBinning, ptAxis, invMassOmegaAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kPions]) { + registryData.add("Pion_in_jet", "Pion_in_jet", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); + registryData.add("Pion_in_ue", "Pion_in_ue", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kKaons]) { + registryData.add("Kaon_in_jet", "Kaon_in_jet", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); + registryData.add("Kaon_in_ue", "Kaon_in_ue", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kProtons]) { + registryData.add("Proton_in_jet", "Proton_in_jet", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); + registryData.add("Proton_in_ue", "Proton_in_ue", HistType::kTHnSparseF, {multBinning, ptAxisLongLived, nsigmaTPCAxis, nsigmaTOFAxis, dcaAxis}); } } @@ -235,33 +253,35 @@ struct StrangenessInJets { registryMC.add("number_of_events_vsmultiplicity_gen", "number of events vs multiplicity", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}}); // Histograms for analysis - switch (particleOfInterest) { - case ParticleOfInterest::kV0Particles: - registryMC.add("K0s_generated_jet", "K0s_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("K0s_generated_ue", "K0s_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_generated_jet", "Lambda_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_generated_ue", "Lambda_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_generated_jet", "AntiLambda_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_generated_ue", "AntiLambda_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - break; - case ParticleOfInterest::kCascades: - registryMC.add("XiPos_generated_jet", "XiPos_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiPos_generated_ue", "XiPos_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiNeg_generated_jet", "XiNeg_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiNeg_generated_ue", "XiNeg_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaPos_generated_jet", "OmegaPos_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaPos_generated_ue", "OmegaPos_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaNeg_generated_jet", "OmegaNeg_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaNeg_generated_ue", "OmegaNeg_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); - break; - case ParticleOfInterest::kPions: - case ParticleOfInterest::kKaons: - case ParticleOfInterest::kProtons: - registryMC.add("ll_generated_in_jet", "ll_generated_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); - registryMC.add("ll_generated_in_ue", "ll_generated_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); - break; - default: - LOG(fatal) << "Cannot interpret particle " << particleOfInterest; + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { + registryMC.add("K0s_generated_jet", "K0s_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("K0s_generated_ue", "K0s_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_generated_jet", "Lambda_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_generated_ue", "Lambda_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_generated_jet", "AntiLambda_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_generated_ue", "AntiLambda_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kCascades]) { + registryMC.add("XiPos_generated_jet", "XiPos_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiPos_generated_ue", "XiPos_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiNeg_generated_jet", "XiNeg_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiNeg_generated_ue", "XiNeg_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaPos_generated_jet", "OmegaPos_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaPos_generated_ue", "OmegaPos_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaNeg_generated_jet", "OmegaNeg_generated_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaNeg_generated_ue", "OmegaNeg_generated_ue", HistType::kTH2F, {multBinning, ptAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kPions]) { + registryMC.add("Pion_generated_in_jet", "Pion_generated_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Pion_generated_in_ue", "Pion_generated_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); + } + if (enabledSignals.value[ParticleOfInterest::kKaons]) { + registryMC.add("Kaon_generated_in_jet", "Kaon_generated_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Kaon_generated_in_ue", "Kaon_generated_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); + } + if (enabledSignals.value[ParticleOfInterest::kProtons]) { + registryMC.add("Proton_generated_in_jet", "Proton_generated_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Proton_generated_in_ue", "Proton_generated_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); } } @@ -273,40 +293,43 @@ struct StrangenessInJets { registryMC.add("number_of_events_vsmultiplicity_rec", "number of events vs multiplicity", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}}); // Histograms for analysis - switch (particleOfInterest) { - case ParticleOfInterest::kV0Particles: - registryMC.add("K0s_reconstructed_jet", "K0s_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("K0s_reconstructed_ue", "K0s_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_reconstructed_jet", "Lambda_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_reconstructed_ue", "Lambda_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_reconstructed_jet", "AntiLambda_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_reconstructed_ue", "AntiLambda_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - // Histograms for secondary hadrons - registryMC.add("K0s_reconstructed_jet_incl", "K0s_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("K0s_reconstructed_ue_incl", "K0s_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_reconstructed_jet_incl", "Lambda_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("Lambda_reconstructed_ue_incl", "Lambda_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_reconstructed_jet_incl", "AntiLambda_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("AntiLambda_reconstructed_ue_incl", "AntiLambda_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); - break; - case ParticleOfInterest::kCascades: - registryMC.add("XiPos_reconstructed_jet", "XiPos_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiPos_reconstructed_ue", "XiPos_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiNeg_reconstructed_jet", "XiNeg_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("XiNeg_reconstructed_ue", "XiNeg_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaPos_reconstructed_jet", "OmegaPos_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaPos_reconstructed_ue", "OmegaPos_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaNeg_reconstructed_jet", "OmegaNeg_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); - registryMC.add("OmegaNeg_reconstructed_ue", "OmegaNeg_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); - break; - case ParticleOfInterest::kPions: - case ParticleOfInterest::kKaons: - case ParticleOfInterest::kProtons: - registryMC.add("ll_reconstructed_in_jet", "ll_reconstructed_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); - registryMC.add("ll_reconstructed_in_ue", "ll_reconstructed_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); - break; - default: - LOG(fatal) << "Cannot interpret particle " << particleOfInterest; + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { + registryMC.add("K0s_reconstructed_jet", "K0s_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("K0s_reconstructed_ue", "K0s_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_reconstructed_jet", "Lambda_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_reconstructed_ue", "Lambda_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_reconstructed_jet", "AntiLambda_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_reconstructed_ue", "AntiLambda_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + // Histograms for secondary hadrons + registryMC.add("K0s_reconstructed_jet_incl", "K0s_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("K0s_reconstructed_ue_incl", "K0s_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_reconstructed_jet_incl", "Lambda_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("Lambda_reconstructed_ue_incl", "Lambda_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_reconstructed_jet_incl", "AntiLambda_reconstructed_jet_incl", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("AntiLambda_reconstructed_ue_incl", "AntiLambda_reconstructed_ue_incl", HistType::kTH2F, {multBinning, ptAxis}); + } + + if (enabledSignals.value[ParticleOfInterest::kCascades]) { + registryMC.add("XiPos_reconstructed_jet", "XiPos_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiPos_reconstructed_ue", "XiPos_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiNeg_reconstructed_jet", "XiNeg_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("XiNeg_reconstructed_ue", "XiNeg_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaPos_reconstructed_jet", "OmegaPos_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaPos_reconstructed_ue", "OmegaPos_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaNeg_reconstructed_jet", "OmegaNeg_reconstructed_jet", HistType::kTH2F, {multBinning, ptAxis}); + registryMC.add("OmegaNeg_reconstructed_ue", "OmegaNeg_reconstructed_ue", HistType::kTH2F, {multBinning, ptAxis}); + } + if (enabledSignals.value[ParticleOfInterest::kPions]) { + registryMC.add("Pion_reconstructed_in_jet", "Pion_reconstructed_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Pion_reconstructed_in_ue", "Pion_reconstructed_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); + } + if (enabledSignals.value[ParticleOfInterest::kKaons]) { + registryMC.add("Kaon_reconstructed_in_jet", "Kaon_reconstructed_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Kaon_reconstructed_in_ue", "Kaon_reconstructed_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); + } + if (enabledSignals.value[ParticleOfInterest::kProtons]) { + registryMC.add("Proton_reconstructed_in_jet", "Proton_reconstructed_in_jet", HistType::kTH2F, {multBinning, ptAxisLongLived}); + registryMC.add("Proton_reconstructed_in_ue", "Proton_reconstructed_in_ue", HistType::kTH2F, {multBinning, ptAxisLongLived}); } } } @@ -999,156 +1022,151 @@ struct StrangenessInJets { // Loop over selected jets for (int i = 0; i < static_cast(selectedJet.size()); i++) { - switch (particleOfInterest) { - case ParticleOfInterest::kV0Particles: // V0s - for (const auto& v0 : fullV0s) { - - // Get V0 daughters - const auto& pos = v0.posTrack_as(); - const auto& neg = v0.negTrack_as(); - TVector3 v0dir(v0.px(), v0.py(), v0.pz()); - - // Calculate distance from jet and UE axes - const float deltaEtaJet = v0dir.Eta() - selectedJet[i].Eta(); - const float deltaPhiJet = getDeltaPhi(v0dir.Phi(), selectedJet[i].Phi()); - const float deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); - const float deltaEtaUe1 = v0dir.Eta() - ue1[i].Eta(); - const float deltaPhiUe1 = getDeltaPhi(v0dir.Phi(), ue1[i].Phi()); - const float deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); - const float deltaEtaUe2 = v0dir.Eta() - ue2[i].Eta(); - const float deltaPhiUe2 = getDeltaPhi(v0dir.Phi(), ue2[i].Phi()); - const float deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); - - // K0s - if (passedK0ShortSelection(v0, pos, neg)) { - if (deltaRjet < rJet) { - registryData.fill(HIST("K0s_in_jet"), multiplicity, v0.pt(), v0.mK0Short()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("K0s_in_ue"), multiplicity, v0.pt(), v0.mK0Short()); - } + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { + for (const auto& v0 : fullV0s) { + // Get V0 daughters + const auto& pos = v0.posTrack_as(); + const auto& neg = v0.negTrack_as(); + TVector3 v0dir(v0.px(), v0.py(), v0.pz()); + + // Calculate distance from jet and UE axes + const float deltaEtaJet = v0dir.Eta() - selectedJet[i].Eta(); + const float deltaPhiJet = getDeltaPhi(v0dir.Phi(), selectedJet[i].Phi()); + const float deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); + const float deltaEtaUe1 = v0dir.Eta() - ue1[i].Eta(); + const float deltaPhiUe1 = getDeltaPhi(v0dir.Phi(), ue1[i].Phi()); + const float deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); + const float deltaEtaUe2 = v0dir.Eta() - ue2[i].Eta(); + const float deltaPhiUe2 = getDeltaPhi(v0dir.Phi(), ue2[i].Phi()); + const float deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); + + // K0s + if (passedK0ShortSelection(v0, pos, neg)) { + if (deltaRjet < rJet) { + registryData.fill(HIST("K0s_in_jet"), multiplicity, v0.pt(), v0.mK0Short()); } - // Lambda - if (passedLambdaSelection(v0, pos, neg)) { - if (deltaRjet < rJet) { - registryData.fill(HIST("Lambda_in_jet"), multiplicity, v0.pt(), v0.mLambda()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("Lambda_in_ue"), multiplicity, v0.pt(), v0.mLambda()); - } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("K0s_in_ue"), multiplicity, v0.pt(), v0.mK0Short()); } - // AntiLambda - if (passedAntiLambdaSelection(v0, pos, neg)) { - if (deltaRjet < rJet) { - registryData.fill(HIST("AntiLambda_in_jet"), multiplicity, v0.pt(), v0.mAntiLambda()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("AntiLambda_in_ue"), multiplicity, v0.pt(), v0.mAntiLambda()); - } + } + // Lambda + if (passedLambdaSelection(v0, pos, neg)) { + if (deltaRjet < rJet) { + registryData.fill(HIST("Lambda_in_jet"), multiplicity, v0.pt(), v0.mLambda()); + } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("Lambda_in_ue"), multiplicity, v0.pt(), v0.mLambda()); } } - break; - case ParticleOfInterest::kCascades: // Cascades - for (const auto& casc : Cascades) { - // Get cascade daughters - const auto& bach = casc.bachelor_as(); - const auto& pos = casc.posTrack_as(); - const auto& neg = casc.negTrack_as(); - TVector3 cascadeDir(casc.px(), casc.py(), casc.pz()); - - // Calculate distance from jet and UE axes - const double deltaEtaJet = cascadeDir.Eta() - selectedJet[i].Eta(); - const double deltaPhiJet = getDeltaPhi(cascadeDir.Phi(), selectedJet[i].Phi()); - const double deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); - const double deltaEtaUe1 = cascadeDir.Eta() - ue1[i].Eta(); - const double deltaPhiUe1 = getDeltaPhi(cascadeDir.Phi(), ue1[i].Phi()); - const double deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); - const double deltaEtaUe2 = cascadeDir.Eta() - ue2[i].Eta(); - const double deltaPhiUe2 = getDeltaPhi(cascadeDir.Phi(), ue2[i].Phi()); - const double deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); + // AntiLambda + if (passedAntiLambdaSelection(v0, pos, neg)) { + if (deltaRjet < rJet) { + registryData.fill(HIST("AntiLambda_in_jet"), multiplicity, v0.pt(), v0.mAntiLambda()); + } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("AntiLambda_in_ue"), multiplicity, v0.pt(), v0.mAntiLambda()); + } + } + } + } - // Xi+ - if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) { - if (deltaRjet < rJet) { - registryData.fill(HIST("XiPos_in_jet"), multiplicity, casc.pt(), casc.mXi()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("XiPos_in_ue"), multiplicity, casc.pt(), casc.mXi()); - } + if (enabledSignals.value[ParticleOfInterest::kCascades]) { + for (const auto& casc : Cascades) { + // Get cascade daughters + const auto& bach = casc.bachelor_as(); + const auto& pos = casc.posTrack_as(); + const auto& neg = casc.negTrack_as(); + TVector3 cascadeDir(casc.px(), casc.py(), casc.pz()); + + // Calculate distance from jet and UE axes + const double deltaEtaJet = cascadeDir.Eta() - selectedJet[i].Eta(); + const double deltaPhiJet = getDeltaPhi(cascadeDir.Phi(), selectedJet[i].Phi()); + const double deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); + const double deltaEtaUe1 = cascadeDir.Eta() - ue1[i].Eta(); + const double deltaPhiUe1 = getDeltaPhi(cascadeDir.Phi(), ue1[i].Phi()); + const double deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); + const double deltaEtaUe2 = cascadeDir.Eta() - ue2[i].Eta(); + const double deltaPhiUe2 = getDeltaPhi(cascadeDir.Phi(), ue2[i].Phi()); + const double deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); + + // Xi+ + if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) { + if (deltaRjet < rJet) { + registryData.fill(HIST("XiPos_in_jet"), multiplicity, casc.pt(), casc.mXi()); } - // Xi- - if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) { - if (deltaRjet < rJet) { - registryData.fill(HIST("XiNeg_in_jet"), multiplicity, casc.pt(), casc.mXi()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("XiNeg_in_ue"), multiplicity, casc.pt(), casc.mXi()); - } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("XiPos_in_ue"), multiplicity, casc.pt(), casc.mXi()); } - // Omega+ - if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) { - if (deltaRjet < rJet) { - registryData.fill(HIST("OmegaPos_in_jet"), multiplicity, casc.pt(), casc.mOmega()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("OmegaPos_in_ue"), multiplicity, casc.pt(), casc.mOmega()); - } + } + // Xi- + if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) { + if (deltaRjet < rJet) { + registryData.fill(HIST("XiNeg_in_jet"), multiplicity, casc.pt(), casc.mXi()); } - // Omega- - if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) { - if (deltaRjet < rJet) { - registryData.fill(HIST("OmegaNeg_in_jet"), multiplicity, casc.pt(), casc.mOmega()); - } - if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("OmegaNeg_in_ue"), multiplicity, casc.pt(), casc.mOmega()); - } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("XiNeg_in_ue"), multiplicity, casc.pt(), casc.mXi()); } } - break; - case ParticleOfInterest::kPions: - case ParticleOfInterest::kKaons: - case ParticleOfInterest::kProtons: - for (const auto& trk : tracks) { - - if (!passedSingleTrackSelection(trk)) { - continue; + // Omega+ + if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) { + if (deltaRjet < rJet) { + registryData.fill(HIST("OmegaPos_in_jet"), multiplicity, casc.pt(), casc.mOmega()); } - - const double deltaEtaJet = trk.eta() - selectedJet[i].Eta(); - const double deltaPhiJet = getDeltaPhi(trk.phi(), selectedJet[i].Phi()); - const double deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); - const double deltaEtaUe1 = trk.eta() - ue1[i].Eta(); - const double deltaPhiUe1 = getDeltaPhi(trk.phi(), ue1[i].Phi()); - const double deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); - const double deltaEtaUe2 = trk.eta() - ue2[i].Eta(); - const double deltaPhiUe2 = getDeltaPhi(trk.phi(), ue2[i].Phi()); - const double deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); - - float nsigmaTPC = 0.f; - float nsigmaTOF = 0.f; - switch (particleOfInterest) { - case ParticleOfInterest::kPions: - nsigmaTPC = trk.tpcNSigmaPi(); - nsigmaTOF = trk.tofNSigmaPi(); - break; - case ParticleOfInterest::kKaons: - nsigmaTPC = trk.tpcNSigmaKa(); - nsigmaTOF = trk.tofNSigmaKa(); - break; - case ParticleOfInterest::kProtons: - nsigmaTPC = trk.tpcNSigmaPr(); - nsigmaTOF = trk.tofNSigmaPr(); - break; + if (deltaRue1 < rJet || deltaRue2 < rJet) { + registryData.fill(HIST("OmegaPos_in_ue"), multiplicity, casc.pt(), casc.mOmega()); } - + } + // Omega- + if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) { if (deltaRjet < rJet) { - registryData.fill(HIST("ll_in_jet"), multiplicity, trk.pt() * trk.sign(), nsigmaTPC, nsigmaTOF, trk.dcaXY()); + registryData.fill(HIST("OmegaNeg_in_jet"), multiplicity, casc.pt(), casc.mOmega()); } if (deltaRue1 < rJet || deltaRue2 < rJet) { - registryData.fill(HIST("ll_in_ue"), multiplicity, trk.pt() * trk.sign(), nsigmaTPC, nsigmaTOF, trk.dcaXY()); + registryData.fill(HIST("OmegaNeg_in_ue"), multiplicity, casc.pt(), casc.mOmega()); + } + } + } + } + if (enabledSignals.value[ParticleOfInterest::kPions] || enabledSignals.value[ParticleOfInterest::kKaons] || enabledSignals.value[ParticleOfInterest::kProtons]) { + for (const auto& trk : tracks) { + + if (!passedSingleTrackSelection(trk)) { + continue; + } + + const double deltaEtaJet = trk.eta() - selectedJet[i].Eta(); + const double deltaPhiJet = getDeltaPhi(trk.phi(), selectedJet[i].Phi()); + const double deltaRjet = std::sqrt(deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet); + const double deltaEtaUe1 = trk.eta() - ue1[i].Eta(); + const double deltaPhiUe1 = getDeltaPhi(trk.phi(), ue1[i].Phi()); + const double deltaRue1 = std::sqrt(deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1); + const double deltaEtaUe2 = trk.eta() - ue2[i].Eta(); + const double deltaPhiUe2 = getDeltaPhi(trk.phi(), ue2[i].Phi()); + const double deltaRue2 = std::sqrt(deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2); + + if (deltaRjet < rJet) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { + registryData.fill(HIST("Pion_in_jet"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaPi(), trk.tofNSigmaPi(), trk.dcaXY()); + } + if (enabledSignals.value[ParticleOfInterest::kKaons]) { + registryData.fill(HIST("Kaon_in_jet"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaKa(), trk.tofNSigmaKa(), trk.dcaXY()); + } + if (enabledSignals.value[ParticleOfInterest::kProtons]) { + registryData.fill(HIST("Proton_in_jet"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaPr(), trk.tofNSigmaPr(), trk.dcaXY()); + } + } + if (deltaRue1 < rJet || deltaRue2 < rJet) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { + registryData.fill(HIST("Pion_in_ue"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaPi(), trk.tofNSigmaPi(), trk.dcaXY()); + } + if (enabledSignals.value[ParticleOfInterest::kKaons]) { + registryData.fill(HIST("Kaon_in_ue"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaKa(), trk.tofNSigmaKa(), trk.dcaXY()); + } + if (enabledSignals.value[ParticleOfInterest::kProtons]) { + registryData.fill(HIST("Proton_in_ue"), multiplicity, trk.pt() * trk.sign(), trk.tpcNSigmaPr(), trk.tofNSigmaPr(), trk.dcaXY()); } } - break; + } } } } @@ -1285,67 +1303,67 @@ struct StrangenessInJets { if (deltaRJet < coneRadius) { switch (pdg[index]) { case kK0Short: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("K0s_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kLambda0: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("Lambda_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kLambda0Bar: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("AntiLambda_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kXiMinus: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("XiNeg_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kXiPlusBar: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("XiPos_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kOmegaMinus: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("OmegaNeg_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kOmegaPlusBar: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("OmegaPos_generated_jet"), genMultiplicity, hadron.Pt()); } break; case kPiPlus: - if (particleOfInterest == ParticleOfInterest::kPions) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt()); } break; case kKPlus: - if (particleOfInterest == ParticleOfInterest::kKaons) { + if (enabledSignals.value[ParticleOfInterest::kKaons]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt()); } break; case kProton: - if (particleOfInterest == ParticleOfInterest::kProtons) { + if (enabledSignals.value[ParticleOfInterest::kProtons]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt()); } break; case kPiMinus: - if (particleOfInterest == ParticleOfInterest::kPions) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt() * -1.f); } break; case kKMinus: - if (particleOfInterest == ParticleOfInterest::kKaons) { + if (enabledSignals.value[ParticleOfInterest::kKaons]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt() * -1.f); } break; case kProtonBar: - if (particleOfInterest == ParticleOfInterest::kProtons) { + if (enabledSignals.value[ParticleOfInterest::kProtons]) { registryMC.fill(HIST("ll_generated_in_jet"), genMultiplicity, hadron.Pt() * -1.f); } break; @@ -1358,67 +1376,67 @@ struct StrangenessInJets { if (deltaRUe1 < coneRadius || deltaRUe2 < coneRadius) { switch (pdg[index]) { case kK0Short: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("K0s_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kLambda0: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("Lambda_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kLambda0Bar: - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { registryMC.fill(HIST("AntiLambda_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kXiMinus: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("XiNeg_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kXiPlusBar: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("XiPos_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kOmegaMinus: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("OmegaNeg_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kOmegaPlusBar: - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { registryMC.fill(HIST("OmegaPos_generated_ue"), genMultiplicity, hadron.Pt()); } break; case kPiPlus: - if (particleOfInterest == ParticleOfInterest::kPions) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt()); } break; case kKPlus: - if (particleOfInterest == ParticleOfInterest::kKaons) { + if (enabledSignals.value[ParticleOfInterest::kKaons]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt()); } break; case kProton: - if (particleOfInterest == ParticleOfInterest::kProtons) { + if (enabledSignals.value[ParticleOfInterest::kProtons]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt()); } break; case kPiMinus: - if (particleOfInterest == ParticleOfInterest::kPions) { + if (enabledSignals.value[ParticleOfInterest::kPions]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt() * -1.f); } break; case kKMinus: - if (particleOfInterest == ParticleOfInterest::kKaons) { + if (enabledSignals.value[ParticleOfInterest::kKaons]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt() * -1.f); } break; case kProtonBar: - if (particleOfInterest == ParticleOfInterest::kProtons) { + if (enabledSignals.value[ParticleOfInterest::kProtons]) { registryMC.fill(HIST("ll_generated_in_ue"), genMultiplicity, hadron.Pt() * -1.f); } break; @@ -1544,7 +1562,7 @@ struct StrangenessInJets { for (int i = 0; i < static_cast(selectedJet.size()); i++) { // V0 particles - if (particleOfInterest == ParticleOfInterest::kV0Particles) { + if (enabledSignals.value[ParticleOfInterest::kV0Particles]) { for (const auto& v0 : v0sPerColl) { const auto& pos = v0.posTrack_as(); const auto& neg = v0.negTrack_as(); @@ -1643,7 +1661,7 @@ struct StrangenessInJets { } // Cascades - if (particleOfInterest == ParticleOfInterest::kCascades) { + if (enabledSignals.value[ParticleOfInterest::kCascades]) { for (const auto& casc : cascPerColl) { auto bach = casc.bachelor_as(); auto pos = casc.posTrack_as();