ATLAS Offline Software
Loading...
Searching...
No Matches
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"
6using 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}
#define M_PI
std::array< CaloMonitoring::LArCellBinning, MAXLAYER > m_binning