From 086a14254a387e6e699ebf8566453b7876727f47 Mon Sep 17 00:00:00 2001 From: Alla Maevskaya Date: Fri, 30 Jul 2021 11:35:39 +0300 Subject: [PATCH] few minor fixes --- .../FT0/include/DataFormatsFT0/RecPoints.h | 41 ++++++++++--------- .../FT0CalibCollectorWriterSpec.h | 2 +- .../FT0Reconstruction/CollisionTimeRecoTask.h | 6 ++- .../src/CollisionTimeRecoTask.cxx | 16 +++----- 4 files changed, 32 insertions(+), 33 deletions(-) diff --git a/DataFormats/Detectors/FIT/FT0/include/DataFormatsFT0/RecPoints.h b/DataFormats/Detectors/FIT/FT0/include/DataFormatsFT0/RecPoints.h index ec8958b100b97..a88b74962b844 100644 --- a/DataFormats/Detectors/FIT/FT0/include/DataFormatsFT0/RecPoints.h +++ b/DataFormats/Detectors/FIT/FT0/include/DataFormatsFT0/RecPoints.h @@ -29,15 +29,16 @@ namespace o2 { namespace ft0 { + struct ChannelDataFloat { int ChId = -1; //channel Id int ChainQTC = -1; //QTC chain - double CFDTime = -20000; //time in ps, 0 at the LHC clk center - double QTCAmpl = -20000; // Amplitude mV + float CFDTime = -20000; //time in ps, 0 at the LHC clk center + float QTCAmpl = -20000; // Amplitude mV ChannelDataFloat() = default; - ChannelDataFloat(int iPmt, double time, double charge, int chainQTC) + ChannelDataFloat(int iPmt, float time, float charge, int chainQTC) { ChId = iPmt; CFDTime = time; @@ -62,7 +63,7 @@ class RecPoints o2::dataformats::RangeReference ref; o2::InteractionRecord mIntRecord; // Interaction record (orbit, bc) RecPoints() = default; - RecPoints(const std::array& collisiontime, + RecPoints(const std::array& collisiontime, int first, int ne, o2::InteractionRecord iRec, o2::ft0::Triggers chTrig) : mCollisionTime(collisiontime) { @@ -75,34 +76,34 @@ class RecPoints void print() const; - o2::ft0::Triggers mTriggers; // pattern of triggers in this BC - - float getCollisionTime(int side) const { return mCollisionTime[side]; } - float getCollisionTimeMean() const { return getCollisionTime(TimeMean); } - float getCollisionTimeA() const { return getCollisionTime(TimeA); } - float getCollisionTimeC() const { return getCollisionTime(TimeC); } + short getCollisionTime(int side) const { return mCollisionTime[side]; } + short getCollisionTimeMean() const { return getCollisionTime(TimeMean); } + short getCollisionTimeA() const { return getCollisionTime(TimeA); } + short getCollisionTimeC() const { return getCollisionTime(TimeC); } bool isValidTime(int side) const { return getCollisionTime(side) < o2::InteractionRecord::DummyTime; } - void setCollisionTime(Float_t time, int side) { mCollisionTime[side] = time; } + void setCollisionTime(short time, int side) { mCollisionTime[side] = time; } - Float_t getVertex(Float_t vertex) const { return getCollisionTime(Vertex); } - void setVertex(Float_t vertex) { mCollisionTime[Vertex] = vertex; } + short getVertex() const { return getCollisionTime(Vertex); } + void setVertex(short vertex) { mCollisionTime[Vertex] = vertex; } o2::ft0::Triggers getTrigger() const { return mTriggers; } + void setTriggers(o2::ft0::Triggers trig) { mTriggers = trig; } o2::InteractionRecord getInteractionRecord() const { return mIntRecord; }; - void SetMgrEventTime(Double_t time) { mTimeStamp = time; } + // void SetMgrEventTime(Double_t time) { mTimeStamp = time; } gsl::span getBunchChannelData(const gsl::span tfdata) const; + short static constexpr sDummyCollissionTime = 32767; private: - std::array mCollisionTime = {2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime}; - Double_t mTimeStamp = 2 * o2::InteractionRecord::DummyTime; //event time from Fair for continuous + std::array mCollisionTime = {sDummyCollissionTime, + sDummyCollissionTime, + sDummyCollissionTime, + sDummyCollissionTime}; + o2::ft0::Triggers mTriggers; // pattern of triggers in this BC - ClassDefNV(RecPoints, 2); + ClassDefNV(RecPoints, 3); }; } // namespace ft0 } // namespace o2 diff --git a/Detectors/FIT/FT0/calibration/testWorkflow/FT0CalibCollectorWriterSpec.h b/Detectors/FIT/FT0/calibration/testWorkflow/FT0CalibCollectorWriterSpec.h index a4c6c5e60732f..298d48b22ceb8 100644 --- a/Detectors/FIT/FT0/calibration/testWorkflow/FT0CalibCollectorWriterSpec.h +++ b/Detectors/FIT/FT0/calibration/testWorkflow/FT0CalibCollectorWriterSpec.h @@ -35,7 +35,7 @@ class FT0CalibCollectorWriter : public o2::framework::Task public: void createAndOpenFileAndTree() { - TString filename = TString::Format("collFT0_%d.root", mCount); + TString filename = TString::Format("collFT0%d.root", mCount); LOG(DEBUG) << "opening file " << filename.Data(); mfileOut.reset(TFile::Open(TString::Format("%s", filename.Data()), "RECREATE")); mOutputTree = std::make_unique("treeCollectedCalibInfo", "Tree with FT0 calib info for Time Slewing"); diff --git a/Detectors/FIT/FT0/reconstruction/include/FT0Reconstruction/CollisionTimeRecoTask.h b/Detectors/FIT/FT0/reconstruction/include/FT0Reconstruction/CollisionTimeRecoTask.h index d79c0311fa190..1551a7c2e01ae 100644 --- a/Detectors/FIT/FT0/reconstruction/include/FT0Reconstruction/CollisionTimeRecoTask.h +++ b/Detectors/FIT/FT0/reconstruction/include/FT0Reconstruction/CollisionTimeRecoTask.h @@ -48,7 +48,11 @@ class CollisionTimeRecoTask gsl::span outChData); void FinishTask(); void SetChannelOffset(o2::ft0::FT0ChannelTimeCalibrationObject* caliboffsets) { mCalibOffset = caliboffsets; }; - void SetSlew(std::array* calibslew) { mCalibSlew = calibslew; }; + void SetSlew(std::array* calibslew) + { + LOG(INFO) << "@@@SetSlew " << calibslew->size(); + mCalibSlew = calibslew; + }; int getOffset(int channel, int amp); private: diff --git a/Detectors/FIT/FT0/reconstruction/src/CollisionTimeRecoTask.cxx b/Detectors/FIT/FT0/reconstruction/src/CollisionTimeRecoTask.cxx index 706428a02ec47..83ef25605fc57 100644 --- a/Detectors/FIT/FT0/reconstruction/src/CollisionTimeRecoTask.cxx +++ b/Detectors/FIT/FT0/reconstruction/src/CollisionTimeRecoTask.cxx @@ -42,10 +42,6 @@ o2::ft0::RecPoints CollisionTimeRecoTask::process(o2::ft0::Digit const& bcd, Float_t sideAtime = 0, sideCtime = 0; - // auto timeStamp = o2::InteractionRecord::bc2ns(bcd.mIntRecord.bc, bcd.mIntRecord.orbit); - - // LOG(DEBUG) << " event time " << timeStamp << " orbit " << bcd.mIntRecord.orbit << " bc " << bcd.mIntRecord.bc; - int nch = inChData.size(); const auto parInv = DigitizationParameters::Instance().mMV_2_NchannelsInverse; for (int ich = 0; ich < nch; ich++) { @@ -53,7 +49,7 @@ o2::ft0::RecPoints CollisionTimeRecoTask::process(o2::ft0::Digit const& bcd, outChData[ich] = o2::ft0::ChannelDataFloat{inChData[ich].ChId, (inChData[ich].CFDTime - offsetChannel) * Geometry::ChannelWidth, - (double)inChData[ich].QTCAmpl * parInv, + (float)inChData[ich].QTCAmpl * parInv, inChData[ich].ChainQTC}; // only signals with amplitude participate in collision time @@ -67,13 +63,11 @@ o2::ft0::RecPoints CollisionTimeRecoTask::process(o2::ft0::Digit const& bcd, } } } - std::array mCollisionTime = {2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime, - 2 * o2::InteractionRecord::DummyTime}; + auto sDummyCollissionTime = o2::ft0::RecPoints::sDummyCollissionTime; + std::array mCollisionTime = {sDummyCollissionTime, sDummyCollissionTime, sDummyCollissionTime, sDummyCollissionTime}; // !!!! tobe done::should be fix with ITS vertex - mCollisionTime[TimeA] = (ndigitsA > 0) ? sideAtime / Float_t(ndigitsA) : 2 * o2::InteractionRecord::DummyTime; - mCollisionTime[TimeC] = (ndigitsC > 0) ? sideCtime / Float_t(ndigitsC) : 2 * o2::InteractionRecord::DummyTime; + mCollisionTime[TimeA] = (ndigitsA > 0) ? sideAtime / ndigitsA : sDummyCollissionTime; // 2 * o2::InteractionRecord::DummyTime; + mCollisionTime[TimeC] = (ndigitsC > 0) ? sideCtime / ndigitsC : sDummyCollissionTime; //2 * o2::InteractionRecord::DummyTime; if (ndigitsA > 0 && ndigitsC > 0) { mCollisionTime[Vertex] = (mCollisionTime[TimeA] - mCollisionTime[TimeC]) / 2.;