60 LOG(info) <<
"Ignoring MC info";
62 if (mUseTimeOffsetCalib) {
67 if (mUseSlewingCalib) {
72 mRecPoints.reserve(
digits.size());
76 LOG(
debug) <<
"FT0 reconstruction pushes " << mRecPoints.size() <<
" RecPoints";
86 LOG(
debug) <<
"New TimeSpectraInfo is uploaded";
90 LOG(
debug) <<
"New SlewingCoef is uploaded";
91 mUseSlewingCalib =
false;
98 LOGF(info,
"FT0 reconstruction total timing: Cpu: %.3e Real: %.3e s in %d slots",
99 mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
104 std::vector<InputSpec> inputSpec;
105 std::vector<OutputSpec> outputSpec;
109 LOG(info) <<
"Currently Reconstruction does not consume and provide MC truth";
112 if (useTimeOffsetCalib) {
113 inputSpec.emplace_back(
"ft0_timespectra",
"FT0",
"TimeSpectraInfo", 0,
118 if (useSlewingCalib) {
119 inputSpec.emplace_back(
"ft0_slewing_coef",
"FT0",
"SlewingCoef", 0,
131 AlgorithmSpec{adaptFromTask<ReconstructionDPL>(useMC, ccdbpath, useTimeOffsetCalib, useSlewingCalib)},
Definition of a container to keep Monte Carlo truth external to simulation objects.
static const ChannelFilterParam & Instance()
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.
void SetSlewingCalibObject(o2::ft0::SlewingCoef const *calibSlew)
void SetTimeCalibObject(o2::ft0::TimeSpectraInfoObject const *timeCalibObject)
void processTF(const gsl::span< const o2::ft0::Digit > &digits, const gsl::span< const o2::ft0::ChannelData > &channels, std::vector< o2::ft0::RecPoints > &vecRecPoints, std::vector< o2::ft0::ChannelDataFloat > &vecChData)
void init(InitContext &ic) final
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void run(ProcessingContext &pc) final
void finaliseCCDB(ConcreteDataMatcher &matcher, void *obj) final
constexpr o2::header::DataOrigin gDataOriginFT0
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", bool useTimeOffsetCalib=true, bool useSlewingCalib=true)
create a processor spec
struct o2::upgrades_utils::@462 ft0
structure to keep V0C information
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