Belle II Software development
ECLPhotonEnergyResolution.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// Root
12#include <TObject.h>
13
14/* C++ headers. */
15#include <map>
16
17// basf2
18#include <analysis/dbobjects/ParticleWeightingLookUpTable.h>
19
20namespace Belle2 {
29 typedef std::vector<std::pair<double, double>> Binning;
30
35 class ECLPhotonEnergyResolution : public TObject {
36 public:
41
46
52
60 void addRelativeEnergyResolution(std::vector<double> energyResolution, Binning binning);
61
69 double getRelativeEnergyResolution(double energy, double theta, double phi) const;
70
71 private:
76
77 // 1: Initial version
79 };
81} // end namespace Belle2
Class to hold the information ECL energy resolution derived from PERC.
double getRelativeEnergyResolution(double energy, double theta, double phi) const
Get energy resolution for given energy, theta, phi.
ClassDef(ECLPhotonEnergyResolution, 1)
ClassDef.
void addRelativeEnergyResolution(std::vector< double > energyResolution, Binning binning)
Add energy bin [vector of three pairs] and energy resolution [vector of three values] Energy resoluti...
ParticleWeightingLookUpTable getFullEnergyResolution() const
Get ParticleWeightingLookUpTable with binned energy resolution.
ParticleWeightingLookUpTable m_resolutionBinningTable
Utilise ParticleWeighting modules as holders for binning of energy resolution.
std::vector< std::pair< double, double > > Binning
Bin holder as vector for bin limit pairs: [energy limits, theta limits, phi limits].
Abstract base class for different kinds of events.