diff --git a/PWGJE/Core/JetDerivedDataUtilities.cxx b/PWGJE/Core/JetDerivedDataUtilities.cxx deleted file mode 100644 index 223283fb9dc..00000000000 --- a/PWGJE/Core/JetDerivedDataUtilities.cxx +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2019-2020 CERN and copyright holders of ALICE O2. -// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. -// All rights not expressly granted are reserved. -// -// This software is distributed under the terms of the GNU General Public -// License v3 (GPL Version 3), copied verbatim in the file "COPYING". -// -// In applying this license CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -// jet derived data utilities -// -/// \author Nima Zardoshti -#include "PWGJE/Core/JetDerivedDataUtilities.h" diff --git a/PWGJE/Core/JetTaggingUtilities.h b/PWGJE/Core/JetTaggingUtilities.h index 56c4d26b989..2b3aee86ed7 100644 --- a/PWGJE/Core/JetTaggingUtilities.h +++ b/PWGJE/Core/JetTaggingUtilities.h @@ -541,7 +541,7 @@ bool svAcceptance(T const& sv, float svDispersionMax) * positive value is expected from secondary vertex * * @param jet - * @param track which is needed aod::JTrackExtras + * @param track which is needed o2::aod::JTrackExtras */ template int getGeoSign(T const& jet, U const& track) diff --git a/PWGJE/Core/JetUtilities.cxx b/PWGJE/Core/JetUtilities.cxx deleted file mode 100644 index cf275cfcd48..00000000000 --- a/PWGJE/Core/JetUtilities.cxx +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2019-2020 CERN and copyright holders of ALICE O2. -// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. -// All rights not expressly granted are reserved. -// -// This software is distributed under the terms of the GNU General Public -// License v3 (GPL Version 3), copied verbatim in the file "COPYING". -// -// In applying this license CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -// jet utilities -// -// Author: Nima Zardoshti -#include "PWGJE/Core/JetUtilities.h" diff --git a/PWGJE/Core/MlResponseHfTagging.h b/PWGJE/Core/MlResponseHfTagging.h index 2b07e1c1c25..f2fb343e4ea 100644 --- a/PWGJE/Core/MlResponseHfTagging.h +++ b/PWGJE/Core/MlResponseHfTagging.h @@ -18,11 +18,10 @@ #include "Tools/ML/MlResponse.h" -#include - #include #include +#include #include #include @@ -330,6 +329,7 @@ class TensorAllocator { protected: Ort::MemoryInfo memInfo; + public: TensorAllocator() : memInfo(Ort::MemoryInfo::CreateCpu(OrtAllocatorType::OrtArenaAllocator, OrtMemType::OrtMemTypeDefault)) @@ -426,7 +426,7 @@ class GNNBjetAllocator : public TensorAllocator } ~GNNBjetAllocator() = default; - // Copy operator for initializing GNNBjetAllocator using Configurable values + // Copy operator for initializing GNNBjetAllocator using o2::framework::Configurable values GNNBjetAllocator& operator=(const GNNBjetAllocator& other) { nJetFeat = other.nJetFeat; diff --git a/PWGJE/DataModel/JetTagging.h b/PWGJE/DataModel/JetTagging.h index 9d8f5eceb80..a6b32458543 100644 --- a/PWGJE/DataModel/JetTagging.h +++ b/PWGJE/DataModel/JetTagging.h @@ -18,11 +18,11 @@ #ifndef PWGJE_DATAMODEL_JETTAGGING_H_ #define PWGJE_DATAMODEL_JETTAGGING_H_ -#include "RecoDecay.h" - #include "PWGJE/Core/JetTaggingUtilities.h" #include "PWGJE/DataModel/Jet.h" // IWYU pragma: keep +#include "Common/Core/RecoDecay.h" + #include #include diff --git a/PWGJE/JetFinders/Duplicates/jetFinderDataCharged1.cxx b/PWGJE/JetFinders/Duplicates/jetFinderDataCharged1.cxx index ac0363bf901..d3688ceb44b 100644 --- a/PWGJE/JetFinders/Duplicates/jetFinderDataCharged1.cxx +++ b/PWGJE/JetFinders/Duplicates/jetFinderDataCharged1.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDataCharged1 = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/Duplicates/jetFinderMCDCharged1.cxx b/PWGJE/JetFinders/Duplicates/jetFinderMCDCharged1.cxx index 49f2ce1d957..87b2bdef2df 100644 --- a/PWGJE/JetFinders/Duplicates/jetFinderMCDCharged1.cxx +++ b/PWGJE/JetFinders/Duplicates/jetFinderMCDCharged1.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCDetectorLevelCharged1 = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/Duplicates/jetFinderMCPCharged1.cxx b/PWGJE/JetFinders/Duplicates/jetFinderMCPCharged1.cxx index 1ae7eed6100..fda34ef592e 100644 --- a/PWGJE/JetFinders/Duplicates/jetFinderMCPCharged1.cxx +++ b/PWGJE/JetFinders/Duplicates/jetFinderMCPCharged1.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCParticleLevelCharged1 = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinder.cxx b/PWGJE/JetFinders/jetFinder.cxx deleted file mode 100644 index 2f7bff05519..00000000000 --- a/PWGJE/JetFinders/jetFinder.cxx +++ /dev/null @@ -1,282 +0,0 @@ -// Copyright 2019-2020 CERN and copyright holders of ALICE O2. -// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. -// All rights not expressly granted are reserved. -// -// This software is distributed under the terms of the GNU General Public -// License v3 (GPL Version 3), copied verbatim in the file "COPYING". -// -// In applying this license CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -// jet finder task -// -/// \author Nima Zardoshti -/// \author Jochen Klein -/// \author Raymond Ehlers , ORNL - -#include "PWGJE/Core/JetFinder.h" - -#include "PWGJE/Core/JetDerivedDataUtilities.h" -#include "PWGJE/Core/JetFindingUtilities.h" -#include "PWGJE/DataModel/EMCALClusterDefinition.h" -#include "PWGJE/DataModel/EMCALClusters.h" -#include "PWGJE/DataModel/Jet.h" -#include "PWGJE/DataModel/JetReducedData.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export - -#include -#include - -#include -#include - -#include -#include -#include - -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - -template -struct JetFinderTask { - Produces jetsTable; - Produces constituentsTable; - Produces jetsEvtWiseSubTable; - Produces constituentsEvtWiseSubTable; - - HistogramRegistry registry; - - // event level configurables - Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; - Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; - Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; - Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; - Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; - Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; - Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; - Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; - - // track level configurables - Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; - Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; - Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; - Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; - Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; - Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; - Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; - Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; - Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; - Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; - Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; - - // cluster level configurables - Configurable clusterDefinitionS{"clusterDefinition", "kV3Default", "cluster definition to be selected, e.g. V3Default"}; - Configurable clusterEtaMin{"clusterEtaMin", -0.71, "minimum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 - Configurable clusterEtaMax{"clusterEtaMax", 0.71, "maximum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 - Configurable clusterPhiMin{"clusterPhiMin", 1.39, "minimum cluster phi"}; - Configurable clusterPhiMax{"clusterPhiMax", 3.27, "maximum cluster phi"}; - Configurable clusterEnergyMin{"clusterEnergyMin", 0.5, "minimum cluster energy in EMCAL (GeV)"}; - Configurable clusterTimeMin{"clusterTimeMin", -25., "minimum Cluster time (ns)"}; - Configurable clusterTimeMax{"clusterTimeMax", 25., "maximum Cluster time (ns)"}; - Configurable clusterRejectExotics{"clusterRejectExotics", true, "Reject exotic clusters"}; - Configurable hadronicCorrectionType{"hadronicCorrectionType", 0, "0 = no correction, 1 = CorrectedOneTrack1, 2 = CorrectedOneTrack2, 3 = CorrectedAllTracks1, 4 = CorrectedAllTracks2"}; - Configurable doEMCALEventSelection{"doEMCALEventSelection", true, "apply the selection to the event alias_bit for full and neutral jets"}; - Configurable doEMCALEventSelectionChargedJets{"doEMCALEventSelectionChargedJets", false, "apply the selection to the event alias_bit for charged jets"}; - - // jet level configurables - Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; - Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; - Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; - Configurable jetEWSPtMin{"jetEWSPtMin", 0.0, "minimum event-wise subtracted jet pT"}; - Configurable jetEWSPtMax{"jetEWSPtMax", 1000.0, "maximum event-wise subtracted jet pT"}; - Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; - Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; - Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; - Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; - Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; - Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; - Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; - Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; - Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; - Configurable fillTHnSparse{"fillTHnSparse", false, "switch to fill the THnSparse"}; - Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; - - Service pdgDatabase; - int trackSelection = -1; - std::vector eventSelectionBits; - std::string particleSelection; - - JetFinder jetFinder; - std::vector inputParticles; - - std::vector triggerMaskBits; - - void init(InitContext const&) - { - eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(eventSelections)); - triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks); - trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast(trackSelections)); - particleSelection = static_cast(particleSelections); - - jetFinder.etaMin = trackEtaMin; - jetFinder.etaMax = trackEtaMax; - jetFinder.jetEtaMin = jetEtaMin; - jetFinder.jetEtaMax = jetEtaMax; - if (jetEtaMin < -98.0) { - jetFinder.jetEtaDefault = true; - } - jetFinder.algorithm = static_cast(static_cast(jetAlgorithm)); - jetFinder.recombScheme = static_cast(static_cast(jetRecombScheme)); - jetFinder.ghostArea = jetGhostArea; - jetFinder.ghostRepeatN = ghostRepeat; - if (DoTriggering) { - jetFinder.isTriggering = true; - } - jetFinder.fastjetExtraParam = jetExtraParam; - - auto jetRadiiBins = (std::vector)jetRadius; - if (jetRadiiBins.size() > 1) { - jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + (TMath::Abs(jetRadiiBins[jetRadiiBins.size() - 1] - jetRadiiBins[jetRadiiBins.size() - 2]))); - } else { - jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + 0.1); - } - int jetPtMaxInt = static_cast(jetPtMax); - int jetPtMinInt = static_cast(jetPtMin); - jetPtMinInt = (jetPtMinInt / jetPtBinWidth) * jetPtBinWidth; - jetPtMaxInt = ((jetPtMaxInt + jetPtBinWidth - 1) / jetPtBinWidth) * jetPtBinWidth; - int jetPtBinNumber = (jetPtMaxInt - jetPtMinInt) / jetPtBinWidth; - double jetPtMinDouble = static_cast(jetPtMinInt); - double jetPtMaxDouble = static_cast(jetPtMaxInt); - - if (fillTHnSparse) { - registry.add("hJet", "sparse for data or mcd jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - registry.add("hJetEWS", "sparse for data or mcd event-wise subtracted jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - registry.add("hJetMCP", "sparse for mcp jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - registry.add("hJetEWSMCP", "sparse for mcp event-wise subtracted jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - } - - if (applyTrackingEfficiency) { - if (trackingEfficiencyPtBinning->size() < 2) { - LOGP(fatal, "jetFinder workflow: trackingEfficiencyPtBinning configurable should have at least two bin edges"); - } - if (trackingEfficiency->size() + 1 != trackingEfficiencyPtBinning->size()) { - LOGP(fatal, "jetFinder workflow: trackingEfficiency configurable should have exactly one less entry than the number of bin edges set in trackingEfficiencyPtBinning configurable"); - } - } - } - - aod::EMCALClusterDefinition clusterDefinition = aod::emcalcluster::getClusterDefinitionFromString(clusterDefinitionS.value); - Filter collisionFilter = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centFT0M >= centralityMin && aod::jcollision::centFT0M < centralityMax && aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); // should we add a posZ vtx cut here or leave it to analysers? - Filter mcCollisionFilter = (nabs(aod::jmccollision::posZ) < vertexZCut); - Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta >= trackEtaMin && aod::jtrack::eta <= trackEtaMax && aod::jtrack::phi >= trackPhiMin && aod::jtrack::phi <= trackPhiMax); // do we need eta cut both here and in globalselection? - Filter partCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta >= trackEtaMin && aod::jmcparticle::eta <= trackEtaMax && aod::jmcparticle::phi >= trackPhiMin && aod::jmcparticle::phi <= trackPhiMax); - Filter clusterFilter = (aod::jcluster::definition == static_cast(clusterDefinition) && aod::jcluster::eta >= clusterEtaMin && aod::jcluster::eta <= clusterEtaMax && aod::jcluster::phi >= clusterPhiMin && aod::jcluster::phi <= clusterPhiMax && aod::jcluster::energy >= clusterEnergyMin && aod::jcluster::time > clusterTimeMin && aod::jcluster::time < clusterTimeMax && (clusterRejectExotics && aod::jcluster::isExotic != true)); - - void processChargedJets(soa::Filtered::iterator const& collision, - soa::Filtered const& tracks) - { - if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits) || (doEMCALEventSelectionChargedJets && !jetderiveddatautilities::eventEMCAL(collision))) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseTracks, soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); - } - - PROCESS_SWITCH(JetFinderTask, processChargedJets, "Data and reco level jet finding for charged jets", false); - - void processChargedEvtWiseSubJets(soa::Filtered::iterator const& collision, - soa::Filtered const& tracks) - { - if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits) || (doEMCALEventSelectionChargedJets && !jetderiveddatautilities::eventEMCAL(collision))) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseTracks, soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); - jetfindingutilities::findJets(jetFinder, inputParticles, jetEWSPtMin, jetEWSPtMax, jetRadius, jetAreaFractionMin, collision, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, fillTHnSparse ? registry.get(HIST("hJetEWS")) : std::shared_ptr(nullptr), fillTHnSparse); - } - - PROCESS_SWITCH(JetFinderTask, processChargedEvtWiseSubJets, "Data and reco level jet finding for charged jets with event-wise constituent subtraction", false); - - void processNeutralJets(soa::Filtered::iterator const& collision, - soa::Filtered const& clusters) - { - if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseClusters(inputParticles, &clusters); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); - } - PROCESS_SWITCH(JetFinderTask, processNeutralJets, "Data and reco level jet finding for neutral jets", false); - - void processFullJets(soa::Filtered::iterator const& collision, - soa::Filtered const& tracks, - soa::Filtered const& clusters) - { - if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseTracks, soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); - jetfindingutilities::analyseClusters(inputParticles, &clusters, hadronicCorrectionType); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); - } - PROCESS_SWITCH(JetFinderTask, processFullJets, "Data and reco level jet finding for full and neutral jets", false); - - void processParticleLevelChargedJets(soa::Filtered::iterator const& mcCollision, soa::Filtered const& particles) - { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseParticles, soa::Filtered::iterator>(inputParticles, particleSelection, 1, particles, pdgDatabase); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); - } - PROCESS_SWITCH(JetFinderTask, processParticleLevelChargedJets, "Particle level charged jet finding", false); - - void processParticleLevelChargedEvtWiseSubJets(soa::Filtered::iterator const& mcCollision, soa::Filtered const& particles) - { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseParticles, soa::Filtered::iterator>(inputParticles, particleSelection, 1, particles, pdgDatabase); - jetfindingutilities::findJets(jetFinder, inputParticles, jetEWSPtMin, jetEWSPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, fillTHnSparse ? registry.get(HIST("hJetEWSMCP")) : std::shared_ptr(nullptr), fillTHnSparse); - } - PROCESS_SWITCH(JetFinderTask, processParticleLevelChargedEvtWiseSubJets, "Particle level charged with event-wise constituent subtraction jet finding", false); - - void processParticleLevelNeutralJets(soa::Filtered::iterator const& mcCollision, soa::Filtered const& particles) - { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseParticles, soa::Filtered::iterator>(inputParticles, particleSelection, 2, particles, pdgDatabase); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); - } - PROCESS_SWITCH(JetFinderTask, processParticleLevelNeutralJets, "Particle level neutral jet finding", false); - - void processParticleLevelFullJets(soa::Filtered::iterator const& mcCollision, soa::Filtered const& particles) - { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { - return; - } - inputParticles.clear(); - jetfindingutilities::analyseParticles, soa::Filtered::iterator>(inputParticles, particleSelection, 0, particles, pdgDatabase); - jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); - } - - PROCESS_SWITCH(JetFinderTask, processParticleLevelFullJets, "Particle level full jet finding", false); -}; diff --git a/PWGJE/JetFinders/jetFinder.h b/PWGJE/JetFinders/jetFinder.h new file mode 100644 index 00000000000..4b5dd3fcd0e --- /dev/null +++ b/PWGJE/JetFinders/jetFinder.h @@ -0,0 +1,282 @@ +// Copyright 2019-2020 CERN and copyright holders of ALICE O2. +// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. +// All rights not expressly granted are reserved. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +// jet finder task +// +/// \author Nima Zardoshti +/// \author Jochen Klein +/// \author Raymond Ehlers , ORNL + +#ifndef PWGJE_JETFINDERS_JETFINDER_H_ +#define PWGJE_JETFINDERS_JETFINDER_H_ + +#include "PWGJE/Core/JetDerivedDataUtilities.h" +#include "PWGJE/Core/JetFinder.h" +#include "PWGJE/Core/JetFindingUtilities.h" +#include "PWGJE/DataModel/EMCALClusterDefinition.h" +#include "PWGJE/DataModel/EMCALClusters.h" +#include "PWGJE/DataModel/Jet.h" +#include "PWGJE/DataModel/JetReducedData.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export + +#include +#include + +#include +#include + +#include +#include +#include + +template +struct JetFinderTask { + o2::framework::Produces jetsTable; + o2::framework::Produces constituentsTable; + o2::framework::Produces jetsEvtWiseSubTable; + o2::framework::Produces constituentsEvtWiseSubTable; + + o2::framework::HistogramRegistry registry; + + // event level configurables + o2::framework::Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; + o2::framework::Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; + o2::framework::Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; + o2::framework::Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; + o2::framework::Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; + o2::framework::Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; + o2::framework::Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; + o2::framework::Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; + + // track level configurables + o2::framework::Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; + o2::framework::Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; + o2::framework::Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; + o2::framework::Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; + o2::framework::Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; + o2::framework::Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; + o2::framework::Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; + o2::framework::Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; + o2::framework::Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; + o2::framework::Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; + o2::framework::Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; + + // cluster level configurables + o2::framework::Configurable clusterDefinitionS{"clusterDefinition", "kV3Default", "cluster definition to be selected, e.g. V3Default"}; + o2::framework::Configurable clusterEtaMin{"clusterEtaMin", -0.71, "minimum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 + o2::framework::Configurable clusterEtaMax{"clusterEtaMax", 0.71, "maximum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 + o2::framework::Configurable clusterPhiMin{"clusterPhiMin", 1.39, "minimum cluster phi"}; + o2::framework::Configurable clusterPhiMax{"clusterPhiMax", 3.27, "maximum cluster phi"}; + o2::framework::Configurable clusterEnergyMin{"clusterEnergyMin", 0.5, "minimum cluster energy in EMCAL (GeV)"}; + o2::framework::Configurable clusterTimeMin{"clusterTimeMin", -25., "minimum Cluster time (ns)"}; + o2::framework::Configurable clusterTimeMax{"clusterTimeMax", 25., "maximum Cluster time (ns)"}; + o2::framework::Configurable clusterRejectExotics{"clusterRejectExotics", true, "Reject exotic clusters"}; + o2::framework::Configurable hadronicCorrectionType{"hadronicCorrectionType", 0, "0 = no correction, 1 = CorrectedOneTrack1, 2 = CorrectedOneTrack2, 3 = CorrectedAllTracks1, 4 = CorrectedAllTracks2"}; + o2::framework::Configurable doEMCALEventSelection{"doEMCALEventSelection", true, "apply the selection to the event alias_bit for full and neutral jets"}; + o2::framework::Configurable doEMCALEventSelectionChargedJets{"doEMCALEventSelectionChargedJets", false, "apply the selection to the event alias_bit for charged jets"}; + + // jet level configurables + o2::framework::Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; + o2::framework::Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; + o2::framework::Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; + o2::framework::Configurable jetEWSPtMin{"jetEWSPtMin", 0.0, "minimum event-wise subtracted jet pT"}; + o2::framework::Configurable jetEWSPtMax{"jetEWSPtMax", 1000.0, "maximum event-wise subtracted jet pT"}; + o2::framework::Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; + o2::framework::Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; + o2::framework::Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; + o2::framework::Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; + o2::framework::Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; + o2::framework::Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; + o2::framework::Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; + o2::framework::Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; + o2::framework::Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; + o2::framework::Configurable fillTHnSparse{"fillTHnSparse", false, "switch to fill the THnSparse"}; + o2::framework::Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; + + o2::framework::Service pdgDatabase; + int trackSelection = -1; + std::vector eventSelectionBits; + std::string particleSelection; + + JetFinder jetFinder; + std::vector inputParticles; + + std::vector triggerMaskBits; + + void init(o2::framework::InitContext const&) + { + eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(eventSelections)); + triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks); + trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast(trackSelections)); + particleSelection = static_cast(particleSelections); + + jetFinder.etaMin = trackEtaMin; + jetFinder.etaMax = trackEtaMax; + jetFinder.jetEtaMin = jetEtaMin; + jetFinder.jetEtaMax = jetEtaMax; + if (jetEtaMin < -98.0) { + jetFinder.jetEtaDefault = true; + } + jetFinder.algorithm = static_cast(static_cast(jetAlgorithm)); + jetFinder.recombScheme = static_cast(static_cast(jetRecombScheme)); + jetFinder.ghostArea = jetGhostArea; + jetFinder.ghostRepeatN = ghostRepeat; + if (DoTriggering) { + jetFinder.isTriggering = true; + } + jetFinder.fastjetExtraParam = jetExtraParam; + + auto jetRadiiBins = (std::vector)jetRadius; + if (jetRadiiBins.size() > 1) { + jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + (TMath::Abs(jetRadiiBins[jetRadiiBins.size() - 1] - jetRadiiBins[jetRadiiBins.size() - 2]))); + } else { + jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + 0.1); + } + int jetPtMaxInt = static_cast(jetPtMax); + int jetPtMinInt = static_cast(jetPtMin); + jetPtMinInt = (jetPtMinInt / jetPtBinWidth) * jetPtBinWidth; + jetPtMaxInt = ((jetPtMaxInt + jetPtBinWidth - 1) / jetPtBinWidth) * jetPtBinWidth; + int jetPtBinNumber = (jetPtMaxInt - jetPtMinInt) / jetPtBinWidth; + double jetPtMinDouble = static_cast(jetPtMinInt); + double jetPtMaxDouble = static_cast(jetPtMaxInt); + + if (fillTHnSparse) { + registry.add("hJet", "sparse for data or mcd jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJetEWS", "sparse for data or mcd event-wise subtracted jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJetMCP", "sparse for mcp jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJetEWSMCP", "sparse for mcp event-wise subtracted jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + } + + if (applyTrackingEfficiency) { + if (trackingEfficiencyPtBinning->size() < 2) { + LOGP(fatal, "jetFinder workflow: trackingEfficiencyPtBinning configurable should have at least two bin edges"); + } + if (trackingEfficiency->size() + 1 != trackingEfficiencyPtBinning->size()) { + LOGP(fatal, "jetFinder workflow: trackingEfficiency configurable should have exactly one less entry than the number of bin edges set in trackingEfficiencyPtBinning configurable"); + } + } + } + + o2::aod::EMCALClusterDefinition clusterDefinition = o2::aod::emcalcluster::getClusterDefinitionFromString(clusterDefinitionS.value); + o2::framework::expressions::Filter collisionFilter = (nabs(o2::aod::jcollision::posZ) < vertexZCut && o2::aod::jcollision::centFT0M >= centralityMin && o2::aod::jcollision::centFT0M < centralityMax && o2::aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); // should we add a posZ vtx cut here or leave it to analysers? + o2::framework::expressions::Filter mcCollisionFilter = (nabs(o2::aod::jmccollision::posZ) < vertexZCut); + o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta >= trackEtaMin && o2::aod::jtrack::eta <= trackEtaMax && o2::aod::jtrack::phi >= trackPhiMin && o2::aod::jtrack::phi <= trackPhiMax); // do we need eta cut both here and in globalselection? + o2::framework::expressions::Filter partCuts = (o2::aod::jmcparticle::pt >= trackPtMin && o2::aod::jmcparticle::pt < trackPtMax && o2::aod::jmcparticle::eta >= trackEtaMin && o2::aod::jmcparticle::eta <= trackEtaMax && o2::aod::jmcparticle::phi >= trackPhiMin && o2::aod::jmcparticle::phi <= trackPhiMax); + o2::framework::expressions::Filter clusterFilter = (o2::aod::jcluster::definition == static_cast(clusterDefinition) && o2::aod::jcluster::eta >= clusterEtaMin && o2::aod::jcluster::eta <= clusterEtaMax && o2::aod::jcluster::phi >= clusterPhiMin && o2::aod::jcluster::phi <= clusterPhiMax && o2::aod::jcluster::energy >= clusterEnergyMin && o2::aod::jcluster::time > clusterTimeMin && o2::aod::jcluster::time < clusterTimeMax && (clusterRejectExotics && o2::aod::jcluster::isExotic != true)); + + void processChargedJets(o2::soa::Filtered::iterator const& collision, + o2::soa::Filtered const& tracks) + { + if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits) || (doEMCALEventSelectionChargedJets && !jetderiveddatautilities::eventEMCAL(collision))) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseTracks, o2::soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); + } + + PROCESS_SWITCH(JetFinderTask, processChargedJets, "Data and reco level jet finding for charged jets", false); + + void processChargedEvtWiseSubJets(o2::soa::Filtered::iterator const& collision, + o2::soa::Filtered const& tracks) + { + if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits) || (doEMCALEventSelectionChargedJets && !jetderiveddatautilities::eventEMCAL(collision))) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseTracks, o2::soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); + jetfindingutilities::findJets(jetFinder, inputParticles, jetEWSPtMin, jetEWSPtMax, jetRadius, jetAreaFractionMin, collision, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, fillTHnSparse ? registry.get(HIST("hJetEWS")) : std::shared_ptr(nullptr), fillTHnSparse); + } + + PROCESS_SWITCH(JetFinderTask, processChargedEvtWiseSubJets, "Data and reco level jet finding for charged jets with event-wise constituent subtraction", false); + + void processNeutralJets(o2::soa::Filtered::iterator const& collision, + o2::soa::Filtered const& clusters) + { + if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseClusters(inputParticles, &clusters); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); + } + PROCESS_SWITCH(JetFinderTask, processNeutralJets, "Data and reco level jet finding for neutral jets", false); + + void processFullJets(o2::soa::Filtered::iterator const& collision, + o2::soa::Filtered const& tracks, + o2::soa::Filtered const& clusters) + { + if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseTracks, o2::soa::Filtered::iterator>(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); + jetfindingutilities::analyseClusters(inputParticles, &clusters, hadronicCorrectionType); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, collision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJet")) : std::shared_ptr(nullptr), fillTHnSparse); + } + PROCESS_SWITCH(JetFinderTask, processFullJets, "Data and reco level jet finding for full and neutral jets", false); + + void processParticleLevelChargedJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) + { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseParticles, o2::soa::Filtered::iterator>(inputParticles, particleSelection, 1, particles, pdgDatabase); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); + } + PROCESS_SWITCH(JetFinderTask, processParticleLevelChargedJets, "Particle level charged jet finding", false); + + void processParticleLevelChargedEvtWiseSubJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) + { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseParticles, o2::soa::Filtered::iterator>(inputParticles, particleSelection, 1, particles, pdgDatabase); + jetfindingutilities::findJets(jetFinder, inputParticles, jetEWSPtMin, jetEWSPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, fillTHnSparse ? registry.get(HIST("hJetEWSMCP")) : std::shared_ptr(nullptr), fillTHnSparse); + } + PROCESS_SWITCH(JetFinderTask, processParticleLevelChargedEvtWiseSubJets, "Particle level charged with event-wise constituent subtraction jet finding", false); + + void processParticleLevelNeutralJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) + { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseParticles, o2::soa::Filtered::iterator>(inputParticles, particleSelection, 2, particles, pdgDatabase); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); + } + PROCESS_SWITCH(JetFinderTask, processParticleLevelNeutralJets, "Particle level neutral jet finding", false); + + void processParticleLevelFullJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) + { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + return; + } + inputParticles.clear(); + jetfindingutilities::analyseParticles, o2::soa::Filtered::iterator>(inputParticles, particleSelection, 0, particles, pdgDatabase); + jetfindingutilities::findJets(jetFinder, inputParticles, jetPtMin, jetPtMax, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, fillTHnSparse ? registry.get(HIST("hJetMCP")) : std::shared_ptr(nullptr), fillTHnSparse); + } + + PROCESS_SWITCH(JetFinderTask, processParticleLevelFullJets, "Particle level full jet finding", false); +}; + +#endif // PWGJE_JETFINDERS_JETFINDER_H_ diff --git a/PWGJE/JetFinders/jetFinderB0DataCharged.cxx b/PWGJE/JetFinders/jetFinderB0DataCharged.cxx index 9288465c677..063922d1db4 100644 --- a/PWGJE/JetFinders/jetFinderB0DataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderB0DataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderB0DataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderB0MCDCharged.cxx b/PWGJE/JetFinders/jetFinderB0MCDCharged.cxx index 46de301e549..1d2820ab4f7 100644 --- a/PWGJE/JetFinders/jetFinderB0MCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderB0MCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderB0MCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderB0MCPCharged.cxx b/PWGJE/JetFinders/jetFinderB0MCPCharged.cxx index 2966c817cef..35789c35e9e 100644 --- a/PWGJE/JetFinders/jetFinderB0MCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderB0MCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderB0MCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderBplusDataCharged.cxx b/PWGJE/JetFinders/jetFinderBplusDataCharged.cxx index 087fbc6b37e..443dad35f26 100644 --- a/PWGJE/JetFinders/jetFinderBplusDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderBplusDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderBplusDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderBplusMCDCharged.cxx b/PWGJE/JetFinders/jetFinderBplusMCDCharged.cxx index 9dba69eba51..baddfe2b508 100644 --- a/PWGJE/JetFinders/jetFinderBplusMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderBplusMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderBplusMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderBplusMCPCharged.cxx b/PWGJE/JetFinders/jetFinderBplusMCPCharged.cxx index 639b02bfe2e..3da19196c58 100644 --- a/PWGJE/JetFinders/jetFinderBplusMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderBplusMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderBplusMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderD0DataCharged.cxx b/PWGJE/JetFinders/jetFinderD0DataCharged.cxx index 70e00c246d4..acaf4d99712 100644 --- a/PWGJE/JetFinders/jetFinderD0DataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderD0DataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderD0DataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderD0MCDCharged.cxx b/PWGJE/JetFinders/jetFinderD0MCDCharged.cxx index 62c740a7152..3c60cc8d5d5 100644 --- a/PWGJE/JetFinders/jetFinderD0MCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderD0MCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderD0MCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderD0MCPCharged.cxx b/PWGJE/JetFinders/jetFinderD0MCPCharged.cxx index 34bee4644ce..4bb2c77edff 100644 --- a/PWGJE/JetFinders/jetFinderD0MCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderD0MCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderD0MCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDataCharged.cxx b/PWGJE/JetFinders/jetFinderDataCharged.cxx index 016d83611bb..363e62748a0 100644 --- a/PWGJE/JetFinders/jetFinderDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDataCharged = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDataFull.cxx b/PWGJE/JetFinders/jetFinderDataFull.cxx index acf33725099..dbbef9975f3 100644 --- a/PWGJE/JetFinders/jetFinderDataFull.cxx +++ b/PWGJE/JetFinders/jetFinderDataFull.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDataFull = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDataNeutral.cxx b/PWGJE/JetFinders/jetFinderDataNeutral.cxx index afb223deb74..14aa953919e 100644 --- a/PWGJE/JetFinders/jetFinderDataNeutral.cxx +++ b/PWGJE/JetFinders/jetFinderDataNeutral.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDataNeutral = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDielectronDataCharged.cxx b/PWGJE/JetFinders/jetFinderDielectronDataCharged.cxx index 7f4657d1127..ee3d49f0eed 100644 --- a/PWGJE/JetFinders/jetFinderDielectronDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDielectronDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDielectronDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDielectronMCDCharged.cxx b/PWGJE/JetFinders/jetFinderDielectronMCDCharged.cxx index 1d14666ca10..1152b32e13d 100644 --- a/PWGJE/JetFinders/jetFinderDielectronMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDielectronMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDielectronMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDielectronMCPCharged.cxx b/PWGJE/JetFinders/jetFinderDielectronMCPCharged.cxx index b0be942e08e..8e458b82dcf 100644 --- a/PWGJE/JetFinders/jetFinderDielectronMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDielectronMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDielectronMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDplusDataCharged.cxx b/PWGJE/JetFinders/jetFinderDplusDataCharged.cxx index c684fbc2e8c..7191cd5f85a 100644 --- a/PWGJE/JetFinders/jetFinderDplusDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDplusDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDplusDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDplusMCDCharged.cxx b/PWGJE/JetFinders/jetFinderDplusMCDCharged.cxx index ebdbe27c015..187021253a0 100644 --- a/PWGJE/JetFinders/jetFinderDplusMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDplusMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDplusMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDplusMCPCharged.cxx b/PWGJE/JetFinders/jetFinderDplusMCPCharged.cxx index da79b1c2c0e..935b9b12f68 100644 --- a/PWGJE/JetFinders/jetFinderDplusMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDplusMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDplusMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDsDataCharged.cxx b/PWGJE/JetFinders/jetFinderDsDataCharged.cxx index a822389b6d4..81c17602654 100644 --- a/PWGJE/JetFinders/jetFinderDsDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDsDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDsDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDsMCDCharged.cxx b/PWGJE/JetFinders/jetFinderDsMCDCharged.cxx index 004a732f9a2..eed1431aaf3 100644 --- a/PWGJE/JetFinders/jetFinderDsMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDsMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDsMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDsMCPCharged.cxx b/PWGJE/JetFinders/jetFinderDsMCPCharged.cxx index 5c9b54543b2..40e73ffa50a 100644 --- a/PWGJE/JetFinders/jetFinderDsMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDsMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDsMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDstarDataCharged.cxx b/PWGJE/JetFinders/jetFinderDstarDataCharged.cxx index 0a1b6d104b3..116b0ae70b1 100644 --- a/PWGJE/JetFinders/jetFinderDstarDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDstarDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDstarDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDstarMCDCharged.cxx b/PWGJE/JetFinders/jetFinderDstarMCDCharged.cxx index 42e9c2fb370..f70ef7bf3e1 100644 --- a/PWGJE/JetFinders/jetFinderDstarMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDstarMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDstarMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderDstarMCPCharged.cxx b/PWGJE/JetFinders/jetFinderDstarMCPCharged.cxx index 36ce473fe3c..7990534794d 100644 --- a/PWGJE/JetFinders/jetFinderDstarMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderDstarMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDstarMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderHF.cxx b/PWGJE/JetFinders/jetFinderHF.cxx deleted file mode 100644 index e199bc32419..00000000000 --- a/PWGJE/JetFinders/jetFinderHF.cxx +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2019-2020 CERN and copyright holders of ALICE O2. -// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. -// All rights not expressly granted are reserved. -// -// This software is distributed under the terms of the GNU General Public -// License v3 (GPL Version 3), copied verbatim in the file "COPYING". -// -// In applying this license CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -// jet finder hf task -// -/// \author Nima Zardoshti -/// \author Jochen Klein - -#include "PWGJE/Core/JetDerivedDataUtilities.h" -#include "PWGJE/Core/JetFinder.h" -#include "PWGJE/Core/JetFindingUtilities.h" -#include "PWGJE/DataModel/EMCALClusterDefinition.h" -#include "PWGJE/DataModel/EMCALClusters.h" -#include "PWGJE/DataModel/Jet.h" -#include "PWGJE/DataModel/JetReducedData.h" -#include "PWGJE/DataModel/JetSubtraction.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export - -#include -#include - -#include -#include - -#include -#include - -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - -template -struct JetFinderHFTask { - Produces jetsTable; - Produces constituentsTable; - Produces jetsEvtWiseSubTable; - Produces constituentsEvtWiseSubTable; - - HistogramRegistry registry; - - // event level configurables - Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; - Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; - Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; - Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; - Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; - Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; - Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; - Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; - - // track level configurables - Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; - Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; - Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; - Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; - Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; - Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; - Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; - Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; - Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; - Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; - Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; - - // cluster level configurables - Configurable clusterDefinitionS{"clusterDefinition", "kV3Default", "cluster definition to be selected, e.g. V3Default"}; - Configurable clusterEtaMin{"clusterEtaMin", -0.71, "minimum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 - Configurable clusterEtaMax{"clusterEtaMax", 0.71, "maximum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 - Configurable clusterPhiMin{"clusterPhiMin", 1.39, "minimum cluster phi"}; - Configurable clusterPhiMax{"clusterPhiMax", 3.27, "maximum cluster phi"}; - Configurable clusterEnergyMin{"clusterEnergyMin", 0.5, "minimum cluster energy in EMCAL (GeV)"}; - Configurable clusterTimeMin{"clusterTimeMin", -25., "minimum Cluster time (ns)"}; - Configurable clusterTimeMax{"clusterTimeMax", 25., "maximum Cluster time (ns)"}; - Configurable clusterRejectExotics{"clusterRejectExotics", true, "Reject exotic clusters"}; - - // HF candidate level configurables - Configurable candPtMin{"candPtMin", 0.0, "minimum candidate pT"}; - Configurable candPtMax{"candPtMax", 100.0, "maximum candidate pT"}; - Configurable candYMin{"candYMin", -0.8, "minimum candidate eta"}; - Configurable candYMax{"candYMax", 0.8, "maximum candidate eta"}; - // HF candidiate selection configurables - Configurable rejectBackgroundMCDCandidates{"rejectBackgroundMCDCandidates", false, "reject background HF candidates at MC detector level"}; - Configurable rejectIncorrectDecaysMCP{"rejectIncorrectDecaysMCP", true, "reject HF paticles decaying to the non-analysed decay channels at MC generator level"}; - - // jet level configurables - Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; - Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; - Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; - Configurable jetEWSPtMin{"jetEWSPtMin", 0.0, "minimum event-wise subtracted jet pT"}; - Configurable jetEWSPtMax{"jetEWSPtMax", 1000.0, "maximum event-wise subtracted jet pT"}; - Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; - Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; - Configurable jetTypeParticleLevel{"jetTypeParticleLevel", 1, "Type of stored jets. 0 = full, 1 = charged, 2 = neutral"}; - Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; - Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; - Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; - Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; - Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; - Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; - Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; - Configurable fillTHnSparse{"fillTHnSparse", false, "switch to fill the THnSparse"}; - Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; - - Service pdgDatabase; - int trackSelection = -1; - std::vector eventSelectionBits; - std::string particleSelection; - - JetFinder jetFinder; - std::vector inputParticles; - - std::vector triggerMaskBits; - - void init(InitContext const&) - { - trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast(trackSelections)); - triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks); - eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(eventSelections)); - particleSelection = static_cast(particleSelections); - - jetFinder.etaMin = trackEtaMin; - jetFinder.etaMax = trackEtaMax; - jetFinder.jetPtMin = jetPtMin; - jetFinder.jetPtMax = jetPtMax; - jetFinder.jetEtaMin = jetEtaMin; - jetFinder.jetEtaMax = jetEtaMax; - if (jetEtaMin < -98.0) { - jetFinder.jetEtaDefault = true; - } - jetFinder.algorithm = static_cast(static_cast(jetAlgorithm)); - jetFinder.recombScheme = static_cast(static_cast(jetRecombScheme)); - jetFinder.ghostArea = jetGhostArea; - jetFinder.ghostRepeatN = ghostRepeat; - if (DoTriggering) { - jetFinder.isTriggering = true; - } - jetFinder.fastjetExtraParam = jetExtraParam; - - auto jetRadiiBins = (std::vector)jetRadius; - if (jetRadiiBins.size() > 1) { - jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + (TMath::Abs(jetRadiiBins[jetRadiiBins.size() - 1] - jetRadiiBins[jetRadiiBins.size() - 2]))); - } else { - jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + 0.1); - } - int jetPtMaxInt = static_cast(jetPtMax); - int jetPtMinInt = static_cast(jetPtMin); - jetPtMinInt = (jetPtMinInt / jetPtBinWidth) * jetPtBinWidth; - jetPtMaxInt = ((jetPtMaxInt + jetPtBinWidth - 1) / jetPtBinWidth) * jetPtBinWidth; - int jetPtBinNumber = (jetPtMaxInt - jetPtMinInt) / jetPtBinWidth; - double jetPtMinDouble = static_cast(jetPtMinInt); - double jetPtMaxDouble = static_cast(jetPtMaxInt); - - registry.add("hJet", "sparse for data or mcd jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - registry.add("hJetMCP", "sparse for mcp jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - - if (applyTrackingEfficiency) { - if (trackingEfficiencyPtBinning->size() < 2) { - LOGP(fatal, "jetFinderHF workflow: trackingEfficiencyPtBinning configurable should have at least two bin edges"); - } - if (trackingEfficiency->size() + 1 != trackingEfficiencyPtBinning->size()) { - LOGP(fatal, "jetFinderHF workflow: trackingEfficiency configurable should have exactly one less entry than the number of bin edges set in trackingEfficiencyPtBinning configurable"); - } - } - } - - aod::EMCALClusterDefinition clusterDefinition = aod::emcalcluster::getClusterDefinitionFromString(clusterDefinitionS.value); - Filter collisionFilter = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centFT0M >= centralityMin && aod::jcollision::centFT0M < centralityMax && aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); - Filter mcCollisionFilter = (nabs(aod::jmccollision::posZ) < vertexZCut); - Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta >= trackEtaMin && aod::jtrack::eta <= trackEtaMax && aod::jtrack::phi >= trackPhiMin && aod::jtrack::phi <= trackPhiMax); - Filter partCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta >= trackEtaMin && aod::jmcparticle::eta <= trackEtaMax && aod::jmcparticle::phi >= trackPhiMin && aod::jmcparticle::phi <= trackPhiMax); - Filter clusterFilter = (aod::jcluster::definition == static_cast(clusterDefinition) && aod::jcluster::eta >= clusterEtaMin && aod::jcluster::eta <= clusterEtaMax && aod::jcluster::phi >= clusterPhiMin && aod::jcluster::phi <= clusterPhiMax && aod::jcluster::energy >= clusterEnergyMin && aod::jcluster::time > clusterTimeMin && aod::jcluster::time < clusterTimeMax && (clusterRejectExotics && aod::jcluster::isExotic != true)); - // Filter candidateCuts = (aod::hfcand::pt >= candPtMin && aod::hfcand::pt < candPtMax && aod::hfcand::y >= candYMin && aod::hfcand::y < candYMax); - - PresliceOptional> perD0Candidate = aod::bkgd0::candidateId; - PresliceOptional> perD0McCandidate = aod::bkgd0mc::candidateId; - PresliceOptional> perDplusCandidate = aod::bkgdplus::candidateId; - PresliceOptional> perDplusMcCandidate = aod::bkgdplusmc::candidateId; - PresliceOptional> perDsCandidate = aod::bkgds::candidateId; - PresliceOptional> perDsMcCandidate = aod::bkgdsmc::candidateId; - PresliceOptional> perDstarCandidate = aod::bkgdstar::candidateId; - PresliceOptional> perDstarMcCandidate = aod::bkgdstarmc::candidateId; - PresliceOptional> perLcCandidate = aod::bkglc::candidateId; - PresliceOptional> perLcMcCandidate = aod::bkglcmc::candidateId; - PresliceOptional> perB0Candidate = aod::bkgb0::candidateId; - PresliceOptional> perB0McCandidate = aod::bkgb0mc::candidateId; - PresliceOptional> perBplusCandidate = aod::bkgbplus::candidateId; - PresliceOptional> perBplusMcCandidate = aod::bkgbplusmc::candidateId; - PresliceOptional> perXicToXiPiPiCandidate = aod::bkgxictoxipipi::candidateId; - PresliceOptional> perXicToXiPiPiMcCandidate = aod::bkgxictoxipipimc::candidateId; - PresliceOptional> perDielectronCandidate = aod::bkgdielectron::candidateId; - PresliceOptional> perDielectronMcCandidate = aod::bkgdielectronmc::candidateId; - - // function that generalically processes Data and reco level events - template - void analyseCharged(T const& collision, U const& tracks, V const& candidate, M& jetsTableInput, N& constituentsTableInput, O& /*originalTracks*/, float minJetPt, float maxJetPt) - { - if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { - return; - } - inputParticles.clear(); - - if constexpr (jetcandidateutilities::isCandidate()) { - if (!jetfindingutilities::analyseCandidate(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax)) { - return; - } - } - - if constexpr (jetcandidateutilities::isMcCandidate()) { - if (!jetfindingutilities::analyseCandidateMC(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax, rejectBackgroundMCDCandidates)) { - return; - } - } - if constexpr (isEvtWiseSub) { - jetfindingutilities::analyseTracks(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); - } else { - jetfindingutilities::analyseTracks(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning, &candidate); - } - jetfindingutilities::findJets(jetFinder, inputParticles, minJetPt, maxJetPt, jetRadius, jetAreaFractionMin, collision, jetsTableInput, constituentsTableInput, registry.get(HIST("hJet")), fillTHnSparse, true); - } - - // function that generalically processes gen level events - template - void analyseMCP(T const& mcCollision, U const& particles, V const& candidate, M& jetsTableInput, N& constituentsTableInput, int jetTypeParticleLevel, float minJetPt, float maxJetPt) - { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { - return; - } - - if (rejectIncorrectDecaysMCP && !jetcandidateutilities::isMatchedCandidate(candidate)) { // is this even needed in the new derived format? it means any simulations run have to force the decay channel - return; - } - - inputParticles.clear(); - if (!jetfindingutilities::analyseCandidate(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax)) { - return; - } - if constexpr (isEvtWiseSub) { - jetfindingutilities::analyseParticles(inputParticles, particleSelection, jetTypeParticleLevel, particles, pdgDatabase, &candidate); - } else { - jetfindingutilities::analyseParticles(inputParticles, particleSelection, jetTypeParticleLevel, particles, pdgDatabase, &candidate); - } - jetfindingutilities::findJets(jetFinder, inputParticles, minJetPt, maxJetPt, jetRadius, jetAreaFractionMin, mcCollision, jetsTableInput, constituentsTableInput, registry.get(HIST("hJetMCP")), fillTHnSparse, true); - } - - void processDummy(aod::JetCollisions const&) - { - } - PROCESS_SWITCH(JetFinderHFTask, processDummy, "Dummy process function turned on by default", true); - - void processChargedJetsData(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableData const& candidates) - { - for (typename CandidateTableData::iterator const& candidate : candidates) { // why can the type not be auto? try const auto - analyseCharged(collision, tracks, candidate, jetsTable, constituentsTable, tracks, jetPtMin, jetPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedJetsData, "charged hf jet finding on data", false); - - void processChargedEvtWiseSubJetsData(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableData const& candidates) - { - for (typename CandidateTableData::iterator const& candidate : candidates) { - analyseCharged(collision, jetcandidateutilities::slicedPerCandidate(tracks, candidate, perD0Candidate, perDplusCandidate, perDsCandidate, perDstarCandidate, perLcCandidate, perB0Candidate, perBplusCandidate, perXicToXiPiPiCandidate, perDielectronCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, tracks, jetEWSPtMin, jetEWSPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsData, "charged hf jet finding on data with event-wise constituent subtraction", false); - - void processChargedJetsMCD(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableMCD const& candidates) - { - for (typename CandidateTableMCD::iterator const& candidate : candidates) { - analyseCharged(collision, tracks, candidate, jetsTable, constituentsTable, tracks, jetPtMin, jetPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedJetsMCD, "charged hf jet finding on MC detector level", false); - - void processChargedEvtWiseSubJetsMCD(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableMCD const& candidates) - { - for (typename CandidateTableMCD::iterator const& candidate : candidates) { - analyseCharged(collision, jetcandidateutilities::slicedPerCandidate(tracks, candidate, perD0Candidate, perDplusCandidate, perDsCandidate, perDstarCandidate, perLcCandidate, perB0Candidate, perBplusCandidate, perXicToXiPiPiCandidate, perDielectronCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, tracks, jetEWSPtMin, jetEWSPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsMCD, "charged hf jet finding on MC detector level with event-wise constituent subtraction", false); - - void processChargedJetsMCP(soa::Filtered::iterator const& mcCollision, - soa::Filtered const& particles, - CandidateTableMCP const& candidates) - { - for (typename CandidateTableMCP::iterator const& candidate : candidates) { - analyseMCP(mcCollision, particles, candidate, jetsTable, constituentsTable, 1, jetPtMin, jetPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedJetsMCP, "hf jet finding on MC particle level", false); - - void processChargedEvtWiseSubJetsMCP(soa::Filtered::iterator const& mcCollision, - soa::Filtered const& particles, - CandidateTableMCP const& candidates) - { - for (typename CandidateTableMCP::iterator const& candidate : candidates) { - analyseMCP(mcCollision, jetcandidateutilities::slicedPerCandidate(particles, candidate, perD0McCandidate, perDplusMcCandidate, perDsMcCandidate, perDstarMcCandidate, perLcMcCandidate, perB0McCandidate, perBplusMcCandidate, perXicToXiPiPiMcCandidate, perDielectronMcCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, 1, jetPtMin, jetPtMax); - } - } - PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsMCP, "hf jet finding on MC particle level", false); -}; diff --git a/PWGJE/JetFinders/jetFinderHF.h b/PWGJE/JetFinders/jetFinderHF.h new file mode 100644 index 00000000000..5f78d902f3b --- /dev/null +++ b/PWGJE/JetFinders/jetFinderHF.h @@ -0,0 +1,318 @@ +// Copyright 2019-2020 CERN and copyright holders of ALICE O2. +// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. +// All rights not expressly granted are reserved. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +// jet finder hf task +// +/// \author Nima Zardoshti +/// \author Jochen Klein + +#ifndef PWGJE_JETFINDERS_JETFINDERHF_H_ +#define PWGJE_JETFINDERS_JETFINDERHF_H_ + +#include "PWGJE/Core/JetDerivedDataUtilities.h" +#include "PWGJE/Core/JetFinder.h" +#include "PWGJE/Core/JetFindingUtilities.h" +#include "PWGJE/DataModel/EMCALClusterDefinition.h" +#include "PWGJE/DataModel/EMCALClusters.h" +#include "PWGJE/DataModel/Jet.h" +#include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/DataModel/JetSubtraction.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export + +#include +#include + +#include +#include + +#include +#include + +template +struct JetFinderHFTask { + o2::framework::Produces jetsTable; + o2::framework::Produces constituentsTable; + o2::framework::Produces jetsEvtWiseSubTable; + o2::framework::Produces constituentsEvtWiseSubTable; + + o2::framework::HistogramRegistry registry; + + // event level configurables + o2::framework::Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; + o2::framework::Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; + o2::framework::Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; + o2::framework::Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; + o2::framework::Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; + o2::framework::Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; + o2::framework::Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; + o2::framework::Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; + + // track level configurables + o2::framework::Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; + o2::framework::Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; + o2::framework::Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; + o2::framework::Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; + o2::framework::Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; + o2::framework::Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; + o2::framework::Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; + o2::framework::Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; + o2::framework::Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; + o2::framework::Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; + o2::framework::Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; + + // cluster level configurables + o2::framework::Configurable clusterDefinitionS{"clusterDefinition", "kV3Default", "cluster definition to be selected, e.g. V3Default"}; + o2::framework::Configurable clusterEtaMin{"clusterEtaMin", -0.71, "minimum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 + o2::framework::Configurable clusterEtaMax{"clusterEtaMax", 0.71, "maximum cluster eta"}; // For ECMAL: |eta| < 0.7, phi = 1.40 - 3.26 + o2::framework::Configurable clusterPhiMin{"clusterPhiMin", 1.39, "minimum cluster phi"}; + o2::framework::Configurable clusterPhiMax{"clusterPhiMax", 3.27, "maximum cluster phi"}; + o2::framework::Configurable clusterEnergyMin{"clusterEnergyMin", 0.5, "minimum cluster energy in EMCAL (GeV)"}; + o2::framework::Configurable clusterTimeMin{"clusterTimeMin", -25., "minimum Cluster time (ns)"}; + o2::framework::Configurable clusterTimeMax{"clusterTimeMax", 25., "maximum Cluster time (ns)"}; + o2::framework::Configurable clusterRejectExotics{"clusterRejectExotics", true, "Reject exotic clusters"}; + + // HF candidate level configurables + o2::framework::Configurable candPtMin{"candPtMin", 0.0, "minimum candidate pT"}; + o2::framework::Configurable candPtMax{"candPtMax", 100.0, "maximum candidate pT"}; + o2::framework::Configurable candYMin{"candYMin", -0.8, "minimum candidate eta"}; + o2::framework::Configurable candYMax{"candYMax", 0.8, "maximum candidate eta"}; + // HF candidiate selection configurables + o2::framework::Configurable rejectBackgroundMCDCandidates{"rejectBackgroundMCDCandidates", false, "reject background HF candidates at MC detector level"}; + o2::framework::Configurable rejectIncorrectDecaysMCP{"rejectIncorrectDecaysMCP", true, "reject HF paticles decaying to the non-analysed decay channels at MC generator level"}; + + // jet level configurables + o2::framework::Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; + o2::framework::Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; + o2::framework::Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; + o2::framework::Configurable jetEWSPtMin{"jetEWSPtMin", 0.0, "minimum event-wise subtracted jet pT"}; + o2::framework::Configurable jetEWSPtMax{"jetEWSPtMax", 1000.0, "maximum event-wise subtracted jet pT"}; + o2::framework::Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; + o2::framework::Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; + o2::framework::Configurable jetTypeParticleLevel{"jetTypeParticleLevel", 1, "Type of stored jets. 0 = full, 1 = charged, 2 = neutral"}; + o2::framework::Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; + o2::framework::Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; + o2::framework::Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; + o2::framework::Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; + o2::framework::Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; + o2::framework::Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; + o2::framework::Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; + o2::framework::Configurable fillTHnSparse{"fillTHnSparse", false, "switch to fill the THnSparse"}; + o2::framework::Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; + + o2::framework::Service pdgDatabase; + int trackSelection = -1; + std::vector eventSelectionBits; + std::string particleSelection; + + JetFinder jetFinder; + std::vector inputParticles; + + std::vector triggerMaskBits; + + void init(o2::framework::InitContext const&) + { + trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast(trackSelections)); + triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks); + eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(eventSelections)); + particleSelection = static_cast(particleSelections); + + jetFinder.etaMin = trackEtaMin; + jetFinder.etaMax = trackEtaMax; + jetFinder.jetPtMin = jetPtMin; + jetFinder.jetPtMax = jetPtMax; + jetFinder.jetEtaMin = jetEtaMin; + jetFinder.jetEtaMax = jetEtaMax; + if (jetEtaMin < -98.0) { + jetFinder.jetEtaDefault = true; + } + jetFinder.algorithm = static_cast(static_cast(jetAlgorithm)); + jetFinder.recombScheme = static_cast(static_cast(jetRecombScheme)); + jetFinder.ghostArea = jetGhostArea; + jetFinder.ghostRepeatN = ghostRepeat; + if (DoTriggering) { + jetFinder.isTriggering = true; + } + jetFinder.fastjetExtraParam = jetExtraParam; + + auto jetRadiiBins = (std::vector)jetRadius; + if (jetRadiiBins.size() > 1) { + jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + (TMath::Abs(jetRadiiBins[jetRadiiBins.size() - 1] - jetRadiiBins[jetRadiiBins.size() - 2]))); + } else { + jetRadiiBins.push_back(jetRadiiBins[jetRadiiBins.size() - 1] + 0.1); + } + int jetPtMaxInt = static_cast(jetPtMax); + int jetPtMinInt = static_cast(jetPtMin); + jetPtMinInt = (jetPtMinInt / jetPtBinWidth) * jetPtBinWidth; + jetPtMaxInt = ((jetPtMaxInt + jetPtBinWidth - 1) / jetPtBinWidth) * jetPtBinWidth; + int jetPtBinNumber = (jetPtMaxInt - jetPtMinInt) / jetPtBinWidth; + double jetPtMinDouble = static_cast(jetPtMinInt); + double jetPtMaxDouble = static_cast(jetPtMaxInt); + + registry.add("hJet", "sparse for data or mcd jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJetMCP", "sparse for mcp jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + + if (applyTrackingEfficiency) { + if (trackingEfficiencyPtBinning->size() < 2) { + LOGP(fatal, "jetFinderHF workflow: trackingEfficiencyPtBinning configurable should have at least two bin edges"); + } + if (trackingEfficiency->size() + 1 != trackingEfficiencyPtBinning->size()) { + LOGP(fatal, "jetFinderHF workflow: trackingEfficiency configurable should have exactly one less entry than the number of bin edges set in trackingEfficiencyPtBinning configurable"); + } + } + } + + o2::aod::EMCALClusterDefinition clusterDefinition = o2::aod::emcalcluster::getClusterDefinitionFromString(clusterDefinitionS.value); + o2::framework::expressions::Filter collisionFilter = (nabs(o2::aod::jcollision::posZ) < vertexZCut && o2::aod::jcollision::centFT0M >= centralityMin && o2::aod::jcollision::centFT0M < centralityMax && o2::aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); + o2::framework::expressions::Filter mcCollisionFilter = (nabs(o2::aod::jmccollision::posZ) < vertexZCut); + o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta >= trackEtaMin && o2::aod::jtrack::eta <= trackEtaMax && o2::aod::jtrack::phi >= trackPhiMin && o2::aod::jtrack::phi <= trackPhiMax); + o2::framework::expressions::Filter partCuts = (o2::aod::jmcparticle::pt >= trackPtMin && o2::aod::jmcparticle::pt < trackPtMax && o2::aod::jmcparticle::eta >= trackEtaMin && o2::aod::jmcparticle::eta <= trackEtaMax && o2::aod::jmcparticle::phi >= trackPhiMin && o2::aod::jmcparticle::phi <= trackPhiMax); + o2::framework::expressions::Filter clusterFilter = (o2::aod::jcluster::definition == static_cast(clusterDefinition) && o2::aod::jcluster::eta >= clusterEtaMin && o2::aod::jcluster::eta <= clusterEtaMax && o2::aod::jcluster::phi >= clusterPhiMin && o2::aod::jcluster::phi <= clusterPhiMax && o2::aod::jcluster::energy >= clusterEnergyMin && o2::aod::jcluster::time > clusterTimeMin && o2::aod::jcluster::time < clusterTimeMax && (clusterRejectExotics && o2::aod::jcluster::isExotic != true)); + // o2::framework::expressions::Filter candidateCuts = (o2::aod::hfcand::pt >= candPtMin && o2::aod::hfcand::pt < candPtMax && o2::aod::hfcand::y >= candYMin && o2::aod::hfcand::y < candYMax); + + o2::framework::PresliceOptional> perD0Candidate = o2::aod::bkgd0::candidateId; + o2::framework::PresliceOptional> perD0McCandidate = o2::aod::bkgd0mc::candidateId; + o2::framework::PresliceOptional> perDplusCandidate = o2::aod::bkgdplus::candidateId; + o2::framework::PresliceOptional> perDplusMcCandidate = o2::aod::bkgdplusmc::candidateId; + o2::framework::PresliceOptional> perDsCandidate = o2::aod::bkgds::candidateId; + o2::framework::PresliceOptional> perDsMcCandidate = o2::aod::bkgdsmc::candidateId; + o2::framework::PresliceOptional> perDstarCandidate = o2::aod::bkgdstar::candidateId; + o2::framework::PresliceOptional> perDstarMcCandidate = o2::aod::bkgdstarmc::candidateId; + o2::framework::PresliceOptional> perLcCandidate = o2::aod::bkglc::candidateId; + o2::framework::PresliceOptional> perLcMcCandidate = o2::aod::bkglcmc::candidateId; + o2::framework::PresliceOptional> perB0Candidate = o2::aod::bkgb0::candidateId; + o2::framework::PresliceOptional> perB0McCandidate = o2::aod::bkgb0mc::candidateId; + o2::framework::PresliceOptional> perBplusCandidate = o2::aod::bkgbplus::candidateId; + o2::framework::PresliceOptional> perBplusMcCandidate = o2::aod::bkgbplusmc::candidateId; + o2::framework::PresliceOptional> perXicToXiPiPiCandidate = o2::aod::bkgxictoxipipi::candidateId; + o2::framework::PresliceOptional> perXicToXiPiPiMcCandidate = o2::aod::bkgxictoxipipimc::candidateId; + o2::framework::PresliceOptional> perDielectronCandidate = o2::aod::bkgdielectron::candidateId; + o2::framework::PresliceOptional> perDielectronMcCandidate = o2::aod::bkgdielectronmc::candidateId; + + // function that generalically processes Data and reco level events + template + void analyseCharged(T const& collision, U const& tracks, V const& candidate, M& jetsTableInput, N& constituentsTableInput, O& /*originalTracks*/, float minJetPt, float maxJetPt) + { + if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { + return; + } + inputParticles.clear(); + + if constexpr (jetcandidateutilities::isCandidate()) { + if (!jetfindingutilities::analyseCandidate(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax)) { + return; + } + } + + if constexpr (jetcandidateutilities::isMcCandidate()) { + if (!jetfindingutilities::analyseCandidateMC(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax, rejectBackgroundMCDCandidates)) { + return; + } + } + if constexpr (isEvtWiseSub) { + jetfindingutilities::analyseTracks(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning); + } else { + jetfindingutilities::analyseTracks(inputParticles, tracks, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning, &candidate); + } + jetfindingutilities::findJets(jetFinder, inputParticles, minJetPt, maxJetPt, jetRadius, jetAreaFractionMin, collision, jetsTableInput, constituentsTableInput, registry.get(HIST("hJet")), fillTHnSparse, true); + } + + // function that generalically processes gen level events + template + void analyseMCP(T const& mcCollision, U const& particles, V const& candidate, M& jetsTableInput, N& constituentsTableInput, int jetTypeParticleLevel, float minJetPt, float maxJetPt) + { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + return; + } + + if (rejectIncorrectDecaysMCP && !jetcandidateutilities::isMatchedCandidate(candidate)) { // is this even needed in the new derived format? it means any simulations run have to force the decay channel + return; + } + + inputParticles.clear(); + if (!jetfindingutilities::analyseCandidate(inputParticles, candidate, candPtMin, candPtMax, candYMin, candYMax)) { + return; + } + if constexpr (isEvtWiseSub) { + jetfindingutilities::analyseParticles(inputParticles, particleSelection, jetTypeParticleLevel, particles, pdgDatabase, &candidate); + } else { + jetfindingutilities::analyseParticles(inputParticles, particleSelection, jetTypeParticleLevel, particles, pdgDatabase, &candidate); + } + jetfindingutilities::findJets(jetFinder, inputParticles, minJetPt, maxJetPt, jetRadius, jetAreaFractionMin, mcCollision, jetsTableInput, constituentsTableInput, registry.get(HIST("hJetMCP")), fillTHnSparse, true); + } + + void processDummy(o2::aod::JetCollisions const&) + { + } + PROCESS_SWITCH(JetFinderHFTask, processDummy, "Dummy process function turned on by default", true); + + void processChargedJetsData(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableData const& candidates) + { + for (typename CandidateTableData::iterator const& candidate : candidates) { // why can the type not be auto? try const auto + analyseCharged(collision, tracks, candidate, jetsTable, constituentsTable, tracks, jetPtMin, jetPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedJetsData, "charged hf jet finding on data", false); + + void processChargedEvtWiseSubJetsData(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableData const& candidates) + { + for (typename CandidateTableData::iterator const& candidate : candidates) { + analyseCharged(collision, jetcandidateutilities::slicedPerCandidate(tracks, candidate, perD0Candidate, perDplusCandidate, perDsCandidate, perDstarCandidate, perLcCandidate, perB0Candidate, perBplusCandidate, perXicToXiPiPiCandidate, perDielectronCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, tracks, jetEWSPtMin, jetEWSPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsData, "charged hf jet finding on data with event-wise constituent subtraction", false); + + void processChargedJetsMCD(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableMCD const& candidates) + { + for (typename CandidateTableMCD::iterator const& candidate : candidates) { + analyseCharged(collision, tracks, candidate, jetsTable, constituentsTable, tracks, jetPtMin, jetPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedJetsMCD, "charged hf jet finding on MC detector level", false); + + void processChargedEvtWiseSubJetsMCD(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableMCD const& candidates) + { + for (typename CandidateTableMCD::iterator const& candidate : candidates) { + analyseCharged(collision, jetcandidateutilities::slicedPerCandidate(tracks, candidate, perD0Candidate, perDplusCandidate, perDsCandidate, perDstarCandidate, perLcCandidate, perB0Candidate, perBplusCandidate, perXicToXiPiPiCandidate, perDielectronCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, tracks, jetEWSPtMin, jetEWSPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsMCD, "charged hf jet finding on MC detector level with event-wise constituent subtraction", false); + + void processChargedJetsMCP(o2::soa::Filtered::iterator const& mcCollision, + o2::soa::Filtered const& particles, + CandidateTableMCP const& candidates) + { + for (typename CandidateTableMCP::iterator const& candidate : candidates) { + analyseMCP(mcCollision, particles, candidate, jetsTable, constituentsTable, 1, jetPtMin, jetPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedJetsMCP, "hf jet finding on MC particle level", false); + + void processChargedEvtWiseSubJetsMCP(o2::soa::Filtered::iterator const& mcCollision, + o2::soa::Filtered const& particles, + CandidateTableMCP const& candidates) + { + for (typename CandidateTableMCP::iterator const& candidate : candidates) { + analyseMCP(mcCollision, jetcandidateutilities::slicedPerCandidate(particles, candidate, perD0McCandidate, perDplusMcCandidate, perDsMcCandidate, perDstarMcCandidate, perLcMcCandidate, perB0McCandidate, perBplusMcCandidate, perXicToXiPiPiMcCandidate, perDielectronMcCandidate), candidate, jetsEvtWiseSubTable, constituentsEvtWiseSubTable, 1, jetPtMin, jetPtMax); + } + } + PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsMCP, "hf jet finding on MC particle level", false); +}; + +#endif // PWGJE_JETFINDERS_JETFINDERHF_H_ diff --git a/PWGJE/JetFinders/jetFinderLcDataCharged.cxx b/PWGJE/JetFinders/jetFinderLcDataCharged.cxx index 37af66ca1b4..7fc228bab14 100644 --- a/PWGJE/JetFinders/jetFinderLcDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderLcDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderLcDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderLcMCDCharged.cxx b/PWGJE/JetFinders/jetFinderLcMCDCharged.cxx index 9172f395fb8..969be69ddf7 100644 --- a/PWGJE/JetFinders/jetFinderLcMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderLcMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderLcMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderLcMCPCharged.cxx b/PWGJE/JetFinders/jetFinderLcMCPCharged.cxx index e9a1fd14346..ec21d1c6ccc 100644 --- a/PWGJE/JetFinders/jetFinderLcMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderLcMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderLcMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCDCharged.cxx b/PWGJE/JetFinders/jetFinderMCDCharged.cxx index 198d1b87d98..a61daf33278 100644 --- a/PWGJE/JetFinders/jetFinderMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCDetectorLevelCharged = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCDFull.cxx b/PWGJE/JetFinders/jetFinderMCDFull.cxx index ce5b8ec42ec..624f9511933 100644 --- a/PWGJE/JetFinders/jetFinderMCDFull.cxx +++ b/PWGJE/JetFinders/jetFinderMCDFull.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCDetectorLevelFull = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCDNeutral.cxx b/PWGJE/JetFinders/jetFinderMCDNeutral.cxx index e532c3d528b..48dd97f0245 100644 --- a/PWGJE/JetFinders/jetFinderMCDNeutral.cxx +++ b/PWGJE/JetFinders/jetFinderMCDNeutral.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCDetectorLevelNeutral = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCPCharged.cxx b/PWGJE/JetFinders/jetFinderMCPCharged.cxx index 98538de9708..7b50f89c1f3 100644 --- a/PWGJE/JetFinders/jetFinderMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCParticleLevelCharged = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCPFull.cxx b/PWGJE/JetFinders/jetFinderMCPFull.cxx index 217a1cfe928..4f0732591cd 100644 --- a/PWGJE/JetFinders/jetFinderMCPFull.cxx +++ b/PWGJE/JetFinders/jetFinderMCPFull.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCParticleLevelFull = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderMCPNeutral.cxx b/PWGJE/JetFinders/jetFinderMCPNeutral.cxx index b2240dbe6e4..d916b950a15 100644 --- a/PWGJE/JetFinders/jetFinderMCPNeutral.cxx +++ b/PWGJE/JetFinders/jetFinderMCPNeutral.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinder.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinder.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderMCParticleLevelNeutral = JetFinderTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderV0.cxx b/PWGJE/JetFinders/jetFinderV0.h similarity index 50% rename from PWGJE/JetFinders/jetFinderV0.cxx rename to PWGJE/JetFinders/jetFinderV0.h index b6eefdf4d69..e90bbcb97bc 100644 --- a/PWGJE/JetFinders/jetFinderV0.cxx +++ b/PWGJE/JetFinders/jetFinderV0.h @@ -13,6 +13,9 @@ // /// \author Nima Zardoshti +#ifndef PWGJE_JETFINDERS_JETFINDERV0_H_ +#define PWGJE_JETFINDERS_JETFINDERV0_H_ + #include "PWGJE/Core/JetDerivedDataUtilities.h" #include "PWGJE/Core/JetFinder.h" #include "PWGJE/Core/JetFindingUtilities.h" @@ -38,68 +41,64 @@ #include #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetFinderV0Task { - Produces jetsTable; - Produces constituentsTable; + o2::framework::Produces jetsTable; + o2::framework::Produces constituentsTable; - HistogramRegistry registry; + o2::framework::HistogramRegistry registry; // event level configurables - Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; - Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; - Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; - Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; - Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; - Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; - Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; - Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; + o2::framework::Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; + o2::framework::Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; + o2::framework::Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; + o2::framework::Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; + o2::framework::Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; + o2::framework::Configurable triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"}; + o2::framework::Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; + o2::framework::Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; // track level configurables - Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; - Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; - Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; - Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; - Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; - Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; - Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; - Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; - Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; - Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; - Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; + o2::framework::Configurable trackPtMin{"trackPtMin", 0.15, "minimum track pT"}; + o2::framework::Configurable trackPtMax{"trackPtMax", 1000.0, "maximum track pT"}; + o2::framework::Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track eta"}; + o2::framework::Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; + o2::framework::Configurable trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; + o2::framework::Configurable trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; + o2::framework::Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; + o2::framework::Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; + o2::framework::Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; + o2::framework::Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; + o2::framework::Configurable particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; // V0 candidate level configurables - Configurable candPtMin{"candPtMin", 0.0, "minimum candidate pT"}; - Configurable candPtMax{"candPtMax", 100.0, "maximum candidate pT"}; - Configurable candYMin{"candYMin", -0.8, "minimum candidate eta"}; - Configurable candYMax{"candYMax", 0.8, "maximum candidate eta"}; - Configurable candPDG{"candPDG", 310, "candidate PDG for mass in clustering"}; + o2::framework::Configurable candPtMin{"candPtMin", 0.0, "minimum candidate pT"}; + o2::framework::Configurable candPtMax{"candPtMax", 100.0, "maximum candidate pT"}; + o2::framework::Configurable candYMin{"candYMin", -0.8, "minimum candidate eta"}; + o2::framework::Configurable candYMax{"candYMax", 0.8, "maximum candidate eta"}; + o2::framework::Configurable candPDG{"candPDG", 310, "candidate PDG for mass in clustering"}; // jet level configurables - Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; - Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; - Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; - Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; - Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; - Configurable jetTypeParticleLevel{"jetTypeParticleLevel", 1, "Type of stored jets. 0 = full, 1 = charged, 2 = neutral"}; - Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; - Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; - Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; - Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; - Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; - Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; - Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; - Configurable fillTHnSparse{"fillTHnSparse", true, "switch to fill the THnSparse"}; - Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; - Configurable useV0SignalFlags{"useV0SignalFlags", true, "use V0 signal flags table"}; - Configurable saveJetsWithCandidatesOnly{"saveJetsWithCandidatesOnly", true, "only save jets if they contain a V0"}; - - Service pdgDatabase; + o2::framework::Configurable> jetRadius{"jetRadius", {0.4}, "jet resolution parameters"}; + o2::framework::Configurable jetPtMin{"jetPtMin", 0.0, "minimum jet pT"}; + o2::framework::Configurable jetPtMax{"jetPtMax", 1000.0, "maximum jet pT"}; + o2::framework::Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; + o2::framework::Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; + o2::framework::Configurable jetTypeParticleLevel{"jetTypeParticleLevel", 1, "Type of stored jets. 0 = full, 1 = charged, 2 = neutral"}; + o2::framework::Configurable jetAlgorithm{"jetAlgorithm", 2, "jet clustering algorithm. 0 = kT, 1 = C/A, 2 = Anti-kT"}; + o2::framework::Configurable jetRecombScheme{"jetRecombScheme", 0, "jet recombination scheme. 0 = E-scheme, 1 = pT-scheme, 2 = pT2-scheme"}; + o2::framework::Configurable jetGhostArea{"jetGhostArea", 0.005, "jet ghost area"}; + o2::framework::Configurable ghostRepeat{"ghostRepeat", 1, "set to 0 to gain speed if you dont need area calculation"}; + o2::framework::Configurable DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"}; + o2::framework::Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; + o2::framework::Configurable jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"}; + o2::framework::Configurable fillTHnSparse{"fillTHnSparse", true, "switch to fill the THnSparse"}; + o2::framework::Configurable jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"}; + o2::framework::Configurable useV0SignalFlags{"useV0SignalFlags", true, "use V0 signal flags table"}; + o2::framework::Configurable saveJetsWithCandidatesOnly{"saveJetsWithCandidatesOnly", true, "only save jets if they contain a V0"}; + + o2::framework::Service pdgDatabase; int trackSelection = -1; std::vector eventSelectionBits; std::string particleSelection; @@ -111,7 +110,7 @@ struct JetFinderV0Task { int candIndex; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast(trackSelections)); triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks); @@ -157,8 +156,8 @@ struct JetFinderV0Task { double jetPtMinDouble = static_cast(jetPtMinInt); double jetPtMaxDouble = static_cast(jetPtMaxInt); - registry.add("hJet", "sparse for data or mcd jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); - registry.add("hJetMCP", "sparse for mcp jets", {HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJet", "sparse for data or mcd jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); + registry.add("hJetMCP", "sparse for mcp jets", {o2::framework::HistType::kTHnD, {{jetRadiiBins, ""}, {jetPtBinNumber, jetPtMinDouble, jetPtMaxDouble}, {40, -1.0, 1.0}, {18, 0.0, 7.0}}}); if (applyTrackingEfficiency) { if (trackingEfficiencyPtBinning->size() < 2) { @@ -170,10 +169,10 @@ struct JetFinderV0Task { } } - Filter collisionFilter = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centFT0M >= centralityMin && aod::jcollision::centFT0M < centralityMax && aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); - Filter mcCollisionFilter = (nabs(aod::jmccollision::posZ) < vertexZCut); - Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta >= trackEtaMin && aod::jtrack::eta <= trackEtaMax && aod::jtrack::phi >= trackPhiMin && aod::jtrack::phi <= trackPhiMax); - Filter partCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta >= trackEtaMin && aod::jmcparticle::eta <= trackEtaMax && aod::jmcparticle::phi >= trackPhiMin && aod::jmcparticle::phi <= trackPhiMax); + o2::framework::expressions::Filter collisionFilter = (nabs(o2::aod::jcollision::posZ) < vertexZCut && o2::aod::jcollision::centFT0M >= centralityMin && o2::aod::jcollision::centFT0M < centralityMax && o2::aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); + o2::framework::expressions::Filter mcCollisionFilter = (nabs(o2::aod::jmccollision::posZ) < vertexZCut); + o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta >= trackEtaMin && o2::aod::jtrack::eta <= trackEtaMax && o2::aod::jtrack::phi >= trackPhiMin && o2::aod::jtrack::phi <= trackPhiMax); + o2::framework::expressions::Filter partCuts = (o2::aod::jmcparticle::pt >= trackPtMin && o2::aod::jmcparticle::pt < trackPtMax && o2::aod::jmcparticle::eta >= trackEtaMin && o2::aod::jmcparticle::eta <= trackEtaMax && o2::aod::jmcparticle::phi >= trackPhiMin && o2::aod::jmcparticle::phi <= trackPhiMax); // function that generalically processes Data and reco level events template @@ -219,28 +218,30 @@ struct JetFinderV0Task { jetfindingutilities::findJets(jetFinder, inputParticles, minJetPt, maxJetPt, jetRadius, jetAreaFractionMin, mcCollision, jetsTable, constituentsTable, registry.get(HIST("hJetMCP")), fillTHnSparse, saveJetsWithCandidatesOnly); } - void processDummy(aod::JetCollisions const&) + void processDummy(o2::aod::JetCollisions const&) { } PROCESS_SWITCH(JetFinderV0Task, processDummy, "Dummy process function turned on by default", true); - void processChargedJetsData(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableData const& candidates) + void processChargedJetsData(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableData const& candidates) { analyseCharged(collision, tracks, candidates, jetsTable, constituentsTable, jetPtMin, jetPtMax); } PROCESS_SWITCH(JetFinderV0Task, processChargedJetsData, "charged hf jet finding on data", false); - void processChargedJetsMCD(soa::Filtered::iterator const& collision, soa::Filtered const& tracks, CandidateTableMCD const& candidates) + void processChargedJetsMCD(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& tracks, CandidateTableMCD const& candidates) { analyseCharged(collision, tracks, candidates, jetsTable, constituentsTable, jetPtMin, jetPtMax); } PROCESS_SWITCH(JetFinderV0Task, processChargedJetsMCD, "charged hf jet finding on MC detector level", false); - void processChargedJetsMCP(soa::Filtered::iterator const& mcCollision, - soa::Filtered const& particles, + void processChargedJetsMCP(o2::soa::Filtered::iterator const& mcCollision, + o2::soa::Filtered const& particles, CandidateTableMCP const& candidates) { analyseMCP(mcCollision, particles, candidates, 1, jetPtMin, jetPtMax); } PROCESS_SWITCH(JetFinderV0Task, processChargedJetsMCP, "hf jet finding on MC particle level", false); }; + +#endif // PWGJE_JETFINDERS_JETFINDERV0_H_ diff --git a/PWGJE/JetFinders/jetFinderV0DataCharged.cxx b/PWGJE/JetFinders/jetFinderV0DataCharged.cxx index 1b239661afd..1495cdd5e3c 100644 --- a/PWGJE/JetFinders/jetFinderV0DataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderV0DataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderV0.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderV0.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderV0DataCharged = JetFinderV0Task; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderV0MCDCharged.cxx b/PWGJE/JetFinders/jetFinderV0MCDCharged.cxx index 890b3334776..e7f49368046 100644 --- a/PWGJE/JetFinders/jetFinderV0MCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderV0MCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderV0.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderV0.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderV0MCDetectorLevelCharged = JetFinderV0Task; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderV0MCPCharged.cxx b/PWGJE/JetFinders/jetFinderV0MCPCharged.cxx index 3704f8f67b0..479fbb0e1cb 100644 --- a/PWGJE/JetFinders/jetFinderV0MCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderV0MCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderV0.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderV0.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderV0MCParticleLevelCharged = JetFinderV0Task; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderXicToXiPiPiDataCharged.cxx b/PWGJE/JetFinders/jetFinderXicToXiPiPiDataCharged.cxx index 3ed339e8a32..4ce821635bc 100644 --- a/PWGJE/JetFinders/jetFinderXicToXiPiPiDataCharged.cxx +++ b/PWGJE/JetFinders/jetFinderXicToXiPiPiDataCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderXicToXiPiPiDataCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderXicToXiPiPiMCDCharged.cxx b/PWGJE/JetFinders/jetFinderXicToXiPiPiMCDCharged.cxx index 64c35fe78c6..35ab06d1ade 100644 --- a/PWGJE/JetFinders/jetFinderXicToXiPiPiMCDCharged.cxx +++ b/PWGJE/JetFinders/jetFinderXicToXiPiPiMCDCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderXicToXiPiPiMCDetectorLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/JetFinders/jetFinderXicToXiPiPiMCPCharged.cxx b/PWGJE/JetFinders/jetFinderXicToXiPiPiMCPCharged.cxx index ca4cc98938f..f8fa64c2533 100644 --- a/PWGJE/JetFinders/jetFinderXicToXiPiPiMCPCharged.cxx +++ b/PWGJE/JetFinders/jetFinderXicToXiPiPiMCPCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/JetFinders/jetFinderHF.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/JetFinders/jetFinderHF.h" #include #include @@ -24,6 +23,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderXicToXiPiPiMCParticleLevelCharged = JetFinderHFTask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h similarity index 69% rename from PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx rename to PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h index 9e7d28ef94f..504219671fd 100644 --- a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx +++ b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h @@ -13,11 +13,14 @@ /// \brief matching duplicate jets /// \author Nima Zardoshti +#ifndef PWGJE_TABLEPRODUCER_MATCHING_DUPLICATES_JETMATCHINGDUPLICATES_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_DUPLICATES_JETMATCHINGDUPLICATES_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -25,34 +28,30 @@ #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetMatchingDuplicates { - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Produces jetsBasetoTagMatchingTable; - Produces jetsTagtoBaseMatchingTable; + o2::framework::Produces jetsBasetoTagMatchingTable; + o2::framework::Produces jetsTagtoBaseMatchingTable; // preslicing jet collections, only for Mc-based collection - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); - Preslice baseJetsPerCollision = jetsBaseIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; - Preslice tagJetsPerCollision = jetsTagIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; + o2::framework::Preslice baseJetsPerCollision = jetsBaseIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; + o2::framework::Preslice tagJetsPerCollision = jetsTagIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - void processJets(aod::JetCollisions const& collisions, + void processJets(o2::aod::JetCollisions const& collisions, JetsBase const& jetsBase, JetsTag const& jetsTag, Tracks const& tracks, Candidates const& candidates) { @@ -85,3 +84,5 @@ struct JetMatchingDuplicates { } PROCESS_SWITCH(JetMatchingDuplicates, processJets, "Perform jet matching", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_DUPLICATES_JETMATCHINGDUPLICATES_H_ diff --git a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedData1.cxx b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedData1.cxx index acf6346f615..434d142f648 100644 --- a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedData1.cxx +++ b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedData1.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using Charged1JetDataMatchingDupliacates = JetMatchingDuplicates, soa::Join, aod::ChargedJetsMatchedToCharged1Jets, diff --git a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCD1.cxx b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCD1.cxx index b900fb9f0c1..f4aa9c019ac 100644 --- a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCD1.cxx +++ b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCD1.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using Charged1JetMCDMatchingDupliacates = JetMatchingDuplicates, soa::Join, aod::ChargedMCDetectorLevelJetsMatchedToCharged1MCDetectorLevelJets, diff --git a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCP1.cxx b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCP1.cxx index f913f810191..a7f529600bc 100644 --- a/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCP1.cxx +++ b/PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicatesChargedMCP1.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/Duplicates/jetMatchingDuplicates.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using Charged1JetMCPMatchingDupliacates = JetMatchingDuplicates, soa::Join, aod::ChargedMCParticleLevelJetsMatchedToCharged1MCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h similarity index 61% rename from PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx rename to PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h index 8cca2025f5e..82d93552c6e 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h @@ -14,11 +14,14 @@ /// \author Nima Zardoshti // +#ifndef PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHING_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHING_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -26,76 +29,72 @@ #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetSubstructureMatching { - Produces splittingsBasetoTagMatchingTable; - Produces splittingsTagtoBaseMatchingTable; + o2::framework::Produces splittingsBasetoTagMatchingTable; + o2::framework::Produces splittingsTagtoBaseMatchingTable; - Produces pairsBasetoTagMatchingTable; - Produces pairsTagtoBaseMatchingTable; + o2::framework::Produces pairsBasetoTagMatchingTable; + o2::framework::Produces pairsTagtoBaseMatchingTable; - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Configurable requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; - Configurable requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; - Configurable requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; + o2::framework::Configurable requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; + o2::framework::Configurable requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - PresliceOptional BaseSplittingsPerBaseJetInclusive = aod::chargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetInclusive = aod::chargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetD0 = aod::d0chargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetD0 = aod::d0chargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDplus = aod::dpluschargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDplus = aod::dpluschargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDs = aod::dschargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDs = aod::dschargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDstar = aod::dstarchargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDstar = aod::dstarchargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetLc = aod::lcchargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetLc = aod::lcchargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetB0 = aod::b0chargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetB0 = aod::b0chargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetBplus = aod::bpluschargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetBplus = aod::bpluschargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetXicToXiPiPi = aod::xictoxipipichargedmcparticlelevelsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDielectron = aod::dielectronchargedmcdetectorlevelsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDielectron = aod::dielectronchargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetInclusive = o2::aod::chargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetInclusive = o2::aod::chargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetD0 = o2::aod::d0chargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetD0 = o2::aod::d0chargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDplus = o2::aod::dpluschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDplus = o2::aod::dpluschargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDs = o2::aod::dschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDs = o2::aod::dschargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDstar = o2::aod::dstarchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDstar = o2::aod::dstarchargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetLc = o2::aod::lcchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetLc = o2::aod::lcchargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetB0 = o2::aod::b0chargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetB0 = o2::aod::b0chargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetBplus = o2::aod::bpluschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetBplus = o2::aod::bpluschargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedmcparticlelevelsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDielectron = o2::aod::dielectronchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDielectron = o2::aod::dielectronchargedmcparticlelevelsplitting::jetId; - PresliceOptional BasePairsPerBaseJetInclusive = aod::chargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetInclusive = aod::chargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetD0 = aod::d0chargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetD0 = aod::d0chargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetDplus = aod::dpluschargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetDplus = aod::dpluschargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetDs = aod::dschargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetDs = aod::dschargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetDstar = aod::dstarchargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetDstar = aod::dstarchargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetLc = aod::lcchargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetLc = aod::lcchargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetB0 = aod::b0chargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetB0 = aod::b0chargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetBplus = aod::bpluschargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetBplus = aod::bpluschargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetXicToXiPiPi = aod::xictoxipipichargedmcparticlelevelpair::jetId; - PresliceOptional BasePairsPerBaseJetDielectron = aod::dielectronchargedmcdetectorlevelpair::jetId; - PresliceOptional TagPairsPerTagJetDielectron = aod::dielectronchargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetInclusive = o2::aod::chargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetInclusive = o2::aod::chargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetD0 = o2::aod::d0chargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetD0 = o2::aod::d0chargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDplus = o2::aod::dpluschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDplus = o2::aod::dpluschargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDs = o2::aod::dschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDs = o2::aod::dschargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDstar = o2::aod::dstarchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDstar = o2::aod::dstarchargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetLc = o2::aod::lcchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetLc = o2::aod::lcchargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetB0 = o2::aod::b0chargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetB0 = o2::aod::b0chargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetBplus = o2::aod::bpluschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetBplus = o2::aod::bpluschargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedmcparticlelevelpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDielectron = o2::aod::dielectronchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDielectron = o2::aod::dielectronchargedmcparticlelevelpair::jetId; // workaround till binding nodes can be passed as template arguments template @@ -278,3 +277,5 @@ struct JetSubstructureMatching { } PROCESS_SWITCH(JetSubstructureMatching, processData, "charged jet substructure", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHING_H_ diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCB0Charged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCB0Charged.cxx index 96e3e0081ec..141711fd782 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCB0Charged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCB0Charged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using B0ChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::B0ChargedMCDetectorLevelSPsMatchedToB0ChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCBplusCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCBplusCharged.cxx index 27bfc4ca22f..a8c56b8c8ec 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCBplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCBplusCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using BplusChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::BplusChargedMCDetectorLevelSPsMatchedToBplusChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCCharged.cxx index e73fab8c77e..85291771742 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using ChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::ChargedMCDetectorLevelSPsMatchedToChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCD0Charged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCD0Charged.cxx index 82ae0adbb91..f70720db1df 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCD0Charged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCD0Charged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::D0ChargedMCDetectorLevelSPsMatchedToD0ChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDielectronCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDielectronCharged.cxx index 395617bed72..4138847cd86 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDielectronCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDielectronCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DielectronChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::DielectronChargedMCDetectorLevelSPsMatchedToDielectronChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDplusCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDplusCharged.cxx index 47ee3fb6757..797afe78107 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDplusCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DplusChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::DplusChargedMCDetectorLevelSPsMatchedToDplusChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDsCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDsCharged.cxx index e6e76c930be..8831a1bc1b1 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDsCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDsCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DsChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::DsChargedMCDetectorLevelSPsMatchedToDsChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDstarCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDstarCharged.cxx index 9cff34b1ce7..94096f13d2d 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDstarCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCDstarCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DstarChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::DstarChargedMCDetectorLevelSPsMatchedToDstarChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCLcCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCLcCharged.cxx index 1744d6b24fe..da918a21e04 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCLcCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCLcCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using LcChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::LcChargedMCDetectorLevelSPsMatchedToLcChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCXicToXiPiPiCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCXicToXiPiPiCharged.cxx index b0eea7a3e6d..aa9fa727a59 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCXicToXiPiPiCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingMCXicToXiPiPiCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatching.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using XicToXiPiPiChargedJetSubstructureMatchingMC = JetSubstructureMatching, soa::Join, aod::XicToXiPiPiChargedMCDetectorLevelSPsMatchedToXicToXiPiPiChargedMCParticleLevelSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h similarity index 62% rename from PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx rename to PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h index bad062a3044..bcce8a6103f 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h @@ -15,11 +15,14 @@ /// \author Nima Zardoshti // +#ifndef PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHINGSUB_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHINGSUB_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -27,76 +30,72 @@ #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetSubstructureMatchingSub { - Produces splittingsBasetoTagMatchingTable; - Produces splittingsTagtoBaseMatchingTable; + o2::framework::Produces splittingsBasetoTagMatchingTable; + o2::framework::Produces splittingsTagtoBaseMatchingTable; - Produces pairsBasetoTagMatchingTable; - Produces pairsTagtoBaseMatchingTable; + o2::framework::Produces pairsBasetoTagMatchingTable; + o2::framework::Produces pairsTagtoBaseMatchingTable; - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Configurable requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; - Configurable requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; - Configurable requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; + o2::framework::Configurable requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; + o2::framework::Configurable requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - PresliceOptional BaseSplittingsPerBaseJetInclusive = aod::chargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetInclusive = aod::chargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetD0 = aod::d0chargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetD0 = aod::d0chargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDplus = aod::dpluschargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDplus = aod::dpluschargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDs = aod::dschargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDs = aod::dschargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDstar = aod::dstarchargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDstar = aod::dstarchargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetLc = aod::lcchargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetLc = aod::lcchargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetB0 = aod::b0chargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetB0 = aod::b0chargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetBplus = aod::bpluschargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetBplus = aod::bpluschargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetXicToXiPiPi = aod::xictoxipipichargedeventwisesubtractedsplitting::jetId; - PresliceOptional BaseSplittingsPerBaseJetDielectron = aod::dielectronchargedsplitting::jetId; - PresliceOptional TagSplittingsPerTagJetDielectron = aod::dielectronchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetInclusive = o2::aod::chargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetInclusive = o2::aod::chargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetD0 = o2::aod::d0chargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetD0 = o2::aod::d0chargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDplus = o2::aod::dpluschargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDplus = o2::aod::dpluschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDs = o2::aod::dschargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDs = o2::aod::dschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDstar = o2::aod::dstarchargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDstar = o2::aod::dstarchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetLc = o2::aod::lcchargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetLc = o2::aod::lcchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetB0 = o2::aod::b0chargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetB0 = o2::aod::b0chargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetBplus = o2::aod::bpluschargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetBplus = o2::aod::bpluschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional BaseSplittingsPerBaseJetDielectron = o2::aod::dielectronchargedsplitting::jetId; + o2::framework::PresliceOptional TagSplittingsPerTagJetDielectron = o2::aod::dielectronchargedeventwisesubtractedsplitting::jetId; - PresliceOptional BasePairsPerBaseJetInclusive = aod::chargedpair::jetId; - PresliceOptional TagPairsPerTagJetInclusive = aod::chargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetD0 = aod::d0chargedpair::jetId; - PresliceOptional TagPairsPerTagJetD0 = aod::d0chargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetDplus = aod::dpluschargedpair::jetId; - PresliceOptional TagPairsPerTagJetDplus = aod::dpluschargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetDs = aod::dschargedpair::jetId; - PresliceOptional TagPairsPerTagJetDs = aod::dschargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetDstar = aod::dstarchargedpair::jetId; - PresliceOptional TagPairsPerTagJetDstar = aod::dstarchargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetLc = aod::lcchargedpair::jetId; - PresliceOptional TagPairsPerTagJetLc = aod::lcchargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetB0 = aod::b0chargedpair::jetId; - PresliceOptional TagPairsPerTagJetB0 = aod::b0chargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetBplus = aod::bpluschargedpair::jetId; - PresliceOptional TagPairsPerTagJetBplus = aod::bpluschargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedpair::jetId; - PresliceOptional TagPairsPerTagJetXicToXiPiPi = aod::xictoxipipichargedeventwisesubtractedpair::jetId; - PresliceOptional BasePairsPerBaseJetDielectron = aod::dielectronchargedpair::jetId; - PresliceOptional TagPairsPerTagJetDielectron = aod::dielectronchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetInclusive = o2::aod::chargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetInclusive = o2::aod::chargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetD0 = o2::aod::d0chargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetD0 = o2::aod::d0chargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDplus = o2::aod::dpluschargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDplus = o2::aod::dpluschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDs = o2::aod::dschargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDs = o2::aod::dschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDstar = o2::aod::dstarchargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDstar = o2::aod::dstarchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetLc = o2::aod::lcchargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetLc = o2::aod::lcchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetB0 = o2::aod::b0chargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetB0 = o2::aod::b0chargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetBplus = o2::aod::bpluschargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetBplus = o2::aod::bpluschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional BasePairsPerBaseJetDielectron = o2::aod::dielectronchargedpair::jetId; + o2::framework::PresliceOptional TagPairsPerTagJetDielectron = o2::aod::dielectronchargedeventwisesubtractedpair::jetId; // workaround till binding nodes can be passed as template arguments template @@ -280,3 +279,5 @@ struct JetSubstructureMatchingSub { } PROCESS_SWITCH(JetSubstructureMatchingSub, processData, "charged jet substructure", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_SUBSTRUCTURE_JETSUBSTRUCTUREMATCHINGSUB_H_ diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubB0Charged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubB0Charged.cxx index 3ed89997f58..ec86e8d9ae4 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubB0Charged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubB0Charged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using B0ChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::B0ChargedSPsMatchedToB0ChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubBplusCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubBplusCharged.cxx index fd7fecd0264..b240aa33876 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubBplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubBplusCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using BplusChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::BplusChargedSPsMatchedToBplusChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubCharged.cxx index 60fe610ad61..7fd1a4d4d74 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using ChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::ChargedSPsMatchedToChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubD0Charged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubD0Charged.cxx index 45e2bcb3ef2..13a75b91104 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubD0Charged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubD0Charged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::D0ChargedSPsMatchedToD0ChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDielectronCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDielectronCharged.cxx index d9f748252f5..83217a04dec 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDielectronCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDielectronCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DielectronChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::DielectronChargedSPsMatchedToDielectronChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDplusCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDplusCharged.cxx index 9d07e6a3bde..39ffc77ca3d 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDplusCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DplusChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::DplusChargedSPsMatchedToDplusChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDsCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDsCharged.cxx index 0fa4f86388d..b79afbe030c 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDsCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDsCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DsChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::DsChargedSPsMatchedToDsChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDstarCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDstarCharged.cxx index c301149c647..53ada25d5ac 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDstarCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubDstarCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DstarChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::DstarChargedSPsMatchedToDstarChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubLcCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubLcCharged.cxx index 59f994282a1..221e370c9bb 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubLcCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubLcCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using LcChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::LcChargedSPsMatchedToLcChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubXicToXiPiPiCharged.cxx b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubXicToXiPiPiCharged.cxx index e5641af7a0d..162b3b001ac 100644 --- a/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubXicToXiPiPiCharged.cxx +++ b/PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSubXicToXiPiPiCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubstructure.h" +#include "PWGJE/TableProducer/Matching/Substructure/jetSubstructureMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using XicToXiPiPiChargedJetSubstructureMatchingSub = JetSubstructureMatchingSub, soa::Join, aod::XicToXiPiPiChargedSPsMatchedToXicToXiPiPiChargedEventWiseSubtractedSPs, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMC.cxx b/PWGJE/TableProducer/Matching/jetMatchingMC.h similarity index 70% rename from PWGJE/TableProducer/Matching/jetMatchingMC.cxx rename to PWGJE/TableProducer/Matching/jetMatchingMC.h index 5faba83064e..10257b94ba7 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMC.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMC.h @@ -17,51 +17,50 @@ /// \author Aimeric Lanodu /// \author Nima Zardoshti +#ifndef PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMC_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMC_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" -#include "Framework/ASoA.h" +#include #include #include #include #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetMatchingMc { - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Produces jetsBasetoTagMatchingTable; - Produces jetsTagtoBaseMatchingTable; + o2::framework::Produces jetsBasetoTagMatchingTable; + o2::framework::Produces jetsTagtoBaseMatchingTable; // preslicing jet collections, only for Mc-based collection - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); - Preslice baseJetsPerCollision = jetsBaseIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; - Preslice tagJetsPerCollision = jetsTagIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; + o2::framework::Preslice baseJetsPerCollision = jetsBaseIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; + o2::framework::Preslice tagJetsPerCollision = jetsTagIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; - PresliceUnsorted CollisionsPerMcCollision = aod::jmccollisionlb::mcCollisionId; + o2::framework::PresliceUnsorted CollisionsPerMcCollision = o2::aod::jmccollisionlb::mcCollisionId; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - void processJets(aod::JetMcCollisions const& mcCollisions, aod::JetCollisionsMCD const& collisions, + void processJets(o2::aod::JetMcCollisions const& mcCollisions, o2::aod::JetCollisionsMCD const& collisions, JetsBase const& jetsBase, JetsTag const& jetsTag, - aod::JetTracksMCD const& tracks, + o2::aod::JetTracksMCD const& tracks, ClustersBase const& clusters, - aod::JetParticles const& particles, + o2::aod::JetParticles const& particles, CandidatesBase const& candidatesBase, CandidatesTag const& candidatesTag) { @@ -97,3 +96,5 @@ struct JetMatchingMc { } PROCESS_SWITCH(JetMatchingMc, processJets, "Perform jet matching", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMC_H_ diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCB0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCB0Charged.cxx index 27205e0c854..665d5a02e43 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCB0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCB0Charged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using B0ChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::B0ChargedMCDetectorLevelJetsMatchedToB0ChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCBplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCBplusCharged.cxx index e9066924fcc..4b4157cb3df 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCBplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCBplusCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using BplusChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::BplusChargedMCDetectorLevelJetsMatchedToBplusChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCCharged.cxx index da8a956efc6..22e94d707c3 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using ChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCD0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCD0Charged.cxx index a56a9f21ff5..fc60b9aa1fa 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCD0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCD0Charged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::D0ChargedMCDetectorLevelJetsMatchedToD0ChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCDielectronCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCDielectronCharged.cxx index 740c30d5f8b..6992ccb147b 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCDielectronCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCDielectronCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DielectronChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::DielectronChargedMCDetectorLevelJetsMatchedToDielectronChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCDplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCDplusCharged.cxx index 7032c3a42e9..4b6ecd4ae1b 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCDplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCDplusCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DplusChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::DplusChargedMCDetectorLevelJetsMatchedToDplusChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCDsCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCDsCharged.cxx index df7a49e8940..fda423764b6 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCDsCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCDsCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DsChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::DsChargedMCDetectorLevelJetsMatchedToDsChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCDstarCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCDstarCharged.cxx index 8eca5d1908e..d6e15922a79 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCDstarCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCDstarCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DstarChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::DstarChargedMCDetectorLevelJetsMatchedToDstarChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCFull.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCFull.cxx index a98f0c7c5bb..42cd4572dd5 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCFull.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCFull.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using FullJetMatchingMC = JetMatchingMc, soa::Join, aod::FullMCDetectorLevelJetsMatchedToFullMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCLcCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCLcCharged.cxx index ef10653f179..2b3210c2797 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCLcCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCLcCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using LcChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::LcChargedMCDetectorLevelJetsMatchedToLcChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCNeutral.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCNeutral.cxx index 204d0f4afda..6af1208c269 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCNeutral.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCNeutral.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using NeutralJetMatchingMC = JetMatchingMc, soa::Join, aod::NeutralMCDetectorLevelJetsMatchedToNeutralMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSub.h similarity index 73% rename from PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx rename to PWGJE/TableProducer/Matching/jetMatchingMCSub.h index 927298a53b5..51a0b3d8424 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSub.h @@ -13,10 +13,13 @@ /// \brief matching event-wise constituent subtracted detector level and unsubtracted generated level jets (this is usseful as a template for embedding matching) /// \author Nima Zardoshti +#ifndef PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMCSUB_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMCSUB_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -24,37 +27,33 @@ #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetMatchingMcSub { - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Produces jetsBasetoTagMatchingTable; - Produces jetsTagtoBaseMatchingTable; + o2::framework::Produces jetsBasetoTagMatchingTable; + o2::framework::Produces jetsTagtoBaseMatchingTable; // preslicing jet collections, only for Mc-based collection static constexpr bool jetsBaseIsMc = false; static constexpr bool jetsTagIsMc = false; - Preslice baseJetsPerCollision = aod::jet::collisionId; - Preslice tagJetsPerCollision = aod::jet::collisionId; + o2::framework::Preslice baseJetsPerCollision = o2::aod::jet::collisionId; + o2::framework::Preslice tagJetsPerCollision = o2::aod::jet::collisionId; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - void processJets(aod::JetCollisions const& collisions, + void processJets(o2::aod::JetCollisions const& collisions, JetsBase const& jetsBase, JetsTag const& jetsTag, - aod::JetTracks const& tracks, - aod::JetTracksSub const& tracksSub, + o2::aod::JetTracks const& tracks, + o2::aod::JetTracksSub const& tracksSub, Candidates const& candidates) { @@ -86,3 +85,5 @@ struct JetMatchingMcSub { } PROCESS_SWITCH(JetMatchingMcSub, processJets, "Perform jet matching", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGMCSUB_H_ diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubB0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubB0Charged.cxx index a5de8601581..ce7bfaf593c 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubB0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubB0Charged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using B0ChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::B0ChargedMCDetectorLevelJetsMatchedToB0ChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubBplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubBplusCharged.cxx index 38e0b9034d2..5eb3b95fa24 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubBplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubBplusCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::D0ChargedMCDetectorLevelJetsMatchedToD0ChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubCharged.cxx index eb19ef698f3..b17dff9fc28 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using ChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubD0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubD0Charged.cxx index 31313b99421..cc697794830 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubD0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubD0Charged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::D0ChargedMCDetectorLevelJetsMatchedToD0ChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubDielectronCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubDielectronCharged.cxx index 8d9082f2884..65175c1d70f 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubDielectronCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubDielectronCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DielectronChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::DielectronChargedMCDetectorLevelJetsMatchedToDielectronChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubDplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubDplusCharged.cxx index 936b7b8d718..bc98db9a703 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubDplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubDplusCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DplusChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::DplusChargedMCDetectorLevelJetsMatchedToDplusChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubDsCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubDsCharged.cxx index 2fa5d9f74d9..958ef8a8546 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubDsCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubDsCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DsChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::DsChargedMCDetectorLevelJetsMatchedToDsChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubDstarCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubDstarCharged.cxx index f2acd7aedd0..0da616eae47 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubDstarCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubDstarCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DstarChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::DstarChargedMCDetectorLevelJetsMatchedToDstarChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubLcCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubLcCharged.cxx index d645f297f9c..767fbdf7ba8 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubLcCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubLcCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using LcChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::LcChargedMCDetectorLevelJetsMatchedToLcChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCSubXicToXiPiPiCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCSubXicToXiPiPiCharged.cxx index 595be4a2124..a26848c7948 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCSubXicToXiPiPiCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCSubXicToXiPiPiCharged.cxx @@ -13,9 +13,8 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.cxx" - #include "PWGJE/DataModel/Jet.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMCSub.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using XicToXiPiPiChargedJetMatchingMCSub = JetMatchingMcSub, soa::Join, aod::XicToXiPiPiChargedMCDetectorLevelJetsMatchedToXicToXiPiPiChargedMCDetectorLevelEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCV0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCV0Charged.cxx index 35c569d4651..8021c06f4fc 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCV0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCV0Charged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using V0ChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::V0ChargedMCDetectorLevelJetsMatchedToV0ChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingMCXicToXiPiPiCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingMCXicToXiPiPiCharged.cxx index 1d14c10bef6..848ff1b7432 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingMCXicToXiPiPiCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingMCXicToXiPiPiCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingMC.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" +#include "PWGJE/TableProducer/Matching/jetMatchingMC.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using XicToXiPiPiChargedJetMatchingMC = JetMatchingMc, soa::Join, aod::XicToXiPiPiChargedMCDetectorLevelJetsMatchedToXicToXiPiPiChargedMCParticleLevelJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSub.cxx b/PWGJE/TableProducer/Matching/jetMatchingSub.h similarity index 68% rename from PWGJE/TableProducer/Matching/jetMatchingSub.cxx rename to PWGJE/TableProducer/Matching/jetMatchingSub.h index 97ac2461acd..0aa035794c3 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSub.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSub.h @@ -13,11 +13,14 @@ /// \brief matching event-wise constituent subtracted data jets and unsubtracted data jets /// \author Nima Zardoshti +#ifndef PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGSUB_H_ +#define PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGSUB_H_ + #include "PWGJE/Core/JetMatchingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -25,36 +28,32 @@ #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetMatchingSub { - Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; - Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; - Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; - Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; - Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; + o2::framework::Configurable doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; + o2::framework::Configurable doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; + o2::framework::Configurable doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; + o2::framework::Configurable maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; + o2::framework::Configurable minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; - Produces jetsBasetoTagMatchingTable; - Produces jetsTagtoBaseMatchingTable; + o2::framework::Produces jetsBasetoTagMatchingTable; + o2::framework::Produces jetsTagtoBaseMatchingTable; // preslicing jet collections, only for Mc-based collection - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex(); + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex(); - Preslice baseJetsPerCollision = jetsBaseIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; - Preslice tagJetsPerCollision = jetsTagIsMc ? aod::jet::mcCollisionId : aod::jet::collisionId; + o2::framework::Preslice baseJetsPerCollision = jetsBaseIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; + o2::framework::Preslice tagJetsPerCollision = jetsTagIsMc ? o2::aod::jet::mcCollisionId : o2::aod::jet::collisionId; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { } - void processJets(aod::JetCollisions const& collisions, + void processJets(o2::aod::JetCollisions const& collisions, JetsBase const& jetsBase, JetsTag const& jetsTag, - aod::JetTracks const& tracks, TracksTag const& tracksSub, Candidates const& candidates) + o2::aod::JetTracks const& tracks, TracksTag const& tracksSub, Candidates const& candidates) { // initialise objects used to store the matching index arrays (array in case a mcCollision is split) before filling the matching tables @@ -85,3 +84,5 @@ struct JetMatchingSub { } PROCESS_SWITCH(JetMatchingSub, processJets, "Perform jet matching", true); }; + +#endif // PWGJE_TABLEPRODUCER_MATCHING_JETMATCHINGSUB_H_ diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubB0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubB0Charged.cxx index 87598cc0cc1..268535a43a1 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubB0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubB0Charged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using B0ChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::B0ChargedJetsMatchedToB0ChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubBplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubBplusCharged.cxx index bd8591a4340..7b233077472 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubBplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubBplusCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using BplusChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::BplusChargedJetsMatchedToBplusChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubCharged.cxx index 406345bc8c2..d7e27088b3e 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubCharged.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using ChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::ChargedJetsMatchedToChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubD0Charged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubD0Charged.cxx index 2912f249d37..219fd50c261 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubD0Charged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubD0Charged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using D0ChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::D0ChargedJetsMatchedToD0ChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubDielectronCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubDielectronCharged.cxx index 1cdd5c20c54..6eeb5579f04 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubDielectronCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubDielectronCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DielectronChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::DielectronChargedJetsMatchedToDielectronChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubDplusCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubDplusCharged.cxx index 533b129b598..2c6fe24d711 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubDplusCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubDplusCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DplusChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::DplusChargedJetsMatchedToDplusChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubDsCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubDsCharged.cxx index d08dd8e6155..a2c1fe44eff 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubDsCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubDsCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DsChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::DsChargedJetsMatchedToDsChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubDstarCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubDstarCharged.cxx index e8d54a30ecb..5386b609295 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubDstarCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubDstarCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using DstarChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::DstarChargedJetsMatchedToDstarChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubLcCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubLcCharged.cxx index 72ac5bd7253..477686f007f 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubLcCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubLcCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using LcChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::LcChargedJetsMatchedToLcChargedEventWiseSubtractedJets, diff --git a/PWGJE/TableProducer/Matching/jetMatchingSubXicToXiPiPiCharged.cxx b/PWGJE/TableProducer/Matching/jetMatchingSubXicToXiPiPiCharged.cxx index a2efd7f0cde..e31206dbe9b 100644 --- a/PWGJE/TableProducer/Matching/jetMatchingSubXicToXiPiPiCharged.cxx +++ b/PWGJE/TableProducer/Matching/jetMatchingSubXicToXiPiPiCharged.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/TableProducer/Matching/jetMatchingSub.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/TableProducer/Matching/jetMatchingSub.h" #include #include @@ -26,6 +25,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using XicToXiPiPiChargedJetMatchingSub = JetMatchingSub, soa::Join, aod::XicToXiPiPiChargedJetsMatchedToXicToXiPiPiChargedEventWiseSubtractedJets, diff --git a/PWGJE/Tasks/jetBackgroundAnalysis.cxx b/PWGJE/Tasks/jetBackgroundAnalysis.cxx index 8e93fc305d0..dcbd9d1f631 100644 --- a/PWGJE/Tasks/jetBackgroundAnalysis.cxx +++ b/PWGJE/Tasks/jetBackgroundAnalysis.cxx @@ -14,17 +14,17 @@ /// \author Aimeric Landou /// \author Nima Zardoshti -#include "RecoDecay.h" - #include "PWGJE/Core/JetDerivedDataUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" -#include "Framework/ASoA.h" -#include "Framework/AnalysisTask.h" -#include "Framework/HistogramRegistry.h" +#include "Common/Core/RecoDecay.h" + +#include +#include #include +#include #include #include #include diff --git a/PWGJE/Tasks/jetFinderB0QA.cxx b/PWGJE/Tasks/jetFinderB0QA.cxx index 8935968ac5b..37fa61efb99 100644 --- a/PWGJE/Tasks/jetFinderB0QA.cxx +++ b/PWGJE/Tasks/jetFinderB0QA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderB0QATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderBplusQA.cxx b/PWGJE/Tasks/jetFinderBplusQA.cxx index a713c3a767e..6868989e3c0 100644 --- a/PWGJE/Tasks/jetFinderBplusQA.cxx +++ b/PWGJE/Tasks/jetFinderBplusQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderBplusQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderD0QA.cxx b/PWGJE/Tasks/jetFinderD0QA.cxx index 1ebe0ec649b..50bdeda3fa1 100644 --- a/PWGJE/Tasks/jetFinderD0QA.cxx +++ b/PWGJE/Tasks/jetFinderD0QA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderD0QATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderDielectronQA.cxx b/PWGJE/Tasks/jetFinderDielectronQA.cxx index 296ede5979a..a6794bf2dad 100644 --- a/PWGJE/Tasks/jetFinderDielectronQA.cxx +++ b/PWGJE/Tasks/jetFinderDielectronQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDielectronQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderDplusQA.cxx b/PWGJE/Tasks/jetFinderDplusQA.cxx index 877cbf60d8a..bc12fc29120 100644 --- a/PWGJE/Tasks/jetFinderDplusQA.cxx +++ b/PWGJE/Tasks/jetFinderDplusQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDplusQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderDsQA.cxx b/PWGJE/Tasks/jetFinderDsQA.cxx index e04915fb975..8cf30e5a7cf 100644 --- a/PWGJE/Tasks/jetFinderDsQA.cxx +++ b/PWGJE/Tasks/jetFinderDsQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDsQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderDstarQA.cxx b/PWGJE/Tasks/jetFinderDstarQA.cxx index b8fc0808521..8ccfecf0c49 100644 --- a/PWGJE/Tasks/jetFinderDstarQA.cxx +++ b/PWGJE/Tasks/jetFinderDstarQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderDstarQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderHFQA.cxx b/PWGJE/Tasks/jetFinderHFQA.h similarity index 71% rename from PWGJE/Tasks/jetFinderHFQA.cxx rename to PWGJE/Tasks/jetFinderHFQA.h index 1825c5fef86..ad1c25a9aa1 100644 --- a/PWGJE/Tasks/jetFinderHFQA.cxx +++ b/PWGJE/Tasks/jetFinderHFQA.h @@ -13,7 +13,8 @@ // /// \author Nima Zardoshti -#include "RecoDecay.h" +#ifndef PWGJE_TASKS_JETFINDERHFQA_H_ +#define PWGJE_TASKS_JETFINDERHFQA_H_ #include "PWGHF/Core/HfHelper.h" #include "PWGJE/Core/JetDerivedDataUtilities.h" @@ -23,9 +24,11 @@ #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" -#include "Framework/ASoA.h" -#include "Framework/HistogramRegistry.h" +#include "Common/Core/RecoDecay.h" + +#include #include +#include #include #include @@ -42,38 +45,33 @@ #include -using namespace o2; -using namespace o2::analysis; -using namespace o2::framework; -using namespace o2::framework::expressions; - template struct JetFinderHFQATask { - HistogramRegistry registry; - - Configurable selectedJetsRadius{"selectedJetsRadius", 0.4, "resolution parameter for histograms without radius"}; - Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; - Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; - Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; - Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; - Configurable> jetRadii{"jetRadii", std::vector{0.4}, "jet resolution parameters"}; - Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum eta acceptance for tracks"}; - Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum eta acceptance for tracks"}; - Configurable trackPtMin{"trackPtMin", 0.15, "minimum pT acceptance for tracks"}; - Configurable trackPtMax{"trackPtMax", 100.0, "maximum pT acceptance for tracks"}; - Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; - Configurable jetPtMax{"jetPtMax", 200., "set jet pT bin max"}; - Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; - Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; - Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; - Configurable leadingConstituentPtMin{"leadingConstituentPtMin", -99.0, "minimum pT selection on jet constituent"}; - Configurable pTHatMaxMCD{"pTHatMaxMCD", 999.0, "maximum fraction of hard scattering for jet acceptance in detector MC"}; - Configurable pTHatMaxMCP{"pTHatMaxMCP", 999.0, "maximum fraction of hard scattering for jet acceptance in particle MC"}; - Configurable pTHatExponent{"pTHatExponent", 6.0, "exponent of the event weight for the calculation of pTHat"}; - Configurable pTHatAbsoluteMin{"pTHatAbsoluteMin", -99.0, "minimum value of pTHat"}; - Configurable randomConeR{"randomConeR", 0.4, "size of random Cone for estimating background fluctuations"}; - Configurable skipMBGapEvents{"skipMBGapEvents", false, "flag to choose to reject min. bias gap events; jet-level rejection applied at the jet finder level, here rejection is applied for collision and track process functions"}; + o2::framework::HistogramRegistry registry; + + o2::framework::Configurable selectedJetsRadius{"selectedJetsRadius", 0.4, "resolution parameter for histograms without radius"}; + o2::framework::Configurable eventSelections{"eventSelections", "sel8", "choose event selection"}; + o2::framework::Configurable vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"}; + o2::framework::Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; + o2::framework::Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; + o2::framework::Configurable> jetRadii{"jetRadii", std::vector{0.4}, "jet resolution parameters"}; + o2::framework::Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum eta acceptance for tracks"}; + o2::framework::Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum eta acceptance for tracks"}; + o2::framework::Configurable trackPtMin{"trackPtMin", 0.15, "minimum pT acceptance for tracks"}; + o2::framework::Configurable trackPtMax{"trackPtMax", 100.0, "maximum pT acceptance for tracks"}; + o2::framework::Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; + o2::framework::Configurable jetPtMax{"jetPtMax", 200., "set jet pT bin max"}; + o2::framework::Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; + o2::framework::Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; + o2::framework::Configurable jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"}; + o2::framework::Configurable leadingConstituentPtMin{"leadingConstituentPtMin", -99.0, "minimum pT selection on jet constituent"}; + o2::framework::Configurable pTHatMaxMCD{"pTHatMaxMCD", 999.0, "maximum fraction of hard scattering for jet acceptance in detector MC"}; + o2::framework::Configurable pTHatMaxMCP{"pTHatMaxMCP", 999.0, "maximum fraction of hard scattering for jet acceptance in particle MC"}; + o2::framework::Configurable pTHatExponent{"pTHatExponent", 6.0, "exponent of the event weight for the calculation of pTHat"}; + o2::framework::Configurable pTHatAbsoluteMin{"pTHatAbsoluteMin", -99.0, "minimum value of pTHat"}; + o2::framework::Configurable randomConeR{"randomConeR", 0.4, "size of random Cone for estimating background fluctuations"}; + o2::framework::Configurable skipMBGapEvents{"skipMBGapEvents", false, "flag to choose to reject min. bias gap events; jet-level rejection applied at the jet finder level, here rejection is applied for collision and track process functions"}; HfHelper hfHelper; std::vector filledJetR_Both; @@ -136,370 +134,370 @@ struct JetFinderHFQATask { } std::sort(jetPtBinsRhoAreaSub.begin(), jetPtBinsRhoAreaSub.end()); - AxisSpec jetPtAxis = {jetPtBins, "#it{p}_{T} (GeV/#it{c})"}; - AxisSpec jetPtAxisRhoAreaSub = {jetPtBinsRhoAreaSub, "#it{p}_{T} (GeV/#it{c})"}; + o2::framework::AxisSpec jetPtAxis = {jetPtBins, "#it{p}_{T} (GeV/#it{c})"}; + o2::framework::AxisSpec jetPtAxisRhoAreaSub = {jetPtBinsRhoAreaSub, "#it{p}_{T} (GeV/#it{c})"}; if (doprocessJetsData || doprocessJetsMCD || doprocessJetsMCDWeighted) { - registry.add("h_jet_pt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {jetPtAxis}}); - registry.add("h_jet_eta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_jet_phi", "jet #varphi;#varphi_{jet};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_jet_ntracks", "jet N tracks;N_{jet tracks};entries", {HistType::kTH1F, {{200, -0.5, 199.5}}}); - registry.add("h2_centrality_jet_pt", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxis}}); - registry.add("h2_centrality_jet_eta", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); - registry.add("h2_centrality_jet_phi", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); - registry.add("h2_centrality_jet_ntracks", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_centrality", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1200, -10.0, 110.0}}}); - registry.add("h3_jet_r_jet_pt_jet_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_jet_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_eta_jet_phi", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_jet_ntracks", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_jet_area", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {300, 0., 3.}}}); - registry.add("h3_jet_r_jet_pt_track_pt", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_candidate_invmass_jet_pt_candidate_pt", ";#it{m}_{inv, candidate} (GeV/#it{c}^{2}); #it{p}_{T,jet} (GeV/#it{c}) ;#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{500, 0.0, 5.0}, jetPtAxis, {200, 0.0, 200.0}}}); - registry.add("h3_candidatebar_invmass_jet_pt_candidate_pt", ";#it{m}_{inv, candidate bar} (GeV/#it{c}^{2}); #it{p}_{T,jet} (GeV/#it{c}) ;#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{500, 0.0, 5.0}, jetPtAxis, {200, 0.0, 200.0}}}); - registry.add("h_jet_phat_weighted", "jet #hat{p};#hat{p} (GeV/#it{c});entries", {HistType::kTH1F, {{350, 0, 350}}}); + registry.add("h_jet_pt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {jetPtAxis}}); + registry.add("h_jet_eta", "jet #eta;#eta_{jet};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_jet_phi", "jet #varphi;#varphi_{jet};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_jet_ntracks", "jet N tracks;N_{jet tracks};entries", {o2::framework::HistType::kTH1F, {{200, -0.5, 199.5}}}); + registry.add("h2_centrality_jet_pt", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxis}}); + registry.add("h2_centrality_jet_eta", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); + registry.add("h2_centrality_jet_phi", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); + registry.add("h2_centrality_jet_ntracks", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_centrality", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1200, -10.0, 110.0}}}); + registry.add("h3_jet_r_jet_pt_jet_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_jet_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_eta_jet_phi", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_jet_ntracks", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_jet_area", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {300, 0., 3.}}}); + registry.add("h3_jet_r_jet_pt_track_pt", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_candidate_invmass_jet_pt_candidate_pt", ";#it{m}_{inv, candidate} (GeV/#it{c}^{2}); #it{p}_{T,jet} (GeV/#it{c}) ;#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{500, 0.0, 5.0}, jetPtAxis, {200, 0.0, 200.0}}}); + registry.add("h3_candidatebar_invmass_jet_pt_candidate_pt", ";#it{m}_{inv, candidate bar} (GeV/#it{c}^{2}); #it{p}_{T,jet} (GeV/#it{c}) ;#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{500, 0.0, 5.0}, jetPtAxis, {200, 0.0, 200.0}}}); + registry.add("h_jet_phat_weighted", "jet #hat{p};#hat{p} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{350, 0, 350}}}); } if (doprocessJetsRhoAreaSubData || doprocessJetsRhoAreaSubMCD) { - registry.add("h_jet_pt_rhoareasubtracted", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {jetPtAxisRhoAreaSub}}); - registry.add("h_jet_eta_rhoareasubtracted", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_jet_phi_rhoareasubtracted", "jet #varphi;#varphi_{jet};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_jet_ntracks_rhoareasubtracted", "jet N tracks;N_{jet tracks};entries", {HistType::kTH1F, {{200, -0.5, 199.5}}}); - registry.add("h2_centrality_jet_pt_rhoareasubtracted", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxisRhoAreaSub}}); - registry.add("h2_centrality_jet_eta_rhoareasubtracted", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); - registry.add("h2_centrality_jet_phi_rhoareasubtracted", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); - registry.add("h2_centrality_jet_ntracks_rhoareasubtracted", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_centrality_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {1200, -10.0, 110.0}}}); - registry.add("h3_jet_r_jet_pt_jet_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_jet_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_eta_jet_phi_rhoareasubtracted", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_jet_ntracks_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_jet_area_rhoareasubtracted", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {300, 0., 3.}}}); - registry.add("h3_jet_r_jet_pt_track_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_jet_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxisRhoAreaSub}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); + registry.add("h_jet_pt_rhoareasubtracted", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {jetPtAxisRhoAreaSub}}); + registry.add("h_jet_eta_rhoareasubtracted", "jet #eta;#eta_{jet};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_jet_phi_rhoareasubtracted", "jet #varphi;#varphi_{jet};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_jet_ntracks_rhoareasubtracted", "jet N tracks;N_{jet tracks};entries", {o2::framework::HistType::kTH1F, {{200, -0.5, 199.5}}}); + registry.add("h2_centrality_jet_pt_rhoareasubtracted", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxisRhoAreaSub}}); + registry.add("h2_centrality_jet_eta_rhoareasubtracted", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); + registry.add("h2_centrality_jet_phi_rhoareasubtracted", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); + registry.add("h2_centrality_jet_ntracks_rhoareasubtracted", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_centrality_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {1200, -10.0, 110.0}}}); + registry.add("h3_jet_r_jet_pt_jet_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_jet_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_eta_jet_phi_rhoareasubtracted", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_jet_ntracks_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_jet_area_rhoareasubtracted", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {300, 0., 3.}}}); + registry.add("h3_jet_r_jet_pt_track_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_jet_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxisRhoAreaSub}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_rhoareasubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxisRhoAreaSub, {500, -5.0, 5.0}}}); } if (doprocessEvtWiseConstSubJetsData) { - registry.add("h_jet_pt_eventwiseconstituentsubtracted", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {jetPtAxis}}); - registry.add("h_jet_eta_eventwiseconstituentsubtracted", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_jet_phi_eventwiseconstituentsubtracted", "jet #varphi;#varphi_{jet};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_jet_ntracks_eventwiseconstituentsubtracted", "jet N tracks;N_{jet tracks};entries", {HistType::kTH1F, {{200, -0.5, 199.5}}}); - registry.add("h2_centrality_jet_pt_eventwiseconstituentsubtracted", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxis}}); - registry.add("h2_centrality_jet_eta_eventwiseconstituentsubtracted", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); - registry.add("h2_centrality_jet_phi_eventwiseconstituentsubtracted", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); - registry.add("h2_centrality_jet_ntracks_eventwiseconstituentsubtracted", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_centrality_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1200, -10.0, 110.0}}}); - registry.add("h3_jet_r_jet_pt_jet_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_jet_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_eta_jet_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_jet_ntracks_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_jet_pt_jet_area_eventwiseconstituentsubtracted", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {300, 0., 3.}}}); - registry.add("h3_jet_r_jet_pt_track_pt_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h_jet_pt_eventwiseconstituentsubtracted", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {jetPtAxis}}); + registry.add("h_jet_eta_eventwiseconstituentsubtracted", "jet #eta;#eta_{jet};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_jet_phi_eventwiseconstituentsubtracted", "jet #varphi;#varphi_{jet};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_jet_ntracks_eventwiseconstituentsubtracted", "jet N tracks;N_{jet tracks};entries", {o2::framework::HistType::kTH1F, {{200, -0.5, 199.5}}}); + registry.add("h2_centrality_jet_pt_eventwiseconstituentsubtracted", "centrality vs #it{p}_{T,jet}; centrality; #it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, jetPtAxis}}); + registry.add("h2_centrality_jet_eta_eventwiseconstituentsubtracted", "centrality vs #eta_{jet}; centrality; #eta_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {500, -5.0, 5.0}}}); + registry.add("h2_centrality_jet_phi_eventwiseconstituentsubtracted", "centrality vs #varphi_{jet}; centrality; #varphi_{jet}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {160, -1.0, 7.}}}); + registry.add("h2_centrality_jet_ntracks_eventwiseconstituentsubtracted", "centrality vs N_{jet tracks}; centrality; N_{jet tracks}", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_centrality_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});centrality", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1200, -10.0, 110.0}}}); + registry.add("h3_jet_r_jet_pt_jet_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_jet_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_eta_jet_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#eta_{jet};#varphi_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_jet_ntracks_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});N_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_jet_area_eventwiseconstituentsubtracted", "#it{R}_{jet}; #it{p}_{T,jet} (GeV/#it{c}); #it{area}_{jet}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {300, 0., 3.}}}); + registry.add("h3_jet_r_jet_pt_track_pt_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_eventwiseconstituentsubtracted", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); } if (doprocessRho) { - registry.add("h2_centrality_ntracks", "; centrality; N_{tracks};", {HistType::kTH2F, {{1100, 0., 110.0}, {10000, 0.0, 10000.0}}}); - registry.add("h2_ntracks_rho", "; N_{tracks}; #it{rho} (GeV/area);", {HistType::kTH2F, {{10000, 0.0, 10000.0}, {400, 0.0, 400.0}}}); - registry.add("h2_ntracks_rhom", "; N_{tracks}; #it{rho}_{m} (GeV/area);", {HistType::kTH2F, {{10000, 0.0, 10000.0}, {100, 0.0, 100.0}}}); - registry.add("h2_centrality_rho", "; centrality; #it{rho} (GeV/area);", {HistType::kTH2F, {{1100, 0., 110.}, {400, 0., 400.0}}}); - registry.add("h2_centrality_rhom", ";centrality; #it{rho}_{m} (GeV/area)", {HistType::kTH2F, {{1100, 0., 110.}, {100, 0., 100.0}}}); + registry.add("h2_centrality_ntracks", "; centrality; N_{tracks};", {o2::framework::HistType::kTH2F, {{1100, 0., 110.0}, {10000, 0.0, 10000.0}}}); + registry.add("h2_ntracks_rho", "; N_{tracks}; #it{rho} (GeV/area);", {o2::framework::HistType::kTH2F, {{10000, 0.0, 10000.0}, {400, 0.0, 400.0}}}); + registry.add("h2_ntracks_rhom", "; N_{tracks}; #it{rho}_{m} (GeV/area);", {o2::framework::HistType::kTH2F, {{10000, 0.0, 10000.0}, {100, 0.0, 100.0}}}); + registry.add("h2_centrality_rho", "; centrality; #it{rho} (GeV/area);", {o2::framework::HistType::kTH2F, {{1100, 0., 110.}, {400, 0., 400.0}}}); + registry.add("h2_centrality_rhom", ";centrality; #it{rho}_{m} (GeV/area)", {o2::framework::HistType::kTH2F, {{1100, 0., 110.}, {100, 0., 100.0}}}); } if (doprocessRandomConeData || doprocessRandomConeMCD) { - registry.add("h2_centrality_rhorandomcone", "; centrality; #it{p}_{T,random cone} - #it{area, random cone} * #it{rho} (GeV/c);", {HistType::kTH2F, {{1100, 0., 110.}, {800, -400.0, 400.0}}}); - registry.add("h2_centrality_rhorandomconewithoutleadingjet", "; centrality; #it{p}_{T,random cone} - #it{area, random cone} * #it{rho} (GeV/c);", {HistType::kTH2F, {{1100, 0., 110.}, {800, -400.0, 400.0}}}); + registry.add("h2_centrality_rhorandomcone", "; centrality; #it{p}_{T,random cone} - #it{area, random cone} * #it{rho} (GeV/c);", {o2::framework::HistType::kTH2F, {{1100, 0., 110.}, {800, -400.0, 400.0}}}); + registry.add("h2_centrality_rhorandomconewithoutleadingjet", "; centrality; #it{p}_{T,random cone} - #it{area, random cone} * #it{rho} (GeV/c);", {o2::framework::HistType::kTH2F, {{1100, 0., 110.}, {800, -400.0, 400.0}}}); } if (doprocessJetsMCP || doprocessJetsMCPWeighted) { - registry.add("h_jet_pt_part", "jet pT;#it{p}_{T,jet}^{part}(GeV/#it{c});entries", {HistType::kTH1F, {jetPtAxis}}); - registry.add("h_jet_eta_part", "jet #eta;#eta_{jet}^{part};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_jet_phi_part", "jet #varphi;#varphi_{jet}^{part};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_jet_ntracks_part", "jet N tracks;N_{jet tracks}^{part};entries", {HistType::kTH1F, {{200, -0.5, 199.5}}}); - registry.add("h3_jet_r_part_jet_pt_part_jet_eta_part", ";#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{jet}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_part_jet_pt_part_jet_phi_part", ";#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi_{jet}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_part_jet_eta_part_jet_phi_part", ";#it{R}_{jet}^{part};#eta_{jet}^{part};#varphi_{jet}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_part_jet_pt_part_jet_ntracks_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});N_{jet tracks}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_part_jet_pt_part_track_pt_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#it{p}_{T,jet tracks}^{part} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_part_jet_pt_part_track_eta_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{jet tracks}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_part_jet_pt_part_track_phi_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi_{jet tracks}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_part_jet_pt_part_candidate_pt_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#it{p}_{T,candidate}^{part} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_part_jet_pt_part_candidate_eta_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{candidate}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_part_jet_pt_part_candidate_phi_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi{candidate}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_part_jet_pt_part_candidate_y_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});y_{candidate}^{part}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h_jet_phat_part_weighted", "jet #hat{p};#hat{p} (GeV/#it{c});entries", {HistType::kTH1F, {{1000, 0, 1000}}}); + registry.add("h_jet_pt_part", "jet pT;#it{p}_{T,jet}^{part}(GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {jetPtAxis}}); + registry.add("h_jet_eta_part", "jet #eta;#eta_{jet}^{part};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_jet_phi_part", "jet #varphi;#varphi_{jet}^{part};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_jet_ntracks_part", "jet N tracks;N_{jet tracks}^{part};entries", {o2::framework::HistType::kTH1F, {{200, -0.5, 199.5}}}); + registry.add("h3_jet_r_part_jet_pt_part_jet_eta_part", ";#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{jet}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_part_jet_pt_part_jet_phi_part", ";#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi_{jet}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_part_jet_eta_part_jet_phi_part", ";#it{R}_{jet}^{part};#eta_{jet}^{part};#varphi_{jet}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_part_jet_pt_part_jet_ntracks_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});N_{jet tracks}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_part_jet_pt_part_track_pt_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#it{p}_{T,jet tracks}^{part} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_part_jet_pt_part_track_eta_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{jet tracks}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_part_jet_pt_part_track_phi_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi_{jet tracks}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_part_jet_pt_part_candidate_pt_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#it{p}_{T,candidate}^{part} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_part_jet_pt_part_candidate_eta_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#eta_{candidate}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_part_jet_pt_part_candidate_phi_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});#varphi{candidate}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_part_jet_pt_part_candidate_y_part", "#it{R}_{jet}^{part};#it{p}_{T,jet}^{part} (GeV/#it{c});y_{candidate}^{part}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h_jet_phat_part_weighted", "jet #hat{p};#hat{p} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{1000, 0, 1000}}}); } if (doprocessJetsMCPMCDMatched || doprocessJetsMCPMCDMatchedWeighted || doprocessJetsSubMatched) { - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeo", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeo", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeo", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeo", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeo", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeo", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedpt", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedpt", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedpt", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedpt", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedpt", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedpt", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeopt", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeopt", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeopt", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeopt", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeopt", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeopt", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedhf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedhf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedhf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedhf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedhf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedhf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeohf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeohf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeohf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeohf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeohf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeohf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedpthf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedpthf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedpthf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedpthf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedpthf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedpthf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); - registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeopthf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeopthf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeopthf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); - registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); - registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeopthf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeopthf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); - registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); - registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeo", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeo", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeo", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeo", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeo", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeo", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeo", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeo", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedpt", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedpt", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedpt", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedpt", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedpt", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedpt", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedpt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedpt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeopt", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeopt", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeopt", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeopt", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeopt", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeopt", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeopt", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeopt", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedhf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedhf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedhf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedhf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedhf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedhf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedhf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedhf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeohf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeohf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeohf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeohf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeohf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeohf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeohf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeohf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedpthf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedpthf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedpthf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedpthf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedpthf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedpthf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedpthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedpthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c});#it{p}_{T,jet}^{base} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, jetPtAxis}}); + registry.add("h3_jet_r_jet_eta_tag_jet_eta_base_matchedgeopthf", "#it{R}_{jet};#eta_{jet}^{tag};#eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_phi_tag_jet_phi_base_matchedgeopthf", "#it{R}_{jet};#varphi_{jet}^{tag};#varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_ntracks_tag_jet_ntracks_base_matchedgeopthf", "#it{R}_{jet};N_{jet tracks}^{tag};N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); + registry.add("h3_jet_r_candidate_pt_tag_candidate_pt_base_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,candidate}^{tag} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {200, 0., 200.}, {200, 0., 200.}}}); + registry.add("h3_jet_r_candidate_eta_tag_candidate_eta_base_matchedgeopthf", "#it{R}_{jet};#eta_{candidate}^{tag};#eta_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_candidate_phi_tag_candidate_phi_base_matchedgeopthf", "#it{R}_{jet};#varphi_{candidate}^{tag};#varphi_{candidate}^{base}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_pt_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#it{p}_{T,jet}^{tag} (GeV/#it{c}) - #it{p}_{T,jet}^{base} (GeV/#it{c})) / #it{p}_{T,jet}^{tag} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_eta_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#eta_{jet}^{tag} - #eta_{jet}^{base}) / #eta_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_tag_jet_phi_base_diff_matchedgeopthf", "#it{R}_{jet};#it{p}_{T,jet}^{tag} (GeV/#it{c}); (#varphi_{jet}^{tag} - #varphi_{jet}^{base}) / #varphi_{jet}^{tag}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {1000, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_eta_tag_jet_eta_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #eta_{jet}^{tag}; #eta_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {500, -5.0, 5.0}, {500, -5.0, 5.0}}}); + registry.add("h3_jet_pt_tag_jet_phi_tag_jet_phi_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); #varphi_{jet}^{tag}; #varphi_{jet}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {160, -1.0, 7.}, {160, -1.0, 7.}}}); + registry.add("h3_jet_pt_tag_jet_ntracks_tag_jet_ntracks_base_matchedgeopthf", ";#it{p}_{T,jet}^{tag} (GeV/#it{c}); N_{jet tracks}^{tag}; N_{jet tracks}^{base}", {o2::framework::HistType::kTH3F, {jetPtAxis, {200, -0.5, 199.5}, {200, -0.5, 199.5}}}); } if (doprocessTriggeredData) { - registry.add("h_collision_trigger_events", "event status;event status;entries", {HistType::kTH1F, {{6, 0.0, 6.0}}}); - registry.add("h_track_pt_MB", "track pT for MB events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_MB", "track #eta for MB events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_MB", "track #varphi for MB events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_track_pt_Triggered_Low", "track pT for low #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_Triggered_Low", "track #eta for low #it{p}_{T} Triggered events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_Triggered_Low", "track #varphi for low #it{p}_{T} Triggered events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_track_pt_Triggered_High", "track pT for high #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_Triggered_High", "track #eta for high #it{p}_{T} Triggered events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_Triggered_High", "track #varphi for high #it{p}_{T} Triggered events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_track_pt_Triggered_Both", "track pT for both #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_Triggered_Both", "track #eta for both #it{p}_{T} Triggered events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_Triggered_Both", "track #varphi for both #it{p}_{T} Triggered events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_collision", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {4, -0.5, 3.5}}}); - registry.add("h3_jet_r_jet_eta_collision", "#it{R}_{jet};#eta_{jet};collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {4, -0.5, 3.5}}}); - registry.add("h3_jet_r_jet_phi_collision", "#it{R}_{jet};#varphi_{jet};collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {4, -0.5, 3.5}}}); - registry.add("h2_jet_r_jet_pT_triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h3_jet_r_jet_pt_track_pt_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_track_pt_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_track_pt_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_track_pt_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_track_eta_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_track_phi_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h_collision_trigger_events", "event status;event status;entries", {o2::framework::HistType::kTH1F, {{6, 0.0, 6.0}}}); + registry.add("h_track_pt_MB", "track pT for MB events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_MB", "track #eta for MB events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_MB", "track #varphi for MB events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_track_pt_Triggered_Low", "track pT for low #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_Triggered_Low", "track #eta for low #it{p}_{T} Triggered events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_Triggered_Low", "track #varphi for low #it{p}_{T} Triggered events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_track_pt_Triggered_High", "track pT for high #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_Triggered_High", "track #eta for high #it{p}_{T} Triggered events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_Triggered_High", "track #varphi for high #it{p}_{T} Triggered events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_track_pt_Triggered_Both", "track pT for both #it{p}_{T} Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_Triggered_Both", "track #eta for both #it{p}_{T} Triggered events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_Triggered_Both", "track #varphi for both #it{p}_{T} Triggered events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_collision", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {4, -0.5, 3.5}}}); + registry.add("h3_jet_r_jet_eta_collision", "#it{R}_{jet};#eta_{jet};collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {4, -0.5, 3.5}}}); + registry.add("h3_jet_r_jet_phi_collision", "#it{R}_{jet};#varphi_{jet};collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {4, -0.5, 3.5}}}); + registry.add("h2_jet_r_jet_pT_triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h3_jet_r_jet_pt_track_pt_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_track_pt_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_track_pt_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_track_pt_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,jet tracks} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_track_eta_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_track_phi_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{jet tracks}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_MB", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_Low", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_High", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_Triggered_Both", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); } if (doprocessHFTriggeredData) { - registry.add("h_collision_hftrigger_events", "event status;event status;entries", {HistType::kTH1F, {{115, 0.0, 15.0}}}); - - registry.add("h_track_pt_all", "track pT for MB events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_all", "track #eta for MB events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_all", "track #varphi for MB events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_track_pt_triggered_HFlow", "track pT for low #it{p}_{T} HF Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_triggered_HFlow", "track #eta for low #it{p}_{T} HF Triggered events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_triggered_HFlow", "track #varphi for low #it{p}_{T} HF Triggered events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - registry.add("h_track_pt_triggered_HFhigh", "track pT for high #it{p}_{T} HF Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_track_eta_triggered_HFhigh", "track #eta for high #it{p}_{T} HF Triggered events;#eta_{track};entries", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h_track_phi_triggered_HFhigh", "track #varphi for high #it{p}_{T} HF Triggered events;#varphi_{track};entries", {HistType::kTH1F, {{160, -1.0, 7.}}}); - - registry.add("h2_jet_r_jet_pT_triggered_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_Lcall", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_Lclow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_pT_triggered_Lchigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); - registry.add("h2_jet_r_jet_eta_triggered_HFall", "#it{R}_{jet};#eta_{jet}", {HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); - registry.add("h2_jet_r_jet_eta_triggered_HFlow", "#it{R}_{jet};#eta_{jet}", {HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); - registry.add("h2_jet_r_jet_eta_triggered_HFhigh", "#it{R}_{jet};#eta_{jet}", {HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); - - registry.add("h3_hfjet_r_jet_pt_collision", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {4, -0.5, 3.5}}}); - registry.add("h3_hfjet_r_jet_eta_collision", "#it{R}_{jet};#eta_{jet};collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {4, -0.5, 3.5}}}); - registry.add("h3_hfjet_r_jet_phi_collision", "#it{R}_{jet};#varphi_{jet};collision trigger status", {HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {4, -0.5, 3.5}}}); - - registry.add("h3_jet_r_jet_pt_candidate_pt_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_pt_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); - registry.add("h3_jet_r_jet_pt_candidate_eta_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); - registry.add("h3_jet_r_jet_pt_candidate_phi_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); - registry.add("h3_jet_r_jet_pt_candidate_y_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h_collision_hftrigger_events", "event status;event status;entries", {o2::framework::HistType::kTH1F, {{115, 0.0, 15.0}}}); + + registry.add("h_track_pt_all", "track pT for MB events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_all", "track #eta for MB events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_all", "track #varphi for MB events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_track_pt_triggered_HFlow", "track pT for low #it{p}_{T} HF Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_triggered_HFlow", "track #eta for low #it{p}_{T} HF Triggered events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_triggered_HFlow", "track #varphi for low #it{p}_{T} HF Triggered events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + registry.add("h_track_pt_triggered_HFhigh", "track pT for high #it{p}_{T} HF Triggered events;#it{p}_{T,track} (GeV/#it{c});entries", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_track_eta_triggered_HFhigh", "track #eta for high #it{p}_{T} HF Triggered events;#eta_{track};entries", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h_track_phi_triggered_HFhigh", "track #varphi for high #it{p}_{T} HF Triggered events;#varphi_{track};entries", {o2::framework::HistType::kTH1F, {{160, -1.0, 7.}}}); + + registry.add("h2_jet_r_jet_pT_triggered_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_Lcall", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_Lclow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_pT_triggered_Lchigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c})", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, jetPtAxis}}); + registry.add("h2_jet_r_jet_eta_triggered_HFall", "#it{R}_{jet};#eta_{jet}", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); + registry.add("h2_jet_r_jet_eta_triggered_HFlow", "#it{R}_{jet};#eta_{jet}", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); + registry.add("h2_jet_r_jet_eta_triggered_HFhigh", "#it{R}_{jet};#eta_{jet}", {o2::framework::HistType::kTH2F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}}}); + + registry.add("h3_hfjet_r_jet_pt_collision", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {4, -0.5, 3.5}}}); + registry.add("h3_hfjet_r_jet_eta_collision", "#it{R}_{jet};#eta_{jet};collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {500, -5.0, 5.0}, {4, -0.5, 3.5}}}); + registry.add("h3_hfjet_r_jet_phi_collision", "#it{R}_{jet};#varphi_{jet};collision trigger status", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, {160, -1.0, 7.}, {4, -0.5, 3.5}}}); + + registry.add("h3_jet_r_jet_pt_candidate_pt_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_all", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_triggered_HFlow", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_pt_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#it{p}_{T,candidate} (GeV/#it{c})", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {200, 0., 200.}}}); + registry.add("h3_jet_r_jet_pt_candidate_eta_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#eta_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); + registry.add("h3_jet_r_jet_pt_candidate_phi_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});#varphi_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {160, -1.0, 7.}}}); + registry.add("h3_jet_r_jet_pt_candidate_y_triggered_HFhigh", "#it{R}_{jet};#it{p}_{T,jet} (GeV/#it{c});y_{candidate}", {o2::framework::HistType::kTH3F, {{jetRadiiBins, ""}, jetPtAxis, {500, -5.0, 5.0}}}); } if (doprocessTracks || doprocessTracksWeighted) { - registry.add("h_collisions", "event status;event status;entries", {HistType::kTH1F, {{4, 0.0, 4.0}}}); - registry.add("h2_centrality_collisions", "centrality vs collisions; centrality; collisions", {HistType::kTH2F, {{1200, -10.0, 110.0}, {4, 0.0, 4.0}}}); - registry.add("h3_centrality_track_pt_track_phi", "centrality vs track pT vs track #varphi; centrality; #it{p}_{T,track} (GeV/#it{c}); #varphi_{track}", {HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {160, -1.0, 7.}}}); - registry.add("h3_centrality_track_pt_track_eta", "centrality vs track pT vs track #eta; centrality; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}", {HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {500, -5.0, 5.0}}}); - registry.add("h3_track_pt_track_eta_track_phi", "track pT vs track #eta vs track #varphi; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}; #varphi_{track}", {HistType::kTH3F, {{200, 0., 200.}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h_collisions", "event status;event status;entries", {o2::framework::HistType::kTH1F, {{4, 0.0, 4.0}}}); + registry.add("h2_centrality_collisions", "centrality vs collisions; centrality; collisions", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {4, 0.0, 4.0}}}); + registry.add("h3_centrality_track_pt_track_phi", "centrality vs track pT vs track #varphi; centrality; #it{p}_{T,track} (GeV/#it{c}); #varphi_{track}", {o2::framework::HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {160, -1.0, 7.}}}); + registry.add("h3_centrality_track_pt_track_eta", "centrality vs track pT vs track #eta; centrality; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}", {o2::framework::HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {500, -5.0, 5.0}}}); + registry.add("h3_track_pt_track_eta_track_phi", "track pT vs track #eta vs track #varphi; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}; #varphi_{track}", {o2::framework::HistType::kTH3F, {{200, 0., 200.}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); if (doprocessTracksWeighted) { - registry.add("h_collisions_weighted", "event status;event status;entries", {HistType::kTH1F, {{4, 0.0, 4.0}}}); + registry.add("h_collisions_weighted", "event status;event status;entries", {o2::framework::HistType::kTH1F, {{4, 0.0, 4.0}}}); } } if (doprocessTracksSub) { - registry.add("h3_centrality_track_pt_track_phi_eventwiseconstituentsubtracted", "centrality vs track pT vs track #varphi; centrality; #it{p}_{T,track} (GeV/#it{c}); #varphi_{track}", {HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {160, -1.0, 7.}}}); - registry.add("h3_centrality_track_pt_track_eta_eventwiseconstituentsubtracted", "centrality vs track pT vs track #eta; centrality; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}", {HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {500, -5.0, 5.0}}}); - registry.add("h3_track_pt_track_eta_track_phi_eventwiseconstituentsubtracted", "track pT vs track #eta vs track #varphi; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}; #varphi_{track}", {HistType::kTH3F, {{200, 0., 200.}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); + registry.add("h3_centrality_track_pt_track_phi_eventwiseconstituentsubtracted", "centrality vs track pT vs track #varphi; centrality; #it{p}_{T,track} (GeV/#it{c}); #varphi_{track}", {o2::framework::HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {160, -1.0, 7.}}}); + registry.add("h3_centrality_track_pt_track_eta_eventwiseconstituentsubtracted", "centrality vs track pT vs track #eta; centrality; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}", {o2::framework::HistType::kTH3F, {{1200, -10.0, 110.0}, {200, 0., 200.}, {500, -5.0, 5.0}}}); + registry.add("h3_track_pt_track_eta_track_phi_eventwiseconstituentsubtracted", "track pT vs track #eta vs track #varphi; #it{p}_{T,track} (GeV/#it{c}); #eta_{track}; #varphi_{track}", {o2::framework::HistType::kTH3F, {{200, 0., 200.}, {500, -5.0, 5.0}, {160, -1.0, 7.}}}); } if (doprocessMCCollisionsWeighted) { - AxisSpec weightAxis = {{VARIABLE_WIDTH, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1.0, 10.0}, "weights"}; - registry.add("h_collision_eventweight_part", "event weight;event weight;entries", {HistType::kTH1F, {weightAxis}}); + o2::framework::AxisSpec weightAxis = {{o2::framework::VARIABLE_WIDTH, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1.0, 10.0}, "weights"}; + registry.add("h_collision_eventweight_part", "event weight;event weight;entries", {o2::framework::HistType::kTH1F, {weightAxis}}); } if (doprocessCandidates) { - registry.add("h_candidate_invmass", ";#it{m}_{inv, candidate} (GeV/#it{c}^{2});counts", {HistType::kTH1F, {{500, 0.0, 5.0}}}); - registry.add("h_candidate_pt", ";#it{p}_{T,candidate} (GeV/#it{c});counts", {HistType::kTH1F, {{200, 0.0, 200.0}}}); - registry.add("h_candidate_y", ";y_{candidate};counts", {HistType::kTH1F, {{500, -5.0, 5.0}}}); - registry.add("h2_centrality_ncandidates", "centrality vs N_{candidates};centrality;N_{candidates};", {HistType::kTH2F, {{1200, -10.0, 110.0}, {100, 0.0, 100.0}}}); + registry.add("h_candidate_invmass", ";#it{m}_{inv, candidate} (GeV/#it{c}^{2});counts", {o2::framework::HistType::kTH1F, {{500, 0.0, 5.0}}}); + registry.add("h_candidate_pt", ";#it{p}_{T,candidate} (GeV/#it{c});counts", {o2::framework::HistType::kTH1F, {{200, 0.0, 200.0}}}); + registry.add("h_candidate_y", ";y_{candidate};counts", {o2::framework::HistType::kTH1F, {{500, -5.0, 5.0}}}); + registry.add("h2_centrality_ncandidates", "centrality vs N_{candidates};centrality;N_{candidates};", {o2::framework::HistType::kTH2F, {{1200, -10.0, 110.0}, {100, 0.0, 100.0}}}); } } - using JetTableDataJoined = soa::Join; - using JetTableDataMatchedJoined = soa::Join; - using JetTableDataSubJoined = soa::Join; - using JetTableDataSubMatchedJoined = soa::Join; - - using JetTableMCDJoined = soa::Join; - using JetTableMCDWeightedJoined = soa::Join; - using JetTableMCDMatchedJoined = soa::Join; - using JetTableMCDMatchedWeightedJoined = soa::Join; - - using JetTableMCPJoined = soa::Join; - using JetTableMCPWeightedJoined = soa::Join; - using JetTableMCPMatchedJoined = soa::Join; - using JetTableMCPMatchedWeightedJoined = soa::Join; - - Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax); - Filter eventCuts = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centFT0M >= centralityMin && aod::jcollision::centFT0M < centralityMax); - - // Filter candidateCutsD0 = (aod::hf_sel_candidate_d0::isSelD0 >= selectionFlagD0 || aod::hf_sel_candidate_d0::isSelD0bar >= selectionFlagD0bar); - // Filter candidateCutsLc = (aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlagLcToPKPi || aod::hf_sel_candidate_lc::isSelLcToPiKP >= selectionFlagLcToPiPK); - // Filter candidateCutsBplus = (aod::hf_sel_candidate_bplus::isSelBplusToD0Pi >= selectionFlagBplus); - - PresliceOptional> perD0CandidateTracks = aod::bkgd0::candidateId; - PresliceOptional> perDplusCandidateTracks = aod::bkgdplus::candidateId; - PresliceOptional> perDsCandidateTracks = aod::bkgds::candidateId; - PresliceOptional> perDstarCandidateTracks = aod::bkgdstar::candidateId; - PresliceOptional> perLcCandidateTracks = aod::bkglc::candidateId; - PresliceOptional> perB0CandidateTracks = aod::bkgb0::candidateId; - PresliceOptional> perBplusCandidateTracks = aod::bkgbplus::candidateId; - PresliceOptional> perXicToXiPiPiCandidateTracks = aod::bkgxictoxipipi::candidateId; - PresliceOptional> perDielectronCandidateTracks = aod::bkgdielectron::candidateId; + using JetTableDataJoined = o2::soa::Join; + using JetTableDataMatchedJoined = o2::soa::Join; + using JetTableDataSubJoined = o2::soa::Join; + using JetTableDataSubMatchedJoined = o2::soa::Join; + + using JetTableMCDJoined = o2::soa::Join; + using JetTableMCDWeightedJoined = o2::soa::Join; + using JetTableMCDMatchedJoined = o2::soa::Join; + using JetTableMCDMatchedWeightedJoined = o2::soa::Join; + + using JetTableMCPJoined = o2::soa::Join; + using JetTableMCPWeightedJoined = o2::soa::Join; + using JetTableMCPMatchedJoined = o2::soa::Join; + using JetTableMCPMatchedWeightedJoined = o2::soa::Join; + + o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta > trackEtaMin && o2::aod::jtrack::eta < trackEtaMax); + o2::framework::expressions::Filter eventCuts = (nabs(o2::aod::jcollision::posZ) < vertexZCut && o2::aod::jcollision::centFT0M >= centralityMin && o2::aod::jcollision::centFT0M < centralityMax); + + // o2::framework::expressions::Filter candidateCutsD0 = (o2::aod::hf_sel_candidate_d0::isSelD0 >= selectionFlagD0 || o2::aod::hf_sel_candidate_d0::isSelD0bar >= selectionFlagD0bar); + // o2::framework::expressions::Filter candidateCutsLc = (o2::aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlagLcToPKPi || o2::aod::hf_sel_candidate_lc::isSelLcToPiKP >= selectionFlagLcToPiPK); + // o2::framework::expressions::Filter candidateCutsBplus = (o2::aod::hf_sel_candidate_bplus::isSelBplusToD0Pi >= selectionFlagBplus); + + o2::framework::PresliceOptional> perD0CandidateTracks = o2::aod::bkgd0::candidateId; + o2::framework::PresliceOptional> perDplusCandidateTracks = o2::aod::bkgdplus::candidateId; + o2::framework::PresliceOptional> perDsCandidateTracks = o2::aod::bkgds::candidateId; + o2::framework::PresliceOptional> perDstarCandidateTracks = o2::aod::bkgdstar::candidateId; + o2::framework::PresliceOptional> perLcCandidateTracks = o2::aod::bkglc::candidateId; + o2::framework::PresliceOptional> perB0CandidateTracks = o2::aod::bkgb0::candidateId; + o2::framework::PresliceOptional> perBplusCandidateTracks = o2::aod::bkgbplus::candidateId; + o2::framework::PresliceOptional> perXicToXiPiPiCandidateTracks = o2::aod::bkgxictoxipipi::candidateId; + o2::framework::PresliceOptional> perDielectronCandidateTracks = o2::aod::bkgdielectron::candidateId; template bool isAcceptedJet(V const& jet) @@ -559,7 +557,7 @@ struct JetFinderHFQATask { registry.fill(HIST("h3_jet_r_jet_pt_jet_ntracks"), jet.r() / 100.0, jet.pt(), jet.tracksIds().size() + jet.candidatesIds().size(), weight); registry.fill(HIST("h3_jet_r_jet_pt_jet_area"), jet.r() / 100.0, jet.pt(), jet.area(), weight); - for (auto& constituent : jet.template tracks_as()) { + for (auto& constituent : jet.template tracks_as()) { registry.fill(HIST("h3_jet_r_jet_pt_track_pt"), jet.r() / 100.0, jet.pt(), constituent.pt(), weight); registry.fill(HIST("h3_jet_r_jet_pt_track_eta"), jet.r() / 100.0, jet.pt(), constituent.eta(), weight); @@ -609,7 +607,7 @@ struct JetFinderHFQATask { registry.fill(HIST("h3_jet_r_jet_pt_jet_area_rhoareasubtracted"), jet.r() / 100.0, jet.pt() - (rho * jet.area()), jet.area(), weight); registry.fill(HIST("h3_jet_r_jet_pt_jet_pt_rhoareasubtracted"), jet.r() / 100.0, jet.pt(), jet.pt() - (rho * jet.area()), weight); - for (auto& constituent : jet.template tracks_as()) { + for (auto& constituent : jet.template tracks_as()) { registry.fill(HIST("h3_jet_r_jet_pt_track_pt_rhoareasubtracted"), jet.r() / 100.0, jet.pt() - (rho * jet.area()), constituent.pt(), weight); registry.fill(HIST("h3_jet_r_jet_pt_track_eta_rhoareasubtracted"), jet.r() / 100.0, jet.pt() - (rho * jet.area()), constituent.eta(), weight); @@ -1007,18 +1005,18 @@ struct JetFinderHFQATask { } } - void processDummy(aod::JetCollisions const&) + void processDummy(o2::aod::JetCollisions const&) { } PROCESS_SWITCH(JetFinderHFQATask, processDummy, "dummy task", true); - void processJetsData(soa::Filtered::iterator const& collision, JetTableDataJoined const& jets, CandidateTableData const&, aod::JetTracks const&) + void processJetsData(o2::soa::Filtered::iterator const& collision, JetTableDataJoined const& jets, CandidateTableData const&, o2::aod::JetTracks const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } fillHistograms(jet, collision.centFT0M()); @@ -1026,43 +1024,43 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsData, "jet finder HF QA data", false); - void processJetsRhoAreaSubData(soa::Filtered::iterator const& collision, + void processJetsRhoAreaSubData(o2::soa::Filtered::iterator const& collision, JetTableDataJoined const& jets, - soa::Join const&, - aod::JetTracks const&) + o2::soa::Join const&, + o2::aod::JetTracks const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } - auto const candidate = jet.template candidates_first_as>(); + auto const candidate = jet.template candidates_first_as>(); fillRhoAreaSubtractedHistograms(jet, collision.centFT0M(), candidate.rho()); } } PROCESS_SWITCH(JetFinderHFQATask, processJetsRhoAreaSubData, "jet finder HF QA for rho-area subtracted jets", false); - void processJetsRhoAreaSubMCD(soa::Filtered::iterator const& collision, + void processJetsRhoAreaSubMCD(o2::soa::Filtered::iterator const& collision, JetTableMCDJoined const& jets, - soa::Join const&, - aod::JetTracks const&) + o2::soa::Join const&, + o2::aod::JetTracks const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } - auto const candidate = jet.template candidates_first_as>(); + auto const candidate = jet.template candidates_first_as>(); fillRhoAreaSubtractedHistograms(jet, collision.centFT0M(), candidate.rho()); } } PROCESS_SWITCH(JetFinderHFQATask, processJetsRhoAreaSubMCD, "jet finder HF QA for rho-area subtracted mcd jets", false); - void processEvtWiseConstSubJetsData(soa::Filtered::iterator const& collision, JetTableDataSubJoined const& jets, CandidateTableData const&, JetTracksDataSub const&) + void processEvtWiseConstSubJetsData(o2::soa::Filtered::iterator const& collision, JetTableDataSubJoined const& jets, CandidateTableData const&, JetTracksDataSub const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { @@ -1076,16 +1074,16 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processEvtWiseConstSubJetsData, "jet finder HF QA for eventwise constituent-subtracted jets data", false); - void processJetsSubMatched(soa::Filtered::iterator const&, + void processJetsSubMatched(o2::soa::Filtered::iterator const&, JetTableDataMatchedJoined const& jets, JetTableDataSubMatchedJoined const&, - aod::JetTracks const&, JetTracksDataSub const&, CandidateTableData const&) + o2::aod::JetTracks const&, JetTracksDataSub const&, CandidateTableData const&) { for (const auto& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } fillMatchedHistograms(jet); @@ -1093,13 +1091,13 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsSubMatched, "jet finder HF QA matched unsubtracted and constituent subtracted jets", false); - void processJetsMCD(soa::Filtered::iterator const& collision, JetTableMCDJoined const& jets, CandidateTableMCD const&, aod::JetTracks const&) + void processJetsMCD(o2::soa::Filtered::iterator const& collision, JetTableMCDJoined const& jets, CandidateTableMCD const&, o2::aod::JetTracks const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } fillHistograms(jet, collision.centFT0M()); @@ -1107,13 +1105,13 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCD, "jet finder HF QA mcd", false); - void processJetsMCDWeighted(soa::Filtered::iterator const& collision, JetTableMCDWeightedJoined const& jets, CandidateTableMCD const&, aod::JetTracks const&) + void processJetsMCDWeighted(o2::soa::Filtered::iterator const& collision, JetTableMCDWeightedJoined const& jets, CandidateTableMCD const&, o2::aod::JetTracks const&) { for (auto const& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { continue; } fillHistograms(jet, collision.centFT0M(), jet.eventWeight()); @@ -1121,35 +1119,35 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCDWeighted, "jet finder HF QA mcd on weighted events", false); - void processJetsMCP(typename JetTableMCPJoined::iterator const& jet, aod::JetParticles const&, CandidateTableMCP const&) + void processJetsMCP(typename JetTableMCPJoined::iterator const& jet, o2::aod::JetParticles const&, CandidateTableMCP const&) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { return; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { return; } - fillMCPHistograms(jet); + fillMCPHistograms(jet); } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCP, "jet finder HF QA mcp", false); - void processJetsMCPWeighted(typename JetTableMCPWeightedJoined::iterator const& jet, aod::JetParticles const&, CandidateTableMCP const&) + void processJetsMCPWeighted(typename JetTableMCPWeightedJoined::iterator const& jet, o2::aod::JetParticles const&, CandidateTableMCP const&) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { return; } - if (!isAcceptedJet(jet)) { + if (!isAcceptedJet(jet)) { return; } - fillMCPHistograms(jet, jet.eventWeight()); + fillMCPHistograms(jet, jet.eventWeight()); } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCPWeighted, "jet finder HF QA mcp on weighted events", false); - void processJetsMCPMCDMatched(soa::Filtered::iterator const&, + void processJetsMCPMCDMatched(o2::soa::Filtered::iterator const&, JetTableMCDMatchedJoined const& mcdjets, JetTableMCPMatchedJoined const&, CandidateTableMCD const&, - aod::JetTracks const&, aod::JetParticles const&, + o2::aod::JetTracks const&, o2::aod::JetParticles const&, CandidateTableMCP const&) { @@ -1157,7 +1155,7 @@ struct JetFinderHFQATask { if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(mcdjet)) { + if (!isAcceptedJet(mcdjet)) { continue; } fillMatchedHistograms(mcdjet); @@ -1165,11 +1163,11 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCPMCDMatched, "jet finder HF QA matched mcp and mcd", false); - void processJetsMCPMCDMatchedWeighted(soa::Filtered::iterator const&, + void processJetsMCPMCDMatchedWeighted(o2::soa::Filtered::iterator const&, JetTableMCDMatchedWeightedJoined const& mcdjets, JetTableMCPMatchedWeightedJoined const&, CandidateTableMCD const&, - aod::JetTracks const&, aod::JetParticles const&, + o2::aod::JetTracks const&, o2::aod::JetParticles const&, CandidateTableMCP const&) { @@ -1177,7 +1175,7 @@ struct JetFinderHFQATask { if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { continue; } - if (!isAcceptedJet(mcdjet)) { + if (!isAcceptedJet(mcdjet)) { continue; } fillMatchedHistograms(mcdjet, mcdjet.eventWeight()); @@ -1185,7 +1183,7 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processJetsMCPMCDMatchedWeighted, "jet finder HF QA matched mcp and mcd on weighted events", false); - void processMCCollisionsWeighted(aod::JetMcCollision const& collision) + void processMCCollisionsWeighted(o2::aod::JetMcCollision const& collision) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; @@ -1194,10 +1192,10 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processMCCollisionsWeighted, "collision QA for weighted events", false); - void processTriggeredData(soa::Join::iterator const& collision, + void processTriggeredData(o2::soa::Join::iterator const& collision, JetTableDataJoined const& jets, CandidateTableData const&, - soa::Filtered const& tracks) + o2::soa::Filtered const& tracks) { registry.fill(HIST("h_collision_trigger_events"), 0.5); // all events if (collision.posZ() > vertexZCut) { @@ -1271,7 +1269,7 @@ struct JetFinderHFQATask { registry.fill(HIST("h3_jet_r_jet_phi_collision"), jet.r() / 100.0, jet.phi(), 3.0); } - for (auto& constituent : jet.template tracks_as>()) { + for (auto& constituent : jet.template tracks_as>()) { registry.fill(HIST("h3_jet_r_jet_pt_track_pt_MB"), jet.r() / 100.0, jet.pt(), constituent.pt()); registry.fill(HIST("h3_jet_r_jet_pt_track_eta_MB"), jet.r() / 100.0, jet.pt(), constituent.eta()); registry.fill(HIST("h3_jet_r_jet_pt_track_phi_MB"), jet.r() / 100.0, jet.pt(), constituent.phi()); @@ -1348,10 +1346,10 @@ struct JetFinderHFQATask { PROCESS_SWITCH(JetFinderHFQATask, processTriggeredData, "QA for charged jet trigger", false); - void processHFTriggeredData(soa::Join::iterator const& collision, + void processHFTriggeredData(o2::soa::Join::iterator const& collision, JetTableDataJoined const& jets, CandidateTableData const&, - soa::Filtered const&) + o2::soa::Filtered const&) { int hfLowTrigger = -2; @@ -1477,8 +1475,8 @@ struct JetFinderHFQATask { PROCESS_SWITCH(JetFinderHFQATask, processHFTriggeredData, "QA for charged hf jet trigger", false); - void processTracks(soa::Filtered::iterator const& collision, - soa::Filtered const& tracks) + void processTracks(o2::soa::Filtered::iterator const& collision, + o2::soa::Filtered const& tracks) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; @@ -1494,9 +1492,9 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processTracks, "QA for charged tracks", false); - void processTracksWeighted(soa::Join::iterator const& collision, - aod::JetMcCollisions const&, - soa::Filtered const& tracks) + void processTracksWeighted(o2::soa::Join::iterator const& collision, + o2::aod::JetMcCollisions const&, + o2::soa::Filtered const& tracks) { float eventWeight = collision.mcCollision().weight(); if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { @@ -1513,9 +1511,9 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processTracksWeighted, "QA for charged tracks weighted", false); - void processTracksSub(soa::Filtered::iterator const& collision, + void processTracksSub(o2::soa::Filtered::iterator const& collision, CandidateTableData const& candidates, - soa::Filtered const& tracks) + o2::soa::Filtered const& tracks) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; @@ -1535,7 +1533,7 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processTracksSub, "QA for charged event-wise embedded subtracted tracks", false); - void processRho(aod::JetCollision const& collision, soa::Join const& candidates, soa::Filtered const& tracks) + void processRho(o2::aod::JetCollision const& collision, o2::soa::Join const& candidates, o2::soa::Filtered const& tracks) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; @@ -1560,13 +1558,13 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processRho, "QA for rho-area subtracted jets", false); - void processRandomConeData(soa::Filtered::iterator const& collision, JetTableDataJoined const& jets, soa::Join const& candidates, soa::Filtered const& tracks) + void processRandomConeData(o2::soa::Filtered::iterator const& collision, JetTableDataJoined const& jets, o2::soa::Join const& candidates, o2::soa::Filtered const& tracks) { randomCone(collision, jets, candidates, tracks); } PROCESS_SWITCH(JetFinderHFQATask, processRandomConeData, "QA for random cone estimation of background fluctuations in data", false); - void processRandomConeMCD(soa::Filtered::iterator const& collision, JetTableMCDJoined const& jets, soa::Join const& candidates, soa::Filtered const& tracks) + void processRandomConeMCD(o2::soa::Filtered::iterator const& collision, JetTableMCDJoined const& jets, o2::soa::Join const& candidates, o2::soa::Filtered const& tracks) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; @@ -1575,7 +1573,7 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processRandomConeMCD, "QA for random cone estimation of background fluctuations in mcd", false); - void processCandidates(soa::Filtered::iterator const& collision, CandidateTableData const& candidates) + void processCandidates(o2::soa::Filtered::iterator const& collision, CandidateTableData const& candidates) { if (skipMBGapEvents && collision.getSubGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { @@ -1590,3 +1588,5 @@ struct JetFinderHFQATask { } PROCESS_SWITCH(JetFinderHFQATask, processCandidates, "HF candidate QA", false); }; + +#endif // PWGJE_TASKS_JETFINDERHFQA_H_ diff --git a/PWGJE/Tasks/jetFinderLcQA.cxx b/PWGJE/Tasks/jetFinderLcQA.cxx index 4986d583707..d9e17efe319 100644 --- a/PWGJE/Tasks/jetFinderLcQA.cxx +++ b/PWGJE/Tasks/jetFinderLcQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderLcQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFinderQA.cxx b/PWGJE/Tasks/jetFinderQA.cxx index 063127ee441..878083b557f 100644 --- a/PWGJE/Tasks/jetFinderQA.cxx +++ b/PWGJE/Tasks/jetFinderQA.cxx @@ -13,8 +13,6 @@ // /// \author Nima Zardoshti -#include "RecoDecay.h" - #include "PWGJE/Core/JetDerivedDataUtilities.h" #include "PWGJE/Core/JetFindingUtilities.h" #include "PWGJE/Core/JetUtilities.h" @@ -22,10 +20,12 @@ #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" -#include "Framework/ASoA.h" -#include "Framework/AnalysisTask.h" -#include "Framework/HistogramRegistry.h" +#include "Common/Core/RecoDecay.h" + +#include +#include #include +#include #include #include #include diff --git a/PWGJE/Tasks/jetFinderXicToXiPiPiQA.cxx b/PWGJE/Tasks/jetFinderXicToXiPiPiQA.cxx index a86a40f0d67..f5dbba7a9e2 100644 --- a/PWGJE/Tasks/jetFinderXicToXiPiPiQA.cxx +++ b/PWGJE/Tasks/jetFinderXicToXiPiPiQA.cxx @@ -13,10 +13,9 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetFinderHFQA.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetFinderHFQA.h" #include #include @@ -25,6 +24,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetFinderXicToXiPiPiQATask = JetFinderHFQATask; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetFragmentation.cxx b/PWGJE/Tasks/jetFragmentation.cxx index 9abaccdfaa2..0d3fe2965ed 100644 --- a/PWGJE/Tasks/jetFragmentation.cxx +++ b/PWGJE/Tasks/jetFragmentation.cxx @@ -15,7 +15,6 @@ /// \author Gijs van Weelden #include "JetDerivedDataUtilities.h" -#include "RecoDecay.h" #include "PWGJE/Core/JetFindingUtilities.h" #include "PWGJE/Core/JetUtilities.h" @@ -23,13 +22,14 @@ #include "PWGJE/DataModel/JetReducedData.h" #include "PWGLF/DataModel/LFStrangenessTables.h" +#include "Common/Core/RecoDecay.h" #include "Common/DataModel/TrackSelectionTables.h" -#include "CommonConstants/PhysicsConstants.h" -#include "Framework/ASoA.h" -#include "Framework/AnalysisDataModel.h" -#include "Framework/AnalysisTask.h" #include +#include +#include +#include +#include #include #include #include diff --git a/PWGJE/Tasks/jetOutlierQA.cxx b/PWGJE/Tasks/jetOutlierQA.cxx index 43269777898..a41610c952e 100644 --- a/PWGJE/Tasks/jetOutlierQA.cxx +++ b/PWGJE/Tasks/jetOutlierQA.cxx @@ -13,18 +13,18 @@ // /// \author Jaime Norman -#include "RecoDecay.h" - #include "PWGJE/Core/JetDerivedDataUtilities.h" #include "PWGJE/Core/JetFindingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" -#include "Framework/ASoA.h" -#include "Framework/AnalysisTask.h" -#include "Framework/HistogramRegistry.h" +#include "Common/Core/RecoDecay.h" + +#include +#include #include +#include #include #include #include @@ -36,6 +36,8 @@ #include #include #include +#include +#include #include #include #include @@ -607,7 +609,7 @@ struct JetOutlierQATask { registry.fill(HIST("h2_pt_hat_track_pt_outlier"), pTHat, track.pt()); for (auto const& collisionOutlier : collisions) { // find collisions closeby int diffColl = collision.globalIndex() - collisionOutlier.globalIndex(); - if (abs(diffColl) < 6) { + if (std::abs(diffColl) < 6) { float eventWeightOutlier = collisionOutlier.mcCollision().weight(); double pTHatOutlier = collisionOutlier.mcCollision().ptHard(); registry.fill(HIST("h2_neighbour_pt_hat_outlier"), float(diffColl + 0.1), pTHatOutlier, eventWeightOutlier); @@ -712,7 +714,7 @@ struct JetOutlierQATask { double pTHatOutlier = collisionOutlier.mcCollision().ptHard(); int diffColl = collision.globalIndex() - collisionOutlier.globalIndex(); - if (abs(diffColl) < 6) { + if (std::abs(diffColl) < 6) { // LOG(info) << "pThat = " << pTHat << "pThat neighbour = "< #include +#include #include +#include #include #include +#include #include #include -#include "fastjet/ClusterSequenceArea.hh" -#include "fastjet/PseudoJet.hh" +#include #include +#include #include #include +#include #include #include #include + using namespace o2; using namespace o2::framework; using namespace o2::framework::expressions; diff --git a/PWGJE/Tasks/jetSubstructureB0.cxx b/PWGJE/Tasks/jetSubstructureB0.cxx index aedac757bf8..9fbc0058dcd 100644 --- a/PWGJE/Tasks/jetSubstructureB0.cxx +++ b/PWGJE/Tasks/jetSubstructureB0.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureB0 = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesB0Data, aod::CandidatesB0MCP, aod::B0CJetSSs, aod::B0ChargedSPs, aod::B0ChargedPRs, aod::B0CMCDJetSSs, aod::B0ChargedMCDetectorLevelSPs, aod::B0ChargedMCDetectorLevelPRs, aod::B0CMCPJetSSs, aod::B0ChargedMCParticleLevelSPs, aod::B0ChargedMCParticleLevelPRs, aod::B0CEWSJetSSs, aod::B0ChargedEventWiseSubtractedSPs, aod::B0ChargedEventWiseSubtractedPRs, aod::JTrackB0Subs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureB0Output.cxx b/PWGJE/Tasks/jetSubstructureB0Output.cxx index 4cac5ffcf2c..1d64fa51792 100644 --- a/PWGJE/Tasks/jetSubstructureB0Output.cxx +++ b/PWGJE/Tasks/jetSubstructureB0Output.cxx @@ -13,12 +13,11 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -28,6 +27,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputB0 = JetSubstructureHFOutputTask, aod::McCollisionsB0, aod::CandidatesB0Data, aod::CandidatesB0MCD, aod::CandidatesB0MCP, aod::BkgB0Rhos, aod::BkgB0McRhos, aod::JTrackB0Subs, soa::Join, soa::Join, soa::Join, soa::Join, aod::B0CJetCOs, aod::B0CJetOs, aod::B0CJetSSOs, aod::B0CJetMOs, soa::Join, soa::Join, soa::Join, aod::B0CMCDJetCOs, aod::B0CMCDJetOs, aod::B0CMCDJetSSOs, aod::B0CMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::B0CMCPJetCOs, aod::B0CMCPJetMCCOs, aod::B0CMCPJetOs, aod::B0CMCPJetSSOs, aod::B0CMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::B0CEWSJetCOs, aod::B0CEWSJetOs, aod::B0CEWSJetSSOs, aod::B0CEWSJetMOs, aod::StoredHfB0CollBase, aod::StoredHfB0Bases, aod::StoredHfB0Pars, aod::StoredHfB0ParEs, aod::StoredHfB0ParDpluss, aod::StoredHfB0Sels, aod::StoredHfB0Mls, aod::StoredHfB0MlDpluss, aod::StoredHfB0Mcs, aod::StoredHfB0McCollBases, aod::StoredHfB0McRCollIds, aod::StoredHfB0PBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureBplus.cxx b/PWGJE/Tasks/jetSubstructureBplus.cxx index 527429af742..bf19904f96f 100644 --- a/PWGJE/Tasks/jetSubstructureBplus.cxx +++ b/PWGJE/Tasks/jetSubstructureBplus.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureBplus = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesBplusData, aod::CandidatesBplusMCP, aod::BplusCJetSSs, aod::BplusChargedSPs, aod::BplusChargedPRs, aod::BplusCMCDJetSSs, aod::BplusChargedMCDetectorLevelSPs, aod::BplusChargedMCDetectorLevelPRs, aod::BplusCMCPJetSSs, aod::BplusChargedMCParticleLevelSPs, aod::BplusChargedMCParticleLevelPRs, aod::BplusCEWSJetSSs, aod::BplusChargedEventWiseSubtractedSPs, aod::BplusChargedEventWiseSubtractedPRs, aod::JTrackBplusSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureBplusOutput.cxx b/PWGJE/Tasks/jetSubstructureBplusOutput.cxx index 04a2585d5bc..bfeb8ddf8cc 100644 --- a/PWGJE/Tasks/jetSubstructureBplusOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureBplusOutput.cxx @@ -13,12 +13,11 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -28,6 +27,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputBplus = JetSubstructureHFOutputTask, aod::McCollisionsBplus, aod::CandidatesBplusData, aod::CandidatesBplusMCD, aod::CandidatesBplusMCP, aod::BkgBplusRhos, aod::BkgBplusMcRhos, aod::JTrackBplusSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::BplusCJetCOs, aod::BplusCJetOs, aod::BplusCJetSSOs, aod::BplusCJetMOs, soa::Join, soa::Join, soa::Join, aod::BplusCMCDJetCOs, aod::BplusCMCDJetOs, aod::BplusCMCDJetSSOs, aod::BplusCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::BplusCMCPJetCOs, aod::BplusCMCPJetMCCOs, aod::BplusCMCPJetOs, aod::BplusCMCPJetSSOs, aod::BplusCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::BplusCEWSJetCOs, aod::BplusCEWSJetOs, aod::BplusCEWSJetSSOs, aod::BplusCEWSJetMOs, aod::StoredHfBplusCollBase, aod::StoredHfBplusBases, aod::StoredHfBplusPars, aod::StoredHfBplusParEs, aod::StoredHfBplusParD0s, aod::StoredHfBplusSels, aod::StoredHfBplusMls, aod::StoredHfBplusMlD0s, aod::StoredHfBplusMcs, aod::StoredHfBplusMcCollBases, aod::StoredHfBplusMcRCollIds, aod::StoredHfBplusPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureD0.cxx b/PWGJE/Tasks/jetSubstructureD0.cxx index cf77baa7ffd..da070cc2b03 100644 --- a/PWGJE/Tasks/jetSubstructureD0.cxx +++ b/PWGJE/Tasks/jetSubstructureD0.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureD0 = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesD0Data, aod::CandidatesD0MCP, aod::D0CJetSSs, aod::D0ChargedSPs, aod::D0ChargedPRs, aod::D0CMCDJetSSs, aod::D0ChargedMCDetectorLevelSPs, aod::D0ChargedMCDetectorLevelPRs, aod::D0CMCPJetSSs, aod::D0ChargedMCParticleLevelSPs, aod::D0ChargedMCParticleLevelPRs, aod::D0CEWSJetSSs, aod::D0ChargedEventWiseSubtractedSPs, aod::D0ChargedEventWiseSubtractedPRs, aod::JTrackD0Subs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureD0Output.cxx b/PWGJE/Tasks/jetSubstructureD0Output.cxx index d8bdaaf06d1..03f28440eea 100644 --- a/PWGJE/Tasks/jetSubstructureD0Output.cxx +++ b/PWGJE/Tasks/jetSubstructureD0Output.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputD0 = JetSubstructureHFOutputTask, aod::McCollisionsD0, aod::CandidatesD0Data, aod::CandidatesD0MCD, aod::CandidatesD0MCP, aod::BkgD0Rhos, aod::BkgD0McRhos, aod::JTrackD0Subs, soa::Join, soa::Join, soa::Join, soa::Join, aod::D0CJetCOs, aod::D0CJetOs, aod::D0CJetSSOs, aod::D0CJetMOs, soa::Join, soa::Join, soa::Join, aod::D0CMCDJetCOs, aod::D0CMCDJetOs, aod::D0CMCDJetSSOs, aod::D0CMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::D0CMCPJetCOs, aod::D0CMCPJetMCCOs, aod::D0CMCPJetOs, aod::D0CMCPJetSSOs, aod::D0CMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::D0CEWSJetCOs, aod::D0CEWSJetOs, aod::D0CEWSJetSSOs, aod::D0CEWSJetMOs, aod::StoredHfD0CollBase, aod::StoredHfD0Bases, aod::StoredHfD0Pars, aod::StoredHfD0ParEs, aod::JDumD0ParDaus, aod::StoredHfD0Sels, aod::StoredHfD0Mls, aod::JDumD0MlDaus, aod::StoredHfD0Mcs, aod::StoredHfD0McCollBases, aod::StoredHfD0McRCollIds, aod::StoredHfD0PBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDielectron.cxx b/PWGJE/Tasks/jetSubstructureDielectron.cxx index 5ba3468727c..91e40999d06 100644 --- a/PWGJE/Tasks/jetSubstructureDielectron.cxx +++ b/PWGJE/Tasks/jetSubstructureDielectron.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureDielectron = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesDielectronData, aod::CandidatesDielectronMCP, aod::DielectronCJetSSs, aod::DielectronChargedSPs, aod::DielectronChargedPRs, aod::DielectronCMCDJetSSs, aod::DielectronChargedMCDetectorLevelSPs, aod::DielectronChargedMCDetectorLevelPRs, aod::DielectronCMCPJetSSs, aod::DielectronChargedMCParticleLevelSPs, aod::DielectronChargedMCParticleLevelPRs, aod::DielectronCEWSJetSSs, aod::DielectronChargedEventWiseSubtractedSPs, aod::DielectronChargedEventWiseSubtractedPRs, aod::JTrackDielectronSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDielectronOutput.cxx b/PWGJE/Tasks/jetSubstructureDielectronOutput.cxx index 3ad3afad83e..7e22e080aa7 100644 --- a/PWGJE/Tasks/jetSubstructureDielectronOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureDielectronOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGDQ/DataModel/ReducedInfoTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataDQ.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputDielectron = JetSubstructureHFOutputTask, aod::McCollisionsDielectron, aod::CandidatesDielectronData, aod::CandidatesDielectronMCD, aod::CandidatesDielectronMCP, aod::BkgDielectronRhos, aod::BkgDielectronMcRhos, aod::JTrackDielectronSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DielectronCJetCOs, aod::DielectronCJetOs, aod::DielectronCJetSSOs, aod::DielectronCJetMOs, soa::Join, soa::Join, soa::Join, aod::DielectronCMCDJetCOs, aod::DielectronCMCDJetOs, aod::DielectronCMCDJetSSOs, aod::DielectronCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DielectronCMCPJetCOs, aod::DielectronCMCPJetMCCOs, aod::DielectronCMCPJetOs, aod::DielectronCMCPJetSSOs, aod::DielectronCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::DielectronCEWSJetCOs, aod::DielectronCEWSJetOs, aod::DielectronCEWSJetSSOs, aod::DielectronCEWSJetMOs, aod::StoredReducedEvents, aod::StoredDielectrons, aod::StoredDielectronsAll, aod::JDielectron1Dummys, aod::JDielectron2Dummys, aod::JDielectron3Dummys, aod::JDielectron4Dummys, aod::JDielectron5Dummys, aod::JDielectron6Dummys, aod::StoredJDielectronMcCollisions, aod::JDielectronMcRCollDummys, aod::StoredJDielectronMcs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDplus.cxx b/PWGJE/Tasks/jetSubstructureDplus.cxx index e1550673039..3bb83f84d8c 100644 --- a/PWGJE/Tasks/jetSubstructureDplus.cxx +++ b/PWGJE/Tasks/jetSubstructureDplus.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureDplus = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesDplusData, aod::CandidatesDplusMCP, aod::DplusCJetSSs, aod::DplusChargedSPs, aod::DplusChargedPRs, aod::DplusCMCDJetSSs, aod::DplusChargedMCDetectorLevelSPs, aod::DplusChargedMCDetectorLevelPRs, aod::DplusCMCPJetSSs, aod::DplusChargedMCParticleLevelSPs, aod::DplusChargedMCParticleLevelPRs, aod::DplusCEWSJetSSs, aod::DplusChargedEventWiseSubtractedSPs, aod::DplusChargedEventWiseSubtractedPRs, aod::JTrackDplusSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDplusOutput.cxx b/PWGJE/Tasks/jetSubstructureDplusOutput.cxx index 22a869bfcfa..6daa517f47b 100644 --- a/PWGJE/Tasks/jetSubstructureDplusOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureDplusOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputDplus = JetSubstructureHFOutputTask, aod::McCollisionsDplus, aod::CandidatesDplusData, aod::CandidatesDplusMCD, aod::CandidatesDplusMCP, aod::BkgDplusRhos, aod::BkgDplusMcRhos, aod::JTrackDplusSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DplusCJetCOs, aod::DplusCJetOs, aod::DplusCJetSSOs, aod::DplusCJetMOs, soa::Join, soa::Join, soa::Join, aod::DplusCMCDJetCOs, aod::DplusCMCDJetOs, aod::DplusCMCDJetSSOs, aod::DplusCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DplusCMCPJetCOs, aod::DplusCMCPJetMCCOs, aod::DplusCMCPJetOs, aod::DplusCMCPJetSSOs, aod::DplusCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::DplusCEWSJetCOs, aod::DplusCEWSJetOs, aod::DplusCEWSJetSSOs, aod::DplusCEWSJetMOs, aod::StoredHfDplusCollBase, aod::StoredHfDplusBases, aod::StoredHfDplusPars, aod::StoredHfDplusParEs, aod::JDumDplusParDaus, aod::StoredHfDplusSels, aod::StoredHfDplusMls, aod::JDumDplusMlDaus, aod::StoredHfDplusMcs, aod::StoredHfDplusMcCollBases, aod::StoredHfDplusMcRCollIds, aod::StoredHfDplusPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDs.cxx b/PWGJE/Tasks/jetSubstructureDs.cxx index 3207ba667e3..0ef6d824946 100644 --- a/PWGJE/Tasks/jetSubstructureDs.cxx +++ b/PWGJE/Tasks/jetSubstructureDs.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureDs = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesDsData, aod::CandidatesDsMCP, aod::DsCJetSSs, aod::DsChargedSPs, aod::DsChargedPRs, aod::DsCMCDJetSSs, aod::DsChargedMCDetectorLevelSPs, aod::DsChargedMCDetectorLevelPRs, aod::DsCMCPJetSSs, aod::DsChargedMCParticleLevelSPs, aod::DsChargedMCParticleLevelPRs, aod::DsCEWSJetSSs, aod::DsChargedEventWiseSubtractedSPs, aod::DsChargedEventWiseSubtractedPRs, aod::JTrackDsSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDsOutput.cxx b/PWGJE/Tasks/jetSubstructureDsOutput.cxx index 91f0ae4b54d..8df04855f28 100644 --- a/PWGJE/Tasks/jetSubstructureDsOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureDsOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputDs = JetSubstructureHFOutputTask, aod::McCollisionsDs, aod::CandidatesDsData, aod::CandidatesDsMCD, aod::CandidatesDsMCP, aod::BkgDsRhos, aod::BkgDsMcRhos, aod::JTrackDsSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DsCJetCOs, aod::DsCJetOs, aod::DsCJetSSOs, aod::DsCJetMOs, soa::Join, soa::Join, soa::Join, aod::DsCMCDJetCOs, aod::DsCMCDJetOs, aod::DsCMCDJetSSOs, aod::DsCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DsCMCPJetCOs, aod::DsCMCPJetMCCOs, aod::DsCMCPJetOs, aod::DsCMCPJetSSOs, aod::DsCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::DsCEWSJetCOs, aod::DsCEWSJetOs, aod::DsCEWSJetSSOs, aod::DsCEWSJetMOs, aod::StoredHfDsCollBase, aod::StoredHfDsBases, aod::StoredHfDsPars, aod::StoredHfDsParEs, aod::JDumDsParDaus, aod::StoredHfDsSels, aod::StoredHfDsMls, aod::JDumDsMlDaus, aod::StoredHfDsMcs, aod::StoredHfDsMcCollBases, aod::StoredHfDsMcRCollIds, aod::StoredHfDsPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDstar.cxx b/PWGJE/Tasks/jetSubstructureDstar.cxx index 02c95adbbda..b031d53beea 100644 --- a/PWGJE/Tasks/jetSubstructureDstar.cxx +++ b/PWGJE/Tasks/jetSubstructureDstar.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureDstar = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesDstarData, aod::CandidatesDstarMCP, aod::DstarCJetSSs, aod::DstarChargedSPs, aod::DstarChargedPRs, aod::DstarCMCDJetSSs, aod::DstarChargedMCDetectorLevelSPs, aod::DstarChargedMCDetectorLevelPRs, aod::DstarCMCPJetSSs, aod::DstarChargedMCParticleLevelSPs, aod::DstarChargedMCParticleLevelPRs, aod::DstarCEWSJetSSs, aod::DstarChargedEventWiseSubtractedSPs, aod::DstarChargedEventWiseSubtractedPRs, aod::JTrackDstarSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureDstarOutput.cxx b/PWGJE/Tasks/jetSubstructureDstarOutput.cxx index d7ced94f0ad..436cae9103c 100644 --- a/PWGJE/Tasks/jetSubstructureDstarOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureDstarOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputDstar = JetSubstructureHFOutputTask, aod::McCollisionsDstar, aod::CandidatesDstarData, aod::CandidatesDstarMCD, aod::CandidatesDstarMCP, aod::BkgDstarRhos, aod::BkgDstarMcRhos, aod::JTrackDstarSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DstarCJetCOs, aod::DstarCJetOs, aod::DstarCJetSSOs, aod::DstarCJetMOs, soa::Join, soa::Join, soa::Join, aod::DstarCMCDJetCOs, aod::DstarCMCDJetOs, aod::DstarCMCDJetSSOs, aod::DstarCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::DstarCMCPJetCOs, aod::DstarCMCPJetMCCOs, aod::DstarCMCPJetOs, aod::DstarCMCPJetSSOs, aod::DstarCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::DstarCEWSJetCOs, aod::DstarCEWSJetOs, aod::DstarCEWSJetSSOs, aod::DstarCEWSJetMOs, aod::StoredHfDstarCollBase, aod::StoredHfDstarBases, aod::StoredHfDstarPars, aod::JDumDstarParEs, aod::HfDstarParD0s, aod::StoredHfDstarSels, aod::StoredHfDstarMls, aod::JDumDstarMlDaus, aod::StoredHfDstarMcs, aod::StoredHfDstarMcCollBases, aod::StoredHfDstarMcRCollIds, aod::StoredHfDstarPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureHF.cxx b/PWGJE/Tasks/jetSubstructureHF.h similarity index 83% rename from PWGJE/Tasks/jetSubstructureHF.cxx rename to PWGJE/Tasks/jetSubstructureHF.h index ac7be7a4be3..c4a2c242100 100644 --- a/PWGJE/Tasks/jetSubstructureHF.cxx +++ b/PWGJE/Tasks/jetSubstructureHF.h @@ -14,7 +14,8 @@ /// \author Nima Zardoshti // -#include "RecoDecay.h" +#ifndef PWGJE_TASKS_JETSUBSTRUCTUREHF_H_ +#define PWGJE_TASKS_JETSUBSTRUCTUREHF_H_ #include "PWGJE/Core/FastJetUtilities.h" #include "PWGJE/Core/JetDQUtilities.h" @@ -27,63 +28,62 @@ #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetSubtraction.h" -#include "Framework/ASoA.h" -#include "Framework/HistogramRegistry.h" -#include "Framework/O2DatabasePDGPlugin.h" +#include "Common/Core/RecoDecay.h" + +#include #include #include +#include #include #include +#include #include -#include "fastjet/ClusterSequenceArea.hh" -#include "fastjet/PseudoJet.hh" +#include #include +#include #include +#include #include #include #include #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - // NB: runDataProcessing.h must be included after customize! template struct JetSubstructureHFTask { - Produces jetSubstructureDataTable; - Produces jetSubstructureMCDTable; - Produces jetSubstructureMCPTable; - Produces jetSubstructureDataSubTable; + o2::framework::Produces jetSubstructureDataTable; + o2::framework::Produces jetSubstructureMCDTable; + o2::framework::Produces jetSubstructureMCPTable; + o2::framework::Produces jetSubstructureDataSubTable; - Produces jetSplittingsDataTable; - Produces jetSplittingsMCDTable; - Produces jetSplittingsMCPTable; - Produces jetSplittingsDataSubTable; + o2::framework::Produces jetSplittingsDataTable; + o2::framework::Produces jetSplittingsMCDTable; + o2::framework::Produces jetSplittingsMCPTable; + o2::framework::Produces jetSplittingsDataSubTable; - Produces jetPairsDataTable; - Produces jetPairsMCDTable; - Produces jetPairsMCPTable; - Produces jetPairsDataSubTable; + o2::framework::Produces jetPairsDataTable; + o2::framework::Produces jetPairsMCDTable; + o2::framework::Produces jetPairsMCPTable; + o2::framework::Produces jetPairsDataSubTable; // Jet level configurables - Configurable zCut{"zCut", 0.1, "soft drop z cut"}; - Configurable beta{"beta", 0.0, "soft drop beta"}; - Configurable kappa{"kappa", 1.0, "angularity kappa"}; - Configurable alpha{"alpha", 1.0, "angularity alpha"}; - Configurable doPairBkg{"doPairBkg", true, "save bkg pairs"}; - Configurable pairConstituentPtMin{"pairConstituentPtMin", 1.0, "pt cut off for constituents going into pairs"}; - Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; - Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; - Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; - Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; - - Service pdg; + o2::framework::Configurable zCut{"zCut", 0.1, "soft drop z cut"}; + o2::framework::Configurable beta{"beta", 0.0, "soft drop beta"}; + o2::framework::Configurable kappa{"kappa", 1.0, "angularity kappa"}; + o2::framework::Configurable alpha{"alpha", 1.0, "angularity alpha"}; + o2::framework::Configurable doPairBkg{"doPairBkg", true, "save bkg pairs"}; + o2::framework::Configurable pairConstituentPtMin{"pairConstituentPtMin", 1.0, "pt cut off for constituents going into pairs"}; + o2::framework::Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; + o2::framework::Configurable applyTrackingEfficiency{"applyTrackingEfficiency", {false}, "configurable to decide whether to apply artificial tracking efficiency (discarding tracks) in jet finding"}; + o2::framework::Configurable> trackingEfficiencyPtBinning{"trackingEfficiencyPtBinning", {0., 10, 999.}, "pt binning of tracking efficiency array if applyTrackingEfficiency is true"}; + o2::framework::Configurable> trackingEfficiency{"trackingEfficiency", {1.0, 1.0}, "tracking efficiency array applied to jet finding if applyTrackingEfficiency is true"}; + + o2::framework::Service pdg; float candMass; std::vector jetConstituents; @@ -111,23 +111,23 @@ struct JetSubstructureHFTask { float leadingConstituentPt; float perpConeRho; - HistogramRegistry registry; + o2::framework::HistogramRegistry registry; int trackSelection = -1; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { - registry.add("h2_jet_pt_jet_zg", ";#it{p}_{T,jet} (GeV/#it{c});#it{z}_{g}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_jet_rg", ";#it{p}_{T,jet} (GeV/#it{c});#it{R}_{g}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_jet_nsd", ";#it{p}_{T,jet} (GeV/#it{c});#it{n}_{SD}", {HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); + registry.add("h2_jet_pt_jet_zg", ";#it{p}_{T,jet} (GeV/#it{c});#it{z}_{g}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_jet_rg", ";#it{p}_{T,jet} (GeV/#it{c});#it{R}_{g}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_jet_nsd", ";#it{p}_{T,jet} (GeV/#it{c});#it{n}_{SD}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); - registry.add("h2_jet_pt_part_jet_zg_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{z}_{g}^{part}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_part_jet_rg_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{R}_{g}^{part}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_part_jet_nsd_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{n}_{SD}^{part}", {HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); + registry.add("h2_jet_pt_part_jet_zg_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{z}_{g}^{part}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_part_jet_rg_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{R}_{g}^{part}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_part_jet_nsd_part", ";#it{p}_{T,jet}^{part} (GeV/#it{c});#it{n}_{SD}^{part}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); - registry.add("h2_jet_pt_jet_zg_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{z}_{g}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_jet_rg_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{R}_{g}", {HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); - registry.add("h2_jet_pt_jet_nsd_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{n}_{SD}", {HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); + registry.add("h2_jet_pt_jet_zg_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{z}_{g}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_jet_rg_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{R}_{g}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {22, 0.0, 1.1}}}); + registry.add("h2_jet_pt_jet_nsd_eventwiseconstituentsubtracted", ";#it{p}_{T,jet} (GeV/#it{c});#it{n}_{SD}", {o2::framework::HistType::kTH2F, {{200, 0., 200.}, {15, -0.5, 14.5}}}); jetReclusterer.isReclustering = true; jetReclusterer.algorithm = fastjet::JetAlgorithm::cambridge_algorithm; @@ -147,17 +147,17 @@ struct JetSubstructureHFTask { } } - Preslice TracksPerCollision = aod::jtrack::collisionId; - PresliceOptional TracksPerD0DataSub = aod::bkgd0::candidateId; - PresliceOptional TracksPerDplusDataSub = aod::bkgdplus::candidateId; - PresliceOptional TracksPerDsDataSub = aod::bkgds::candidateId; - PresliceOptional TracksPerDstarDataSub = aod::bkgdstar::candidateId; - PresliceOptional TracksPerLcDataSub = aod::bkglc::candidateId; - PresliceOptional TracksPerB0DataSub = aod::bkgb0::candidateId; - PresliceOptional TracksPerBplusDataSub = aod::bkgbplus::candidateId; - PresliceOptional TracksPerXicToXiPiPiDataSub = aod::bkgxictoxipipi::candidateId; - PresliceOptional TracksPerDielectronDataSub = aod::bkgdielectron::candidateId; - Preslice ParticlesPerMcCollision = aod::jmcparticle::mcCollisionId; + o2::framework::Preslice TracksPerCollision = o2::aod::jtrack::collisionId; + o2::framework::PresliceOptional TracksPerD0DataSub = o2::aod::bkgd0::candidateId; + o2::framework::PresliceOptional TracksPerDplusDataSub = o2::aod::bkgdplus::candidateId; + o2::framework::PresliceOptional TracksPerDsDataSub = o2::aod::bkgds::candidateId; + o2::framework::PresliceOptional TracksPerDstarDataSub = o2::aod::bkgdstar::candidateId; + o2::framework::PresliceOptional TracksPerLcDataSub = o2::aod::bkglc::candidateId; + o2::framework::PresliceOptional TracksPerB0DataSub = o2::aod::bkgb0::candidateId; + o2::framework::PresliceOptional TracksPerBplusDataSub = o2::aod::bkgbplus::candidateId; + o2::framework::PresliceOptional TracksPerXicToXiPiPiDataSub = o2::aod::bkgxictoxipipi::candidateId; + o2::framework::PresliceOptional TracksPerDielectronDataSub = o2::aod::bkgdielectron::candidateId; + o2::framework::Preslice ParticlesPerMcCollision = o2::aod::jmcparticle::mcCollisionId; template auto selectSlicer(T const& D0Slicer, U const& DplusSlicer, V const& DsSlicer, M const& DstarSlicer, N const& LcSlicer, O const& B0Slicer, P const& BplusSlicer, Q const& XicToXiPiPiSlicer, R const& DielectronSlicer) @@ -350,7 +350,7 @@ struct JetSubstructureHFTask { continue; } - if constexpr (!std::is_same_v, aod::JetParticles>) { + if constexpr (!std::is_same_v, o2::aod::JetParticles>) { if (!jetfindingutilities::isTrackSelected(track, trackSelection, applyTrackingEfficiency, trackingEfficiency, trackingEfficiencyPtBinning)) { continue; } @@ -474,7 +474,7 @@ struct JetSubstructureHFTask { void processChargedJetsData(typename JetTableData::iterator const& jet, CandidateTable const& candidates, - aod::JetTracks const& tracks) + o2::aod::JetTracks const& tracks) { analyseCharged(jet, tracks, candidates, TracksPerCollision, jetSubstructureDataTable, jetSplittingsDataTable, jetPairsDataTable); } @@ -490,18 +490,18 @@ struct JetSubstructureHFTask { void processChargedJetsMCD(typename JetTableMCD::iterator const& jet, CandidateTable const& candidates, - aod::JetTracks const& tracks) + o2::aod::JetTracks const& tracks) { analyseCharged(jet, tracks, candidates, TracksPerCollision, jetSubstructureMCDTable, jetSplittingsMCDTable, jetPairsMCDTable); } PROCESS_SWITCH(JetSubstructureHFTask, processChargedJetsMCD, "HF jet substructure on data", false); void processChargedJetsMCP(typename JetTableMCP::iterator const& jet, - aod::JetParticles const& particles, + o2::aod::JetParticles const& particles, CandidateTableMCP const& candidates) { jetConstituents.clear(); - for (auto& jetConstituent : jet.template tracks_as()) { + for (auto& jetConstituent : jet.template tracks_as()) { fastjetutilities::fillTracks(jetConstituent, jetConstituents, jetConstituent.globalIndex(), static_cast(JetConstituentStatus::track), pdg->Mass(jetConstituent.pdgCode())); } for (auto& jetHFCandidate : jet.template candidates_as()) { @@ -515,3 +515,5 @@ struct JetSubstructureHFTask { } PROCESS_SWITCH(JetSubstructureHFTask, processChargedJetsMCP, "HF jet substructure on MC particle level", false); }; + +#endif // PWGJE_TASKS_JETSUBSTRUCTUREHF_H_ diff --git a/PWGJE/Tasks/jetSubstructureHFOutput.cxx b/PWGJE/Tasks/jetSubstructureHFOutput.h similarity index 63% rename from PWGJE/Tasks/jetSubstructureHFOutput.cxx rename to PWGJE/Tasks/jetSubstructureHFOutput.h index 0a77074c8ce..48ed82586a7 100644 --- a/PWGJE/Tasks/jetSubstructureHFOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureHFOutput.h @@ -14,13 +14,16 @@ /// \author Nima Zardoshti // +#ifndef PWGJE_TASKS_JETSUBSTRUCTUREHFOUTPUT_H_ +#define PWGJE_TASKS_JETSUBSTRUCTUREHFOUTPUT_H_ + #include "PWGJE/Core/JetFindingUtilities.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedData.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" -#include "Framework/ASoA.h" +#include #include #include #include @@ -33,57 +36,53 @@ #include #include -using namespace o2; -using namespace o2::framework; -using namespace o2::framework::expressions; - // NB: runDataProcessing.h must be included after customize! template struct JetSubstructureHFOutputTask { - struct : ProducesGroup { - Produces collisionOutputTableData; - Produces jetOutputTableData; - Produces jetSubstructureOutputTableData; - Produces jetMatchingOutputTableData; - Produces collisionOutputTableDataSub; - Produces jetOutputTableDataSub; - Produces jetSubstructureOutputTableDataSub; - Produces jetMatchingOutputTableDataSub; - Produces collisionOutputTableMCD; - Produces jetOutputTableMCD; - Produces jetSubstructureOutputTableMCD; - Produces jetMatchingOutputTableMCD; - Produces collisionOutputTableMCP; - Produces hfMcOnlyCollisionsTable; - Produces jetOutputTableMCP; - Produces jetSubstructureOutputTableMCP; - Produces jetMatchingOutputTableMCP; - Produces hfCollisionsTable; - Produces candidateTable; - Produces candidateParsTable; - Produces candidateParExtrasTable; - Produces candidateParsDaughterTable; - Produces candidateSelsTable; - Produces candidateMlsTable; - Produces candidateMlsDaughterTable; - Produces candidateMcsTable; - Produces hfMcCollisionsTable; - Produces hfMcCollisionsMatchingTable; - Produces hfParticlesTable; + struct : o2::framework::ProducesGroup { + o2::framework::Produces collisionOutputTableData; + o2::framework::Produces jetOutputTableData; + o2::framework::Produces jetSubstructureOutputTableData; + o2::framework::Produces jetMatchingOutputTableData; + o2::framework::Produces collisionOutputTableDataSub; + o2::framework::Produces jetOutputTableDataSub; + o2::framework::Produces jetSubstructureOutputTableDataSub; + o2::framework::Produces jetMatchingOutputTableDataSub; + o2::framework::Produces collisionOutputTableMCD; + o2::framework::Produces jetOutputTableMCD; + o2::framework::Produces jetSubstructureOutputTableMCD; + o2::framework::Produces jetMatchingOutputTableMCD; + o2::framework::Produces collisionOutputTableMCP; + o2::framework::Produces hfMcOnlyCollisionsTable; + o2::framework::Produces jetOutputTableMCP; + o2::framework::Produces jetSubstructureOutputTableMCP; + o2::framework::Produces jetMatchingOutputTableMCP; + o2::framework::Produces hfCollisionsTable; + o2::framework::Produces candidateTable; + o2::framework::Produces candidateParsTable; + o2::framework::Produces candidateParExtrasTable; + o2::framework::Produces candidateParsDaughterTable; + o2::framework::Produces candidateSelsTable; + o2::framework::Produces candidateMlsTable; + o2::framework::Produces candidateMlsDaughterTable; + o2::framework::Produces candidateMcsTable; + o2::framework::Produces hfMcCollisionsTable; + o2::framework::Produces hfMcCollisionsMatchingTable; + o2::framework::Produces hfParticlesTable; } products; - struct : ConfigurableGroup { - Configurable jetPtMinData{"jetPtMinData", 0.0, "minimum jet pT cut for data jets"}; - Configurable jetPtMinDataSub{"jetPtMinDataSub", 0.0, "minimum jet pT cut for eventwise constituent subtracted data jets"}; - Configurable jetPtMinMCD{"jetPtMinMCD", 0.0, "minimum jet pT cut for mcd jets"}; - Configurable jetPtMinMCP{"jetPtMinMCP", 0.0, "minimum jet pT cut for mcp jets"}; - Configurable> jetRadii{"jetRadii", std::vector{0.4}, "jet resolution parameters"}; - Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; - Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; - Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track pseudorapidity"}; - Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track pseudorapidity"}; + struct : o2::framework::ConfigurableGroup { + o2::framework::Configurable jetPtMinData{"jetPtMinData", 0.0, "minimum jet pT cut for data jets"}; + o2::framework::Configurable jetPtMinDataSub{"jetPtMinDataSub", 0.0, "minimum jet pT cut for eventwise constituent subtracted data jets"}; + o2::framework::Configurable jetPtMinMCD{"jetPtMinMCD", 0.0, "minimum jet pT cut for mcd jets"}; + o2::framework::Configurable jetPtMinMCP{"jetPtMinMCP", 0.0, "minimum jet pT cut for mcp jets"}; + o2::framework::Configurable> jetRadii{"jetRadii", std::vector{0.4}, "jet resolution parameters"}; + o2::framework::Configurable jetEtaMin{"jetEtaMin", -99.0, "minimum jet pseudorapidity"}; + o2::framework::Configurable jetEtaMax{"jetEtaMax", 99.0, "maximum jet pseudorapidity"}; + o2::framework::Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum track pseudorapidity"}; + o2::framework::Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum track pseudorapidity"}; } configs; // need to add selection on pThat to post processing @@ -120,106 +119,106 @@ struct JetSubstructureHFOutputTask { std::vector collisionFlag; std::vector mcCollisionFlag; - void init(InitContext const&) + void init(o2::framework::InitContext const&) { jetRadiiValues = (std::vector)configs.jetRadii; } - struct : PresliceGroup { - PresliceUnsorted> CollisionsPerMcCollision = aod::jmccollisionlb::mcCollisionId; - PresliceOptional CandidateCollisionsPerCollision = aod::jcandidateindices::collisionId; - PresliceOptional CandidateMcCollisionsPerMcCollision = aod::jcandidateindices::mcCollisionId; - PresliceOptional CandidateMcCollisionsPerMcCollisionMCPOnly = aod::jcandidateindices::mcCollisionId; - - PresliceOptional> D0SplittingsPerJetData = aod::d0chargedsplitting::jetId; - PresliceOptional> D0SplittingsPerJetDataSub = aod::d0chargedeventwisesubtractedsplitting::jetId; - PresliceOptional> D0SplittingsPerJetMCD = aod::d0chargedmcdetectorlevelsplitting::jetId; - PresliceOptional> D0SplittingsPerJetMCP = aod::d0chargedmcparticlelevelsplitting::jetId; - - PresliceOptional> D0PairsPerJetData = aod::d0chargedpair::jetId; - PresliceOptional> D0PairsPerJetDataSub = aod::d0chargedeventwisesubtractedpair::jetId; - PresliceOptional> D0PairsPerJetMCD = aod::d0chargedmcdetectorlevelpair::jetId; - PresliceOptional> D0PairsPerJetMCP = aod::d0chargedmcparticlelevelpair::jetId; - - PresliceOptional> DplusSplittingsPerJetData = aod::dpluschargedsplitting::jetId; - PresliceOptional> DplusSplittingsPerJetDataSub = aod::dpluschargedeventwisesubtractedsplitting::jetId; - PresliceOptional> DplusSplittingsPerJetMCD = aod::dpluschargedmcdetectorlevelsplitting::jetId; - PresliceOptional> DplusSplittingsPerJetMCP = aod::dpluschargedmcparticlelevelsplitting::jetId; - - PresliceOptional> DplusPairsPerJetData = aod::dpluschargedpair::jetId; - PresliceOptional> DplusPairsPerJetDataSub = aod::dpluschargedeventwisesubtractedpair::jetId; - PresliceOptional> DplusPairsPerJetMCD = aod::dpluschargedmcdetectorlevelpair::jetId; - PresliceOptional> DplusPairsPerJetMCP = aod::dpluschargedmcparticlelevelpair::jetId; - - PresliceOptional> DsSplittingsPerJetData = aod::dschargedsplitting::jetId; - PresliceOptional> DsSplittingsPerJetDataSub = aod::dschargedeventwisesubtractedsplitting::jetId; - PresliceOptional> DsSplittingsPerJetMCD = aod::dschargedmcdetectorlevelsplitting::jetId; - PresliceOptional> DsSplittingsPerJetMCP = aod::dschargedmcparticlelevelsplitting::jetId; - - PresliceOptional> DsPairsPerJetData = aod::dschargedpair::jetId; - PresliceOptional> DsPairsPerJetDataSub = aod::dschargedeventwisesubtractedpair::jetId; - PresliceOptional> DsPairsPerJetMCD = aod::dschargedmcdetectorlevelpair::jetId; - PresliceOptional> DsPairsPerJetMCP = aod::dschargedmcparticlelevelpair::jetId; - - PresliceOptional> DstarSplittingsPerJetData = aod::dstarchargedsplitting::jetId; - PresliceOptional> DstarSplittingsPerJetDataSub = aod::dstarchargedeventwisesubtractedsplitting::jetId; - PresliceOptional> DstarSplittingsPerJetMCD = aod::dstarchargedmcdetectorlevelsplitting::jetId; - PresliceOptional> DstarSplittingsPerJetMCP = aod::dstarchargedmcparticlelevelsplitting::jetId; - - PresliceOptional> DstarPairsPerJetData = aod::dstarchargedpair::jetId; - PresliceOptional> DstarPairsPerJetDataSub = aod::dstarchargedeventwisesubtractedpair::jetId; - PresliceOptional> DstarPairsPerJetMCD = aod::dstarchargedmcdetectorlevelpair::jetId; - PresliceOptional> DstarPairsPerJetMCP = aod::dstarchargedmcparticlelevelpair::jetId; - - PresliceOptional> LcSplittingsPerJetData = aod::lcchargedsplitting::jetId; - PresliceOptional> LcSplittingsPerJetDataSub = aod::lcchargedeventwisesubtractedsplitting::jetId; - PresliceOptional> LcSplittingsPerJetMCD = aod::lcchargedmcdetectorlevelsplitting::jetId; - PresliceOptional> LcSplittingsPerJetMCP = aod::lcchargedmcparticlelevelsplitting::jetId; - - PresliceOptional> LcPairsPerJetData = aod::lcchargedpair::jetId; - PresliceOptional> LcPairsPerJetDataSub = aod::lcchargedeventwisesubtractedpair::jetId; - PresliceOptional> LcPairsPerJetMCD = aod::lcchargedmcdetectorlevelpair::jetId; - PresliceOptional> LcPairsPerJetMCP = aod::lcchargedmcparticlelevelpair::jetId; - - PresliceOptional> B0SplittingsPerJetData = aod::b0chargedsplitting::jetId; - PresliceOptional> B0SplittingsPerJetDataSub = aod::b0chargedeventwisesubtractedsplitting::jetId; - PresliceOptional> B0SplittingsPerJetMCD = aod::b0chargedmcdetectorlevelsplitting::jetId; - PresliceOptional> B0SplittingsPerJetMCP = aod::b0chargedmcparticlelevelsplitting::jetId; - - PresliceOptional> B0PairsPerJetData = aod::b0chargedpair::jetId; - PresliceOptional> B0PairsPerJetDataSub = aod::b0chargedeventwisesubtractedpair::jetId; - PresliceOptional> B0PairsPerJetMCD = aod::b0chargedmcdetectorlevelpair::jetId; - PresliceOptional> B0PairsPerJetMCP = aod::b0chargedmcparticlelevelpair::jetId; - - PresliceOptional> BplusSplittingsPerJetData = aod::bpluschargedsplitting::jetId; - PresliceOptional> BplusSplittingsPerJetDataSub = aod::bpluschargedeventwisesubtractedsplitting::jetId; - PresliceOptional> BplusSplittingsPerJetMCD = aod::bpluschargedmcdetectorlevelsplitting::jetId; - PresliceOptional> BplusSplittingsPerJetMCP = aod::bpluschargedmcparticlelevelsplitting::jetId; - - PresliceOptional> BplusPairsPerJetData = aod::bpluschargedpair::jetId; - PresliceOptional> BplusPairsPerJetDataSub = aod::bpluschargedeventwisesubtractedpair::jetId; - PresliceOptional> BplusPairsPerJetMCD = aod::bpluschargedmcdetectorlevelpair::jetId; - PresliceOptional> BplusPairsPerJetMCP = aod::bpluschargedmcparticlelevelpair::jetId; - - PresliceOptional> XicToXiPiPiSplittingsPerJetData = aod::xictoxipipichargedsplitting::jetId; - PresliceOptional> XicToXiPiPiSplittingsPerJetDataSub = aod::xictoxipipichargedeventwisesubtractedsplitting::jetId; - PresliceOptional> XicToXiPiPiSplittingsPerJetMCD = aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; - PresliceOptional> XicToXiPiPiSplittingsPerJetMCP = aod::xictoxipipichargedmcparticlelevelsplitting::jetId; - - PresliceOptional> XicToXiPiPiPairsPerJetData = aod::xictoxipipichargedpair::jetId; - PresliceOptional> XicToXiPiPiPairsPerJetDataSub = aod::xictoxipipichargedeventwisesubtractedpair::jetId; - PresliceOptional> XicToXiPiPiPairsPerJetMCD = aod::xictoxipipichargedmcdetectorlevelpair::jetId; - PresliceOptional> XicToXiPiPiPairsPerJetMCP = aod::xictoxipipichargedmcparticlelevelpair::jetId; - - PresliceOptional> DielectronSplittingsPerJetData = aod::dielectronchargedsplitting::jetId; - PresliceOptional> DielectronSplittingsPerJetDataSub = aod::dielectronchargedeventwisesubtractedsplitting::jetId; - PresliceOptional> DielectronSplittingsPerJetMCD = aod::dielectronchargedmcdetectorlevelsplitting::jetId; - PresliceOptional> DielectronSplittingsPerJetMCP = aod::dielectronchargedmcparticlelevelsplitting::jetId; - - PresliceOptional> DielectronPairsPerJetData = aod::dielectronchargedpair::jetId; - PresliceOptional> DielectronPairsPerJetDataSub = aod::dielectronchargedeventwisesubtractedpair::jetId; - PresliceOptional> DielectronPairsPerJetMCD = aod::dielectronchargedmcdetectorlevelpair::jetId; - PresliceOptional> DielectronPairsPerJetMCP = aod::dielectronchargedmcparticlelevelpair::jetId; + struct : o2::framework::PresliceGroup { + o2::framework::PresliceUnsorted> CollisionsPerMcCollision = o2::aod::jmccollisionlb::mcCollisionId; + o2::framework::PresliceOptional CandidateCollisionsPerCollision = o2::aod::jcandidateindices::collisionId; + o2::framework::PresliceOptional CandidateMcCollisionsPerMcCollision = o2::aod::jcandidateindices::mcCollisionId; + o2::framework::PresliceOptional CandidateMcCollisionsPerMcCollisionMCPOnly = o2::aod::jcandidateindices::mcCollisionId; + + o2::framework::PresliceOptional> D0SplittingsPerJetData = o2::aod::d0chargedsplitting::jetId; + o2::framework::PresliceOptional> D0SplittingsPerJetDataSub = o2::aod::d0chargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> D0SplittingsPerJetMCD = o2::aod::d0chargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> D0SplittingsPerJetMCP = o2::aod::d0chargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> D0PairsPerJetData = o2::aod::d0chargedpair::jetId; + o2::framework::PresliceOptional> D0PairsPerJetDataSub = o2::aod::d0chargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> D0PairsPerJetMCD = o2::aod::d0chargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> D0PairsPerJetMCP = o2::aod::d0chargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> DplusSplittingsPerJetData = o2::aod::dpluschargedsplitting::jetId; + o2::framework::PresliceOptional> DplusSplittingsPerJetDataSub = o2::aod::dpluschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> DplusSplittingsPerJetMCD = o2::aod::dpluschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> DplusSplittingsPerJetMCP = o2::aod::dpluschargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> DplusPairsPerJetData = o2::aod::dpluschargedpair::jetId; + o2::framework::PresliceOptional> DplusPairsPerJetDataSub = o2::aod::dpluschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> DplusPairsPerJetMCD = o2::aod::dpluschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> DplusPairsPerJetMCP = o2::aod::dpluschargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> DsSplittingsPerJetData = o2::aod::dschargedsplitting::jetId; + o2::framework::PresliceOptional> DsSplittingsPerJetDataSub = o2::aod::dschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> DsSplittingsPerJetMCD = o2::aod::dschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> DsSplittingsPerJetMCP = o2::aod::dschargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> DsPairsPerJetData = o2::aod::dschargedpair::jetId; + o2::framework::PresliceOptional> DsPairsPerJetDataSub = o2::aod::dschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> DsPairsPerJetMCD = o2::aod::dschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> DsPairsPerJetMCP = o2::aod::dschargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> DstarSplittingsPerJetData = o2::aod::dstarchargedsplitting::jetId; + o2::framework::PresliceOptional> DstarSplittingsPerJetDataSub = o2::aod::dstarchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> DstarSplittingsPerJetMCD = o2::aod::dstarchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> DstarSplittingsPerJetMCP = o2::aod::dstarchargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> DstarPairsPerJetData = o2::aod::dstarchargedpair::jetId; + o2::framework::PresliceOptional> DstarPairsPerJetDataSub = o2::aod::dstarchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> DstarPairsPerJetMCD = o2::aod::dstarchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> DstarPairsPerJetMCP = o2::aod::dstarchargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> LcSplittingsPerJetData = o2::aod::lcchargedsplitting::jetId; + o2::framework::PresliceOptional> LcSplittingsPerJetDataSub = o2::aod::lcchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> LcSplittingsPerJetMCD = o2::aod::lcchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> LcSplittingsPerJetMCP = o2::aod::lcchargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> LcPairsPerJetData = o2::aod::lcchargedpair::jetId; + o2::framework::PresliceOptional> LcPairsPerJetDataSub = o2::aod::lcchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> LcPairsPerJetMCD = o2::aod::lcchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> LcPairsPerJetMCP = o2::aod::lcchargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> B0SplittingsPerJetData = o2::aod::b0chargedsplitting::jetId; + o2::framework::PresliceOptional> B0SplittingsPerJetDataSub = o2::aod::b0chargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> B0SplittingsPerJetMCD = o2::aod::b0chargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> B0SplittingsPerJetMCP = o2::aod::b0chargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> B0PairsPerJetData = o2::aod::b0chargedpair::jetId; + o2::framework::PresliceOptional> B0PairsPerJetDataSub = o2::aod::b0chargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> B0PairsPerJetMCD = o2::aod::b0chargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> B0PairsPerJetMCP = o2::aod::b0chargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> BplusSplittingsPerJetData = o2::aod::bpluschargedsplitting::jetId; + o2::framework::PresliceOptional> BplusSplittingsPerJetDataSub = o2::aod::bpluschargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> BplusSplittingsPerJetMCD = o2::aod::bpluschargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> BplusSplittingsPerJetMCP = o2::aod::bpluschargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> BplusPairsPerJetData = o2::aod::bpluschargedpair::jetId; + o2::framework::PresliceOptional> BplusPairsPerJetDataSub = o2::aod::bpluschargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> BplusPairsPerJetMCD = o2::aod::bpluschargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> BplusPairsPerJetMCP = o2::aod::bpluschargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> XicToXiPiPiSplittingsPerJetData = o2::aod::xictoxipipichargedsplitting::jetId; + o2::framework::PresliceOptional> XicToXiPiPiSplittingsPerJetDataSub = o2::aod::xictoxipipichargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> XicToXiPiPiSplittingsPerJetMCD = o2::aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> XicToXiPiPiSplittingsPerJetMCP = o2::aod::xictoxipipichargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> XicToXiPiPiPairsPerJetData = o2::aod::xictoxipipichargedpair::jetId; + o2::framework::PresliceOptional> XicToXiPiPiPairsPerJetDataSub = o2::aod::xictoxipipichargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> XicToXiPiPiPairsPerJetMCD = o2::aod::xictoxipipichargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> XicToXiPiPiPairsPerJetMCP = o2::aod::xictoxipipichargedmcparticlelevelpair::jetId; + + o2::framework::PresliceOptional> DielectronSplittingsPerJetData = o2::aod::dielectronchargedsplitting::jetId; + o2::framework::PresliceOptional> DielectronSplittingsPerJetDataSub = o2::aod::dielectronchargedeventwisesubtractedsplitting::jetId; + o2::framework::PresliceOptional> DielectronSplittingsPerJetMCD = o2::aod::dielectronchargedmcdetectorlevelsplitting::jetId; + o2::framework::PresliceOptional> DielectronSplittingsPerJetMCP = o2::aod::dielectronchargedmcparticlelevelsplitting::jetId; + + o2::framework::PresliceOptional> DielectronPairsPerJetData = o2::aod::dielectronchargedpair::jetId; + o2::framework::PresliceOptional> DielectronPairsPerJetDataSub = o2::aod::dielectronchargedeventwisesubtractedpair::jetId; + o2::framework::PresliceOptional> DielectronPairsPerJetMCD = o2::aod::dielectronchargedmcdetectorlevelpair::jetId; + o2::framework::PresliceOptional> DielectronPairsPerJetMCP = o2::aod::dielectronchargedmcparticlelevelpair::jetId; } preslices; @@ -570,7 +569,7 @@ struct JetSubstructureHFOutputTask { } } - void processClearMaps(aod::JetCollisions const&) + void processClearMaps(o2::aod::JetCollisions const&) { candidateMapping.clear(); jetMappingData.clear(); @@ -580,7 +579,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processClearMaps, "process function that clears all the non-mcp maps in each dataframe", true); - void processClearMapsMCP(aod::JetMcCollisions const& mcCollisions) + void processClearMapsMCP(o2::aod::JetMcCollisions const& mcCollisions) { candidateMappingMCP.clear(); jetMappingMCP.clear(); @@ -591,7 +590,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processClearMapsMCP, "process function that clears all the mcp maps in each dataframe", true); - void processOutputCollisionsData(aod::JetCollisions const& collisions, + void processOutputCollisionsData(o2::aod::JetCollisions const& collisions, JetTableData const& jets, CandidateCollisionTable const& canidateCollisions, CandidateTable const& candidates) @@ -600,7 +599,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCollisionsData, "hf collision output data", false); - void processOutputCollisionsDataSub(aod::JetCollisions const& collisions, + void processOutputCollisionsDataSub(o2::aod::JetCollisions const& collisions, JetTableDataSub const& jets, CandidateCollisionTable const& canidateCollisions, CandidateTable const& candidates) @@ -609,8 +608,8 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCollisionsDataSub, "hf collision output data eventwise constituent subtracted", false); - void processOutputCollisionsMc(soa::Join const& collisions, - aod::JetMcCollisions const& mcCollisions, + void processOutputCollisionsMc(o2::soa::Join const& collisions, + o2::aod::JetMcCollisions const& mcCollisions, JetTableMCD const& jetsMCD, JetTableMatchedMCP const& jetsMCP, CandidateCollisionTable const& canidateCollisions, @@ -622,7 +621,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCollisionsMc, "hf collision output MC", false); - void processOutputCollisionsMCPOnly(aod::JetMcCollisions const& mcCollisions, + void processOutputCollisionsMCPOnly(o2::aod::JetMcCollisions const& mcCollisions, JetTableMCP const& jetsMCP, CandidateMcOnlyCollisionTable const& canidateMcCollisions, CandidateTableMCP const& candidatesMCP) @@ -631,7 +630,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCollisionsMCPOnly, "hf collision output MCP only", false); - void processOutputCandidatesData(aod::JetCollision const&, + void processOutputCandidatesData(o2::aod::JetCollision const&, JetTableData const& jets, CandidateTable const& candidates) { @@ -639,7 +638,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCandidatesData, "hf candidate output data", false); - void processOutputCandidatesDataSub(aod::JetCollision const&, + void processOutputCandidatesDataSub(o2::aod::JetCollision const&, JetTableDataSub const& jets, CandidateTable const& candidates) { @@ -647,7 +646,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCandidatesDataSub, "hf candidate output data eventwise constituent subtracted", false); - void processOutputCandidatesMCD(aod::JetCollision const&, + void processOutputCandidatesMCD(o2::aod::JetCollision const&, JetTableMCD const& jets, CandidateTableMCD const& candidates) { @@ -656,7 +655,7 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputCandidatesMCD, "hf candidate output MCD", false); - void processOutputCandidatesMCP(aod::JetMcCollision const&, + void processOutputCandidatesMCP(o2::aod::JetMcCollision const&, JetTableMCP const& jets, CandidateTableMCP const& candidates) { @@ -685,17 +684,17 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputSubstructureMatchingData, "jet substructure matching output Data", false); - void processOutputJetsData(aod::JetCollision const& collision, + void processOutputJetsData(o2::aod::JetCollision const& collision, JetTableData const& jets, - soa::Join const& candidates) + o2::soa::Join const& candidates) { analyseCharged(collision, jets, candidates, products.collisionOutputTableData, products.jetOutputTableData, products.jetSubstructureOutputTableData, splittingMatchesGeoVecVecData, splittingMatchesPtVecVecData, splittingMatchesHFVecVecData, pairMatchesVecVecData, jetMappingData, candidateMapping, configs.jetPtMinData, 1.0); } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputJetsData, "hf jet substructure output Data", false); - void processOutputJetsDataSub(aod::JetCollision const& collision, + void processOutputJetsDataSub(o2::aod::JetCollision const& collision, JetTableDataSub const& jets, - soa::Join const& candidates) + o2::soa::Join const& candidates) { analyseCharged(collision, jets, candidates, products.collisionOutputTableDataSub, products.jetOutputTableDataSub, products.jetSubstructureOutputTableDataSub, splittingMatchesGeoVecVecDataSub, splittingMatchesPtVecVecDataSub, splittingMatchesHFVecVecDataSub, pairMatchesVecVecDataSub, jetMappingDataSub, candidateMapping, configs.jetPtMinDataSub, 1.0); } @@ -731,17 +730,17 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputSubstructureMatchingMC, "jet substructure matching output MC", false); - void processOutputJetsMCD(aod::JetCollisionMCD const& collision, + void processOutputJetsMCD(o2::aod::JetCollisionMCD const& collision, JetTableMCD const& jets, - soa::Join const& candidates) + o2::soa::Join const& candidates) { analyseCharged(collision, jets, candidates, products.collisionOutputTableMCD, products.jetOutputTableMCD, products.jetSubstructureOutputTableMCD, splittingMatchesGeoVecVecMCD, splittingMatchesPtVecVecMCD, splittingMatchesHFVecVecMCD, pairMatchesVecVecMCD, jetMappingMCD, candidateMapping, configs.jetPtMinMCD, collision.weight()); } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputJetsMCD, "hf jet substructure output MCD", false); - void processOutputJetsMCP(aod::JetMcCollision const& collision, + void processOutputJetsMCP(o2::aod::JetMcCollision const& collision, JetTableMCP const& jets, - soa::Join const& candidates) + o2::soa::Join const& candidates) { analyseCharged(collision, jets, candidates, products.collisionOutputTableMCP, products.jetOutputTableMCP, products.jetSubstructureOutputTableMCP, splittingMatchesGeoVecVecMCP, splittingMatchesPtVecVecMCP, splittingMatchesHFVecVecMCP, pairMatchesVecVecMCP, jetMappingMCP, candidateMappingMCP, configs.jetPtMinMCP, collision.weight()); } @@ -755,3 +754,5 @@ struct JetSubstructureHFOutputTask { } PROCESS_SWITCH(JetSubstructureHFOutputTask, processOutputJetMatchingMC, "jet matching output MC", false); }; + +#endif // PWGJE_TASKS_JETSUBSTRUCTUREHFOUTPUT_H_ diff --git a/PWGJE/Tasks/jetSubstructureLc.cxx b/PWGJE/Tasks/jetSubstructureLc.cxx index 6f8260ab2c5..0782faa2616 100644 --- a/PWGJE/Tasks/jetSubstructureLc.cxx +++ b/PWGJE/Tasks/jetSubstructureLc.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureLc = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesLcData, aod::CandidatesLcMCP, aod::LcCJetSSs, aod::LcChargedSPs, aod::LcChargedPRs, aod::LcCMCDJetSSs, aod::LcChargedMCDetectorLevelSPs, aod::LcChargedMCDetectorLevelPRs, aod::LcCMCPJetSSs, aod::LcChargedMCParticleLevelSPs, aod::LcChargedMCParticleLevelPRs, aod::LcCEWSJetSSs, aod::LcChargedEventWiseSubtractedSPs, aod::LcChargedEventWiseSubtractedPRs, aod::JTrackLcSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureLcOutput.cxx b/PWGJE/Tasks/jetSubstructureLcOutput.cxx index e25c204b580..97417dfd8bb 100644 --- a/PWGJE/Tasks/jetSubstructureLcOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureLcOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputLc = JetSubstructureHFOutputTask, aod::McCollisionsLc, aod::CandidatesLcData, aod::CandidatesLcMCD, aod::CandidatesLcMCP, aod::BkgLcRhos, aod::BkgLcMcRhos, aod::JTrackLcSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::LcCJetCOs, aod::LcCJetOs, aod::LcCJetSSOs, aod::LcCJetMOs, soa::Join, soa::Join, soa::Join, aod::LcCMCDJetCOs, aod::LcCMCDJetOs, aod::LcCMCDJetSSOs, aod::LcCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::LcCMCPJetCOs, aod::LcCMCPJetMCCOs, aod::LcCMCPJetOs, aod::LcCMCPJetSSOs, aod::LcCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::LcCEWSJetCOs, aod::LcCEWSJetOs, aod::LcCEWSJetSSOs, aod::LcCEWSJetMOs, aod::StoredHfLcCollBase, aod::StoredHfLcBases, aod::StoredHfLcPars, aod::StoredHfLcParEs, aod::JDumLcParDaus, aod::StoredHfLcSels, aod::StoredHfLcMls, aod::JDumLcMlDaus, aod::StoredHfLcMcs, aod::StoredHfLcMcCollBases, aod::StoredHfLcMcRCollIds, aod::StoredHfLcPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureXicToXiPiPi.cxx b/PWGJE/Tasks/jetSubstructureXicToXiPiPi.cxx index ca58df3a425..c510a87e17a 100644 --- a/PWGJE/Tasks/jetSubstructureXicToXiPiPi.cxx +++ b/PWGJE/Tasks/jetSubstructureXicToXiPiPi.cxx @@ -13,11 +13,10 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHF.cxx" - #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHF.h" #include #include @@ -27,6 +26,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureXicToXiPiPi = JetSubstructureHFTask, soa::Join, soa::Join, soa::Join, aod::CandidatesXicToXiPiPiData, aod::CandidatesXicToXiPiPiMCP, aod::XicToXiPiPiCJetSSs, aod::XicToXiPiPiChargedSPs, aod::XicToXiPiPiChargedPRs, aod::XicToXiPiPiCMCDJetSSs, aod::XicToXiPiPiChargedMCDetectorLevelSPs, aod::XicToXiPiPiChargedMCDetectorLevelPRs, aod::XicToXiPiPiCMCPJetSSs, aod::XicToXiPiPiChargedMCParticleLevelSPs, aod::XicToXiPiPiChargedMCParticleLevelPRs, aod::XicToXiPiPiCEWSJetSSs, aod::XicToXiPiPiChargedEventWiseSubtractedSPs, aod::XicToXiPiPiChargedEventWiseSubtractedPRs, aod::JTrackXicToXiPiPiSubs>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGJE/Tasks/jetSubstructureXicToXiPiPiOutput.cxx b/PWGJE/Tasks/jetSubstructureXicToXiPiPiOutput.cxx index 93d3f884090..31d187c54c3 100644 --- a/PWGJE/Tasks/jetSubstructureXicToXiPiPiOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureXicToXiPiPiOutput.cxx @@ -13,13 +13,12 @@ // /// \author Nima Zardoshti -#include "PWGJE/Tasks/jetSubstructureHFOutput.cxx" - #include "PWGHF/DataModel/DerivedTables.h" #include "PWGJE/DataModel/Jet.h" #include "PWGJE/DataModel/JetReducedDataHF.h" #include "PWGJE/DataModel/JetSubstructure.h" #include "PWGJE/DataModel/JetSubtraction.h" +#include "PWGJE/Tasks/jetSubstructureHFOutput.h" #include #include @@ -29,6 +28,10 @@ #include +using namespace o2; +using namespace o2::framework; +using namespace o2::framework::expressions; + using JetSubstructureOutputXicToXiPiPi = JetSubstructureHFOutputTask, aod::McCollisionsXicToXiPiPi, aod::CandidatesXicToXiPiPiData, aod::CandidatesXicToXiPiPiMCD, aod::CandidatesXicToXiPiPiMCP, aod::BkgXicToXiPiPiRhos, aod::BkgXicToXiPiPiMcRhos, aod::JTrackXicToXiPiPiSubs, soa::Join, soa::Join, soa::Join, soa::Join, aod::XicToXiPiPiCJetCOs, aod::XicToXiPiPiCJetOs, aod::XicToXiPiPiCJetSSOs, aod::XicToXiPiPiCJetMOs, soa::Join, soa::Join, soa::Join, aod::XicToXiPiPiCMCDJetCOs, aod::XicToXiPiPiCMCDJetOs, aod::XicToXiPiPiCMCDJetSSOs, aod::XicToXiPiPiCMCDJetMOs, soa::Join, soa::Join, soa::Join, soa::Join, aod::XicToXiPiPiCMCPJetCOs, aod::XicToXiPiPiCMCPJetMCCOs, aod::XicToXiPiPiCMCPJetOs, aod::XicToXiPiPiCMCPJetSSOs, aod::XicToXiPiPiCMCPJetMOs, soa::Join, soa::Join, soa::Join, aod::XicToXiPiPiCEWSJetCOs, aod::XicToXiPiPiCEWSJetOs, aod::XicToXiPiPiCEWSJetSSOs, aod::XicToXiPiPiCEWSJetMOs, aod::StoredHfXicToXiPiPiCollBase, aod::StoredHfXicToXiPiPiBases, aod::StoredHfXicToXiPiPiPars, aod::StoredHfXicToXiPiPiParEs, aod::JDumXicToXiPiPiParDaus, aod::StoredHfXicToXiPiPiSels, aod::StoredHfXicToXiPiPiMls, aod::JDumXicToXiPiPiMlDaus, aod::StoredHfXicToXiPiPiMcs, aod::StoredHfXicToXiPiPiMcCollBases, aod::StoredHfXicToXiPiPiMcRCollIds, aod::StoredHfXicToXiPiPiPBases>; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)