37 LOG(
debug) <<
"[EMCALDigitsPrinter - process] called";
38 std::string objectbranch;
39 if constexpr (std::is_same<InputType, o2::emcal::Digit>::value) {
40 objectbranch =
"digits";
41 }
else if constexpr (std::is_same<InputType, o2::emcal::Cell>::value) {
42 objectbranch =
"cells";
44 LOG(error) <<
"Unsupported input type ... ";
49 auto triggerrecords = pc.
inputs().
get<gsl::span<o2::emcal::TriggerRecord>>(
"triggerrecord");
50 std::cout <<
"[EMCALDigitsPrinter - process] receiveed " <<
objects.size() <<
" digits from " << triggerrecords.size() <<
" triggers ..." << std::endl;
51 if (triggerrecords.size()) {
52 for (
const auto& trg : triggerrecords) {
53 if (!trg.getNumberOfObjects()) {
54 std::cout <<
"[EMCALDigitsPrinter - process] Trigger does not contain " << objectbranch <<
", skipping ..." << std::endl;
57 std::cout <<
"[EMCALDigitsPrinter - process] Trigger has " << trg.getNumberOfObjects() <<
" " << objectbranch <<
" ..." << std::endl;
58 gsl::span<const InputType> objectsTrigger(
objects.data() + trg.getFirstEntry(), trg.getNumberOfObjects());
59 for (
const auto& d : objectsTrigger) {
60 std::cout <<
"[EMCALDigitsPrinter - process] Channel: " << d.getTower() << std::endl;
61 std::cout <<
"[EMCALDigitsPrinter - process] Energy: " << d.getEnergy() << std::endl;
70 if (inputtype ==
"digits") {
75 o2::framework::adaptFromTask<o2::emcal::reco_workflow::DigitsPrinterSpec<o2::emcal::Digit>>()};
76 }
else if (inputtype ==
"cells") {
81 o2::framework::adaptFromTask<o2::emcal::reco_workflow::DigitsPrinterSpec<o2::emcal::Cell>>()};
83 throw std::runtime_error(
"Input type not supported");
InputRecord & inputs()
The inputs associated with this processing context.