Project
Loading...
Searching...
No Matches
CollisionTimeRecoTask.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14#ifndef ALICEO2_FT0_COLLISIONTIMERECOTASK_H
15#define ALICEO2_FT0_COLLISIONTIMERECOTASK_H
16
17#include "FT0Base/Geometry.h"
25#include <gsl/span>
26#include <array>
27#include <vector>
28#include <TGraph.h>
29
30namespace o2
31{
32namespace ft0
33{
35{
37 static constexpr int NCHANNELS = o2::ft0::Geometry::Nchannels;
38
39 public:
40 enum : int { TimeMean,
46 void processTF(const gsl::span<const o2::ft0::Digit>& digits,
47 const gsl::span<const o2::ft0::ChannelData>& channels,
48 std::vector<o2::ft0::RecPoints>& vecRecPoints,
49 std::vector<o2::ft0::ChannelDataFloat>& vecChData);
50
52 const gsl::span<const o2::ft0::ChannelData> inChData,
53 std::vector<o2::ft0::ChannelDataFloat>& outChData);
54 void FinishTask();
55 void SetTimeCalibObject(o2::ft0::TimeSpectraInfoObject const* timeCalibObject) { mTimeCalibObject = timeCalibObject; };
57 {
58 LOG(info) << "Init for slewing calib object";
59 mCalibSlew = calibSlew->makeSlewingPlots();
60 };
61 void SetDeadChannelMap(const o2::fit::DeadChannelMap* deadChannelMap)
62 {
63 LOG(info) << "Updated dead channel map for CollisionTimeRecoTask";
64 mDeadChannelMap = deadChannelMap;
65 }
66 float getTimeInPS(const o2::ft0::ChannelData& channelData);
67
68 private:
69 o2::ft0::TimeSpectraInfoObject const* mTimeCalibObject = nullptr;
70 const o2::fit::DeadChannelMap* mDeadChannelMap = nullptr;
71 typename o2::ft0::SlewingCoef::SlewingPlots_t mCalibSlew{};
72};
73} // namespace ft0
74} // namespace o2
75#endif
Dead channel map for FIT.
Class to describe fired and stored channels for the BC and to refer to channel data.
Definition of the FIT RecPoints class.
void SetSlewingCalibObject(o2::ft0::SlewingCoef const *calibSlew)
float getTimeInPS(const o2::ft0::ChannelData &channelData)
o2::ft0::RecPoints processDigit(const o2::ft0::Digit &digit, const gsl::span< const o2::ft0::ChannelData > inChData, std::vector< o2::ft0::ChannelDataFloat > &outChData)
void SetDeadChannelMap(const o2::fit::DeadChannelMap *deadChannelMap)
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)
static constexpr int Nchannels
Definition Geometry.h:50
struct o2::upgrades_utils::@461 ft0
structure to keep V0C information
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
SlewingPlots_t makeSlewingPlots() const
std::array< std::array< TGraph, sNCHANNELS >, sNAdc > SlewingPlots_t
Definition SlewingCoef.h:35
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"
std::vector< ChannelData > channels
std::vector< Digit > digits