Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Common/Tools/aodDataModelGraph.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,8 @@ int main(int, char**)
displayEntity<McParticles>();
displayEntity<McTrackLabels>();

displayEntity<Jets>();
displayEntity<JetConstituents>();
displayEntity<ChargedJets>();
displayEntity<ChargedJetConstituents>();

displayEntities<V0s, V0Datas>();

Expand Down
2 changes: 1 addition & 1 deletion EventFiltering/PWGJE/jetFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ struct jetFilter {
// Filter collisionFilter = nabs(aod::collision::posZ) < cfgVertexCut;

Filter jetRadiusSelection = o2::aod::jet::r == nround(cfgJetR.node() * 100.0f);
using filteredJets = o2::soa::Filtered<o2::aod::Jets>;
using filteredJets = o2::soa::Filtered<o2::aod::ChargedJets>;

void
process(soa::Join<aod::Collisions, aod::EvSels>::iterator const& collision, filteredJets const& jets)
Expand Down
347 changes: 92 additions & 255 deletions PWGJE/DataModel/Jet.h

Large diffs are not rendered by default.

126 changes: 0 additions & 126 deletions PWGJE/DataModel/JetHF.h

This file was deleted.

43 changes: 21 additions & 22 deletions PWGJE/DataModel/JetSubstructure.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include "PWGJE/DataModel/EMCALClusters.h"
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
#include "PWGJE/DataModel/Jet.h"
#include "PWGJE/DataModel/JetHF.h"

using namespace o2::analysis;

Expand Down Expand Up @@ -91,41 +90,41 @@ DECLARE_SOA_COLUMN(CandInvMass, candInvMasss, float); //!
DECLARE_SOA_COLUMN(CandBarInvMass, candBarInvMasss, float); //!
} // namespace jetsubstructurehfoutput

JETSUBSTRUCTURE_TABLE_DEF(Jet, jet, "JETSS");
JETSUBSTRUCTURE_TABLE_DEF(ChargedJet, jet, "JETSS");
JETSUBSTRUCTUREOUTPUT_TABLE_DEF(Jet, jet, "JETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCDetectorLevelJet, mcdetectorleveljet, "JETMCDETSS");
JETSUBSTRUCTURE_TABLE_DEF(ChargedMCDetectorLevelJet, mcdetectorleveljet, "JETMCDETSS");
JETSUBSTRUCTUREOUTPUT_TABLE_DEF(MCDetectorLevelJet, mcdetectorleveljet, "JETMCDETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCParticleLevelJet, mcparticleleveljet, "JETMCPARTSS");
JETSUBSTRUCTURE_TABLE_DEF(ChargedMCParticleLevelJet, mcparticleleveljet, "JETMCPARTSS");
JETSUBSTRUCTUREOUTPUT_TABLE_DEF(MCParticleLevelJet, mcparticleleveljet, "JETMCPARTSSO");

JETSUBSTRUCTURE_TABLE_DEF(D0Jet, D0jet, "D0JETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(D0Jet, D0jet, "D0JETSSO");
JETSUBSTRUCTURE_TABLE_DEF(D0ChargedJet, D0jet, "D0JETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(D0ChargedJet, D0jet, "D0JETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCDetectorLevelD0Jet, mcdetectorlevelD0jet, "D0JETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCDetectorLevelD0Jet, mcdetectorlevelD0jet, "D0JETMCDETSSO");
JETSUBSTRUCTURE_TABLE_DEF(D0ChargedMCDetectorLevelJet, D0mcdjet, "D0JETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(D0ChargedMCDetectorLevelJet, D0mcdjet, "D0JETMCDETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCParticleLevelD0Jet, mcparticlelevelD0jet, "D0JETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCParticleLevelD0Jet, mcparticlelevelD0jet, "D0JETMCPARTSSO");
JETSUBSTRUCTURE_TABLE_DEF(D0ChargedMCParticleLevelJet, D0mcpjet, "D0JETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(D0ChargedMCParticleLevelJet, D0mcpjet, "D0JETMCPARTSSO");

JETSUBSTRUCTURE_TABLE_DEF(LcJet, Lcjet, "LcJETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(LcJet, Lcjet, "LcJETSSO");
JETSUBSTRUCTURE_TABLE_DEF(LcChargedJet, Lcjet, "LcJETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(LcChargedJet, Lcjet, "LcJETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCDetectorLevelLcJet, mcdetectorlevelLcjet, "LcJETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCDetectorLevelLcJet, mcdetectorlevelLcjet, "LcJETMCDETSSO");
JETSUBSTRUCTURE_TABLE_DEF(LcChargedMCDetectorLevelJet, Lcmcdjet, "LcJETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(LcChargedMCDetectorLevelJet, Lcmcdjet, "LcJETMCDETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCParticleLevelLcJet, mcparticlelevelLcjet, "LcJETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCParticleLevelLcJet, mcparticlelevelLcjet, "LcJETMCPARTSSO");
JETSUBSTRUCTURE_TABLE_DEF(LcChargedMCParticleLevelJet, Lcmcpjet, "LcJETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(LcChargedMCParticleLevelJet, Lcmcpjet, "LcJETMCPARTSSO");

JETSUBSTRUCTURE_TABLE_DEF(BPlusJet, BPlusjet, "BPLJETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(BPlusJet, BPlusjet, "BPLJETOut");
JETSUBSTRUCTURE_TABLE_DEF(BPlusChargedJet, BPljet, "BPLJETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(BPlusChargedJet, BPljet, "BPLJETOut");

JETSUBSTRUCTURE_TABLE_DEF(MCDetectorLevelBPlusJet, mcdetectorlevelBPlusjet, "BPLJETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCDetectorLevelBPlusJet, mcdetectorlevelBPlusjet, "BPLJETMCDETSSO");
JETSUBSTRUCTURE_TABLE_DEF(BPlusChargedMCDetectorLevelJet, BPlMCDjet, "BPLJETMCDETSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(BPlusChargedMCDetectorLevelJet, BPlmcdjet, "BPLJETMCDETSSO");

JETSUBSTRUCTURE_TABLE_DEF(MCParticleLevelBPlusJet, mcparticlelevelBPlusjet, "BPLJETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(MCParticleLevelBPlusJet, mcparticlelevelBPlusjet, "BPLJETMCPARTSSO");
JETSUBSTRUCTURE_TABLE_DEF(BPlusChargedMCParticleLevelJet, BPlmcpjet, "BPLJETMCPARTSS");
JETSUBSTRUCTUREOUTPUTHF_TABLE_DEF(BPlusChargedMCParticleLevelJet, BPlmcpjet, "BPLJETMCPARTSSO");

} // namespace o2::aod

Expand Down
6 changes: 1 addition & 5 deletions PWGJE/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,9 @@ o2physics_add_dpl_workflow(jet-matching
SOURCES jetmatching.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(jet-matching-hf
SOURCES jetmatchinghf.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
endif()


o2physics_add_dpl_workflow(emcal-correction-task
SOURCES emcalCorrectionTask.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DetectorsBase O2::EMCALBase O2::EMCALReconstruction
Expand Down
51 changes: 22 additions & 29 deletions PWGJE/TableProducer/jetfinder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ struct JetFinderTask {
OutputObj<TH1F> hJetEta{"h_jet_eta"};
OutputObj<TH1F> hJetNTracks{"h_jet_ntracks"};

Service<O2DatabasePDG> pdg;
std::string trackSelection;

// event level configurables
Configurable<float> vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"};

Expand Down Expand Up @@ -74,16 +71,15 @@ struct JetFinderTask {
Configurable<bool> DoRhoAreaSub{"DoRhoAreaSub", false, "do rho area subtraction"};
Configurable<bool> DoConstSub{"DoConstSub", false, "do constituent subtraction"};

Service<O2DatabasePDG> pdg;
std::string trackSelection;

JetFinder jetFinder;
std::vector<fastjet::PseudoJet> inputParticles;

void init(InitContext const&)
{
// variables passed to the common header
trackEtaMin_ = static_cast<float>(trackEtaMin);
trackEtaMax_ = static_cast<float>(trackEtaMax);
jetRadius_ = static_cast<std::vector<double>>(jetRadius);
DoConstSub_ = static_cast<bool>(DoConstSub);

trackSelection = static_cast<std::string>(trackSelections);
jetTypeParticleLevelCheck = jetTypeParticleLevel;

h2JetPt.setObject(new TH2F("h2_jet_pt", "jet p_{T};p_{T} (GeV/#it{c})",
100, 0., 100., 10, 0.05, 1.05));
Expand Down Expand Up @@ -144,9 +140,8 @@ struct JetFinderTask {

LOG(debug) << "Process data charged!";
inputParticles.clear();
using ArgType = std::decay_t<decltype(tracks)>;
analyseTracks<ArgType, typename ArgType::iterator>(tracks, trackSelection);
findJets(collision, jetsTable, constituentsTable, constituentsSubTable);
analyseTracks<JetTracks, JetTracks::iterator>(inputParticles, tracks, trackSelection);
findJets(jetFinder, inputParticles, jetRadius, collision, jetsTable, constituentsTable, constituentsSubTable, DoConstSub);
}

PROCESS_SWITCH(JetFinderTask, processChargedJets, "Data jet finding for charged jets", false);
Expand All @@ -159,8 +154,8 @@ struct JetFinderTask {
}
LOG(debug) << "Process data neutral!";
inputParticles.clear();
analyseClusters(&clusters);
findJets(collision, jetsTable, constituentsTable, constituentsSubTable);
analyseClusters(inputParticles, &clusters);
findJets(jetFinder, inputParticles, jetRadius, collision, jetsTable, constituentsTable, constituentsSubTable, DoConstSub);
}
PROCESS_SWITCH(JetFinderTask, processNeutralJets, "Data jet finding for neutral jets", false);

Expand All @@ -173,34 +168,32 @@ struct JetFinderTask {
}
LOG(debug) << "Process data full!";
inputParticles.clear();
using ArgType = std::decay_t<decltype(tracks)>;
analyseTracks<ArgType, typename ArgType::iterator>(tracks, trackSelection);
analyseClusters(&clusters);
findJets(collision, jetsTable, constituentsTable, constituentsSubTable);
analyseTracks<JetTracks, JetTracks::iterator>(inputParticles, tracks, trackSelection);
analyseClusters(inputParticles, &clusters);
findJets(jetFinder, inputParticles, jetRadius, collision, jetsTable, constituentsTable, constituentsSubTable, DoConstSub);
}

PROCESS_SWITCH(JetFinderTask, processFullJets, "Data jet finding for full and neutral jets", false);

void processParticleLevelJets(aod::McCollision const& collision, aod::McParticles const& particles)
{
// TODO: MC event selection?
using ArgType = std::decay_t<decltype(particles)>;
analyseParticles<ArgType, typename ArgType::iterator>(particles, pdg->Instance());
findJets(collision, jetsTable, constituentsTable, constituentsSubTable);
analyseParticles<aod::McParticles, aod::McParticles::iterator>(inputParticles, trackEtaMin, trackEtaMax, jetTypeParticleLevel, particles, pdg->Instance());
findJets(jetFinder, inputParticles, jetRadius, collision, jetsTable, constituentsTable, constituentsSubTable, DoConstSub);
}

PROCESS_SWITCH(JetFinderTask, processParticleLevelJets, "Particle level jet finding", false);
};

using JetFinderDataCharged = JetFinderTask<o2::aod::Jets, o2::aod::JetConstituents, o2::aod::JetConstituentsSub>;
using JetFinderDataCharged = JetFinderTask<o2::aod::ChargedJets, o2::aod::ChargedJetConstituents, o2::aod::ChargedJetConstituentsSub>;
using JetFinderDataFull = JetFinderTask<o2::aod::FullJets, o2::aod::FullJetConstituents, o2::aod::FullJetConstituentsSub>;
using JetFinderDataNeutral = JetFinderTask<o2::aod::NeutralJets, o2::aod::NeutralJetConstituents, o2::aod::NeutralJetConstituentsSub>;
using JetFinderMCDetectorLevelCharged = JetFinderTask<o2::aod::MCDetectorLevelJets, o2::aod::MCDetectorLevelJetConstituents, o2::aod::MCDetectorLevelJetConstituentsSub>;
using JetFinderMCDetectorLevelFull = JetFinderTask<o2::aod::MCDetectorLevelFullJets, o2::aod::MCDetectorLevelFullJetConstituents, o2::aod::MCDetectorLevelFullJetConstituentsSub>;
using JetFinderMCDetectorLevelNeutral = JetFinderTask<o2::aod::MCDetectorLevelNeutralJets, o2::aod::MCDetectorLevelNeutralJetConstituents, o2::aod::MCDetectorLevelNeutralJetConstituentsSub>;
using JetFinderMCParticleLevelCharged = JetFinderTask<o2::aod::MCParticleLevelJets, o2::aod::MCParticleLevelJetConstituents, o2::aod::MCParticleLevelJetConstituentsSub>;
using JetFinderMCParticleLevelFull = JetFinderTask<o2::aod::MCParticleLevelFullJets, o2::aod::MCParticleLevelFullJetConstituents, o2::aod::MCParticleLevelFullJetConstituentsSub>;
using JetFinderMCParticleLevelNeutral = JetFinderTask<o2::aod::MCParticleLevelNeutralJets, o2::aod::MCParticleLevelNeutralJetConstituents, o2::aod::MCParticleLevelNeutralJetConstituentsSub>;
using JetFinderMCDetectorLevelCharged = JetFinderTask<o2::aod::ChargedMCDetectorLevelJets, o2::aod::ChargedMCDetectorLevelJetConstituents, o2::aod::ChargedMCDetectorLevelJetConstituentsSub>;
using JetFinderMCDetectorLevelFull = JetFinderTask<o2::aod::FullMCDetectorLevelJets, o2::aod::FullMCDetectorLevelJetConstituents, o2::aod::FullMCDetectorLevelJetConstituentsSub>;
using JetFinderMCDetectorLevelNeutral = JetFinderTask<o2::aod::NeutralMCDetectorLevelJets, o2::aod::NeutralMCDetectorLevelJetConstituents, o2::aod::NeutralMCDetectorLevelJetConstituentsSub>;
using JetFinderMCParticleLevelCharged = JetFinderTask<o2::aod::ChargedMCParticleLevelJets, o2::aod::ChargedMCParticleLevelJetConstituents, o2::aod::ChargedMCParticleLevelJetConstituentsSub>;
using JetFinderMCParticleLevelFull = JetFinderTask<o2::aod::FullMCParticleLevelJets, o2::aod::FullMCParticleLevelJetConstituents, o2::aod::FullMCParticleLevelJetConstituentsSub>;
using JetFinderMCParticleLevelNeutral = JetFinderTask<o2::aod::NeutralMCParticleLevelJets, o2::aod::NeutralMCParticleLevelJetConstituents, o2::aod::NeutralMCParticleLevelJetConstituentsSub>;
// using JetFinderHybridIntermediate = JetFinderTask<o2::aod::HybridIntermediateJets, o2::aod::HybridIntermediateJetConstituents, o2::aod::HybridIntermediateJetConstituentsSub>;

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
Expand Down
Loading