ATLAS Offline Software
CaloTTMgrDetDescrCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
20 // detdescr includes
25 
29 #include "CaloDetDescr/CaloDetDescrElement.h"
31 
32 // Instantiation of a static factory class used by clients to create
33 // instances of this service
34 
35 long int
37 {
38  return (storageType());
39 }
40 
43 {
44  ATH_MSG_DEBUG("in initialize");
45  // First call parent init
47 
48  // The following is an attempt to "bootstrap" the loading of a
49  // proxy for CaloTTDescrManager into the detector store. However,
50  // CaloTTMgrDetDescrCnv::initialize is NOT called by the conversion
51  // service. So for the moment, this cannot be use. Instead the
52  // DetDescrCnvSvc must do the bootstrap from a parameter list.
53 
54 
55 // // Add CaloTTDescrManager proxy as entry point to the detector store
56 // // - this is ONLY needed for the manager of each system
57 // sc = addToDetStore(classID(), "CaloTTDescrManager");
58 // if (sc.isFailure()) {
59 // log << MSG::FATAL << "Unable to add proxy for CaloTTDescrManager to the Detector Store!" << endmsg;
60 // return StatusCode::FAILURE;
61 // } else {}
62 
63  return StatusCode::SUCCESS;
64 }
65 
66 //--------------------------------------------------------------------
67 
70 {
71  ATH_MSG_DEBUG("in finalize");
72  return StatusCode::SUCCESS;
73 }
74 
75 //--------------------------------------------------------------------
76 
78 CaloTTMgrDetDescrCnv::createObj(IOpaqueAddress* /*pAddr*/, DataObject*& pObj)
79 {
80  ATH_MSG_INFO("in createObj: creating a CaloTTDescrManager object in the detector store");
81 
82  // Create a new CaloTTDescrManager
83  CaloTTDescrManager* caloTTMgr = new CaloTTDescrManager();
84 
85  // Pass a pointer to the container to the Persistency service by reference.
86  pObj = SG::asStorable(caloTTMgr);
87 
88  // Get idhelper from detector store and add to mgr
89  //const DataHandle<CaloLVL1_ID> lvl1_id;
90  const CaloLVL1_ID* lvl1_id = nullptr;
91  ATH_CHECK(detStore()->retrieve(lvl1_id, "CaloLVL1_ID"));
92  caloTTMgr->set_helper(lvl1_id);
93  ATH_MSG_INFO("Set CaloLVL1_ID helper in CaloTTMgr ");
94 
95  // Get CaloDetDescrManager from condition store
96  // to build geometry of trigger towers
97  //
98  // NB! The information retrieved from the CaloDetDescrManager is NOT sensitive
99  // to Calo alignment changes. Hence, it is OK to write CaloTTDescrManager
100  // into DetStore
101  SG::ReadCondHandleKey<CaloDetDescrManager> caloMgrKey {"CaloDetDescrManager"};
102  ATH_CHECK(caloMgrKey.initialize());
103  SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{caloMgrKey};
104  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
105 
106  SmartIF<IToolSvc> toolSvc{service("ToolSvc")};
107  ATH_CHECK(toolSvc.isValid());
108 
109  CaloTriggerTowerService* ttSvc{nullptr};
110  ATH_CHECK(toolSvc->retrieveTool("CaloTriggerTowerService",ttSvc));
111 
112  // Initialize the caloTT mgr
113  // We protect here in case this has been initialized elsewhere
114 
115  if (!caloTTMgr->is_initialized()) {
116 
117  ATH_MSG_DEBUG("Initializing CaloTTMgr from values in CaloTTMgrDetDescrCnv");
118 
119  int numberOfIdRegions=0;
120  int numberOfDescrRegions=0;
121  int nEmb=0;
122  int nEmec=0;
123  int nHec=0;
124  int nFcal=0;
125 
126  // Initialize the manager ...
127  const CaloLVL1_ID* lvl1_helper = lvl1_id;
128 
129  std::vector<Identifier>::const_iterator itId = lvl1_id->region_begin();
130  std::vector<Identifier>::const_iterator itIdEnd = lvl1_id->region_end();
131 
132  for(; itId!=itIdEnd;++itId){
133  Identifier regId = *itId;
134  ++numberOfIdRegions;
135  int posNeg = lvl1_helper->pos_neg_z(regId);
136  // int sampling = lvl1_helper->sampling(regId);
137  int region = lvl1_helper->region(regId);
138  int halfNphi = (lvl1_helper->phi_max(regId)+1)/2;
139  int nLay = lvl1_helper->layer_max(regId)+1;
140 
141  // create Descriptors for both LAr and Tile
142  CaloTTDescriptor* calo_descriptor = new CaloTTDescriptor() ;
143  calo_descriptor->set(regId);
144 
145  if( 0 == region ) {
146  // calo_descriptor->set(0. ,2.5,0.1,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
147  calo_descriptor->set(0. ,2.5,0.1,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
148  } else if( 1 == region ) {
149  // calo_descriptor->set(2.5,3.1,0.2,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
150  calo_descriptor->set(2.5,3.1,0.2,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
151  } else if( 2 == region ) {
152  // calo_descriptor->set(3.1,3.2,0.1,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
153  calo_descriptor->set(3.1,3.2,0.1,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
154  } else if( 3 == region ) {
155  // calo_descriptor->set(3.2,4.9,0.4,-M_PI,M_PI,M_PI/halfNphi,posNeg,nLay);
156  calo_descriptor->set(3.2,4.9,0.4,0.,2.*M_PI,M_PI/halfNphi,posNeg,nLay);
157  }
158 
159  // Initialize
160  caloTTMgr->add(calo_descriptor);
161 
162  // now, create CaloTTDescrRegions for LAr only
163  // Loop on TTs of this region and create CaloTTDescrRegion's (equiv. to cell's CaloDDE for TT)
164  int maxEta=calo_descriptor->nEta();
165  for(int iEta=0;iEta<maxEta;++iEta) {
166 
167  int maxPhi=calo_descriptor->nPhi();
168  for(int iPhi=0;iPhi<maxPhi;++iPhi) {
169 
170  Identifier TTid = lvl1_helper->tower_id(regId,iEta,iPhi);
171  if(!lvl1_helper->is_tile(TTid)) {
172 
173  int maxLay=calo_descriptor->nLay();
174  for(int iLay=0;iLay<maxLay;++iLay) {
175 
176  Identifier layId = lvl1_helper->layer_id(TTid,iLay);
177  bool isFCAL(0), isEC(0);
178  if(lvl1_helper->is_fcal(layId)) {
179  isFCAL=true;
180  }
181  else if(lvl1_helper->is_emec(layId) || lvl1_helper->is_hec(layId)) {
182  isEC=true;
183  }
184  if (this->msgLvl(MSG::DEBUG)) {
185  if(lvl1_helper->is_emb(layId) || lvl1_helper->is_barrel_end(layId) ) {
186  ++nEmb;
187  ATH_MSG_DEBUG(" Found EMB TT " << lvl1_helper->show_to_string(layId));
188  }
189  else if(lvl1_helper->is_emec(layId)) {
190  ++nEmec;
191  ATH_MSG_DEBUG(" Found EMEC TT " << lvl1_helper->show_to_string(layId));
192  }
193  else if(lvl1_helper->is_hec(layId)) {
194  ++nHec;
195  ATH_MSG_DEBUG(" Found HEC TT " << lvl1_helper->show_to_string(layId));
196  }
197  else { // FCAL
198  ++nFcal;
199  ATH_MSG_DEBUG(" Found FCAL TT " << lvl1_helper->show_to_string(layId));
200  }
201  }
202 
203  double dEta=calo_descriptor->deta();
204  double eta=calo_descriptor->eta_min()+(iEta+0.5)*dEta;
205  eta*=calo_descriptor->sign_eta();
206 
207  double dPhi=calo_descriptor->dphi();
208  // beware of the -pi,pi convention
209  // fixed thanks to Denis Damazio when integrating LArRegionSelector
210  // float orig=-M_PI;
211  float orig=0.;
212  double phi=calo_descriptor->phiMin() + (iPhi+0.5)*dPhi + orig;
213  if(phi>=M_PI) {phi-=2.*M_PI;}
214  if(phi<-M_PI) {phi+=2.*M_PI;}
215 
216 
217  float rhoMin=99999.;
218  float rhoMax=0.;
219  float zMin=99999.;
220  float zMax=-99999.;
221 
222  //int atlas_tb=0;
223  std::vector<Identifier> vec = ttSvc->createCellIDvecLayer(layId);
224 
225  if(vec.size() > 0) {
226  numberOfDescrRegions++;
227  std::vector<Identifier>::const_iterator it = vec.begin();
228  std::vector<Identifier>::const_iterator it_end = vec.end();
229  for(;it!=it_end;++it) {
230  Identifier offId = (*it);
231  const CaloDetDescrElement* caloDDE =
232  caloMgr->get_element(offId);
233  double rho =caloDDE->r_raw();
234  double cDrho=caloDDE->dr();
235  double z =caloDDE->z_raw();
236  double cDz =caloDDE->dz();
237 
238  if( (rho-cDrho/2.)<rhoMin ) {rhoMin=std::max(rho-cDrho/2.,0.);}
239  if( (rho+cDrho/2.)>rhoMax ) {rhoMax=rho+cDrho/2.;}
240  if( (z-cDz/2.)<zMin ) {zMin=z-cDz/2.;}
241  if( (z+cDz/2.)>zMax ) {zMax=z+cDz/2.;}
242  } // end loop on vector elements
243 
244 
245  CaloTTDescrRegion* tt_region = new CaloTTDescrRegion(layId,calo_descriptor);
246  if(isFCAL) {
247  // FIX ME !?
248  tt_region->set_cylindric(eta,phi,(zMax+zMin)/2.);
249  tt_region->set_cylindric_size(dEta,dPhi,fabs(zMax-zMin));
250  } else if(isEC) {
251  tt_region->set_cylindric(eta,phi,(zMax+zMin)/2.);
252  tt_region->set_cylindric_size(dEta,dPhi,fabs(zMax-zMin));
253  } else {
254  tt_region->set_spherical(eta,phi,(rhoMax+rhoMin)/2.);
255  tt_region->set_spherical_size(dEta,dPhi,fabs(rhoMax-rhoMin));
256  }
257 
258  caloTTMgr->add(tt_region);
259 
260  } // end condition of vec size
261  else {
262  ATH_MSG_DEBUG(" Found no cell for TT " << lvl1_helper->show_to_string(layId));
263  }
264  } // end loop on layers
265  } // end condition against tile
266  } // end loop on phi
267  } // end loop on eta
268  } // end loop on descr_regions
269 
270  // Set to initialized state only if descriptors have been found
271  if (caloTTMgr->calo_descriptors_size () > 0) caloTTMgr->initialize();
272 
273  ATH_MSG_INFO(" Initialized CaloTTMgr, number of descr regions is " << numberOfDescrRegions);
274  ATH_MSG_DEBUG(" including "
275  << nEmb << " Em Barrel "
276  << nEmec << " Em EC "
277  << nHec << " HEC "
278  << nFcal << " FCAL ");
279  ATH_MSG_DEBUG(" number of helper regions= " << numberOfIdRegions);
280  } // end of condition !is_initialized()
281 
282  return StatusCode::SUCCESS;
283 }
284 
285 //--------------------------------------------------------------------
286 
287 long
289 {
290  return DetDescr_StorageType;
291 }
292 
293 //--------------------------------------------------------------------
294 const CLID&
297 }
298 
299 //--------------------------------------------------------------------
301  :
303 {}
304 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
CaloTTMgrDetDescrCnv::CaloTTMgrDetDescrCnv
CaloTTMgrDetDescrCnv(ISvcLocator *svcloc)
Definition: CaloTTMgrDetDescrCnv.cxx:300
CaloLVL1_ID::layer_max
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: CaloLVL1_ID.cxx:516
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:67
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
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
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
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:495
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:396
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
DetDescrConverter::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
Definition: DetDescrConverter.h:33
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.
PUfitVar::maxEta
constexpr float maxEta
Definition: GepMETPufitAlg.cxx:13
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
DetDescrConverter
Definition: DetDescrConverter.h:25
CaloTTMgrDetDescrCnv::storageType
static long storageType()
Definition: CaloTTMgrDetDescrCnv.cxx:288
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition: AthMessaging.h:151
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
z
#define z
CaloTTDescrManager.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:538
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
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CaloTTMgrDetDescrCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Definition: CaloTTMgrDetDescrCnv.cxx:78
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
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
CaloTTDescriptor::set
void set(const Identifier &id)
set internal data member m_id (which is unused.
Definition: CaloTTDescriptor.h:131
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:47
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::repSvcType
virtual long int repSvcType() const override
Definition: CaloTTMgrDetDescrCnv.cxx:36
CaloTTMgrDetDescrCnv::classID
static const CLID & classID()
Definition: CaloTTMgrDetDescrCnv.cxx:295
CaloTTMgrDetDescrCnv::initialize
virtual StatusCode initialize() override
Definition: CaloTTMgrDetDescrCnv.cxx:42
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
CaloTTDescrRegion
This class provides an interface to the geometrical description of the Calorimeter Trigger Towers.
Definition: CaloTTDescrRegion.h:48
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
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:527
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
CaloTTMgrDetDescrCnv::finalize
virtual StatusCode finalize() override
Definition: CaloTTMgrDetDescrCnv.cxx:69
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
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
Identifier
Definition: IdentifierFieldParser.cxx:14