16 const IInterface*
p ) :
19 declareInterface< ITrigL2LayerNumberTool >(
this );
53 return StatusCode::SUCCESS;
78 if(offlineId==0)
continue;
81 if(std::abs(barrel_ec)>2)
continue;
89 if(barrel_ec== 0) vol_id = 8;
90 if(barrel_ec==-2) vol_id = 7;
91 if(barrel_ec== 2) vol_id = 9;
93 int new_vol=0, new_lay=0;
95 if(vol_id == 7 || vol_id == 9) {
96 new_vol = 10*vol_id + lay_id;
99 else if(vol_id == 8) {
101 new_vol = 10*vol_id + lay_id;
104 auto t = std::make_tuple(barrel_ec==0 ? -100 : barrel_ec, subdetid, new_vol, new_lay);
106 std::map<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >
::iterator it = hashMap.find(
t);
107 if(
it==hashMap.end())
108 hashMap.insert(std::pair<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >(
t,std::vector<PhiEtaHashITk>(1,
PhiEtaHashITk(phi_index,
eta_index,
hash) )));
118 if(offlineId==0)
continue;
126 if(barrel_ec) vol_id = 12;
127 if(barrel_ec>0) vol_id = 14;
131 auto t = std::make_tuple(barrel_ec==0 ? -100 : barrel_ec, subdetid, vol_id, lay_id);
133 std::map<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >
::iterator it = hashMap.find(
t);
134 if(
it==hashMap.end())
135 hashMap.insert(std::pair<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >(
t,std::vector<PhiEtaHashITk>(1,
PhiEtaHashITk(phi_index,
eta_index,
hash))));
150 for(std::map<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >::
iterator it = hashMap.begin();
it!=hashMap.end();++
it, layerId++) {
152 short vol_id = std::get<2>((*it).first);
153 short lay_id = std::get<3>((*it).first);
154 int combinedId =
static_cast<int>(vol_id)*1000 + lay_id;
156 short subdetId = std::get<1>((*it).first);
157 short barrel_ec = std::get<0>((*it).first);
159 if(barrel_ec == -100) barrel_ec = 0;
170 float minBound = 100000.0;
171 float maxBound =-100000.0;
189 rc += sqrt(
C(0)*
C(0)+
C(1)*
C(1));
190 if(
p->zMin() < minBound) minBound =
p->zMin();
191 if(
p->zMax() > maxBound) maxBound =
p->zMax();
195 if(
p->rMin() < minBound) minBound =
p->rMin();
196 if(
p->rMax() > maxBound) maxBound =
p->rMax();
205 ATH_MSG_INFO(
"List of unique layers in Pixel and SCT :");
206 for(
int l=0;
l<layerId;
l++) {