ATLAS Offline Software
CaloTTMgrDetDescrCnv.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 /***************************************************************************
6  Calo Trigger Tower Manager converter package
7  --------------------------------------------
8  ***************************************************************************/
9 
10 //<doc><file> $Id: CaloTTMgrDetDescrCnv.cxx,v 1.21 2008-12-14 01:56:04 ssnyder Exp $
11 //<version> $Name: not supported by cvs2svn $
12 
13 
14 #include "CaloTTMgrDetDescrCnv.h"
15 
16 // infrastructure includes
19 #include "GaudiKernel/MsgStream.h"
20 #include "StoreGate/StoreGateSvc.h"
21 
22 // detdescr includes
27 
31 #include "CaloDetDescr/CaloDetDescrElement.h"
33 
34 // Instantiation of a static factory class used by clients to create
35 // instances of this service
36 
37 long int
39 {
40  return (storageType());
41 }
42 
45 {
46  // First call parent init
48  MsgStream log(msgSvc(), "CaloTTMgrDetDescrCnv");
49  if (log.level()<=MSG::DEBUG) log << MSG::DEBUG << "in initialize" << endmsg;
50 
51  if (sc.isFailure()) {
52  log << MSG::ERROR << "DetDescrConverter::initialize failed" << endmsg;
53  return sc;
54  }
55 
56  // The following is an attempt to "bootstrap" the loading of a
57  // proxy for CaloTTDescrManager into the detector store. However,
58  // CaloTTMgrDetDescrCnv::initialize is NOT called by the conversion
59  // service. So for the moment, this cannot be use. Instead the
60  // DetDescrCnvSvc must do the bootstrap from a parameter list.
61 
62 
63 // // Add CaloTTDescrManager proxy as entry point to the detector store
64 // // - this is ONLY needed for the manager of each system
65 // sc = addToDetStore(classID(), "CaloTTDescrManager");
66 // if (sc.isFailure()) {
67 // log << MSG::FATAL << "Unable to add proxy for CaloTTDescrManager to the Detector Store!" << endmsg;
68 // return StatusCode::FAILURE;
69 // } else {}
70 
71  return StatusCode::SUCCESS;
72 }
73 
74 //--------------------------------------------------------------------
75 
78 {
79  MsgStream log(msgSvc(), "CaloTTMgrDetDescrCnv");
80  if (log.level()<=MSG::DEBUG) log << MSG::DEBUG << "in finalize" << endmsg;
81 
82  return StatusCode::SUCCESS;
83 }
84 
85 //--------------------------------------------------------------------
86 
88 CaloTTMgrDetDescrCnv::createObj(IOpaqueAddress* pAddr, DataObject*& pObj)
89 {
90  MsgStream log(msgSvc(), "CaloTTMgrDetDescrCnv");
91  log << MSG::INFO << "in createObj: creating a CaloTTDescrManager object in the detector store" << endmsg;
92  int outputLevel = msgSvc()->outputLevel( "CaloTTMgrDetDescrCnv" );
93 
94  // Create a new CaloTTDescrManager
95 
96  DetDescrAddress* ddAddr;
97  ddAddr = dynamic_cast<DetDescrAddress*> (pAddr);
98  if(!ddAddr) {
99  log << MSG::FATAL << "Could not cast to DetDescrAddress." << endmsg;
100  return StatusCode::FAILURE;
101  }
102 
103  // Get the StoreGate key of this container.
104  std::string mgrKey = *( ddAddr->par() );
105 
106  if (outputLevel <= MSG::DEBUG) {
107  if ("" == mgrKey) {
108  log << MSG::DEBUG << "No Manager key " << endmsg;
109  }
110  else {
111  log << MSG::DEBUG << "Manager key is " << mgrKey << endmsg;
112  }
113  }
114 
115  // Create the manager
116  CaloTTDescrManager* caloTTMgr = new CaloTTDescrManager();
117 
118  // Pass a pointer to the container to the Persistency service by reference.
119  pObj = SG::asStorable(caloTTMgr);
120 
121  // get DetectorStore service
123  StatusCode status = serviceLocator()->service("DetectorStore", detStore);
124  if (status.isFailure()) {
125  log << MSG::FATAL << "DetectorStore service not found !" << endmsg;
126  return StatusCode::FAILURE;
127  } else {}
128 
129  // Get idhelper from detector store and add to mgr
130  //const DataHandle<CaloLVL1_ID> lvl1_id;
131  const CaloLVL1_ID* lvl1_id = nullptr;
132  status = detStore->retrieve(lvl1_id, "CaloLVL1_ID");
133  if (status.isFailure()) {
134  log << MSG::FATAL << "Could not get CaloLVL1_ID helper !" << endmsg;
135  return StatusCode::FAILURE;
136  }
137  else {
138  if (outputLevel <= MSG::DEBUG) log << MSG::DEBUG << " Found the CaloLVL1_ID helper. " << endmsg;
139  }
140  caloTTMgr->set_helper(lvl1_id);
141  log << MSG::INFO << "Set CaloLVL1_ID helper in CaloTTMgr "
142  << endmsg;
143 
144  // Get CaloDetDescrManager from condition store
145  // to build geometry of trigger towers
146  //
147  // NB! The information retrieved from the CaloDetDescrManager is NOT sensitive
148  // to Calo alignment changes. Hence, it is OK to write CaloTTDescrManager
149  // into DetStore
150  SG::ReadCondHandleKey<CaloDetDescrManager> caloMgrKey {"CaloDetDescrManager"};
151  status = caloMgrKey.initialize();
152  if (status.isFailure()) {
153  log << MSG::FATAL << "Could not initialize RCHK for CaloDetDescrManager !" << endmsg;
154  return StatusCode::FAILURE;
155  }
156  else {
157  if (outputLevel <= MSG::DEBUG) log << MSG::DEBUG << " Initialized RCHK for CaloDetDescrManager " << endmsg;
158  }
159  SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{caloMgrKey};
160  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
161 
162  IToolSvc* toolSvc;
163  status = service( "ToolSvc",toolSvc );
164  if(! status.isSuccess()) {
165  return status;
166  }
167 
168  CaloTriggerTowerService* ttSvc;
169  status =toolSvc->retrieveTool("CaloTriggerTowerService",ttSvc);
170  if(!status.isSuccess() ) return status;
171 
172 
173  // Initialize the caloTT mgr
174  // We protect here in case this has been initialized elsewhere
175 
176  if (!caloTTMgr->is_initialized()) {
177 
178  if (outputLevel <= MSG::DEBUG) log << MSG::DEBUG << "Initializing CaloTTMgr from values in CaloTTMgrDetDescrCnv "
179  << endmsg;
180 
181  int numberOfIdRegions=0;
182  int numberOfDescrRegions=0;
183  int nEmb=0;
184  int nEmec=0;
185  int nHec=0;
186  int nFcal=0;
187 
188  // Initialize the manager ...
189 
190  const CaloLVL1_ID* lvl1_helper = lvl1_id;
191 
192  std::vector<Identifier>::const_iterator itId = lvl1_id->region_begin();
193  std::vector<Identifier>::const_iterator itIdEnd = lvl1_id->region_end();
194 
195  for(; itId!=itIdEnd;++itId){
196  Identifier regId = *itId;
197  ++numberOfIdRegions;
198  int posNeg = lvl1_helper->pos_neg_z(regId);
199  // int sampling = lvl1_helper->sampling(regId);
200  int region = lvl1_helper->region(regId);
201  int halfNphi = (lvl1_helper->phi_max(regId)+1)/2;
202  int nLay = lvl1_helper->layer_max(regId)+1;
203 
204  // create Descriptors for both LAr and Tile
205  CaloTTDescriptor* calo_descriptor = new CaloTTDescriptor() ;
206  calo_descriptor->set(regId);
207 
208  if( 0 == region ) {
209  // calo_descriptor->set(0. ,2.5,0.1,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
210  calo_descriptor->set(0. ,2.5,0.1,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
211  } else if( 1 == region ) {
212  // calo_descriptor->set(2.5,3.1,0.2,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
213  calo_descriptor->set(2.5,3.1,0.2,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
214  } else if( 2 == region ) {
215  // calo_descriptor->set(3.1,3.2,0.1,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
216  calo_descriptor->set(3.1,3.2,0.1,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
217  } else if( 3 == region ) {
218  // calo_descriptor->set(3.2,4.9,0.4,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
219  calo_descriptor->set(3.2,4.9,0.4,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
220  }
221 
222  // Initialize
223  caloTTMgr->add(calo_descriptor);
224 
225  // now, create CaloTTDescrRegions for LAr only
226  // Loop on TTs of this region and create CaloTTDescrRegion's (equiv. to cell's CaloDDE for TT)
227  int maxEta=calo_descriptor->nEta();
228  for(int iEta=0;iEta<maxEta;++iEta) {
229 
230  int maxPhi=calo_descriptor->nPhi();
231  for(int iPhi=0;iPhi<maxPhi;++iPhi) {
232 
233  Identifier TTid = lvl1_helper->tower_id(regId,iEta,iPhi);
234  if(!lvl1_helper->is_tile(TTid)) {
235 
236  int maxLay=calo_descriptor->nLay();
237  for(int iLay=0;iLay<maxLay;++iLay) {
238 
239  Identifier layId = lvl1_helper->layer_id(TTid,iLay);
240  bool isFCAL(0), isEC(0);
241  if(lvl1_helper->is_fcal(layId)) {
242  isFCAL=true;
243  }
244  else if(lvl1_helper->is_emec(layId) || lvl1_helper->is_hec(layId)) {
245  isEC=true;
246  }
247  if (outputLevel <= MSG::DEBUG) {
248  if(lvl1_helper->is_emb(layId) || lvl1_helper->is_barrel_end(layId) ) {
249  ++nEmb;
250  log << MSG::DEBUG << " Found EMB TT " << lvl1_helper->show_to_string(layId) << endmsg;
251  }
252  else if(lvl1_helper->is_emec(layId)) {
253  ++nEmec;
254  log << MSG::DEBUG << " Found EMEC TT " << lvl1_helper->show_to_string(layId) << endmsg;
255  }
256  else if(lvl1_helper->is_hec(layId)) {
257  ++nHec;
258  log << MSG::DEBUG << " Found HEC TT " << lvl1_helper->show_to_string(layId) << endmsg;
259  }
260  else { // FCAL
261  ++nFcal;
262  log << MSG::DEBUG << " Found FCAL TT " << lvl1_helper->show_to_string(layId) << endmsg;
263  }
264  }
265 
266  double dEta=calo_descriptor->deta();
267  double eta=calo_descriptor->eta_min()+(iEta+0.5)*dEta;
268  eta*=calo_descriptor->sign_eta();
269 
270  double dPhi=calo_descriptor->dphi();
271  // beware of the -pi,pi convention
272  // fixed thanks to Denis Damazio when integrating LArRegionSelector
273  // float orig=-M_PI;
274  float orig=0.;
275  double phi=calo_descriptor->phiMin() + (iPhi+0.5)*dPhi + orig;
276  if(phi>=M_PI) {phi-=2.*M_PI;}
277  if(phi<-M_PI) {phi+=2.*M_PI;}
278 
279 
280  float rhoMin=99999.;
281  float rhoMax=0.;
282  float zMin=99999.;
283  float zMax=-99999.;
284 
285  //int atlas_tb=0;
286  std::vector<Identifier> vec = ttSvc->createCellIDvecLayer(layId);
287 
288  if(vec.size() > 0) {
289  numberOfDescrRegions++;
290  std::vector<Identifier>::const_iterator it = vec.begin();
291  std::vector<Identifier>::const_iterator it_end = vec.end();
292  for(;it!=it_end;++it) {
293  Identifier offId = (*it);
294  const CaloDetDescrElement* caloDDE =
295  caloMgr->get_element(offId);
296  double rho =caloDDE->r_raw();
297  double cDrho=caloDDE->dr();
298  double z =caloDDE->z_raw();
299  double cDz =caloDDE->dz();
300 
301  if( (rho-cDrho/2.)<rhoMin ) {rhoMin=std::max(rho-cDrho/2.,0.);}
302  if( (rho+cDrho/2.)>rhoMax ) {rhoMax=rho+cDrho/2.;}
303  if( (z-cDz/2.)<zMin ) {zMin=z-cDz/2.;}
304  if( (z+cDz/2.)>zMax ) {zMax=z+cDz/2.;}
305  } // end loop on vector elements
306 
307 
308  CaloTTDescrRegion* tt_region = new CaloTTDescrRegion(layId,calo_descriptor);
309  if(isFCAL) {
310  // FIX ME !?
311  tt_region->set_cylindric(eta,phi,(zMax+zMin)/2.);
312  tt_region->set_cylindric_size(dEta,dPhi,fabs(zMax-zMin));
313  } else if(isEC) {
314  tt_region->set_cylindric(eta,phi,(zMax+zMin)/2.);
315  tt_region->set_cylindric_size(dEta,dPhi,fabs(zMax-zMin));
316  } else {
317  tt_region->set_spherical(eta,phi,(rhoMax+rhoMin)/2.);
318  tt_region->set_spherical_size(dEta,dPhi,fabs(rhoMax-rhoMin));
319  }
320 
321  caloTTMgr->add(tt_region);
322 
323  } // end condition of vec size
324  else {
325  if (outputLevel <= MSG::DEBUG) log << MSG::DEBUG << " Found no cell for TT " << lvl1_helper->show_to_string(layId) << endmsg;
326  }
327  } // end loop on layers
328  } // end condition against tile
329  } // end loop on phi
330  } // end loop on eta
331  } // end loop on descr_regions
332 
333  // Set to initialized state only if descriptors have been found
334  if (caloTTMgr->calo_descriptors_size () > 0) caloTTMgr->initialize();
335 
336 
337  log << MSG::INFO << " Initialized CaloTTMgr, number of descr regions is " << numberOfDescrRegions << endmsg;
338  if (outputLevel <= MSG::DEBUG) {
339  log << MSG::DEBUG << " including "
340  << nEmb << " Em Barrel "
341  << nEmec << " Em EC "
342  << nHec << " HEC "
343  << nFcal << " FCAL "
344  << endmsg;
345  log << MSG::DEBUG << " number of helper regions= " << numberOfIdRegions << endmsg;
346  }
347  } // end of condition !is_initialized()
348 
349 
350  return StatusCode::SUCCESS;
351 
352 }
353 
354 //--------------------------------------------------------------------
355 
356 long
358 {
359  return DetDescr_StorageType;
360 }
361 
362 //--------------------------------------------------------------------
363 const CLID&
366 }
367 
368 //--------------------------------------------------------------------
370  :
372 {}
373 
CaloTTMgrDetDescrCnv::CaloTTMgrDetDescrCnv
CaloTTMgrDetDescrCnv(ISvcLocator *svcloc)
Definition: CaloTTMgrDetDescrCnv.cxx:369
CaloLVL1_ID::layer_max
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: CaloLVL1_ID.cxx:515
CaloTTDescriptor::phiMin
float phiMin() const
descriptor parameter: min value of phi
Definition: CaloTTDescriptor.h:156
CaloTTDescrManager::is_initialized
bool is_initialized(void) const
Definition: CaloTTDescrManager.cxx:100
max
#define max(a, b)
Definition: cfImp.cxx:41
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
DetDescr_StorageType
const long DetDescr_StorageType
Definition: DetDescrCnvSvc.cxx:20
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
CaloLVL1_ID::is_fcal
bool is_fcal(const Identifier id) const
Test wether given tower or layer is part of the FCAL.
Definition: CaloLVL1_ID.h:710
CaloTriggerTowerService::createCellIDvecLayer
std::vector< Identifier > createCellIDvecLayer(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
Definition: CaloTriggerTowerService.cxx:370
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CaloTTDescriptor::eta_min
float eta_min() const
descriptor parameter: min value of abs(eta)
Definition: CaloTTDescriptor.h:148
CaloLVL1_ID::phi_max
int phi_max(const Identifier regId) const
min value of phi index (-999 == failure)
Definition: CaloLVL1_ID.cxx:494
initialize
void initialize()
Definition: run_EoverP.cxx:894
CaloTTDescrManager::calo_descriptors_size
calo_descr_size calo_descriptors_size(void) const
Total number of descriptors.
Definition: CaloTTDescrManager.cxx:81
CaloTriggerTowerService
Tool providing the mapping of the online and offline TriggerTower identifiers as well as the TT-cells...
Definition: CaloTriggerTowerService.h:50
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
CaloDetDescrElement::dr
float dr() const
cell dr
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:360
skel.it
it
Definition: skel.GENtoEVGEN.py:423
CaloLVL1_ID::is_emec
bool is_emec(const Identifier id) const
Test wether given tower or layer is part of the EM end-cap.
Definition: CaloLVL1_ID.h:696
M_PI
#define M_PI
Definition: ActiveFraction.h:11
DetDescrAddress.h
CaloLVL1_ID::region
int region(const Identifier id) const
return region according to :
Definition: CaloLVL1_ID.h:647
SG::asStorable
DataObject * asStorable(T *pObject)
Definition: StorableConversions.h:158
CaloTTDescriptor.h
CaloLVL1_ID::is_barrel_end
bool is_barrel_end(const Identifier id) const
Test wether given tower or layer is part of the EM barrel END.
Definition: CaloLVL1_ID.h:690
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
CaloTTDescrRegion.h
ReadCondHandle.h
CaloTTDescrRegion::set_spherical
void set_spherical(double eta, double phi, double rho)
set coordinates of the Det Descr region – pseudo spherical system; eta is signed, rho is unsigned
Definition: CaloTTDescrRegion.cxx:28
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PUfitVar::maxEta
constexpr float maxEta
Definition: GepMETPufitAlg.cxx:13
CaloTTMgrDetDescrCnv::finalize
virtual StatusCode finalize()
Definition: CaloTTMgrDetDescrCnv.cxx:77
CaloLVL1_ID::is_hec
bool is_hec(const Identifier id) const
Test wether given tower or layer is part of the HEC.
Definition: CaloLVL1_ID.h:703
CaloLVL1_ID::region_end
id_iterator region_end() const
end iterator over regions
Definition: CaloLVL1_ID.h:585
CaloDetDescrElement::dz
float dz() const
cell dz
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:379
CaloLVL1_ID::layer_id
Identifier layer_id(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
build a layer identifier
Definition: CaloLVL1_ID.h:530
ClassID_traits::ID
static const CLID & ID()
the CLID of T
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:50
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
DetDescrConverter
Definition: DetDescrConverter.h:32
CaloTTMgrDetDescrCnv::storageType
static long storageType()
Definition: CaloTTMgrDetDescrCnv.cxx:357
DetDescrAddress
Definition: DetDescrAddress.h:32
CaloTTDescrManager::set_helper
void set_helper(const CaloLVL1_ID *id_helper)
set the helper used to decode the TT offline identifiers
Definition: CaloTTDescrManager.cxx:121
CaloLVL1_ID::region_begin
id_iterator region_begin() const
begin iterator over regions
Definition: CaloLVL1_ID.h:579
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
z
#define z
CaloTTDescrManager.h
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:530
ClassID_traits
Default, invalid implementation of ClassID_traits.
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:40
CaloTTDescrRegion::set_cylindric_size
void set_cylindric_size(double deta, double dphi, double dz)
set size of the Det Descr region – pseudo cylindrical system; eta is signed, z as well (same sign)
Definition: CaloTTDescrRegion.cxx:86
CaloLVL1_ID::is_emb
bool is_emb(const Identifier id) const
Test wether given tower or layer is part of the EM barrel.
Definition: CaloLVL1_ID.h:684
CaloTTDescriptor::deta
float deta() const
descriptor parameter: eta granularity
Definition: CaloTTDescriptor.h:164
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
ReadCondHandleKey.h
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
CaloLVL1_ID
Helper class for offline TT identifiers.
Definition: CaloLVL1_ID.h:66
CaloTTDescrRegion::set_cylindric
void set_cylindric(double eta, double phi, double z)
set coordinates of the Det Descr region – pseudo cylindrical system; eta is signed,...
Definition: CaloTTDescrRegion.cxx:70
CaloTTDescriptor::nPhi
short nPhi() const
descriptor parameter: number of phi bins
Definition: CaloTTDescriptor.h:176
CaloTTDescrRegion::set_spherical_size
void set_spherical_size(double deta, double dphi, double drho)
set size of the Det Descr region – pseudo spherical system; eta is signed, rho is unsigned
Definition: CaloTTDescrRegion.cxx:44
xAOD::EgammaHelpers::isFCAL
bool isFCAL(const xAOD::CaloCluster *cluster)
return true if the cluster (or the majority of its energy) is in the FCAL0
Definition: EgammaxAODHelpers.cxx:46
CaloTTDescriptor::sign_eta
int sign_eta() const
descriptor parameter: sign of eta (+-1)
Definition: CaloTTDescriptor.h:144
CaloDetDescrElement::z_raw
float z_raw() const
cell z_raw
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:373
CaloTTMgrDetDescrCnv::repSvcType
virtual long int repSvcType() const
Definition: CaloTTMgrDetDescrCnv.cxx:38
CaloTTDescriptor::set
void set(const Identifier &id)
set internal data member m_id (which is unused.
Definition: CaloTTDescriptor.h:131
python.TrigPSCPythonDbSetup.outputLevel
outputLevel
Definition: TrigPSCPythonDbSetup.py:30
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:53
CaloLVL1_ID::pos_neg_z
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
Definition: CaloLVL1_ID.h:635
CaloDetDescrElement::r_raw
float r_raw() const
cell r_raw
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:354
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloTTDescrManager::add
void add(CaloTTDescrRegion *region)
Insertion in the vector of Det Descr regions (== Trigger Towers)
Definition: CaloTTDescrManager.cxx:107
CaloTTMgrDetDescrCnv::classID
static const CLID & classID()
Definition: CaloTTMgrDetDescrCnv.cxx:364
CaloLVL1_ID.h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
AtlasDetectorID::show_to_string
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
Definition: AtlasDetectorID.cxx:574
DetDescrConverter.h
CaloTriggerTowerService.h
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
CaloTTDescrRegion
This class provides an interface to the geometrical description of the Calorimeter Trigger Towers.
Definition: CaloTTDescrRegion.h:48
CaloTTMgrDetDescrCnv::initialize
virtual StatusCode initialize()
Definition: CaloTTMgrDetDescrCnv.cxx:44
CaloTTDescriptor::dphi
float dphi() const
descriptor parameter: phi granularity
Definition: CaloTTDescriptor.h:168
CaloTTDescrManager
This class is used to build the CaloTTDescriptors and CaloTTDetDescrRegions carrying the geometry inf...
Definition: CaloTTDescrManager.h:70
CaloTTMgrDetDescrCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Definition: CaloTTMgrDetDescrCnv.cxx:88
merge.status
status
Definition: merge.py:17
CaloTTDescrManager::initialize
void initialize(void)
dummy.
Definition: CaloTTDescrManager.cxx:94
CaloTTDescriptor
This class holds the Calorimeter TriggerTower geometrical description
Definition: CaloTTDescriptor.h:30
TauGNNUtils::Variables::Track::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:525
CaloLVL1_ID::tower_id
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
Definition: CaloLVL1_ID.h:429
xAOD::iEta
setScale setgFexType iEta
Definition: gFexJetRoI_v1.cxx:74
CaloLVL1_ID::is_tile
bool is_tile(const Identifier id) const
Test wether given tower or layer is part of the Tile Calorimeter.
Definition: CaloLVL1_ID.h:672
StoreGateSvc.h
CaloTTDescriptor::nEta
short nEta() const
descriptor parameter: number of eta bins
Definition: CaloTTDescriptor.h:172
CaloTTDescriptor::nLay
short nLay() const
descriptor parameter: number of layers
Definition: CaloTTDescriptor.h:180
fitman.rho
rho
Definition: fitman.py:532
CaloTTMgrDetDescrCnv.h
python.LArCondContChannels.posNeg
posNeg
Definition: LArCondContChannels.py:659