1515#include " Framework/ExpressionHelpers.h"
1616#include " Framework/DataProcessingHelpers.h"
1717#include " Framework/AlgorithmSpec.h"
18- #include " Framework/ControlService.h"
1918#include " Framework/CallbackService.h"
20- #include " Framework/EndOfStreamContext.h"
2119#include " Framework/DataSpecUtils.h"
2220#include " ExpressionJSONHelpers.h"
2321#include " Framework/ConfigContext.h"
2422#include " Framework/AnalysisContext.h"
2523
26- #include < Monitoring/Monitoring.h>
27-
28- #include < TGrid.h>
29- #include < TFile.h>
30- #include < TTreeCache.h>
31-
32- #include < arrow/ipc/reader.h>
33- #include < arrow/ipc/writer.h>
34- #include < arrow/io/interfaces.h>
35- #include < arrow/table.h>
36- #include < arrow/util/key_value_metadata.h>
37-
3824namespace o2 ::framework::readers
3925{
40- auto setEOSCallback (InitContext& ic)
41- {
42- ic.services ().get <CallbackService>().set <CallbackService::Id::EndOfStream>(
43- [](EndOfStreamContext& eosc) {
44- auto & control = eosc.services ().get <ControlService>();
45- control.endOfStream ();
46- control.readyToQuit (QuitRequest::Me);
47- });
48- }
49-
5026template <size_t N, std::array<soa::TableRef, N> refs>
5127static inline auto extractOriginals (ProcessingContext& pc)
5228{
@@ -83,9 +59,10 @@ auto make_build(D metadata, InputSpec const& input, ProcessingContext& pc)
8359}
8460} // namespace
8561
86- AlgorithmSpec AODReaderHelpers::indexBuilderCallback (std::vector<InputSpec>& requested )
62+ AlgorithmSpec AODReaderHelpers::indexBuilderCallback (ConfigContext const & ctx )
8763{
88- return AlgorithmSpec::InitCallback{[requested](InitContext& /* ic*/ ) {
64+ auto & ac = ctx.services ().get <AnalysisContext>();
65+ return AlgorithmSpec::InitCallback{[requested = ac.requestedIDXs ](InitContext& /* ic*/ ) {
8966 return [requested](ProcessingContext& pc) {
9067 auto outputs = pc.outputs ();
9168 // spawn tables
@@ -252,7 +229,7 @@ struct Spawnable {
252229
253230} // namespace
254231
255- AlgorithmSpec AODReaderHelpers::aodSpawnerCallback (/* std::vector<InputSpec>& requested */ ConfigContext const & ctx)
232+ AlgorithmSpec AODReaderHelpers::aodSpawnerCallback (ConfigContext const & ctx)
256233{
257234 auto & ac = ctx.services ().get <AnalysisContext>();
258235 return AlgorithmSpec::InitCallback{[requested = ac.spawnerInputs ](InitContext& /* ic*/ ) {
@@ -268,6 +245,7 @@ AlgorithmSpec AODReaderHelpers::aodSpawnerCallback(/*std::vector<InputSpec>& req
268245 return [makers](ProcessingContext& pc) mutable {
269246 auto outputs = pc.outputs ();
270247 for (auto & maker : makers) {
248+ LOGP (info, " >>> Spawning: {}" , maker.binding );
271249 outputs.adopt (Output{maker.origin , maker.description , maker.version }, maker.make (pc));
272250 }
273251 };
0 commit comments