|
ATLAS Offline Software
|
Go to the documentation of this file.
23 m_l1ttonlineHelper(0),
24 m_l1ttofflineHelper(0),
36 sc =
detStore()->retrieve(l1ttonline_id,
"TTOnlineID");
46 sc =
detStore()->retrieve(l1ttoffline_id,
"CaloLVL1_ID");
60 return StatusCode::SUCCESS;
67 if(crate==0 || crate==2 || crate==4 || crate==6)
return 1;
68 else if(crate==1 || crate==3 || crate==5 || crate==7)
return 0;
74 if(crate==0 || crate==1 || crate==2 || crate==3)
return 0;
75 else if(crate==6 || crate ==7 )
return 1;
76 else if (crate==4 || crate ==5) {
88 }
else if ( ppm_type==7 && this->
side(
id)==1 ) {
91 int normalized_submodule_number = submodule%4;
94 if( normalized_submodule_number==1 || normalized_submodule_number ==2)
return 1;
105 }
else if ( ppm_type==7 && this->
side(
id)==0 ) {
108 int normalized_submodule_number = submodule%4;
111 if( normalized_submodule_number==0 || normalized_submodule_number ==3)
return 1;
122 }
else if ( ppm_type==8 && this->
side(
id)==1 ) {
125 if(channel==0)
return 1;
129 }
else if ( ppm_type==8 && this->
side(
id)==0 ) {
132 if(channel==2)
return 1;
136 }
else if ( ppm_type==9 ) {
147 if(crate==0 || crate==6 )
return (
module-5)%4+1;
148 if(crate==1 || crate==7 )
return 4-(
module-5)%4;
149 if(crate==2 || crate==4 ) {
151 else return (
module-6)%4+5;
153 if(crate==3 || crate==5 ) {
155 else return 8-(
module-5)%4;
164 int pos_neg = this->
side(
id);
173 if(ppm_type==7)
return 24;
175 int module_eta_offset = 0;
176 int submodule_eta_offset = 0;
177 int channel_eta_offset = 0;
179 module_eta_offset = (ppm_type-1)*4;
182 if( (submodule%4)==0 || (submodule%4)==3 ) submodule_eta_offset = 0;
183 else submodule_eta_offset = 2;
184 channel_eta_offset =
channel/2;
186 if( (submodule%4)==0 || (submodule%4)==3 ) submodule_eta_offset = 2;
187 else submodule_eta_offset = 0;
188 channel_eta_offset = 1-
channel/2;
190 return module_eta_offset + submodule_eta_offset + channel_eta_offset;
195 if(ppm_type==8)
return 2;
198 if(submodule%4==1 || submodule%4 ==2)
return 1;
201 if(submodule%4==0 || submodule%4 ==3)
return 1;
217 else if(
channel%4==1)
return 3;
218 else if(
channel%4==2)
return 1;
219 else if(
channel%4==3)
return 2;
239 else if(
channel%4==1)
return 3;
240 else if(
channel%4==2)
return 1;
241 else if(
channel%4==3)
return 2;
248 else if(
channel%4==1)
return 0;
249 else if(
channel%4==2)
return 2;
250 else if(
channel%4==3)
return 1;
270 else if(
channel%4==1)
return 0;
271 else if(
channel%4==2)
return 2;
272 else if(
channel%4==3)
return 1;
292 int module_phi_offset = 0;
293 int submodule_phi_offset = 0;
294 int channel_phi_offset = 0;
299 module_phi_offset =
int((
module-5)/4)*16;
300 submodule_phi_offset =
int(submodule/2)*2;
301 channel_phi_offset =
channel%2;
303 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
309 submodule_phi_offset =
int(submodule/2)*1;
310 channel_phi_offset = 0;
312 }
else if(ppm_type==8) {
313 if(
module==9) module_phi_offset = 0;
314 if(
module==17) module_phi_offset = 16;
315 submodule_phi_offset = submodule;
316 channel_phi_offset = 0;
319 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
323 if(
module==9) module_phi_offset = 0;
324 if(
module==17) module_phi_offset = 16;
325 submodule_phi_offset = submodule;
326 channel_phi_offset = 0;
328 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
332 module_phi_offset = 0;
333 submodule_phi_offset = submodule;
334 channel_phi_offset = 0;
336 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
346 if(region==3 && this->
sampling(
id)==1 ) {
347 if(channel%4== 0 ||
channel%4==3)
return 0;
356 if(crate==0 || crate==1 || crate==6 || crate==7)
return 0;
357 else if(crate==2 || crate==3)
return 1;
358 else if(crate==4 || crate==5) {
360 if(ppm_type == 9)
return 2;
361 else if (ppm_type>=5 && ppm_type<=8)
return 1;
374 }
else if(crate==1) {
378 }
else if(crate==2) {
382 }
else if(crate==3) {
386 }
else if(crate==4) {
390 }
else if(crate==5) {
394 }
else if(crate==6) {
398 }
else if(crate==7) {
402 }
else if(crate==8) {
406 }
else if(crate==9) {
410 }
else if(crate==10) {
414 }
else if(crate==11) {
418 }
else if(crate==12) {
422 }
else if(crate==13) {
434 double gran[4] = {0.1, 0.2, 0.1, 0.425};
435 double offset[4] = {0., 2.5, 3.1, 3.2};
452 double phi = (iphi+0.5)*2.*
M_PI/(phiMax+1.);
458 double tower_eta = this->
IDeta(towerId);
459 double tower_phi = this->
IDphi(towerId);
461 unsigned int key = towerKey.
ttKey(tower_phi,tower_eta);
462 double tt_phi = towerKey.
phi();
463 double tt_eta = towerKey.
eta();
471 if (
it == pIntTTContainer->end()){
475 pIntTTContainer->insert(std::map<unsigned int, LVL1::InternalTriggerTower*>::value_type(
key,
TT));
484 double abseta = fabs(
eta);
500 double abseta = fabs(
eta);
516 return (
eta>=0) ? +1 : -1;
522 double abseta = fabs(
eta);
525 etacenter = (
int) floor(abseta/deta);
541 int phicenter = (
int) floor(
phi/dphi);
547 double abseta = fabs(
eta);
JetConstituentVector::iterator iterator
virtual double phi() const
returns phi coordinate of centre of relevant trigger tower.
int channel(const HWIdentifier id) const
Helper class for Calo TT online identifiers.
int phi_max(const Identifier regId) const
min value of phi index (-999 == failure)
int region(const Identifier id) const
return region according to :
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual double eta() const
returns the centre of the TT at eta_coord:
int phi(const Identifier id) const
return phi according to :
int module(const HWIdentifier id) const
::StatusCode StatusCode
StatusCode definition for legacy code.
A version of the TriggerTower that contains information that would not be availiable during datatakin...
Helper class for offline TT identifiers.
int eta(const Identifier id) const
return eta according to :
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
int submodule(const HWIdentifier id) const
virtual unsigned int ttKey(const TriggerTower &tower)
returns the key of the passed tower
int crate(const HWIdentifier id) const
The TriggerTowerKey object provides the key for each trigger tower depending on its eta-phi coords.