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// basf2
15#include <analysis/dbobjects/ParticleWeightingLookUpTable.h>
16
17namespace Belle2 {
26 typedef std::vector<std::pair<double, double>> Binning;
27
32 class ECLPhotonEnergyResolution : public TObject {
33 public:
38
43
49
57 void addRelativeEnergyResolution(std::vector<double> energyResolution, Binning binning);
58
66 double getRelativeEnergyResolution(double energy, double theta, double phi) const;
67
78 void addThetaPhiResolution(std::vector<double> thetaResolution, std::vector<double> phiResolution, Binning binning);
79
88 double getThetaPhiResolution(double energy, double theta, double phi, bool thetaOrPhi) const;
89
90
91 private:
96
97 // 1: Initial version
98 // 2: Added theta phi resolution functionality for neutral hadrons
100 };
102} // end namespace Belle2
Class to hold the information ECL energy resolution derived from PERC.
void addThetaPhiResolution(std::vector< double > thetaResolution, std::vector< double > phiResolution, Binning binning)
For neutral hadrons Add theta resolution [vector of three values] and phi resolution [vector of three...
double getRelativeEnergyResolution(double energy, double theta, double phi) const
Get energy resolution for given energy, theta, phi.
ClassDef(ECLPhotonEnergyResolution, 2)
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.
double getThetaPhiResolution(double energy, double theta, double phi, bool thetaOrPhi) const
Get theta or phi resolution for given energy, theta, phi.
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.