1010// or submit itself to any jurisdiction.
1111//
1212// This is a task that employs the standard derived V0 tables and attempts to combine
13- // two V0s into a Sigma0 -> Lambda + gamma candidate.
13+ // two V0s into a Sigma0 -> Lambda + gamma candidate.
1414// *+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
1515// Sigma0 QC task
1616// *+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
2020// gianni.shigeru.setoue.liveraro@cern.ch
2121//
2222
23- #include < Math/Vector4D.h>
24- #include < cmath>
25- #include < array>
26- #include < cstdlib>
23+ #include " PWGLF/DataModel/LFSigmaTables.h"
24+ #include " PWGLF/DataModel/LFStrangenessMLTables.h"
25+ #include " PWGLF/DataModel/LFStrangenessPIDTables.h"
26+ #include " PWGLF/DataModel/LFStrangenessTables.h"
27+ #include < PWGLF/Utils/sigma0BuilderHelper.h>
2728
28- #include " Framework/runDataProcessing.h"
29- #include " Framework/AnalysisTask.h"
30- #include " Framework/AnalysisDataModel.h"
31- #include " Framework/ASoAHelpers.h"
32- #include " Framework/ASoA.h"
33- #include " ReconstructionDataFormats/Track.h"
29+ #include " Common/CCDB/ctpRateFetcher.h"
3430#include " Common/Core/RecoDecay.h"
35- #include " Common/Core/trackUtilities.h"
3631#include " Common/Core/TrackSelection.h"
37- #include " Common/DataModel/TrackSelectionTables.h"
38- #include " Common/DataModel/EventSelection.h"
32+ #include " Common/Core/trackUtilities.h"
3933#include " Common/DataModel/Centrality.h"
34+ #include " Common/DataModel/EventSelection.h"
4035#include " Common/DataModel/PIDResponse.h"
41- #include " Common/CCDB/ctpRateFetcher.h"
42- #include " PWGLF/DataModel/LFStrangenessTables.h"
43- #include " PWGLF/DataModel/LFStrangenessPIDTables.h"
44- #include " PWGLF/DataModel/LFStrangenessMLTables.h"
45- #include " PWGLF/DataModel/LFSigmaTables.h"
36+ #include " Common/DataModel/TrackSelectionTables.h"
37+
4638#include " CCDB/BasicCCDBManager.h"
39+ #include " Framework/ASoA.h"
40+ #include " Framework/ASoAHelpers.h"
41+ #include " Framework/AnalysisDataModel.h"
42+ #include " Framework/AnalysisTask.h"
43+ #include " Framework/runDataProcessing.h"
44+ #include " ReconstructionDataFormats/Track.h"
45+
46+ #include < Math/Vector4D.h>
47+ #include < TDatabasePDG.h>
4748#include < TFile.h>
4849#include < TH2F.h>
49- #include < TProfile.h>
5050#include < TLorentzVector.h>
5151#include < TPDGCode.h>
52- #include < TDatabasePDG.h>
53- #include < PWGLF/Utils/sigma0BuilderHelper.h>
52+ #include < TProfile.h>
53+
54+ #include < array>
55+ #include < cmath>
56+ #include < cstdlib>
5457
5558using namespace o2 ;
5659using namespace o2 ::framework;
@@ -60,7 +63,6 @@ using dauTracks = soa::Join<aod::DauTrackExtras, aod::DauTrackTPCPIDs>;
6063using V0StandardDerivedDatas = soa::Join<aod::V0Cores, aod::V0CollRefs, aod::V0Extras, aod::V0TOFPIDs, aod::V0TOFNSigmas, aod::V0LambdaMLScores, aod::V0AntiLambdaMLScores, aod::V0GammaMLScores>;
6164using StraColls = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps>;
6265
63-
6466struct sigma0Sorted {
6567 Service<o2::ccdb::BasicCCDBManager> ccdb;
6668 ctpRateFetcher rateFetcher;
@@ -72,13 +74,13 @@ struct sigma0Sorted {
7274 o2::pwglf::sigma0::photonselConfigurables photonselOpts;
7375 o2::pwglf::sigma0::sigma0selConfigurables sigma0selOpts;
7476 o2::pwglf::sigma0::pi0selConfigurables pi0selOpts;
75- o2::pwglf::sigma0::axisConfigurables axisOpts;
77+ o2::pwglf::sigma0::axisConfigurables axisOpts;
7678
7779 o2::pwglf::sigma0::Sigma0BuilderModule sigma0Module;
7880
79- // For manual sliceBy
81+ // For manual sliceBy
8082 SliceCache cache;
81- Preslice<V0StandardDerivedDatas> perCollisionSTDDerived = o2::aod::v0data::straCollisionId;
83+ Preslice<V0StandardDerivedDatas> perCollisionSTDDerived = o2::aod::v0data::straCollisionId;
8284
8385 // Histogram registry
8486 HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -95,21 +97,23 @@ struct sigma0Sorted {
9597 sigma0Module.init (histos, evselOpts, lambdaselOpts, photonselOpts, sigma0selOpts, pi0selOpts, axisOpts);
9698 }
9799
98- // Dummy process function
99- void process (StraColls const &){}
100+ // Dummy process function
101+ void process (StraColls const &) {}
100102
101- void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &){
102- auto start = std::chrono::high_resolution_clock::now ();
103+ void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &)
104+ {
105+ auto start = std::chrono::high_resolution_clock::now ();
106+
107+ sigma0Module.processSlicing (collisions, fullV0s, perCollisionSTDDerived, histos, ccdb, rateFetcher);
103108
104- sigma0Module.processSlicing (collisions, fullV0s, perCollisionSTDDerived, histos, ccdb, rateFetcher);
105-
106- auto end = std::chrono::high_resolution_clock::now ();
107- std::chrono::duration<double > elapsed = end - start;
109+ auto end = std::chrono::high_resolution_clock::now ();
110+ std::chrono::duration<double > elapsed = end - start;
108111
109- if (fverbose) LOGF (info, " [Process function call, Sorted] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
112+ if (fverbose)
113+ LOGF (info, " [Process function call, Sorted] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
110114 }
111-
112- PROCESS_SWITCH (sigma0Sorted, processRealData, " process run 3 real data" , true );
115+
116+ PROCESS_SWITCH (sigma0Sorted, processRealData, " process run 3 real data" , true );
113117};
114118
115119struct sigma0Unsorted {
@@ -123,16 +127,16 @@ struct sigma0Unsorted {
123127 o2::pwglf::sigma0::photonselConfigurables photonselOpts;
124128 o2::pwglf::sigma0::sigma0selConfigurables sigma0selOpts;
125129 o2::pwglf::sigma0::pi0selConfigurables pi0selOpts;
126- o2::pwglf::sigma0::axisConfigurables axisOpts;
130+ o2::pwglf::sigma0::axisConfigurables axisOpts;
127131
128132 o2::pwglf::sigma0::Sigma0BuilderModule sigma0Module;
129133
130- // For manual sliceBy
134+ // For manual sliceBy
131135 SliceCache cache;
132- PresliceUnsorted<V0StandardDerivedDatas> perCollisionSTDDerived = o2::aod::v0data::straCollisionId;
136+ PresliceUnsorted<V0StandardDerivedDatas> perCollisionSTDDerived = o2::aod::v0data::straCollisionId;
133137
134138 // Histogram registry
135- HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
139+ HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
136140
137141 void init (InitContext const &)
138142 {
@@ -146,21 +150,23 @@ struct sigma0Unsorted {
146150 sigma0Module.init (histos, evselOpts, lambdaselOpts, photonselOpts, sigma0selOpts, pi0selOpts, axisOpts);
147151 }
148152
149- // Dummy process function
150- void process (StraColls const &){}
153+ // Dummy process function
154+ void process (StraColls const &) {}
155+
156+ void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &)
157+ {
158+ auto start = std::chrono::high_resolution_clock::now ();
151159
152- void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &){
153- auto start = std::chrono::high_resolution_clock::now ();
160+ sigma0Module.processSlicing (collisions, fullV0s, perCollisionSTDDerived, histos, ccdb, rateFetcher);
154161
155- sigma0Module.processSlicing (collisions, fullV0s, perCollisionSTDDerived, histos, ccdb, rateFetcher);
156-
157- auto end = std::chrono::high_resolution_clock::now ();
158- std::chrono::duration<double > elapsed = end - start;
162+ auto end = std::chrono::high_resolution_clock::now ();
163+ std::chrono::duration<double > elapsed = end - start;
159164
160- if (fverbose) LOGF (info, " [Process function call, Unsorted] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
165+ if (fverbose)
166+ LOGF (info, " [Process function call, Unsorted] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
161167 }
162-
163- PROCESS_SWITCH (sigma0Unsorted, processRealData, " process run 3 real data" , true );
168+
169+ PROCESS_SWITCH (sigma0Unsorted, processRealData, " process run 3 real data" , true );
164170};
165171
166172struct sigma0Iterator {
@@ -174,12 +180,12 @@ struct sigma0Iterator {
174180 o2::pwglf::sigma0::photonselConfigurables photonselOpts;
175181 o2::pwglf::sigma0::sigma0selConfigurables sigma0selOpts;
176182 o2::pwglf::sigma0::pi0selConfigurables pi0selOpts;
177- o2::pwglf::sigma0::axisConfigurables axisOpts;
183+ o2::pwglf::sigma0::axisConfigurables axisOpts;
178184
179185 o2::pwglf::sigma0::Sigma0BuilderModule sigma0Module;
180186
181187 // Histogram registry
182- HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
188+ HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
183189 uint64_t CollIDBuffer = 0 ;
184190 std::chrono::high_resolution_clock::time_point start{};
185191 std::chrono::high_resolution_clock::time_point end{};
@@ -195,37 +201,42 @@ struct sigma0Iterator {
195201 sigma0Module.init (histos, evselOpts, lambdaselOpts, photonselOpts, sigma0selOpts, pi0selOpts, axisOpts);
196202 }
197203
198- // Dummy process function
199- void process (V0StandardDerivedDatas const &){}
204+ // Dummy process function
205+ void process (V0StandardDerivedDatas const &) {}
200206
201- void processCheckIndexOrdered (V0StandardDerivedDatas const & fullV0s){
202- CollIDBuffer=0 ;
207+ void processCheckIndexOrdered (V0StandardDerivedDatas const & fullV0s)
208+ {
209+ CollIDBuffer = 0 ;
203210 for (const auto & v0 : fullV0s) {
204- const uint64_t v0collidx = v0.straCollisionId ();
205- if (v0collidx < CollIDBuffer)
206- LOGF (fatal, " V0 -> stracollision: index unsorted! Previous index: %i, current index: %i" , CollIDBuffer, v0collidx);
211+ const uint64_t v0collidx = v0.straCollisionId ();
212+ if (v0collidx < CollIDBuffer)
213+ LOGF (fatal, " V0 -> stracollision: index unsorted! Previous index: %i, current index: %i" , CollIDBuffer, v0collidx);
207214 CollIDBuffer = v0collidx;
208215 }
209216 }
210- void processTI (StraColls const &){
217+ void processTI (StraColls const &)
218+ {
211219 start = std::chrono::high_resolution_clock::now ();
212220 }
213221
214- void processRealData (StraColls::iterator const & collision, V0StandardDerivedDatas const & fullV0s, dauTracks const &){
215- sigma0Module.processIterator (collision, fullV0s, histos, ccdb, rateFetcher);
222+ void processRealData (StraColls::iterator const & collision, V0StandardDerivedDatas const & fullV0s, dauTracks const &)
223+ {
224+ sigma0Module.processIterator (collision, fullV0s, histos, ccdb, rateFetcher);
216225 }
217226
218- void processTF (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s){
227+ void processTF (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s)
228+ {
219229 end = std::chrono::high_resolution_clock::now ();
220230 std::chrono::duration<double > elapsed = end - start;
221231
222- if (fverbose) LOGF (info, " [Process function call, Iterator] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
232+ if (fverbose)
233+ LOGF (info, " [Process function call, Iterator] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
223234 }
224-
235+
225236 PROCESS_SWITCH (sigma0Iterator, processCheckIndexOrdered, " check ordering" , true );
226237 PROCESS_SWITCH (sigma0Iterator, processTI, " Initial setup" , true );
227238 PROCESS_SWITCH (sigma0Iterator, processRealData, " process data" , true );
228- PROCESS_SWITCH (sigma0Iterator, processTF, " Printouts" , true );
239+ PROCESS_SWITCH (sigma0Iterator, processTF, " Printouts" , true );
229240};
230241
231242struct sigma0CustomGrouping {
@@ -239,12 +250,12 @@ struct sigma0CustomGrouping {
239250 o2::pwglf::sigma0::photonselConfigurables photonselOpts;
240251 o2::pwglf::sigma0::sigma0selConfigurables sigma0selOpts;
241252 o2::pwglf::sigma0::pi0selConfigurables pi0selOpts;
242- o2::pwglf::sigma0::axisConfigurables axisOpts;
253+ o2::pwglf::sigma0::axisConfigurables axisOpts;
243254
244255 o2::pwglf::sigma0::Sigma0BuilderModule sigma0Module;
245256
246257 // Histogram registry
247- HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
258+ HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
248259
249260 void init (InitContext const &)
250261 {
@@ -258,28 +269,30 @@ struct sigma0CustomGrouping {
258269 sigma0Module.init (histos, evselOpts, lambdaselOpts, photonselOpts, sigma0selOpts, pi0selOpts, axisOpts);
259270 }
260271
261- // Dummy process function
262- void process (StraColls const &){}
272+ // Dummy process function
273+ void process (StraColls const &) {}
263274
264- void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &){
265- auto start = std::chrono::high_resolution_clock::now ();
275+ void processRealData (StraColls const & collisions, V0StandardDerivedDatas const & fullV0s, dauTracks const &)
276+ {
277+ auto start = std::chrono::high_resolution_clock::now ();
278+
279+ sigma0Module.processCustomGrouping (collisions, fullV0s, histos, ccdb, rateFetcher);
266280
267- sigma0Module.processCustomGrouping (collisions, fullV0s, histos, ccdb, rateFetcher);
268-
269- auto end = std::chrono::high_resolution_clock::now ();
270- std::chrono::duration<double > elapsed = end - start;
281+ auto end = std::chrono::high_resolution_clock::now ();
282+ std::chrono::duration<double > elapsed = end - start;
271283
272- if (fverbose) LOGF (info, " [Process function call, Custom] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
284+ if (fverbose)
285+ LOGF (info, " [Process function call, Custom] N. Collisions: %i, N. V0s: %i, Processing time (s): %lf" , collisions.size (), fullV0s.size (), elapsed.count ());
273286 }
274-
275- PROCESS_SWITCH (sigma0CustomGrouping, processRealData, " process run 3 real data" , true );
287+
288+ PROCESS_SWITCH (sigma0CustomGrouping, processRealData, " process run 3 real data" , true );
276289};
277290
278291WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
279292{
280293 return WorkflowSpec{
281- adaptAnalysisTask<sigma0Sorted>(cfgc),
282- adaptAnalysisTask<sigma0Unsorted>(cfgc),
283- adaptAnalysisTask<sigma0Iterator>(cfgc),
284- adaptAnalysisTask<sigma0CustomGrouping>(cfgc)};
294+ adaptAnalysisTask<sigma0Sorted>(cfgc),
295+ adaptAnalysisTask<sigma0Unsorted>(cfgc),
296+ adaptAnalysisTask<sigma0Iterator>(cfgc),
297+ adaptAnalysisTask<sigma0CustomGrouping>(cfgc)};
285298}
0 commit comments