Belle II Software development
ECLLeakagePosition.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#pragma once
9
10#include <framework/database/DBObjPtr.h>
11
12namespace Belle2 {
17 class ECLCrystalCalib;
18 namespace ECL {
19 class ECLNeighbours;
20
25
26 public:
27
30
33
40 std::vector<int> getLeakagePosition(const int cellIDFromEnergy, const float theta, const float phi, const int nPositions);
41
42 private:
43
46 std::vector<float> m_thetaEdge;
49 std::vector<float> m_phiEdge;
52 std::vector<float> m_thetaWidth;
55 std::vector<float> m_phiWidth;
59 std::vector<int> m_thetaIDofCrysID;
60 std::vector<int> m_phiIDofCrysID;
61 std::vector<int> m_crysBetweenMech;
62 const int m_firstBarrelThetaID = 13;
63 const int m_lastBarrelThetaID = 58;
65 };
66
67 } // end of namespace ECL
69} // end of namespace Belle2
70
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Class to get position information for a cluster for leakage corrections.
DBObjPtr< ECLCrystalCalib > m_ECLCrystalPhiEdge
lower edges of crystals, phi
std::vector< int > m_crysBetweenMech
crystals between phi mechanical structure per thetaID
ECL::ECLNeighbours * m_neighbours
8 nearest neighbours to crystal
std::vector< int > m_thetaIDofCrysID
thetaID of each crystal ID
std::vector< float > m_thetaEdge
lower theta edges from DB object
std::vector< int > m_phiIDofCrysID
phiID of each crystal ID
std::vector< float > m_thetaWidth
crystal theta widths from DB object
DBObjPtr< ECLCrystalCalib > m_ECLCrystalThetaWidth
width in theta
std::vector< float > m_phiWidth
crystal phi widths from DB object
DBObjPtr< ECLCrystalCalib > m_ECLCrystalPhiWidth
width in phi
const int m_firstBarrelThetaID
first barrel thetaID
std::vector< int > getLeakagePosition(const int cellIDFromEnergy, const float theta, const float phi, const int nPositions)
Return position.
std::vector< float > m_phiEdge
lower phi edges from DB object
const int m_lastBarrelThetaID
last barrel thetaID
DBObjPtr< ECLCrystalCalib > m_ECLCrystalThetaEdge
Required geometry payloads.
Class to get the neighbours for a given cell id.
Definition: ECLNeighbours.h:25
Abstract base class for different kinds of events.