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"
24#include <gsl/span>
25#include <array>
26#include <vector>
27#include <TGraph.h>
28
29namespace o2
30{
31namespace ft0
32{
34{
36 static constexpr int NCHANNELS = o2::ft0::Geometry::Nchannels;
37
38 public:
39 enum : int { TimeMean,
45 void processTF(const gsl::span<const o2::ft0::Digit>& digits,
46 const gsl::span<const o2::ft0::ChannelData>& channels,
47 std::vector<o2::ft0::RecPoints>& vecRecPoints,
48 std::vector<o2::ft0::ChannelDataFloat>& vecChData);
49
51 const gsl::span<const o2::ft0::ChannelData> inChData,
52 std::vector<o2::ft0::ChannelDataFloat>& outChData);
53 void FinishTask();
54 void SetTimeCalibObject(o2::ft0::TimeSpectraInfoObject const* timeCalibObject) { mTimeCalibObject = timeCalibObject; };
56 {
57 LOG(info) << "Init for slewing calib object";
58 mCalibSlew = calibSlew->makeSlewingPlots();
59 };
60 float getTimeInPS(const o2::ft0::ChannelData& channelData);
61
62 private:
63 o2::ft0::TimeSpectraInfoObject const* mTimeCalibObject = nullptr;
64 typename o2::ft0::SlewingCoef::SlewingPlots_t mCalibSlew{};
65};
66} // namespace ft0
67} // namespace o2
68#endif
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 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::@462 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