diff --git a/PWGLF/CMakeLists.txt b/PWGLF/CMakeLists.txt index 797ac01500f..2aa66ef9fb4 100644 --- a/PWGLF/CMakeLists.txt +++ b/PWGLF/CMakeLists.txt @@ -11,6 +11,7 @@ # add_subdirectory(Core) # add_subdirectory(DataModel) +# Utils first: it owns the LfStrangenessPCH carrier the workflows reuse. +add_subdirectory(Utils) add_subdirectory(Tasks) add_subdirectory(TableProducer) -add_subdirectory(Utils) diff --git a/PWGLF/TableProducer/Strangeness/CMakeLists.txt b/PWGLF/TableProducer/Strangeness/CMakeLists.txt index a61a01e6a56..6ba1048506f 100644 --- a/PWGLF/TableProducer/Strangeness/CMakeLists.txt +++ b/PWGLF/TableProducer/Strangeness/CMakeLists.txt @@ -13,26 +13,31 @@ add_subdirectory(Converters) o2physics_add_dpl_workflow(cascadefinder SOURCES cascadefinder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascadeflow SOURCES cascadeflow.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::MLCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascademcbuilder SOURCES cascademcbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascademcfinder SOURCES cascademcfinder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strangenesstofpid SOURCES strangenesstofpid.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase COMPONENT_NAME Analysis) @@ -43,36 +48,43 @@ o2physics_add_dpl_workflow(cascadespawner o2physics_add_dpl_workflow(cascqaanalysis SOURCES cascqaanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascderivedqaanalysis SOURCES cascderivedqaanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(hstrangecorrelationfilter # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES hStrangeCorrelationFilter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(double-omega-tree-creator SOURCES doubleOmegaTreeCreator.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdakzerofinder SOURCES lambdakzerofinder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdakzeromcbuilder SOURCES lambdakzeromcbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdakzeromcfinder SOURCES lambdakzeromcfinder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -88,6 +100,7 @@ o2physics_add_dpl_workflow(sigmaminus-task # o2-linter: disable=name/o2-workflow o2physics_add_dpl_workflow(sigmaplusbuilder SOURCES sigmaplusbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -98,77 +111,92 @@ o2physics_add_dpl_workflow(strange-tree-creator o2physics_add_dpl_workflow(st-coll-ids SOURCES stCollIds.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strangederivedbuilder SOURCES strangederivedbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strangenessbuilder SOURCES strangenessbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter KFParticle::KFParticle O2Physics::TPCDriftManager O2Physics::MLCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0-selector # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES v0selector.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0qaanalysis SOURCES v0qaanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdalambdatable # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES LambdaLambdatable.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsVertexing COMPONENT_NAME Analysis) # ML selection o2physics_add_dpl_workflow(lambdakzeromlselectiontreecreator # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES lambdakzeroMLSelectionTreeCreator.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascademlselectiontreecreator # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES cascadeMLSelectionTreeCreator.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdakzeromlselection SOURCES lambdakzeromlselection.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::MLCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascademlselection SOURCES cascademlselection.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::MLCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(sigma0builder SOURCES sigma0builder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::EMCALBase O2Physics::AnalysisCore O2Physics::MLCore O2Physics::AnalysisCCDB O2::DCAFitter COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdajetpolarizationbuilder # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES lambdaJetpolarizationbuilder.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdajetpolarizationions # o2-linter: disable=name/o2-workflow (Keep historical workflow name for backward compatibility.) SOURCES lambdaJetPolarizationIons.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stracents SOURCES stracents.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdaspincorrelation SOURCES lambdaspincorrelation.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -180,16 +208,19 @@ o2physics_add_dpl_workflow(sigmahadcorr # o2-linter: disable=name/o2-workflow (K if(FastJet_FOUND) o2physics_add_dpl_workflow(lfinjets SOURCES lfinjets.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) endif() o2physics_add_dpl_workflow(phi-strange-correlator SOURCES phiStrangeCorrelator.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strangeness-mc-centrality SOURCES strangenessMcCentrality.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) diff --git a/PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt b/PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt index e1d42ea534a..64bcc3a249d 100644 --- a/PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt +++ b/PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt @@ -11,6 +11,7 @@ o2physics_add_dpl_workflow(stradautracksconverter SOURCES stradautracksconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -21,155 +22,186 @@ o2physics_add_dpl_workflow(stradautrackstpcpidconverter o2physics_add_dpl_workflow(stradautrackstofpidconverter SOURCES stradautrackstofpidconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautrackstofpidconverter2 SOURCES stradautrackstofpidconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautrackstofpidconverter3 SOURCES stradautrackstofpidconverter3.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautrackstofpidconverter4 SOURCES stradautrackstofpidconverter4.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautracksextraconverter SOURCES stradautracksextraconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautracksextraconverter2 SOURCES stradautracksextraconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stradautracksextraconverter3 SOURCES stradautracksextraconverter3.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strarawcentsconverter SOURCES strarawcentsconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strarawcentsconverter2v4 SOURCES strarawcentsconverter2v4.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter SOURCES straevselsconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter2 SOURCES straevselsconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::ReconstructionDataFormats COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter3 SOURCES straevselsconverter3.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::ReconstructionDataFormats COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter4 SOURCES straevselsconverter4.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter5 SOURCES straevselsconverter5.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter6 SOURCES straevselsconverter6.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselextrasconverter SOURCES straevselextrasconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselextrasconverter2 SOURCES straevselextrasconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter2rawcents SOURCES straevselsconverter2rawcents.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter2rawcents2 SOURCES straevselsconverter2rawcents2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(straevselsconverter2rawcents3 SOURCES straevselsconverter2rawcents3.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0coresconverter SOURCES v0coresconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0coresconverter2 SOURCES v0coresconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0mlscoresconverter SOURCES v0mlscoresconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stramccollisionconverter SOURCES stramccollisionconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stramccollisionconverter2 SOURCES stramccollisionconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strastampsconverter SOURCES strastampsconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stracentconverter SOURCES stracentconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stracentconverter2 SOURCES stracentconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stramccollmultconverter SOURCES stramccollmultconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stramccollmultconverter2 SOURCES stramccollmultconverter2.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(zdcneutronsconverter SOURCES zdcneutronsconverter.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) diff --git a/PWGLF/Tasks/QC/CMakeLists.txt b/PWGLF/Tasks/QC/CMakeLists.txt index e1618a43d06..8185c1c91e4 100644 --- a/PWGLF/Tasks/QC/CMakeLists.txt +++ b/PWGLF/Tasks/QC/CMakeLists.txt @@ -11,6 +11,7 @@ o2physics_add_dpl_workflow(v0cascades-qa SOURCES v0cascadesqa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) @@ -31,11 +32,13 @@ o2physics_add_dpl_workflow(pid-qa o2physics_add_dpl_workflow(strarecostudy SOURCES straRecoStudy.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(kfperformancestudy SOURCES kfPerformanceStudy.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -46,6 +49,7 @@ o2physics_add_dpl_workflow(its-tpc-matching-qa o2physics_add_dpl_workflow(strangeness-tracking-qc SOURCES strangenessTrackingQC.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::ReconstructionDataFormats O2Physics::AnalysisCore O2::DetectorsBase COMPONENT_NAME Analysis) @@ -62,11 +66,13 @@ o2physics_add_dpl_workflow(lfpropstudy o2physics_add_dpl_workflow(tpc-dedx-postcalibration SOURCES tpc_dEdx_postcalibration.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(tpc-dedx-qa SOURCES tpc_dedx_qa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -87,21 +93,25 @@ o2physics_add_dpl_workflow(strangenessqcpp o2physics_add_dpl_workflow(strangepidqa SOURCES strangepidqa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(stqa SOURCES stqa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::ReconstructionDataFormats O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(kfstrangenessstudy SOURCES kfStrangenessStudy.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(findable-study SOURCES findableStudy.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2Physics::AnalysisCore O2Physics::v0SelectionGroup COMPONENT_NAME Analysis) @@ -112,6 +122,7 @@ o2physics_add_dpl_workflow(mcinelgt0 o2physics_add_dpl_workflow(tracked-cascade-properties SOURCES trackedCascadeProperties.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) @@ -122,26 +133,31 @@ o2physics_add_dpl_workflow(mc-particle-predictions o2physics_add_dpl_workflow(strange-derived-qa SOURCES strangederivedqa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(str-derived-genqa SOURCES strderivedGenQA.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(its-tpc-matching-vzeros SOURCES lfITSTPCMatchingSecondaryTracksQA.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0assoqa SOURCES v0assoqa.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter KFParticle::KFParticle O2Physics::TPCDriftManager COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(systematics-mapping SOURCES systematicsMapping.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) diff --git a/PWGLF/Tasks/Strangeness/CMakeLists.txt b/PWGLF/Tasks/Strangeness/CMakeLists.txt index 5d3711f586a..5ddab116838 100644 --- a/PWGLF/Tasks/Strangeness/CMakeLists.txt +++ b/PWGLF/Tasks/Strangeness/CMakeLists.txt @@ -11,26 +11,31 @@ o2physics_add_dpl_workflow(hyperon-reco-test SOURCES hyperon-reco-test.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(derivedlambdakzeroanalysis SOURCES derivedlambdakzeroanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::MLCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdakzeroanalysis-mc SOURCES lambdakzeroanalysisMC.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascadeanalysis SOURCES cascadeanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascadeanalysismc SOURCES cascadeanalysisMC.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -41,11 +46,13 @@ o2physics_add_dpl_workflow(v0postprocessing o2physics_add_dpl_workflow(cascadecorrelations SOURCES cascadecorrelations.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(non-prompt-cascade SOURCES nonPromptCascade.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::ReconstructionDataFormats O2Physics::AnalysisCore O2::DetectorsBase O2::DetectorsVertexing O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) @@ -56,21 +63,25 @@ o2physics_add_dpl_workflow(k0mixedevents o2physics_add_dpl_workflow(xi-lambda-corr-task SOURCES xiLambdaCorr.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(vzero-cascade-absorption SOURCES vzero_cascade_absorption.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(derivedcascadeanalysis SOURCES derivedcascadeanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::MLCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(derivedxi0analysis SOURCES derivedXi0analysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB COMPONENT_NAME Analysis) @@ -81,16 +92,19 @@ o2physics_add_dpl_workflow(cascpostprocessing o2physics_add_dpl_workflow(hstrangecorrelation SOURCES hStrangeCorrelation.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(sigmaanalysis SOURCES sigmaanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB O2Physics::MLCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(phik0shortanalysis SOURCES phik0shortanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) @@ -101,37 +115,44 @@ o2physics_add_dpl_workflow(phi-strange-correlation o2physics_add_dpl_workflow(lambdapolarization SOURCES lambdapolarization.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdapolsp SOURCES lambdapolsp.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdak0seff SOURCES lambdak0seff.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(task-lambda-spin-corr SOURCES taskLambdaSpinCorr.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascpolsp SOURCES cascpolsp.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) if(FastJet_FOUND) o2physics_add_dpl_workflow(strangeness-in-jets SOURCES strangenessInJets.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strangeness-in-jets-ions SOURCES strangenessInJetsIons.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) @@ -143,31 +164,37 @@ endif() o2physics_add_dpl_workflow(v0topologicalcuts SOURCES v0topologicalcuts.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(v0ptinvmassplots SOURCES v0ptinvmassplots.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(derivedupcanalysis SOURCES derivedupcanalysis.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdak0sflattenicity SOURCES lambdak0sflattenicity.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdalambda SOURCES lambdalambda.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambdajetpolarization SOURCES lambdaJetpolarization.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) @@ -183,21 +210,25 @@ o2physics_add_dpl_workflow(lambdaspincorrderived o2physics_add_dpl_workflow(strangenessderivedbinnedinfo SOURCES strangenessderivedbinnedinfo.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(lambda-two-part-polarization SOURCES lambdaTwoPartPolarization.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(cascadeanalysislightions SOURCES cascadeAnalysisLightIonsDerivedData.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(strange-casc-track SOURCES strangeCascTrack.cxx + REUSE_FROM LfStrangenessPCH PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::EventFilteringUtils COMPONENT_NAME Analysis) diff --git a/PWGLF/Utils/CMakeLists.txt b/PWGLF/Utils/CMakeLists.txt index b81a6eb7198..afa87d8a86c 100644 --- a/PWGLF/Utils/CMakeLists.txt +++ b/PWGLF/Utils/CMakeLists.txt @@ -40,3 +40,41 @@ o2physics_add_library(LfStrangenessBuilderModule o2physics_add_library(LfCascadeMlResponse SOURCES cascadeMlResponse.cxx PUBLIC_LINK_LIBRARIES O2Physics::MLCore) + +# Precompiled header shared across the PWGLF strangeness workflows. Percentages +# are the share of the group's workflow translation units that include the header, +# measured over the tree. LFStrangenessPIDTables.h is deliberately left out: it +# reaches only 26% of them, and it includes LFStrangenessTables.h anyway. +# +# runDataProcessing.h is deliberately NOT precompiled: it requires each workflow's +# customize() to be declared before it is included, so precompiling it silently +# unregisters every option (the binary aborts at --dump-workflow, but links fine). +# +# Skipped under recc, which caches compilations remotely instead. +add_library(LfStrangenessPCH OBJECT strangenessPCH.cxx) +# The PCH compile is one of the heaviest translation units in the tree -- it +# instantiates the whole data model up front -- but add_library() does not put +# it in the 'analysis' job pool that o2physics_add_dpl_workflow() uses for the +# workflows. Left out, it runs unthrottled alongside the pooled compilations +# and defeats the per-job memory budget the pool exists to enforce. +set_property(TARGET LfStrangenessPCH PROPERTY JOB_POOL_COMPILE analysis) +target_link_libraries(LfStrangenessPCH PUBLIC O2::Framework O2Physics::AnalysisCore) +if(NOT DEFINED ENV{USE_RECC}) + target_precompile_headers(LfStrangenessPCH PRIVATE + # Framework baseline -- same set AnalysisPCH precompiles. A target with + # REUSE_FROM uses ONLY this PCH, so anything left out here is parsed from + # scratch by every consumer: without this block these workflows precompile + # LESS than the default carrier they opted out of. + + + + + + + + + + + [["PWGLF/DataModel/LFStrangenessTables.h"]] # 100%, 2045 lines + ) +endif() diff --git a/PWGLF/Utils/strangenessPCH.cxx b/PWGLF/Utils/strangenessPCH.cxx new file mode 100644 index 00000000000..e9bcd249723 --- /dev/null +++ b/PWGLF/Utils/strangenessPCH.cxx @@ -0,0 +1,13 @@ +// Copyright 2019-2026 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. + +// Carrier for the LfStrangenessPCH precompiled header; see this directory's +// CMakeLists.txt. It exists only to own the PCH, so it has no code of its own.