Skip to content

Commit 2537719

Browse files
committed
reducing compile time
1 parent 0391f17 commit 2537719

33 files changed

+1858
-293
lines changed

PWGJE/JetFinders/CMakeLists.txt

Lines changed: 49 additions & 45 deletions
Large diffs are not rendered by default.

PWGJE/JetFinders/Duplicates/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ if(FastJet_FOUND)
1414

1515
o2physics_add_dpl_workflow(jet-finder-data-charged-1
1616
SOURCES jetFinderDataCharged1.cxx
17-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport
17+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport O2Physics::PWGJEJetFinderTemplates
1818
COMPONENT_NAME Analysis)
1919

2020
o2physics_add_dpl_workflow(jet-finder-mcd-charged-1
2121
SOURCES jetFinderMCDCharged1.cxx
22-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport
22+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport O2Physics::PWGJEJetFinderTemplates
2323
COMPONENT_NAME Analysis)
2424

2525
o2physics_add_dpl_workflow(jet-finder-mcp-charged-1
2626
SOURCES jetFinderMCPCharged1.cxx
27-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport
27+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore O2::FrameworkPhysicsSupport O2Physics::PWGJEJetFinderTemplates
2828
COMPONENT_NAME Analysis)
2929

3030

PWGJE/JetFinders/jetFinder.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
#include <Framework/InitContext.h>
3535
#include <Framework/Logger.h>
3636
#include <Framework/O2DatabasePDGPlugin.h>
37+
#ifndef O2_NO_WORKFLOW_MAIN
3738
#include <Framework/runDataProcessing.h> // IWYU pragma: export
39+
#endif
3840

3941
#include <THn.h>
4042
#include <TMathBase.h>
@@ -279,4 +281,30 @@ struct JetFinderTask {
279281
PROCESS_SWITCH(JetFinderTask, processParticleLevelFullJets, "Particle level full jet finding", false);
280282
};
281283

284+
// ============================================================================
285+
// Explicit Template Instantiation Declarations (extern template)
286+
// These prevent implicit instantiation in translation units that include this header.
287+
// The actual instantiations are in jetFinderTemplateInstantiations.cxx
288+
// ============================================================================
289+
290+
// Charged jets
291+
extern template struct JetFinderTask<o2::aod::ChargedJets, o2::aod::ChargedJetConstituents, o2::aod::ChargedEventWiseSubtractedJets, o2::aod::ChargedEventWiseSubtractedJetConstituents>;
292+
extern template struct JetFinderTask<o2::aod::ChargedMCDetectorLevelJets, o2::aod::ChargedMCDetectorLevelJetConstituents, o2::aod::ChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::ChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
293+
extern template struct JetFinderTask<o2::aod::ChargedMCParticleLevelJets, o2::aod::ChargedMCParticleLevelJetConstituents, o2::aod::ChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::ChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
294+
295+
// Neutral jets
296+
extern template struct JetFinderTask<o2::aod::NeutralJets, o2::aod::NeutralJetConstituents, o2::aod::NeutralEventWiseSubtractedJets, o2::aod::NeutralEventWiseSubtractedJetConstituents>;
297+
extern template struct JetFinderTask<o2::aod::NeutralMCDetectorLevelJets, o2::aod::NeutralMCDetectorLevelJetConstituents, o2::aod::NeutralMCDetectorLevelEventWiseSubtractedJets, o2::aod::NeutralMCDetectorLevelEventWiseSubtractedJetConstituents>;
298+
extern template struct JetFinderTask<o2::aod::NeutralMCParticleLevelJets, o2::aod::NeutralMCParticleLevelJetConstituents, o2::aod::NeutralMCParticleLevelEventWiseSubtractedJets, o2::aod::NeutralMCParticleLevelEventWiseSubtractedJetConstituents>;
299+
300+
// Full jets
301+
extern template struct JetFinderTask<o2::aod::FullJets, o2::aod::FullJetConstituents, o2::aod::FullEventWiseSubtractedJets, o2::aod::FullEventWiseSubtractedJetConstituents>;
302+
extern template struct JetFinderTask<o2::aod::FullMCDetectorLevelJets, o2::aod::FullMCDetectorLevelJetConstituents, o2::aod::FullMCDetectorLevelEventWiseSubtractedJets, o2::aod::FullMCDetectorLevelEventWiseSubtractedJetConstituents>;
303+
extern template struct JetFinderTask<o2::aod::FullMCParticleLevelJets, o2::aod::FullMCParticleLevelJetConstituents, o2::aod::FullMCParticleLevelEventWiseSubtractedJets, o2::aod::FullMCParticleLevelEventWiseSubtractedJetConstituents>;
304+
305+
// duplicates
306+
extern template struct JetFinderTask<o2::aod::Charged1Jets, o2::aod::Charged1JetConstituents, o2::aod::Charged1EventWiseSubtractedJets, o2::aod::Charged1EventWiseSubtractedJetConstituents>;
307+
extern template struct JetFinderTask<o2::aod::Charged1MCDetectorLevelJets, o2::aod::Charged1MCDetectorLevelJetConstituents, o2::aod::Charged1MCDetectorLevelEventWiseSubtractedJets, o2::aod::Charged1MCDetectorLevelEventWiseSubtractedJetConstituents>;
308+
extern template struct JetFinderTask<o2::aod::Charged1MCParticleLevelJets, o2::aod::Charged1MCParticleLevelJetConstituents, o2::aod::Charged1MCParticleLevelEventWiseSubtractedJets, o2::aod::Charged1MCParticleLevelEventWiseSubtractedJetConstituents>;
309+
282310
#endif // PWGJE_JETFINDERS_JETFINDER_H_

PWGJE/JetFinders/jetFinderHF.h

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
#include <Framework/InitContext.h>
3535
#include <Framework/Logger.h>
3636
#include <Framework/O2DatabasePDGPlugin.h>
37+
38+
#ifndef O2_NO_WORKFLOW_MAIN
3739
#include <Framework/runDataProcessing.h> // IWYU pragma: export
40+
#endif
3841

3942
#include <THn.h>
4043
#include <TMathBase.h>
@@ -315,4 +318,55 @@ struct JetFinderHFTask {
315318
PROCESS_SWITCH(JetFinderHFTask, processChargedEvtWiseSubJetsMCP, "hf jet finding on MC particle level", false);
316319
};
317320

321+
// ============================================================================
322+
// Explicit Template Instantiation Declarations (extern template)
323+
// These prevent implicit instantiation in translation units that include this header.
324+
// The actual instantiations are in jetFinderTemplateInstantiations.cxx
325+
// ============================================================================
326+
327+
// D0 instantiations
328+
extern template struct JetFinderHFTask<o2::aod::CandidatesD0Data, o2::aod::CandidatesD0MCD, o2::aod::CandidatesD0MCP, o2::aod::JetTracksSubD0, o2::aod::JetParticlesSubD0, o2::aod::D0ChargedJets, o2::aod::D0ChargedJetConstituents, o2::aod::D0ChargedEventWiseSubtractedJets, o2::aod::D0ChargedEventWiseSubtractedJetConstituents>;
329+
extern template struct JetFinderHFTask<o2::aod::CandidatesD0Data, o2::aod::CandidatesD0MCD, o2::aod::CandidatesD0MCP, o2::aod::JetTracksSubD0, o2::aod::JetParticlesSubD0, o2::aod::D0ChargedMCDetectorLevelJets, o2::aod::D0ChargedMCDetectorLevelJetConstituents, o2::aod::D0ChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::D0ChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
330+
extern template struct JetFinderHFTask<o2::aod::CandidatesD0Data, o2::aod::CandidatesD0MCD, o2::aod::CandidatesD0MCP, o2::aod::JetTracksSubD0, o2::aod::JetParticlesSubD0, o2::aod::D0ChargedMCParticleLevelJets, o2::aod::D0ChargedMCParticleLevelJetConstituents, o2::aod::D0ChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::D0ChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
331+
332+
// Dplus instantiations
333+
extern template struct JetFinderHFTask<o2::aod::CandidatesDplusData, o2::aod::CandidatesDplusMCD, o2::aod::CandidatesDplusMCP, o2::aod::JetTracksSubDplus, o2::aod::JetParticlesSubDplus, o2::aod::DplusChargedJets, o2::aod::DplusChargedJetConstituents, o2::aod::DplusChargedEventWiseSubtractedJets, o2::aod::DplusChargedEventWiseSubtractedJetConstituents>;
334+
extern template struct JetFinderHFTask<o2::aod::CandidatesDplusData, o2::aod::CandidatesDplusMCD, o2::aod::CandidatesDplusMCP, o2::aod::JetTracksSubDplus, o2::aod::JetParticlesSubDplus, o2::aod::DplusChargedMCDetectorLevelJets, o2::aod::DplusChargedMCDetectorLevelJetConstituents, o2::aod::DplusChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::DplusChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
335+
extern template struct JetFinderHFTask<o2::aod::CandidatesDplusData, o2::aod::CandidatesDplusMCD, o2::aod::CandidatesDplusMCP, o2::aod::JetTracksSubDplus, o2::aod::JetParticlesSubDplus, o2::aod::DplusChargedMCParticleLevelJets, o2::aod::DplusChargedMCParticleLevelJetConstituents, o2::aod::DplusChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::DplusChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
336+
337+
// Ds instantiations
338+
extern template struct JetFinderHFTask<o2::aod::CandidatesDsData, o2::aod::CandidatesDsMCD, o2::aod::CandidatesDsMCP, o2::aod::JetTracksSubDs, o2::aod::JetParticlesSubDs, o2::aod::DsChargedJets, o2::aod::DsChargedJetConstituents, o2::aod::DsChargedEventWiseSubtractedJets, o2::aod::DsChargedEventWiseSubtractedJetConstituents>;
339+
extern template struct JetFinderHFTask<o2::aod::CandidatesDsData, o2::aod::CandidatesDsMCD, o2::aod::CandidatesDsMCP, o2::aod::JetTracksSubDs, o2::aod::JetParticlesSubDs, o2::aod::DsChargedMCDetectorLevelJets, o2::aod::DsChargedMCDetectorLevelJetConstituents, o2::aod::DsChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::DsChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
340+
extern template struct JetFinderHFTask<o2::aod::CandidatesDsData, o2::aod::CandidatesDsMCD, o2::aod::CandidatesDsMCP, o2::aod::JetTracksSubDs, o2::aod::JetParticlesSubDs, o2::aod::DsChargedMCParticleLevelJets, o2::aod::DsChargedMCParticleLevelJetConstituents, o2::aod::DsChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::DsChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
341+
342+
// Dstar instantiations
343+
extern template struct JetFinderHFTask<o2::aod::CandidatesDstarData, o2::aod::CandidatesDstarMCD, o2::aod::CandidatesDstarMCP, o2::aod::JetTracksSubDstar, o2::aod::JetParticlesSubDstar, o2::aod::DstarChargedJets, o2::aod::DstarChargedJetConstituents, o2::aod::DstarChargedEventWiseSubtractedJets, o2::aod::DstarChargedEventWiseSubtractedJetConstituents>;
344+
extern template struct JetFinderHFTask<o2::aod::CandidatesDstarData, o2::aod::CandidatesDstarMCD, o2::aod::CandidatesDstarMCP, o2::aod::JetTracksSubDstar, o2::aod::JetParticlesSubDstar, o2::aod::DstarChargedMCDetectorLevelJets, o2::aod::DstarChargedMCDetectorLevelJetConstituents, o2::aod::DstarChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::DstarChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
345+
extern template struct JetFinderHFTask<o2::aod::CandidatesDstarData, o2::aod::CandidatesDstarMCD, o2::aod::CandidatesDstarMCP, o2::aod::JetTracksSubDstar, o2::aod::JetParticlesSubDstar, o2::aod::DstarChargedMCParticleLevelJets, o2::aod::DstarChargedMCParticleLevelJetConstituents, o2::aod::DstarChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::DstarChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
346+
347+
// Lc instantiations
348+
extern template struct JetFinderHFTask<o2::aod::CandidatesLcData, o2::aod::CandidatesLcMCD, o2::aod::CandidatesLcMCP, o2::aod::JetTracksSubLc, o2::aod::JetParticlesSubLc, o2::aod::LcChargedJets, o2::aod::LcChargedJetConstituents, o2::aod::LcChargedEventWiseSubtractedJets, o2::aod::LcChargedEventWiseSubtractedJetConstituents>;
349+
extern template struct JetFinderHFTask<o2::aod::CandidatesLcData, o2::aod::CandidatesLcMCD, o2::aod::CandidatesLcMCP, o2::aod::JetTracksSubLc, o2::aod::JetParticlesSubLc, o2::aod::LcChargedMCDetectorLevelJets, o2::aod::LcChargedMCDetectorLevelJetConstituents, o2::aod::LcChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::LcChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
350+
extern template struct JetFinderHFTask<o2::aod::CandidatesLcData, o2::aod::CandidatesLcMCD, o2::aod::CandidatesLcMCP, o2::aod::JetTracksSubLc, o2::aod::JetParticlesSubLc, o2::aod::LcChargedMCParticleLevelJets, o2::aod::LcChargedMCParticleLevelJetConstituents, o2::aod::LcChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::LcChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
351+
352+
// B0 instantiations
353+
extern template struct JetFinderHFTask<o2::aod::CandidatesB0Data, o2::aod::CandidatesB0MCD, o2::aod::CandidatesB0MCP, o2::aod::JetTracksSubB0, o2::aod::JetParticlesSubB0, o2::aod::B0ChargedJets, o2::aod::B0ChargedJetConstituents, o2::aod::B0ChargedEventWiseSubtractedJets, o2::aod::B0ChargedEventWiseSubtractedJetConstituents>;
354+
extern template struct JetFinderHFTask<o2::aod::CandidatesB0Data, o2::aod::CandidatesB0MCD, o2::aod::CandidatesB0MCP, o2::aod::JetTracksSubB0, o2::aod::JetParticlesSubB0, o2::aod::B0ChargedMCDetectorLevelJets, o2::aod::B0ChargedMCDetectorLevelJetConstituents, o2::aod::B0ChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::B0ChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
355+
extern template struct JetFinderHFTask<o2::aod::CandidatesB0Data, o2::aod::CandidatesB0MCD, o2::aod::CandidatesB0MCP, o2::aod::JetTracksSubB0, o2::aod::JetParticlesSubB0, o2::aod::B0ChargedMCParticleLevelJets, o2::aod::B0ChargedMCParticleLevelJetConstituents, o2::aod::B0ChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::B0ChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
356+
357+
// Bplus instantiations
358+
extern template struct JetFinderHFTask<o2::aod::CandidatesBplusData, o2::aod::CandidatesBplusMCD, o2::aod::CandidatesBplusMCP, o2::aod::JetTracksSubBplus, o2::aod::JetParticlesSubBplus, o2::aod::BplusChargedJets, o2::aod::BplusChargedJetConstituents, o2::aod::BplusChargedEventWiseSubtractedJets, o2::aod::BplusChargedEventWiseSubtractedJetConstituents>;
359+
extern template struct JetFinderHFTask<o2::aod::CandidatesBplusData, o2::aod::CandidatesBplusMCD, o2::aod::CandidatesBplusMCP, o2::aod::JetTracksSubBplus, o2::aod::JetParticlesSubBplus, o2::aod::BplusChargedMCDetectorLevelJets, o2::aod::BplusChargedMCDetectorLevelJetConstituents, o2::aod::BplusChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::BplusChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
360+
extern template struct JetFinderHFTask<o2::aod::CandidatesBplusData, o2::aod::CandidatesBplusMCD, o2::aod::CandidatesBplusMCP, o2::aod::JetTracksSubBplus, o2::aod::JetParticlesSubBplus, o2::aod::BplusChargedMCParticleLevelJets, o2::aod::BplusChargedMCParticleLevelJetConstituents, o2::aod::BplusChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::BplusChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
361+
362+
// XicToXiPiPi instantiations
363+
extern template struct JetFinderHFTask<o2::aod::CandidatesXicToXiPiPiData, o2::aod::CandidatesXicToXiPiPiMCD, o2::aod::CandidatesXicToXiPiPiMCP, o2::aod::JetTracksSubXicToXiPiPi, o2::aod::JetParticlesSubXicToXiPiPi, o2::aod::XicToXiPiPiChargedJets, o2::aod::XicToXiPiPiChargedJetConstituents, o2::aod::XicToXiPiPiChargedEventWiseSubtractedJets, o2::aod::XicToXiPiPiChargedEventWiseSubtractedJetConstituents>;
364+
extern template struct JetFinderHFTask<o2::aod::CandidatesXicToXiPiPiData, o2::aod::CandidatesXicToXiPiPiMCD, o2::aod::CandidatesXicToXiPiPiMCP, o2::aod::JetTracksSubXicToXiPiPi, o2::aod::JetParticlesSubXicToXiPiPi, o2::aod::XicToXiPiPiChargedMCDetectorLevelJets, o2::aod::XicToXiPiPiChargedMCDetectorLevelJetConstituents, o2::aod::XicToXiPiPiChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::XicToXiPiPiChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
365+
extern template struct JetFinderHFTask<o2::aod::CandidatesXicToXiPiPiData, o2::aod::CandidatesXicToXiPiPiMCD, o2::aod::CandidatesXicToXiPiPiMCP, o2::aod::JetTracksSubXicToXiPiPi, o2::aod::JetParticlesSubXicToXiPiPi, o2::aod::XicToXiPiPiChargedMCParticleLevelJets, o2::aod::XicToXiPiPiChargedMCParticleLevelJetConstituents, o2::aod::XicToXiPiPiChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::XicToXiPiPiChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
366+
367+
// Dielectron instantiations
368+
extern template struct JetFinderHFTask<o2::aod::CandidatesDielectronData, o2::aod::CandidatesDielectronMCD, o2::aod::CandidatesDielectronMCP, o2::aod::JetTracksSubDielectron, o2::aod::JetParticlesSubDielectron, o2::aod::DielectronChargedJets, o2::aod::DielectronChargedJetConstituents, o2::aod::DielectronChargedEventWiseSubtractedJets, o2::aod::DielectronChargedEventWiseSubtractedJetConstituents>;
369+
extern template struct JetFinderHFTask<o2::aod::CandidatesDielectronData, o2::aod::CandidatesDielectronMCD, o2::aod::CandidatesDielectronMCP, o2::aod::JetTracksSubDielectron, o2::aod::JetParticlesSubDielectron, o2::aod::DielectronChargedMCDetectorLevelJets, o2::aod::DielectronChargedMCDetectorLevelJetConstituents, o2::aod::DielectronChargedMCDetectorLevelEventWiseSubtractedJets, o2::aod::DielectronChargedMCDetectorLevelEventWiseSubtractedJetConstituents>;
370+
extern template struct JetFinderHFTask<o2::aod::CandidatesDielectronData, o2::aod::CandidatesDielectronMCD, o2::aod::CandidatesDielectronMCP, o2::aod::JetTracksSubDielectron, o2::aod::JetParticlesSubDielectron, o2::aod::DielectronChargedMCParticleLevelJets, o2::aod::DielectronChargedMCParticleLevelJetConstituents, o2::aod::DielectronChargedMCParticleLevelEventWiseSubtractedJets, o2::aod::DielectronChargedMCParticleLevelEventWiseSubtractedJetConstituents>;
371+
318372
#endif // PWGJE_JETFINDERS_JETFINDERHF_H_

0 commit comments

Comments
 (0)