58 for (
int ieta = 0; ieta < 14; ++ieta) {
59 float centre_eta = (0.1*ieta) + (0.05) ;
60 for (
int iphi = 0; iphi < 64; ++iphi) {
63 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 100000, -1, -1*centre_eta, centre_phi);
64 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 200000, 1, centre_eta, centre_phi);
71 int TRANS_MODIFIER = 14;
72 int tmpVal = TRANS_MODIFIER;
74 for (
int ieta = tmpVal; ieta < tmpVal + 1; ieta++) {
75 float centre_eta = (0.1*ieta) + (0.05);
76 for (
int iphi = 0; iphi < 64; ++iphi) {
79 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 300000, -1,-1*centre_eta, centre_phi);
80 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 400000, 1, centre_eta, centre_phi);
88 int EME_MODIFIER = 15;
89 int tmpVal = EME_MODIFIER;
91 for (
int ieta = tmpVal; ieta < tmpVal + 3; ++ieta) {
92 float centre_eta =(0.1*ieta) + (0.05) ;
93 for (
int iphi = 0; iphi < 64; ++iphi) {
96 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1, -1*centre_eta, centre_phi);
97 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
103 tmpVal = EME_MODIFIER;
104 for (
int ieta = tmpVal; ieta < tmpVal + 2; ++ieta) {
105 float centre_eta = (0.1*ieta) + (0.05);
106 for (
int iphi = 0; iphi < 64; ++iphi) {
109 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1,-1*centre_eta, centre_phi);
110 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
116 tmpVal = EME_MODIFIER;
117 for (
int ieta = tmpVal; ieta < tmpVal + 4; ++ieta) {
118 float centre_eta= (0.1*ieta) + (0.05) ;
119 for (
int iphi = 0; iphi < 64; ++iphi) {
122 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1,-1*centre_eta, centre_phi);
123 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
129 tmpVal = EME_MODIFIER;
130 for (
int ieta = tmpVal; ieta < tmpVal + 1; ++ieta) {
131 float centre_eta = (0.1*ieta) + (0.05);
132 for (
int iphi = 0; iphi < 64; ++iphi) {
136 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1, -1*centre_eta, centre_phi);
137 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
147 int EMIE_MODIFIER = 25;
148 int tmpVal = EMIE_MODIFIER;
149 int cellCountEta = 0;
151 for (
int ieta = tmpVal; ieta < tmpVal + 3; ++ieta) {
153 float centre_eta =(0.1*ieta) + (0.1*cellCountEta) ;
154 for (
int iphi = 0; iphi < 32; ++iphi) {
157 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1, -1*centre_eta, centre_phi);
158 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
163 tmpVal = EMIE_MODIFIER;
164 for (
int ieta = tmpVal; ieta < tmpVal + 1; ++ieta) {
165 float centre_eta = (0.1*ieta + 0.3) + (0.05);
166 for (
int iphi = 0; iphi < 32; ++iphi) {
169 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 500000, -1, -1*centre_eta, centre_phi);
170 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 600000, 1, centre_eta, centre_phi);
178 int FCAL_MODIFIER = 29;
179 int tmpVal = FCAL_MODIFIER;
194 float eta_width = 1.4;
195 int cellCountEta = 0;
196 int FCAL0_INITIAL = FCAL_MODIFIER;
197 std::vector<int> TT_etapos{31,33,34,36,37,39,40,42,43,45,46,48};
198 for (
int ieta = tmpVal; ieta < tmpVal + 12; ++ieta) {
199 int key_eta = ieta - FCAL0_INITIAL;
200 float centre_eta = (TT_etapos[cellCountEta]+eta_width/2)/10.0;
203 for (
int iphi = 0; iphi < 16; ++iphi) {
205 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 700000, -1, -1*centre_eta, centre_phi, 0);
206 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 800000, 1, centre_eta, centre_phi, 0);
214 tmpVal = FCAL_MODIFIER;
215 TT_etapos = {31,33,35,37,39,41,43,44};
216 int FCAL1_INITIAL = FCAL_MODIFIER;
217 for (
int ieta = tmpVal; ieta < tmpVal + 8; ++ieta) {
218 int key_eta = ieta - FCAL1_INITIAL;
219 float centre_eta = (TT_etapos[cellCountEta]+eta_width/2)/10.0;
221 for (
int iphi = 0; iphi < 16; ++iphi) {
223 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 900000, -1, -1*centre_eta, centre_phi, 1);
224 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 1000000, 1, centre_eta, centre_phi, 1);
233 tmpVal = FCAL_MODIFIER;
234 TT_etapos = {31,34,37,41};
235 int FCAL2_INITIAL = FCAL_MODIFIER;
236 for (
int ieta = tmpVal; ieta < tmpVal + 4; ++ieta) {
237 int key_eta = ieta - FCAL2_INITIAL;
238 float centre_eta = (TT_etapos[cellCountEta]+eta_width/2)/10.0;
240 for (
int iphi = 0; iphi < 16; ++iphi) {
242 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 1100000, -1, -1*centre_eta, centre_phi, 2);
243 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 1200000, 1, centre_eta, centre_phi, 2);
255 int HEC_MODIFIER = 29;
256 int tmpVal = HEC_MODIFIER;
257 for (
int ieta = tmpVal; ieta < tmpVal + 10; ++ieta){
258 for (
int iphi = 0; iphi < 64; ++iphi){
260 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 11100000, -1, ieta, iphi);
261 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 22200000, 1, ieta, iphi);
267 tmpVal = HEC_MODIFIER;
268 for (
int ieta = tmpVal; ieta < tmpVal + 4; ++ieta){
269 for (
int iphi = 0; iphi < 32; ++iphi){
271 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 11100000, -1, ieta, iphi);
272 BuildSingleTower(jTowerContainerRaw, ieta, iphi, key_eta, 22200000, 1, ieta, iphi);
293 return StatusCode::FAILURE;
298 auto [CutJetEM, CutJetHad, CutMetEM, CutMetHad] = myDBTool->get_NoiseCuts( jtower->OnlineID() );
299 auto [PileUpWeightEM, PileUpWeightHad, InverseWeightEM, InverseWeightHad] = myDBTool->get_PileUpValues( jtower->OnlineID() );
302 int LSBscale_EM = 25;
303 int LSBscale_HAD = 25;
306 if(std::abs(jtower->centreEta()) < 1.5){
318 InverseWeightHad = 0;
321 jtower->setTTowerArea(PileUpWeightEM,0);
322 jtower->setTTowerArea(PileUpWeightHad,1);
324 jtower->setTTowerAreaInv(InverseWeightEM,0);
325 jtower->setTTowerAreaInv(InverseWeightHad,1);
327 jtower->setNoiseForMet(CutMetEM*LSBscale_EM,0);
328 jtower->setNoiseForMet(CutMetHad*LSBscale_HAD,1);
330 jtower->setNoiseForJet(CutJetEM*LSBscale_EM,0);
331 jtower->setNoiseForJet(CutJetHad*LSBscale_HAD,1);
334 return StatusCode::SUCCESS;
void BuildSingleTower(std::unique_ptr< jTowerContainer > &jTowerContainerRaw, float eta, float phi, int key_eta, float keybase, int posneg, float centre_eta=0.0, float centre_phi=0.0, int fcal_layer=-1) const