CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HFNoseTilesConstants.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HGCalRecProducer_HFNoseTilesConstants_h
2 #define RecoLocalCalo_HGCalRecProducer_HFNoseTilesConstants_h
3 
5 
6 #include <cstdint>
7 #include <array>
8 
10  // inner radius ~ 3cm , other radius ~ 110
11  static constexpr float tileSize = 5.f;
12  static constexpr float minX = -110.f;
13  static constexpr float maxX = 110.f;
14  static constexpr float minY = -110.f;
15  static constexpr float maxY = 110.f;
16  static constexpr int nColumns = reco::ceil((maxX - minX) / tileSize);
17  static constexpr int nRows = reco::ceil((maxY - minY) / tileSize);
18  static constexpr float tileSizeEtaPhi = 0.15f;
19  static constexpr float minEta = -4.2f;
20  static constexpr float maxEta = 4.2f;
21  //To properly construct search box for cells in phi=[-3.15,-3.] and [3.,3.15], cells in phi=[3.,3.15]
22  //are copied to the first bin and cells in phi=[-3.15,-3.] are copied to the last bin
23  static constexpr float minPhi = -3.3f;
24  static constexpr float maxPhi = 3.3f;
25  static constexpr int nColumnsEta = reco::ceil((maxEta - minEta) / tileSizeEtaPhi);
26  static constexpr int nRowsPhi = reco::ceil((maxPhi - minPhi) / tileSizeEtaPhi);
27  static constexpr int nTiles = nColumns * nRows + nColumnsEta * nRowsPhi;
28 };
29 
30 #endif
constexpr int32_t ceil(float num)
static constexpr int nTiles
static constexpr float maxPhi
static constexpr float minX
static constexpr float maxX
static constexpr float minPhi
static constexpr float minY
static constexpr float tileSize
static constexpr int nColumns
static constexpr int nRowsPhi
static constexpr float tileSizeEtaPhi
static constexpr float minEta
static constexpr float maxEta
static constexpr float maxY
static constexpr int nRows
static constexpr int nColumnsEta