@@ -98,10 +98,11 @@ enum AODTypeMask : uint64_t {
9898 Calo = 1 << 3 ,
9999 Muon = 1 << 4 ,
100100 VZero = 1 << 5 ,
101- Collisions = 1 << 6 ,
102- Timeframe = 1 << 7 ,
103- DZeroFlagged = 1 << 8 ,
104- Unknown = 1 << 9
101+ Zdc = 1 << 6 ,
102+ Collisions = 1 << 7 ,
103+ Timeframe = 1 << 8 ,
104+ DZeroFlagged = 1 << 9 ,
105+ Unknown = 1 << 10
105106};
106107
107108uint64_t getMask (header::DataDescription description)
@@ -119,6 +120,8 @@ uint64_t getMask(header::DataDescription description)
119120 return AODTypeMask::Muon;
120121 } else if (description == header::DataDescription{" VZERO" }) {
121122 return AODTypeMask::VZero;
123+ } else if (description == header::DataDescription{" ZDC" }) {
124+ return AODTypeMask::Zdc;
122125 } else if (description == header::DataDescription{" COLLISION" }) {
123126 return AODTypeMask::Collisions;
124127 } else if (description == header::DataDescription{" TIMEFRAME" }) {
@@ -254,6 +257,8 @@ AlgorithmSpec AODReaderHelpers::run2ESDConverterCallback()
254257 writer = outputs.make <arrow::ipc::RecordBatchWriter>(Output{" AOD" , " MUON" }, batch->schema ());
255258 } else if (meta[" description" ] == " VZERO" && (readMask & AODTypeMask::VZero)) {
256259 writer = outputs.make <arrow::ipc::RecordBatchWriter>(Output{" AOD" , " VZERO" }, batch->schema ());
260+ } else if (meta[" description" ] == " ZDC" && (readMask & AODTypeMask::Zdc)) {
261+ writer = outputs.make <arrow::ipc::RecordBatchWriter>(Output{" AOD" , " ZDC" }, batch->schema ());
257262 } else if (meta[" description" ] == " COLLISION" && (readMask & AODTypeMask::Collisions)) {
258263 writer = outputs.make <arrow::ipc::RecordBatchWriter>(Output{" AOD" , " COLLISION" }, batch->schema ());
259264 } else if (meta[" description" ] == " TIMEFRAME" && (readMask & AODTypeMask::Timeframe)) {
@@ -370,7 +375,13 @@ AlgorithmSpec AODReaderHelpers::rootFileReaderCallback()
370375 if (readMask & AODTypeMask::VZero) {
371376 std::unique_ptr<TTreeReader> vzReader = std::make_unique<TTreeReader>(" O2vzero" , infile.get ());
372377 auto & vzBuilder = outputs.make <TableBuilder>(Output{" AOD" , " VZERO" });
373- RootTableBuilderHelpers::convertASoA<o2::aod::Muons>(vzBuilder, *vzReader);
378+ RootTableBuilderHelpers::convertASoA<o2::aod::VZeros>(vzBuilder, *vzReader);
379+ }
380+
381+ if (readMask & AODTypeMask::Zdc) {
382+ std::unique_ptr<TTreeReader> zdcReader = std::make_unique<TTreeReader>(" O2zdc" , infile.get ());
383+ auto & zdcBuilder = outputs.make <TableBuilder>(Output{" AOD" , " ZDC" });
384+ RootTableBuilderHelpers::convertASoA<o2::aod::Zdc>(zdcBuilder, *zdcReader);
374385 }
375386
376387 // Candidates as described by Gianmichele example
0 commit comments