Belle II Software development
TOPCalPhotonYields.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <TObject.h>
12#include <framework/logging/Logger.h>
13#include <vector>
14#include <TH1F.h>
15#include <TH2F.h>
16
17namespace Belle2 {
26 class TOPCalPhotonYields: public TObject {
27
28 public:
29
34
40 void setTimeStamp(unsigned utime, unsigned utimeStd)
41 {
42 m_utime = utime;
43 m_utimeStd = utimeStd;
44 }
45
57 void set(int slot, const TH1F* photonYields, const TH1F* backgroundYields, const TH1F* alphaRatio,
58 const TH1F* activePixels, const TH2F* pulseHeights, const TH1F* muonZ);
59
64 unsigned getTimeStamp() const {return m_utime;}
65
70 unsigned getTimeStampStd() const {return m_utimeStd;}
71
78 const TH2F* getPhotonYields(int slot) const;
79
86 const TH2F* getBackgroundYields(int slot) const;
87
94 const TH2F* getAlphaRatio(int slot) const;
95
101 const TH2F* getActivePixels(int slot) const;
102
108 const TH2F* getPulseHeights(int slot) const;
109
115 const TH1F* getMuonZ(int slot) const;
116
117 private:
118
119 static constexpr int c_numRows = 8;
120 static constexpr int c_numCols = 64;
127 void copyContent(const TH1F* input, TH2F& output);
128
129 unsigned m_utime = 0;
130 unsigned m_utimeStd = 0;
131 std::vector<TH2F> m_photonYields;
132 std::vector<TH2F> m_backgroundYields;
133 std::vector<TH2F> m_alphaRatio;
134 std::vector<TH2F> m_activePixels;
135 std::vector<TH2F> m_pulseHeights;
136 std::vector<TH1F> m_muonZ;
140 };
141
143}
Class to store photon pixel yields for PMT ageing studies, and equalized alpha ratios for finding opt...
std::vector< TH2F > m_activePixels
active pixels (index = slot - 1)
std::vector< TH2F > m_pulseHeights
pixel pulse-heights (index = slot - 1)
unsigned m_utime
average unix time in seconds
unsigned m_utimeStd
standard deviation of unix time in seconds
unsigned getTimeStamp() const
Returns average unix time stamp of events used to make histograms stored in this class.
std::vector< TH1F > m_muonZ
local z distribution of tracks (index = slot - 1)
ClassDef(TOPCalPhotonYields, 2)
ClassDef.
static constexpr int c_numCols
number of pixel columns
std::vector< TH2F > m_alphaRatio
equalized alpha ratio per pixel (index = slot - 1)
unsigned getTimeStampStd() const
Returns standard deviation of unix time stamps of events used to make histograms stored in this class...
static constexpr int c_numRows
number of pixel rows
void setTimeStamp(unsigned utime, unsigned utimeStd)
Sets unix time stamp.
TOPCalPhotonYields()
Default constructor.
std::vector< TH2F > m_photonYields
photon yields per pixel (index = slot - 1)
std::vector< TH2F > m_backgroundYields
background yields per pixel (index = slot - 1)
void set(int slot, const TH1F *photonYields, const TH1F *backgroundYields, const TH1F *alphaRatio, const TH1F *activePixels, const TH2F *pulseHeights, const TH1F *muonZ)
Sets the data of a given slot.
const TH2F * getAlphaRatio(int slot) const
Returns a 2D histogram of equalized pixel alpha ratio.
const TH1F * getMuonZ(int slot) const
Returns z distribution of tracks used to determine pixel yields.
const TH2F * getActivePixels(int slot) const
Returns a 2D histogram of active pixels.
const TH2F * getPulseHeights(int slot) const
Returns a 2D histogram of pixel pulse-heights.
const TH2F * getBackgroundYields(int slot) const
Returns a 2D histogram of background pixel yields.
void copyContent(const TH1F *input, TH2F &output)
Copy content of 1D histogram into 2D histogram.
const TH2F * getPhotonYields(int slot) const
Returns a 2D histogram of photon pixel yields.
Abstract base class for different kinds of events.