Skip to content

Commit abe3f9a

Browse files
[PWGLF] Add process function in straevselextrasconverter.cxx (#16542)
Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent ba24424 commit abe3f9a

1 file changed

Lines changed: 61 additions & 8 deletions

File tree

PWGLF/TableProducer/Strangeness/Converters/straevselextrasconverter.cxx

Lines changed: 61 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,43 @@
88
// In applying this license CERN does not waive the privileges and immunities
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
11+
//
12+
/// \file straevselextrasconverter.cxx
13+
/// \brief Converts straevselsextrasconverter1 converts StraEvSelExtras_000 into StraEvSelExtras_001
14+
///
15+
/// \author David Dobrigkeit Chinellato <david.dobrigkeit.chinellato@cern.ch>, Austrian Academy of Sciences & MBI
16+
/// \author Romain Schotter <romain.schotter@cern.ch>, Austrian Academy of Sciences & MBI
17+
//
18+
//__________________________________________________
19+
//
1120

1221
#include "PWGLF/DataModel/LFStrangenessTables.h"
1322

14-
#include "CCDB/BasicCCDBManager.h"
15-
#include "DataFormatsParameters/AggregatedRunInfo.h"
16-
#include "Framework/AnalysisDataModel.h"
17-
#include "Framework/AnalysisTask.h"
18-
#include "Framework/runDataProcessing.h"
23+
#include <CCDB/BasicCCDBManager.h>
24+
#include <DataFormatsParameters/AggregatedRunInfo.h>
25+
#include <Framework/AnalysisDataModel.h>
26+
#include <Framework/AnalysisTask.h>
27+
#include <Framework/runDataProcessing.h>
1928

2029
using namespace o2;
2130
using namespace o2::framework;
2231
using namespace o2::aod::evsel;
2332

24-
// Converts straevselsextrasconverter1 converts StraEvSelExtras_000 into StraEvSelExtras_001
2533
struct straevselextrasconverter {
2634
Produces<aod::StraEvSelExtras_001> straEvSelExtras_001;
2735

28-
void process(soa::Join<aod::StraEvSels_005, aod::StraEvSelExtras_000> const& straEvSels_005)
36+
void init(InitContext&)
37+
{
38+
LOGF(info, "Initializing now: cross-checking correctness...");
39+
if (doprocessAll + doprocessStraEvSelsOnly > 1) {
40+
LOGF(fatal, "You have enabled more than one process function. Please check your configuration! Aborting now.");
41+
}
42+
}
43+
44+
void processAll(soa::Join<aod::StraEvSels_005, aod::StraEvSelExtras_000> const& straEvSels_005)
2945
{
30-
for (auto& values : straEvSels_005) {
46+
straEvSelExtras_001.reserve(straEvSels_005.size());
47+
for (const auto& values : straEvSels_005) {
3148
straEvSelExtras_001(values.multZNA(),
3249
values.multZNC(),
3350
values.multZEM1(),
@@ -57,6 +74,42 @@ struct straevselextrasconverter {
5774
values.energyCommonZNC());
5875
}
5976
}
77+
78+
void processStraEvSelsOnly(aod::StraEvSels_005 const& straEvSels_005)
79+
{
80+
straEvSelExtras_001.reserve(straEvSels_005.size());
81+
for (const auto& values : straEvSels_005) {
82+
straEvSelExtras_001(values.multZNA(),
83+
values.multZNC(),
84+
values.multZEM1(),
85+
values.multZEM2(),
86+
values.multZPA(),
87+
values.multZPC(),
88+
values.multNTracksITSTPC(),
89+
values.multAllTracksTPCOnly(),
90+
values.multAllTracksITSTPC(),
91+
values.trackOccupancyInTimeRange(),
92+
values.ft0cOccupancyInTimeRange(),
93+
-999., // dummy timeFDDA,
94+
-999., // dummy timeFDDC,
95+
-999., // dummy timeFV0A,
96+
-999., // dummy timeFT0A,
97+
-999., // dummy timeFT0C,
98+
0, // dummy triggerMaskFT0,
99+
values.gapSide(),
100+
values.totalFT0AmplitudeA(),
101+
values.totalFT0AmplitudeC(),
102+
values.totalFV0AmplitudeA(),
103+
values.totalFDDAmplitudeA(),
104+
values.totalFDDAmplitudeC(),
105+
-999., // dummy timeZNA,
106+
-999., // dummy timeZNC,
107+
values.energyCommonZNA(),
108+
values.energyCommonZNC());
109+
}
110+
}
111+
PROCESS_SWITCH(straevselextrasconverter, processAll, "Store StraEvSels005 and StraEvSelExtras000 into StraEvSelExtras001", true);
112+
PROCESS_SWITCH(straevselextrasconverter, processStraEvSelsOnly, "Store only StraEvSels005 into StraEvSelExtras001. Other columns are set to dummy values", false);
60113
};
61114

62115
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)