Belle II Software  release-08-01-10
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 
12 namespace 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 postion.
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.