Skip to content

Commit 6a6b264

Browse files
authored
[PWGDQ] Add PCH for PWGDQ (#18307)
1 parent c202da5 commit 6a6b264

4 files changed

Lines changed: 65 additions & 0 deletions

File tree

‎PWGDQ/Core/CMakeLists.txt‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,21 @@ o2physics_add_library(PWGDQCore
2222
MCProng.cxx
2323
MCSignal.cxx
2424
PUBLIC_LINK_LIBRARIES O2::Framework O2::DCAFitter O2::GlobalTracking O2Physics::AnalysisCore KFParticle::KFParticle O2Physics::MLCore)
25+
26+
# Precompiled header shared across PWGDQ. Percentages are the share of the
27+
# group's workflow translation units that include the header, measured over the tree.
28+
# VarManager.h alone is ~8000 lines and is parsed by two thirds of the group.
29+
#
30+
# runDataProcessing.h is deliberately NOT precompiled: it requires each workflow's
31+
# customize() to be declared before it is included, so precompiling it silently
32+
# unregisters every option (the binary aborts at --dump-workflow, but links fine).
33+
#
34+
# Skipped under recc, which caches compilations remotely instead.
35+
add_library(DQAnalysisPCH OBJECT dqAnalysisPCH.cxx)
36+
target_link_libraries(DQAnalysisPCH PUBLIC O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore)
37+
if(NOT DEFINED ENV{USE_RECC})
38+
target_precompile_headers(DQAnalysisPCH PRIVATE
39+
[["PWGDQ/DataModel/ReducedInfoTables.h"]] # 65%
40+
[["PWGDQ/Core/VarManager.h"]] # 65%, ~8000 lines
41+
)
42+
endif()

‎PWGDQ/Core/dqAnalysisPCH.cxx‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright 2019-2026 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
// Carrier for the DQAnalysisPCH precompiled header; see this directory's
13+
// CMakeLists.txt. It exists only to own the PCH, so it has no code of its own.

‎PWGDQ/TableProducer/CMakeLists.txt‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,42 @@
1111

1212
o2physics_add_dpl_workflow(table-maker
1313
SOURCES tableMaker.cxx
14+
REUSE_FROM DQAnalysisPCH
1415
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DetectorsBase O2Physics::AnalysisCCDB O2Physics::PWGDQCore O2Physics::EventFilteringUtils
1516
COMPONENT_NAME Analysis)
1617

1718
o2physics_add_dpl_workflow(table-maker-with-assoc
1819
SOURCES tableMaker_withAssoc.cxx
20+
REUSE_FROM DQAnalysisPCH
1921
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DetectorsBase O2Physics::AnalysisCCDB O2Physics::PWGDQCore O2Physics::EventFilteringUtils
2022
COMPONENT_NAME Analysis)
2123

2224
o2physics_add_dpl_workflow(table-maker-mc
2325
SOURCES tableMakerMC.cxx
26+
REUSE_FROM DQAnalysisPCH
2427
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DetectorsBase O2Physics::AnalysisCCDB O2Physics::PWGDQCore
2528
COMPONENT_NAME Analysis)
2629

2730
o2physics_add_dpl_workflow(table-maker-mc-with-assoc
2831
SOURCES tableMakerMC_withAssoc.cxx
32+
REUSE_FROM DQAnalysisPCH
2933
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DetectorsBase O2Physics::AnalysisCCDB O2Physics::PWGDQCore
3034
COMPONENT_NAME Analysis)
3135

3236
o2physics_add_dpl_workflow(table-maker-jpsi-hf
3337
SOURCES tableMakerJpsiHf.cxx
38+
REUSE_FROM DQAnalysisPCH
3439
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
3540
COMPONENT_NAME Analysis)
3641

3742
o2physics_add_dpl_workflow(table-maker-muon-mch-trk-eff
3843
SOURCES tableMakerMuonMchTrkEfficiency.cxx
44+
REUSE_FROM DQAnalysisPCH
3945
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
4046
COMPONENT_NAME Analysis)
4147

4248
o2physics_add_dpl_workflow(generated-quarkonia-mc
4349
SOURCES generatedQuarkoniaMC.cxx
50+
REUSE_FROM DQAnalysisPCH
4451
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase O2Physics::PWGDQCore
4552
COMPONENT_NAME Analysis)

‎PWGDQ/Tasks/CMakeLists.txt‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ endif()
2626

2727
o2physics_add_dpl_workflow(table-reader
2828
SOURCES tableReader.cxx
29+
REUSE_FROM DQAnalysisPCH
2930
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2Physics::MLCore
3031
COMPONENT_NAME Analysis)
3132

@@ -73,56 +74,67 @@ o2physics_add_dpl_workflow(table-reader-with-assoc-dilepton-track-track-pairing
7374

7475
o2physics_add_dpl_workflow(table-reader-with-assoc-direct
7576
SOURCES tableReader_withAssoc_direct.cxx
77+
REUSE_FROM DQAnalysisPCH
7678
PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::AnalysisCCDB O2Physics::PWGDQCore O2Physics::MLCore O2::ReconstructionDataFormats O2::DetectorsCommonDataFormats O2::DetectorsVertexing O2Physics::EventFilteringUtils
7779
COMPONENT_NAME Analysis)
7880

7981
o2physics_add_dpl_workflow(efficiency
8082
SOURCES dqEfficiency.cxx
83+
REUSE_FROM DQAnalysisPCH
8184
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
8285
COMPONENT_NAME Analysis)
8386

8487
o2physics_add_dpl_workflow(efficiency-with-assoc
8588
SOURCES dqEfficiency_withAssoc.cxx
89+
REUSE_FROM DQAnalysisPCH
8690
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
8791
COMPONENT_NAME Analysis)
8892

8993
o2physics_add_dpl_workflow(efficiency-with-assoc-direct
9094
SOURCES dqEfficiency_withAssoc_direct.cxx
95+
REUSE_FROM DQAnalysisPCH
9196
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2::ReconstructionDataFormats O2::DetectorsCommonDataFormats O2::DetectorsVertexing
9297
COMPONENT_NAME Analysis)
9398

9499
o2physics_add_dpl_workflow(energy-correlator-direct
95100
SOURCES dqEnergyCorrelator_direct.cxx
101+
REUSE_FROM DQAnalysisPCH
96102
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
97103
COMPONENT_NAME Analysis)
98104

99105
o2physics_add_dpl_workflow(filter-pp
100106
SOURCES filterPP.cxx
107+
REUSE_FROM DQAnalysisPCH
101108
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
102109
COMPONENT_NAME Analysis)
103110

104111
o2physics_add_dpl_workflow(filter-pp-with-association
105112
SOURCES filterPPwithAssociation.cxx
113+
REUSE_FROM DQAnalysisPCH
106114
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
107115
COMPONENT_NAME Analysis)
108116

109117
o2physics_add_dpl_workflow(filter-pb-pb
110118
SOURCES filterPbPb.cxx
119+
REUSE_FROM DQAnalysisPCH
111120
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2Physics::SGCutParHolder
112121
COMPONENT_NAME Analysis)
113122

114123
o2physics_add_dpl_workflow(v0-selector
115124
SOURCES v0selector.cxx
125+
REUSE_FROM DQAnalysisPCH
116126
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::DCAFitter O2Physics::AnalysisCore O2Physics::PWGDQCore
117127
COMPONENT_NAME Analysis)
118128

119129
o2physics_add_dpl_workflow(dalitz-selection
120130
SOURCES DalitzSelection.cxx
131+
REUSE_FROM DQAnalysisPCH
121132
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
122133
COMPONENT_NAME Analysis)
123134

124135
o2physics_add_dpl_workflow(flow
125136
SOURCES dqFlow.cxx
137+
REUSE_FROM DQAnalysisPCH
126138
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2Physics::GFWCore
127139
COMPONENT_NAME Analysis)
128140

@@ -133,21 +145,25 @@ o2physics_add_dpl_workflow(task-muon-mch-trk-eff
133145

134146
o2physics_add_dpl_workflow(task-j-psi-hf
135147
SOURCES taskJpsiHf.cxx
148+
REUSE_FROM DQAnalysisPCH
136149
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
137150
COMPONENT_NAME Analysis)
138151

139152
o2physics_add_dpl_workflow(task-muon-dca
140153
SOURCES muonDCA.cxx
154+
REUSE_FROM DQAnalysisPCH
141155
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
142156
COMPONENT_NAME Analysis)
143157

144158
o2physics_add_dpl_workflow(correlation
145159
SOURCES dqCorrelation.cxx
160+
REUSE_FROM DQAnalysisPCH
146161
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2Physics::GFWCore
147162
COMPONENT_NAME Analysis)
148163

149164
o2physics_add_dpl_workflow(task-mch-align-record
150165
SOURCES mchAlignRecord.cxx
166+
REUSE_FROM DQAnalysisPCH
151167
PUBLIC_LINK_LIBRARIES
152168
O2::Framework
153169
O2Physics::AnalysisCore
@@ -168,11 +184,13 @@ o2physics_add_dpl_workflow(task-mch-align-record
168184

169185
o2physics_add_dpl_workflow(task-muon-mid-eff
170186
SOURCES MIDefficiency.cxx
187+
REUSE_FROM DQAnalysisPCH
171188
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::MIDBase
172189
COMPONENT_NAME Analysis)
173190

174191
o2physics_add_dpl_workflow(task-fwd-track-pid
175192
SOURCES taskFwdTrackPid.cxx
193+
REUSE_FROM DQAnalysisPCH
176194
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
177195
COMPONENT_NAME Analysis)
178196

@@ -183,45 +201,54 @@ o2physics_add_dpl_workflow(quarkonia-to-hyperons
183201

184202
o2physics_add_dpl_workflow(model-converter-mult-pv
185203
SOURCES ModelConverterMultPv.cxx
204+
REUSE_FROM DQAnalysisPCH
186205
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGDQCore
187206
COMPONENT_NAME Analysis)
188207

189208
o2physics_add_dpl_workflow(model-converter-event-extended
190209
SOURCES ModelConverterEventExtended.cxx
210+
REUSE_FROM DQAnalysisPCH
191211
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGDQCore
192212
COMPONENT_NAME Analysis)
193213

194214
o2physics_add_dpl_workflow(model-converter-mc-reduced-event
195215
SOURCES ModelConverterReducedMCEvents.cxx
216+
REUSE_FROM DQAnalysisPCH
196217
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGDQCore
197218
COMPONENT_NAME Analysis)
198219

199220
o2physics_add_dpl_workflow(tag-and-probe
200221
SOURCES TagAndProbe.cxx
222+
REUSE_FROM DQAnalysisPCH
201223
PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::AnalysisCCDB O2Physics::PWGDQCore
202224
COMPONENT_NAME Analysis)
203225

204226
o2physics_add_dpl_workflow(qa-matching
205227
SOURCES qaMatching.cxx
228+
REUSE_FROM DQAnalysisPCH
206229
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
207230
COMPONENT_NAME Analysis)
208231

209232
o2physics_add_dpl_workflow(mft-mch-matcher
210233
SOURCES mftMchMatcher.cxx
234+
REUSE_FROM DQAnalysisPCH
211235
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore
212236
COMPONENT_NAME Analysis)
213237

214238
o2physics_add_dpl_workflow(muon-global-alignment
215239
SOURCES muonGlobalAlignment.cxx
240+
REUSE_FROM DQAnalysisPCH
216241
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2::MCHGeometryTransformer
217242
COMPONENT_NAME Analysis)
218243

219244
o2physics_add_dpl_workflow(j-psi-muon-correlations
220245
SOURCES jPsiMuonCorrelations.cxx
246+
REUSE_FROM DQAnalysisPCH
221247
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2::MCHGeometryTransformer
222248
COMPONENT_NAME Analysis)
223249

224250
o2physics_add_dpl_workflow(global-muon-matcher
225251
SOURCES global-muon-matcher.cxx
252+
REUSE_FROM DQAnalysisPCH
226253
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGDQCore O2::MCHGeometryTransformer
227254
COMPONENT_NAME Analysis)

0 commit comments

Comments
 (0)