Project
Loading...
Searching...
No Matches
TDCCalib.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
12#include <mutex>
13#include <memory>
14#include <TH1.h>
15#include <TH2.h>
16#include <THnBase.h>
17#include <THnSparse.h>
18#include <TMinuit.h>
19#include <TMath.h>
20#include "ZDCBase/Constants.h"
24#include "CCDB/CcdbObjectInfo.h" //added by me
29
30#ifndef ALICEO2_ZDC_TDCCALIB_H_
31#define ALICEO2_ZDC_TDCCALIB_H_
32namespace o2
33{
34namespace zdc
35{
36
37class TDCCalib //after
38{
39
40 using CcdbObjectInfo = o2::ccdb::CcdbObjectInfo; //added by me
41
42 public:
43 TDCCalib() = default;
44 int init();
45 void clear(int ih = -1);
46 int process(const gsl::span<const o2::zdc::BCRecData>& bcrec,
47 const gsl::span<const o2::zdc::ZDCEnergy>& energy,
48 const gsl::span<const o2::zdc::ZDCTDCData>& tdc,
49 const gsl::span<const uint16_t>& info); // Calibration of RUN3 data
50 int process(const TDCCalibData& data); // Calibration of RUN3 data - aggregator node
51 int endOfRun(); // Perform minimization
52 double extractShift(int ih);
54 int write(const std::string fn = "ZDCTDCCalib.root");
55
56 const ZDCTDCParam& getTDCParamUpd() const { return mTDCParamUpd; };
57 int saveDebugHistos(const std::string fn = "ZDCTDCalib.root");
58 void setSaveDebugHistos() { mSaveDebugHistos = true; }
59 void setDontSaveDebugHistos() { mSaveDebugHistos = false; }
60
61 CcdbObjectInfo& getCcdbObjectInfo() { return mInfo; }
62
63 void setTDCParam(const ZDCTDCParam* param) { mTDCParam = param; };
64 const ZDCTDCParam* getTDCParam() const { return mTDCParam; };
65 void setTDCCalibConfig(const TDCCalibConfig* param) { mTDCCalibConfig = param; };
66 const TDCCalibConfig* getTDCCalibConfig() const { return mTDCCalibConfig; };
67
68 void setVerbosity(int v) { mVerbosity = v; }
69 int getVerbosity() const { return mVerbosity; }
70
71 private:
72 std::array<o2::dataformats::FlatHisto1D<float>*, NTDCChannels> mCTDC{}; //array of FlatHisto1D, number of elements = NTDCChannles (= 10), defined in constants.h {} means defined but not initialized
73 std::array<std::unique_ptr<TH1>, NTDCChannels> mHCTDC{}; //copy of flat histo 1D in TH1F to use root functions
74 bool mInitDone = false;
75 bool mSaveDebugHistos = false;
76 const TDCCalibConfig* mTDCCalibConfig = nullptr;
77 const ZDCTDCParam* mTDCParam = nullptr;
78 int32_t mVerbosity = DbgMinimal;
79
80 TDCCalibData mData;
81 ZDCTDCParam mTDCParamUpd;
82 CcdbObjectInfo mInfo;
83 void assign(int ih, bool ismod);
84};
85} // namespace zdc
86} // namespace o2
87
88#endif
1D messeageable histo class
2D messeageable histo class
Class to describe reconstructed ZDC event (single BC with signal in one of detectors)
Configuration of ZDC TDC calibration procedure.
TDC calibration intermediate data.
Parameters to correct TDCs (produced by QA)
ZDC Tower calibration.
const ZDCTDCParam * getTDCParam() const
Definition TDCCalib.h:64
const TDCCalibConfig * getTDCCalibConfig() const
Definition TDCCalib.h:66
void add(int ih, o2::dataformats::FlatHisto1D< float > &h1)
Definition TDCCalib.cxx:165
CcdbObjectInfo & getCcdbObjectInfo()
Definition TDCCalib.h:61
void setTDCParam(const ZDCTDCParam *param)
Definition TDCCalib.h:63
double extractShift(int ih)
Definition TDCCalib.cxx:180
void setVerbosity(int v)
Definition TDCCalib.h:68
int saveDebugHistos(const std::string fn="ZDCTDCalib.root")
void setTDCCalibConfig(const TDCCalibConfig *param)
Definition TDCCalib.h:65
void setDontSaveDebugHistos()
Definition TDCCalib.h:59
const ZDCTDCParam & getTDCParamUpd() const
Definition TDCCalib.h:56
int getVerbosity() const
Definition TDCCalib.h:69
int write(const std::string fn="ZDCTDCCalib.root")
Definition TDCCalib.cxx:196
int process(const gsl::span< const o2::zdc::BCRecData > &bcrec, const gsl::span< const o2::zdc::ZDCEnergy > &energy, const gsl::span< const o2::zdc::ZDCTDCData > &tdc, const gsl::span< const uint16_t > &info)
TDCCalib()=default
void setSaveDebugHistos()
Definition TDCCalib.h:58
const GLdouble * v
Definition glcorearb.h:832
GLboolean * data
Definition glcorearb.h:298
GLenum GLfloat param
Definition glcorearb.h:271
constexpr int NTDCChannels
Definition Constants.h:90
constexpr int DbgMinimal
Definition Constants.h:208
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
vec clear()