38 LOG(info) <<
"ReconstructionDPL::init";
47 auto digch = pc.
inputs().
get<gsl::span<o2::fv0::ChannelData>>(
"digch");
52 LOG(info) <<
"Ignoring MC info";
58 if (mUseDeadChannelMap && mUpdateDeadChannelMap) {
64 LOG(
debug) <<
" nDig " << nDig <<
" | ndigch " << digch.size();
65 mRecPoints.reserve(nDig);
66 for (
int id = 0;
id < nDig;
id++) {
68 LOG(
debug) <<
" ndig " <<
id <<
" bc " << digit.getBC() <<
" orbit " << digit.getOrbit();
69 auto channels = digit.getBunchChannelData(digch);
73 LOG(
debug) <<
"FV0 reconstruction pushes " << mRecPoints.size() <<
" RecPoints";
87 mUpdateDeadChannelMap =
false;
93 LOGF(info,
"FV0 reconstruction total timing: Cpu: %.3e Real: %.3e s in %d slots",
94 mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
99 std::vector<InputSpec> inputSpec;
100 std::vector<OutputSpec> outputSpec;
104 LOG(info) <<
"Currently Reconstruction does not consume and provide MC truth";
107 if (useDeadChannelMap) {
108 LOG(info) <<
"Dead channel map will be applied during reconstruction";
111 inputSpec.emplace_back(
"fv0offsets",
"FV0",
"TimeOffset", 0,
122 AlgorithmSpec{adaptFromTask<ReconstructionDPL>(useMC, useDeadChannelMap, ccdbpath)},
Dead channel map for FIT.
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, std::vector< o2::fv0::ChannelDataFloat > &outChData)
void SetChannelOffset(o2::fv0::FV0ChannelTimeCalibrationObject const *caliboffsets)
void SetDeadChannelMap(o2::fit::DeadChannelMap const *deadChannelMap)
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, bool useDeadChannelMap=true, 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