ATLAS Offline Software
LArCellMonAlgSetBinning.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "LArCellMonAlg.h"
6 using namespace CaloMonitoring;
7 
9 
10  //EMB Pre-sampler
11  const int embpaNEtaReg = 1;
12  double embpaEtaBreakPts[embpaNEtaReg+1]={0.,1.52};
13  int embpaEtaBins[embpaNEtaReg]={61};
14  m_binning[EMBPA].doEtaBinning(embpaNEtaReg,embpaEtaBreakPts,embpaEtaBins);
15  m_binning[EMBPA].doPhiBinning(64);
16  m_binning[EMBPC]= m_binning[EMBPA].etaMirror();
17 
18  // EMB Layer 1
19  const int emb1aNEtaReg = 1;
20  double emb1aEtaBreakPts[emb1aNEtaReg+1]={0.,1.4};
21  int emb1aEtaBins[emb1aNEtaReg]={448};
22  m_binning[EMB1A].doEtaBinning(emb1aNEtaReg,emb1aEtaBreakPts,emb1aEtaBins);
23  m_binning[EMB1A].doPhiBinning(64);
24  m_binning[EMB1C]=m_binning[EMB1A].etaMirror();
25 
26  // EMB Layer 2
27  const int emb2aNEtaReg = 1;
28  double emb2aEtaBreakPts[emb2aNEtaReg+1]={0.,1.475};
29  int emb2aEtaBins[emb2aNEtaReg]={59};
30  m_binning[EMB2A].doEtaBinning(emb2aNEtaReg,emb2aEtaBreakPts,emb2aEtaBins);
31  m_binning[EMB2A].doPhiBinning(256);
32  m_binning[EMB2C]=m_binning[EMB2A].etaMirror();
33 
34  // EMB Layer 3
35  const int emb3aNEtaReg = 2;
36  double emb3aEtaBreakPts[emb3aNEtaReg+1]={0.00,1.35,1.475};
37  int emb3aEtaBins[emb3aNEtaReg]={27,1};
38  m_binning[EMB3A].doEtaBinning(emb3aNEtaReg,emb3aEtaBreakPts,emb3aEtaBins);
39  m_binning[EMB3A].doPhiBinning(256);
40  m_binning[EMB3C]= m_binning[EMB3A].etaMirror();
41 
42  // HEC Layer 0
43  const int hec0aNEtaReg = 2;
44  double hec0aEtaBreakPts[hec0aNEtaReg+1]={1.5,2.5,3.3};
45  int hec0aEtaBins[hec0aNEtaReg]={10,4};
46  m_binning[HEC0A].doEtaBinning(hec0aNEtaReg,hec0aEtaBreakPts,hec0aEtaBins);
47  m_binning[HEC0A].doPhiBinning(64);
48  m_binning[HEC0C]=m_binning[HEC0A].etaMirror();
49 
50  // HEC Layer 1
51  const int hec1aNEtaReg = 2;
52  double hec1aEtaBreakPts[hec1aNEtaReg+1]={1.5,2.5,3.1};
53  int hec1aEtaBins[hec1aNEtaReg]={10,3};
54  m_binning[HEC1A].doEtaBinning(hec1aNEtaReg,hec1aEtaBreakPts,hec1aEtaBins);
55  m_binning[HEC1A].doPhiBinning(64);
56  m_binning[HEC1C]=m_binning[HEC1A].etaMirror();
57 
58  // HEC Layer 2
59  const int hec2aNEtaReg = 2;
60  double hec2aEtaBreakPts[hec2aNEtaReg+1]={1.6,2.5,3.1};
61  int hec2aEtaBins[hec2aNEtaReg]={9,3};
62  m_binning[HEC2A].doEtaBinning(hec2aNEtaReg,hec2aEtaBreakPts,hec2aEtaBins);
63  m_binning[HEC2A].doPhiBinning(64);
64  m_binning[HEC2C]=m_binning[HEC2A].etaMirror();
65 
66  // HEC Layer 3
67  const int hec3aNEtaReg = 2;
68  double hec3aEtaBreakPts[hec3aNEtaReg+1]={1.7,2.5,3.3};
69  int hec3aEtaBins[hec3aNEtaReg]={8,4};
70  m_binning[HEC3A].doEtaBinning(hec3aNEtaReg,hec3aEtaBreakPts,hec3aEtaBins);
71  m_binning[HEC3A].doPhiBinning(64);
72  m_binning[HEC3C]=m_binning[HEC3A].etaMirror();
73 
74  // EMEC Pre-sampler (Layer 0)
75  const int emecpaNEtaReg = 1;
76  double emecpaEtaBreakPts[emecpaNEtaReg+1]={1.5,1.8};
77  int emecpaEtaBins[emecpaNEtaReg]={12};
78  m_binning[EMECPA].doEtaBinning(emecpaNEtaReg,emecpaEtaBreakPts,emecpaEtaBins);
79  m_binning[EMECPA].doPhiBinning(64);
80  m_binning[EMECPC]=m_binning[EMECPA].etaMirror();
81 
82  // EMEC Layer 1
83  const int emec1aNEtaReg = 7;
84  double emec1aEtaBreakPts[emec1aNEtaReg+1]={1.375,1.425,1.5,1.8,2.0,2.4,2.5,3.2};
85  int emec1aEtaBins[emec1aNEtaReg]={1,3,96,48,64,4,7};
86  m_binning[EMEC1A].doEtaBinning(emec1aNEtaReg,emec1aEtaBreakPts,emec1aEtaBins);
87  m_binning[EMEC1A].doPhiBinning(64);
88  m_binning[EMEC1C]=m_binning[EMEC1A].etaMirror();
89 
90  // EMEC Layer 2
91  const int emec2aNEtaReg = 3;
92  double emec2aEtaBreakPts[emec2aNEtaReg+1]={1.375,1.425,2.5,3.2};
93  int emec2aEtaBins[emec2aNEtaReg]={1,43,7};
94  m_binning[EMEC2A].doEtaBinning(emec2aNEtaReg,emec2aEtaBreakPts,emec2aEtaBins);
95  m_binning[EMEC2A].doPhiBinning(256);
96  m_binning[EMEC2C]=m_binning[EMEC2A].etaMirror();
97 
98  // EMEC Layer 3
99  const int emec3aNEtaReg = 1;
100  double emec3aEtaBreakPts[emec3aNEtaReg+1]={1.5,2.5};
101  int emec3aEtaBins[emec3aNEtaReg]={20};
102  m_binning[EMEC3A].doEtaBinning(emec3aNEtaReg,emec3aEtaBreakPts,emec3aEtaBins);
103  m_binning[EMEC3A].doPhiBinning(256);
104  m_binning[EMEC3C]=m_binning[EMEC3A].etaMirror();
105 
106  // FCAL Layer 1 (0th layer in the code)
107  const int fcal1aNEtaReg = 4;
108  double fcal1aEtaBreakPts[fcal1aNEtaReg+1]={3.08,3.2,3.8,4.6,4.82};
109  int fcal1aEtaBins[fcal1aNEtaReg]={3,6,4,2};
110  m_binning[FCAL1A].doEtaBinning(fcal1aNEtaReg,fcal1aEtaBreakPts,fcal1aEtaBins);
111 
112  const int fcal1aNPhiReg = 95;
113  double fcal1aPhiBreakPts[fcal1aNPhiReg+1]=
114  {-M_PI,(-250.0/256)*M_PI,(-248.0/256)*M_PI,(-243.0/256)*M_PI,(-240.0/256)*M_PI,(-234.0/256)*M_PI,
115  (-230.0/256)*M_PI,(-225.0/256)*M_PI,(-219.0/256)*M_PI,(-195.0/256)*M_PI,(-190.0/256)*M_PI,(-186.0/256)*M_PI,
116  (-183.0/256)*M_PI,(-178.0/256)*M_PI,(-175.0/256)*M_PI,(-173.0/256)*M_PI,(-167.0/256)*M_PI,(-161.0/256)*M_PI,
117  (-159.0/256)*M_PI,(-156.0/256)*M_PI,(-151.0/256)*M_PI,(-148.0/256)*M_PI,(-146.0/256)*M_PI,(-141.0/256)*M_PI,
118  (-139.0/256)*M_PI,(-135.0/256)*M_PI,(-132.0/256)*M_PI,(-120.0/256)*M_PI,(-117.0/256)*M_PI,(-114.0/256)*M_PI,
119  (-110.0/256)*M_PI,(-105.0/256)*M_PI,(-97.0/256)*M_PI,(-94.0/256)*M_PI,(-86.0/256)*M_PI,(-78.0/256)*M_PI,
120  (-63.0/256)*M_PI,(-60.0/256)*M_PI,(-56.0/256)*M_PI,(-46.0/256)*M_PI,(-44.0/256)*M_PI,(-41.0/256)*M_PI,
121  (-32.0/256)*M_PI,(-28.0/256)*M_PI,(-22.0/256)*M_PI,(-10.0/256)*M_PI,(-7.0/256)*M_PI,(-3.0/256)*M_PI,
122  (6.0/256)*M_PI,(8.0/256)*M_PI,(13.0/256)*M_PI,(16.0/256)*M_PI,(22.0/256)*M_PI,(26.0/256)*M_PI,(31.0/256)*M_PI,
123  (37.0/256)*M_PI,(61.0/256)*M_PI,(66.0/256)*M_PI,(70.0/256)*M_PI,(73.0/256)*M_PI,(78.0/256)*M_PI,(81.0/256)*M_PI,
124  (83.0/256)*M_PI,(89.0/256)*M_PI,(95.0/256)*M_PI,(97.0/256)*M_PI,(100.0/256)*M_PI,(105.0/256)*M_PI,
125  (108.0/256)*M_PI,(110.0/256)*M_PI,(115.0/256)*M_PI,(117.0/256)*M_PI,(121.0/256)*M_PI,(124.0/256)*M_PI,
126  (136.0/256)*M_PI,(139.0/256)*M_PI,(142.0/256)*M_PI,(146.0/256)*M_PI,(151.0/256)*M_PI,(159.0/256)*M_PI,
127  (162.0/256)*M_PI,(170.0/256)*M_PI,(178.0/256)*M_PI,(193.0/256)*M_PI,(196.0/256)*M_PI,(200.0/256)*M_PI,
128  (210.0/256)*M_PI,(212.0/256)*M_PI,(215.0/256)*M_PI,(224.0/256)*M_PI,(228.0/256)*M_PI,(234.0/256)*M_PI,
129  (246.0/256)*M_PI,(249.0/256)*M_PI,(253.0/256)*M_PI,M_PI};
130  int fcal1aPhiBins[fcal1aNPhiReg+1] =
131  {2,1,1,1,1,1,1,2,6,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,2,1,2,1,2,4,3,1,1,2,1,1,3,1,2,2,1,2,3,
132  1,1,1,1,1,1,2,6,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,2,1,2,1,2,4,3,1,1,2,1,1,3,1,2,2,1,2,1};
133  m_binning[FCAL1A].doPhiBinning(fcal1aNPhiReg,fcal1aPhiBreakPts,fcal1aPhiBins);
134  m_binning[FCAL1C]=m_binning[FCAL1A].etaMirror();
135 
136  // FCAL Layer 2 (1st layer in the code);
137  const int fcal2aNEtaReg = 15;
138  double fcal2aEtaBreakPts[fcal2aNEtaReg+1]=
139  {3.192,3.1987,3.206,3.22,3.26,3.34,3.37,3.39,3.52,3.57,3.835,4.1,4.365,4.5,4.65,4.81};
140  int fcal2aEtaBins[fcal2aNEtaReg]={1,1,1,2,2,1,1,3,1,4,2,1,1,1,1};
141  m_binning[FCAL2A].doEtaBinning(fcal2aNEtaReg,fcal2aEtaBreakPts,fcal2aEtaBins);
142 
143  const int fcal2aNPhiReg = 32;
144  double fcal2aPhiBreakPts[fcal2aNPhiReg+1]=
145  {-M_PI,(-62.0/64)*M_PI,(-59.0/64)*M_PI,(-55.0/64)*M_PI,(-52.0/64)*M_PI,(-50.0/64)*M_PI,(-48.0/64)*M_PI,
146  (-45.0/64)*M_PI,(-41.0/64)*M_PI,(-38.0/64)*M_PI,(-22.0/64)*M_PI,(-18.0/64)*M_PI,(-12.0/64)*M_PI,
147  (-8.0/64)*M_PI,(-5.0/64)*M_PI,(-1.0/64)*M_PI,0,(2.0/64)*M_PI,(5.0/64)*M_PI,(9.0/64)*M_PI,(12.0/64)*M_PI,
148  (14.0/64)*M_PI,(16.0/64)*M_PI,(19.0/64)*M_PI,(23.0/64)*M_PI,(26.0/64)*M_PI,(42.0/64)*M_PI,(46.0/64)*M_PI,
149  (52.0/64)*M_PI,(56.0/64)*M_PI,(59.0/64)*M_PI,(63.0/64)*M_PI,M_PI};
150  int fcal2aPhiBins[fcal2aNPhiReg+1] =
151  {1,1,1,1,1,1,1,1,1,8,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,3,1,1,1,1};
152  m_binning[FCAL2A].doPhiBinning(fcal2aNPhiReg,fcal2aPhiBreakPts,fcal2aPhiBins);
153  m_binning[FCAL2C]=m_binning[FCAL2A].etaMirror();
154 
155  // FCAL Layer 3 (2nd layer in the code)
156  const int fcal3aNEtaReg = 5;
157  double fcal3aEtaBreakPts[fcal3aNEtaReg+1]={3.27,3.43,3.7,3.91,4.33,4.75};
158  int fcal3aEtaBins[fcal3aNEtaReg]={2,2,1,1,2};
159  m_binning[FCAL3A].doEtaBinning(fcal3aNEtaReg,fcal3aEtaBreakPts,fcal3aEtaBins);
160 
161  const int fcal3aNPhiReg = 22;
162  double fcal3aPhiBreakPts[fcal3aNPhiReg+1]=
163  {-M_PI,(-40.0/64)*M_PI,(-39.0/64)*M_PI,(-35.0/64)*M_PI,(-29.0/64)*M_PI,(-24.0/64)*M_PI,(-22.0/64)*M_PI,
164  (-16.0/64)*M_PI,(-11.0/64)*M_PI,(-9.0/64)*M_PI,(-6.0/64)*M_PI,0,(24.0/64)*M_PI,(25.0/64)*M_PI,
165  (29.0/64)*M_PI,(35.0/64)*M_PI,(40.0/64)*M_PI,(42.0/64)*M_PI,(48.0/64)*M_PI,(53.0/64)*M_PI,(55.0/64)*M_PI,
166  (58.0/64)*M_PI,M_PI};
167  int fcal3aPhiBins[fcal3aNPhiReg+1] = {10,1,1,4,2,1,2,2,1,1,2,10,1,1,4,2,1,2,2,1,1,2};
168  m_binning[FCAL3A].doPhiBinning(fcal3aNPhiReg,fcal3aPhiBreakPts,fcal3aPhiBins);
169  m_binning[FCAL3C]=m_binning[FCAL3A].etaMirror();
170 }
M_PI
#define M_PI
Definition: ActiveFraction.h:11
LArCellMonAlg.h
CaloMonitoring
Definition: LArCellBinning.h:19
LArCellMonAlg::setLArCellBinning
void setLArCellBinning()
Definition: LArCellMonAlgSetBinning.cxx:8