@@ -25,8 +25,17 @@ using namespace o2::aod::evsel;
2525struct straevselextrasconverter {
2626 Produces<aod::StraEvSelExtras_001> straEvSelExtras_001;
2727
28- void process (soa::Join<aod::StraEvSels_005, aod::StraEvSelExtras_000> const & straEvSels_005 )
28+ void init (InitContext& )
2929 {
30+ LOGF (info, " Initializing now: cross-checking correctness..." );
31+ if (doprocessAll + doprocessStraEvSelsOnly > 1 ) {
32+ LOGF (fatal, " You have enabled more than one process function. Please check your configuration! Aborting now." );
33+ }
34+ }
35+
36+ void processAll (soa::Join<aod::StraEvSels_005, aod::StraEvSelExtras_000> const & straEvSels_005)
37+ {
38+ straEvSelExtras_001.reserve (straEvSels_005.size ());
3039 for (auto & values : straEvSels_005) {
3140 straEvSelExtras_001 (values.multZNA (),
3241 values.multZNC (),
@@ -57,6 +66,42 @@ struct straevselextrasconverter {
5766 values.energyCommonZNC ());
5867 }
5968 }
69+
70+ void processStraEvSelsOnly (aod::StraEvSels_005 const & straEvSels_005)
71+ {
72+ straEvSelExtras_001.reserve (straEvSels_005.size ());
73+ for (auto & values : straEvSels_005) {
74+ straEvSelExtras_001 (values.multZNA (),
75+ values.multZNC (),
76+ values.multZEM1 (),
77+ values.multZEM2 (),
78+ values.multZPA (),
79+ values.multZPC (),
80+ values.multNTracksITSTPC (),
81+ values.multAllTracksTPCOnly (),
82+ values.multAllTracksITSTPC (),
83+ values.trackOccupancyInTimeRange (),
84+ values.ft0cOccupancyInTimeRange (),
85+ -999 ., // dummy timeFDDA,
86+ -999 ., // dummy timeFDDC,
87+ -999 ., // dummy timeFV0A,
88+ -999 ., // dummy timeFT0A,
89+ -999 ., // dummy timeFT0C,
90+ 0 , // dummy triggerMaskFT0,
91+ values.gapSide (),
92+ values.totalFT0AmplitudeA (),
93+ values.totalFT0AmplitudeC (),
94+ values.totalFV0AmplitudeA (),
95+ values.totalFDDAmplitudeA (),
96+ values.totalFDDAmplitudeC (),
97+ -999 ., // dummy timeZNA,
98+ -999 ., // dummy timeZNC,
99+ values.energyCommonZNA (),
100+ values.energyCommonZNC ());
101+ }
102+ }
103+ PROCESS_SWITCH (straevselextrasconverter, processAll, " Store StraEvSels005 and StraEvSelExtras000 into StraEvSelExtras001" , true );
104+ PROCESS_SWITCH (straevselextrasconverter, processStraEvSelsOnly, " Store only StraEvSels005 into StraEvSelExtras001. Other columns are set to dummy values" , false );
60105};
61106
62107WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments