Belle II Software  release-06-02-00
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> thetaEdge;
49  std::vector<float> phiEdge;
52  std::vector<float> thetaWidth;
55  std::vector<float> phiWidth;
59  std::vector<int> thetaIDofCrysID;
60  std::vector<int> phiIDofCrysID;
61  std::vector<int> crysBetweenMech;
62  const int firstBarrelThetaID = 13;
63  const int 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< float > thetaEdge
lower theta edges from DB object
std::vector< int > crysBetweenMech
crystals between phi mechanical structure per thetaID
std::vector< float > phiEdge
lower phi edges from DB object
ECL::ECLNeighbours * neighbours
8 nearest neighbours to crystal
std::vector< int > thetaIDofCrysID
thetaID of each crystal ID
const int firstBarrelThetaID
first barrel thetaID
DBObjPtr< ECLCrystalCalib > m_ECLCrystalThetaWidth
width in theta
DBObjPtr< ECLCrystalCalib > m_ECLCrystalPhiWidth
width in phi
std::vector< int > getLeakagePosition(const int cellIDFromEnergy, const float theta, const float phi, const int nPositions)
Return postion.
std::vector< float > phiWidth
crystal phi widths from DB object
const int lastBarrelThetaID
last barrel thetaID
DBObjPtr< ECLCrystalCalib > m_ECLCrystalThetaEdge
Required geometry payloads.
std::vector< float > thetaWidth
crystal theta widths from DB object
std::vector< int > phiIDofCrysID
phiID of each crystal ID
Class to get the neighbours for a given cell id.
Definition: ECLNeighbours.h:23
Abstract base class for different kinds of events.