37 LOG(info) <<
"ReconstructionDPL::init";
45 auto digch = pc.
inputs().
get<gsl::span<o2::fv0::ChannelData>>(
"digch");
50 LOG(info) <<
"Ignoring MC info";
58 LOG(
debug) <<
" nDig " << nDig <<
" | ndigch " << digch.size();
59 mRecPoints.reserve(nDig);
60 mRecChData.resize(digch.size());
61 for (
int id = 0;
id < nDig;
id++) {
63 LOG(
debug) <<
" ndig " <<
id <<
" bc " << digit.getBC() <<
" orbit " << digit.getOrbit();
64 auto channels = digit.getBunchChannelData(digch);
65 gsl::span<o2::fv0::ChannelDataFloat> out_ch(mRecChData);
66 out_ch = out_ch.subspan(digit.ref.getFirstEntry(), digit.ref.getEntries());
70 LOG(
debug) <<
"FV0 reconstruction pushes " << mRecPoints.size() <<
" RecPoints";
87 LOGF(info,
"FV0 reconstruction total timing: Cpu: %.3e Real: %.3e s in %d slots",
88 mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
93 std::vector<InputSpec> inputSpec;
94 std::vector<OutputSpec> outputSpec;
98 LOG(info) <<
"Currently Reconstruction does not consume and provide MC truth";
101 inputSpec.emplace_back(
"fv0offsets",
"FV0",
"TimeOffset", 0,
112 AlgorithmSpec{adaptFromTask<ReconstructionDPL>(useMC, ccdbpath)},
Definition of a container to keep Monte Carlo truth external to simulation objects.
void snapshot(const Output &spec, T const &object)
DataAllocator & outputs()
The data allocator is used to allocate memory for the output data.
InputRecord & inputs()
The inputs associated with this processing context.
o2::fv0::RecPoints process(o2::fv0::Digit const &bcd, gsl::span< const o2::fv0::ChannelData > inChData, gsl::span< o2::fv0::ChannelDataFloat > outChData)
void SetChannelOffset(o2::fv0::FV0ChannelTimeCalibrationObject const *caliboffsets)
void run(ProcessingContext &pc) final
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void finaliseCCDB(ConcreteDataMatcher &matcher, void *obj) final
void init(InitContext &ic) final
constexpr o2::header::DataOrigin gDataOriginFV0
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< ConfigParamSpec > Options
framework::DataProcessorSpec getReconstructionSpec(bool useMC=false, const std::string ccdbpath="http://alice-ccdb.cern.ch")
create a processor spec
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"
std::vector< ChannelData > channels
std::vector< Digit > digits