CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
EcalEndcapGeometry Class Referencefinal

#include <EcalEndcapGeometry.h>

Inheritance diagram for EcalEndcapGeometry:
CaloSubdetectorGeometry

Public Types

enum  { k_NumberOfCellsForCorners = EEDetId::kSizeForDenseIndexing }
 
enum  { k_NumberOfShapes = 1 }
 
enum  { k_NumberOfParametersPerShape = 11 }
 
typedef EcalEndcapGeometryRecord AlignedRecord
 
typedef EEAlignmentRcd AlignmentRecord
 
typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef std::vector< TruncatedPyramidCellVec
 
typedef EEDetId DetIdType
 
typedef IdealGeometryRecord IdealRecord
 
typedef EcalEndcapNumberingScheme NumberingScheme
 
typedef EZArrayFL< EBDetIdOrderedListOfEBDetId
 
typedef PEcalEndcapRcd PGeometryRecord
 
typedef CaloCellGeometry::Pt3D Pt3D
 
typedef CaloCellGeometry::Pt3DVec Pt3DVec
 
typedef std::vector< OrderedListOfEBDetId * > VecOrdListEBDetIdPtr
 
- Public Types inherited from CaloSubdetectorGeometry
typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef std::vector< std::shared_ptr< const CaloCellGeometry > > CellSet
 
typedef std::set< DetIdDetIdSet
 
typedef std::vector< CCGFloatDimVec
 
typedef std::vector< unsigned int > IVec
 
typedef CaloCellGeometry::ParMgr ParMgr
 
typedef CaloCellGeometry::ParVec ParVec
 
typedef CaloCellGeometry::ParVecVec ParVecVec
 
typedef std::vector< CCGFloatTrVec
 

Public Member Functions

CCGFloat avgAbsZFrontFaceCenter () const
 
 EcalEndcapGeometry ()
 
CaloSubdetectorGeometry::DetIdSet getCells (const GlobalPoint &r, double dR) const override
 Get a list of all cells within a dR of the given cell. More...
 
const OrderedListOfEBDetIdgetClosestBarrelCells (EEDetId id) const
 
DetId getClosestCell (const GlobalPoint &r) const override
 
int getNumberOfCrystalPerModule () const
 
int getNumberOfModules () const
 
void initializeParms () override
 
void newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
 
unsigned int numberOfParametersPerShape () const override
 
unsigned int numberOfShapes () const override
 
bool present (const DetId &id) const override
 is this detid present in the geometry? More...
 
void setNumberOfCrystalPerModule (const int nncrys)
 
void setNumberOfModules (const int nnmods)
 
 ~EcalEndcapGeometry () override
 
- Public Member Functions inherited from CaloSubdetectorGeometry
void allocateCorners (CaloCellGeometry::CornersVec::size_type n)
 
void allocatePar (ParVec::size_type n, unsigned int m)
 
 CaloSubdetectorGeometry ()
 
 CaloSubdetectorGeometry (const CaloSubdetectorGeometry &)=delete
 avoid copies More...
 
CaloCellGeometry::CornersMgrcornersMgr ()
 
CCGFloat deltaEta (const DetId &detId) const
 
CCGFloat deltaPhi (const DetId &detId) const
 
virtual void fillDefaultNamedParameters () const
 
virtual CellSet getCellSet (const GlobalPoint &r, double dR) const
 
virtual std::shared_ptr< const CaloCellGeometrygetGeometry (const DetId &id) const
 Get the cell geometry of a given detector id. Should return false if not found. More...
 
virtual void getSummary (TrVec &trVector, IVec &iVector, DimVec &dimVector, IVec &dinsVector) const
 
virtual const std::vector< DetId > & getValidDetIds (DetId::Detector det=DetId::Detector(0), int subdet=0) const
 Get a list of valid detector ids (for the given subdetector) More...
 
virtual unsigned int numberOfTransformParms () const
 
CaloSubdetectorGeometryoperator= (const CaloSubdetectorGeometry &)=delete
 
ParMgrparMgr ()
 
const ParMgrparMgrConst () const
 
ParVecVecparVecVec ()
 
const ParVecVecparVecVec () const
 
virtual ~CaloSubdetectorGeometry ()
 The base class DOES assume that it owns the CaloCellGeometry objects. More...
 

Static Public Member Functions

static unsigned int alignmentTransformIndexGlobal (const DetId &id)
 
static unsigned int alignmentTransformIndexLocal (const DetId &id)
 
static std::string dbString ()
 
static DetId detIdFromLocalAlignmentIndex (unsigned int iLoc)
 
static std::string hitString ()
 
static void localCorners (Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
 
static unsigned int numberOfAlignments ()
 
static std::string producerTag ()
 

Protected Member Functions

const CaloCellGeometrygetGeometryRawPtr (uint32_t index) const override
 
- Protected Member Functions inherited from CaloSubdetectorGeometry
void addValidID (const DetId &id)
 
virtual std::shared_ptr< const CaloCellGeometrycellGeomPtr (uint32_t index) const
 
virtual unsigned int indexFor (const DetId &id) const
 
virtual unsigned int sizeForDenseIndex (const DetId &id) const
 

Private Member Functions

EEDetId gId (float x, float y, float z) const
 
unsigned int xindex (CCGFloat x, CCGFloat z) const
 
unsigned int yindex (CCGFloat y, CCGFloat z) const
 

Static Private Member Functions

static int myPhi (int i)
 

Private Attributes

int _nncrys
 number of crystals per module More...
 
int _nnmods
 number of modules More...
 
CCGFloat m_avgZ
 
std::atomic< EZMgrFL< EBDetId > * > m_borderMgr
 
std::atomic< VecOrdListEBDetIdPtr * > m_borderPtrVec
 
CellVec m_cellVec
 
std::atomic< bool > m_check
 
CCGFloat m_del
 
unsigned int m_nref
 
CCGFloat m_wref
 
CCGFloat m_xhi [2]
 
CCGFloat m_xlo [2]
 
CCGFloat m_xoff [2]
 
CCGFloat m_yhi [2]
 
CCGFloat m_ylo [2]
 
CCGFloat m_yoff [2]
 
CCGFloat zeN
 
CCGFloat zeP
 

Additional Inherited Members

- Static Protected Member Functions inherited from CaloSubdetectorGeometry
static CCGFloat deltaR (const GlobalPoint &p1, const GlobalPoint &p2)
 
- Protected Attributes inherited from CaloSubdetectorGeometry
ParVecVec m_parVecVec
 
std::vector< DetIdm_validIds
 

Detailed Description

Definition at line 20 of file EcalEndcapGeometry.h.

Member Typedef Documentation

◆ AlignedRecord

Definition at line 29 of file EcalEndcapGeometry.h.

◆ AlignmentRecord

Definition at line 30 of file EcalEndcapGeometry.h.

◆ CCGFloat

Definition at line 24 of file EcalEndcapGeometry.h.

◆ CellVec

Definition at line 22 of file EcalEndcapGeometry.h.

◆ DetIdType

Definition at line 39 of file EcalEndcapGeometry.h.

◆ IdealRecord

Definition at line 28 of file EcalEndcapGeometry.h.

◆ NumberingScheme

Definition at line 37 of file EcalEndcapGeometry.h.

◆ OrderedListOfEBDetId

Definition at line 33 of file EcalEndcapGeometry.h.

◆ PGeometryRecord

Definition at line 31 of file EcalEndcapGeometry.h.

◆ Pt3D

Definition at line 25 of file EcalEndcapGeometry.h.

◆ Pt3DVec

Definition at line 26 of file EcalEndcapGeometry.h.

◆ VecOrdListEBDetIdPtr

Definition at line 35 of file EcalEndcapGeometry.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
k_NumberOfCellsForCorners 

Definition at line 41 of file EcalEndcapGeometry.h.

◆ anonymous enum

anonymous enum
Enumerator
k_NumberOfShapes 

Definition at line 43 of file EcalEndcapGeometry.h.

43 { k_NumberOfShapes = 1 };

◆ anonymous enum

anonymous enum
Enumerator
k_NumberOfParametersPerShape 

Definition at line 45 of file EcalEndcapGeometry.h.

Constructor & Destructor Documentation

◆ EcalEndcapGeometry()

EcalEndcapGeometry::EcalEndcapGeometry ( void  )

Definition at line 14 of file EcalEndcapGeometry.cc.

15  : _nnmods(316),
16  _nncrys(25),
17  zeP(0.),
18  zeN(0.),
19  m_wref(0.),
20  m_del(0.),
21  m_nref(0),
22  m_borderMgr(nullptr),
23  m_borderPtrVec(nullptr),
24  m_avgZ(-1),
25  m_check(false),
27  m_xlo[0] = 999.;
28  m_xlo[1] = 999.;
29  m_xhi[0] = -999.;
30  m_xhi[1] = -999.;
31  m_ylo[0] = 999.;
32  m_ylo[1] = 999.;
33  m_yhi[0] = -999.;
34  m_yhi[1] = -999.;
35  m_xoff[0] = 0.;
36  m_xoff[1] = 0.;
37  m_yoff[0] = 0.;
38  m_yoff[1] = 0.;
39 }

References m_xhi, m_xlo, m_xoff, m_yhi, m_ylo, and m_yoff.

◆ ~EcalEndcapGeometry()

EcalEndcapGeometry::~EcalEndcapGeometry ( )
override

Definition at line 41 of file EcalEndcapGeometry.cc.

41  {
42  if (m_borderPtrVec) {
43  auto ptr = m_borderPtrVec.load(std::memory_order_acquire);
44  for (auto& v : (*ptr)) {
45  delete v;
46  v = nullptr;
47  }
48  delete m_borderPtrVec.load();
49  }
50  delete m_borderMgr.load();
51 }

References m_borderMgr, m_borderPtrVec, and findQualityFiles::v.

Member Function Documentation

◆ alignmentTransformIndexGlobal()

unsigned int EcalEndcapGeometry::alignmentTransformIndexGlobal ( const DetId id)
static

Definition at line 66 of file EcalEndcapGeometry.cc.

66  {
67  return (unsigned int)DetId::Ecal - 1;
68 }

References DetId::Ecal.

◆ alignmentTransformIndexLocal()

unsigned int EcalEndcapGeometry::alignmentTransformIndexLocal ( const DetId id)
static

Definition at line 53 of file EcalEndcapGeometry.cc.

53  {
54  const CaloGenericDetId gid(id);
55 
56  assert(gid.isEE());
57  unsigned int index(EEDetId(id).ix() / 51 + (EEDetId(id).zside() < 0 ? 0 : 2));
58 
59  return index;
60 }

References cms::cuda::assert(), CaloGenericDetId::isEE(), and ecaldqm::zside().

◆ avgAbsZFrontFaceCenter()

CCGFloat EcalEndcapGeometry::avgAbsZFrontFaceCenter ( ) const

Definition at line 429 of file EcalEndcapGeometry.cc.

429  {
430  if (!m_check.load(std::memory_order_acquire)) {
431  CCGFloat sum(0);
432  for (unsigned int i(0); i != m_cellVec.size(); ++i) {
433  auto cell = cellGeomPtr(i);
434  if (nullptr != cell) {
435  sum += fabs(cell->getPosition().z());
436  }
437  }
438  m_avgZ = sum / m_cellVec.size();
439  m_check.store(true, std::memory_order_release);
440  }
441  return m_avgZ;
442 }

References CaloSubdetectorGeometry::cellGeomPtr(), mps_fire::i, m_avgZ, m_cellVec, and m_check.

◆ dbString()

static std::string EcalEndcapGeometry::dbString ( )
inlinestatic

Definition at line 47 of file EcalEndcapGeometry.h.

47 { return "PEcalEndcapRcd"; }

◆ detIdFromLocalAlignmentIndex()

DetId EcalEndcapGeometry::detIdFromLocalAlignmentIndex ( unsigned int  iLoc)
static

Definition at line 62 of file EcalEndcapGeometry.cc.

62  {
63  return EEDetId(20 + 50 * (iLoc % 2), 50, 2 * (iLoc / 2) - 1);
64 }

Referenced by FakeCaloAlignmentEP::produceEEAli(), and TestCaloAlignmentEP::produceEEAli().

◆ getCells()

CaloSubdetectorGeometry::DetIdSet EcalEndcapGeometry::getCells ( const GlobalPoint r,
double  dR 
) const
overridevirtual

Get a list of all cells within a dR of the given cell.

The default implementation makes a loop over all cell geometries. Cleverer implementations are suggested to use rough conversions between eta/phi and ieta/iphi and test on the boundaries.

Reimplemented from CaloSubdetectorGeometry.

Definition at line 307 of file EcalEndcapGeometry.cc.

307  {
308  CaloSubdetectorGeometry::DetIdSet dis; // return object
309  if (0.000001 < dR) {
310  if (dR > M_PI / 2.) // this code assumes small dR
311  {
312  dis = CaloSubdetectorGeometry::getCells(r, dR); // base class version
313  } else {
314  const float dR2(dR * dR);
315  const float reta(r.eta());
316  const float rphi(r.phi());
317  const float rx(r.x());
318  const float ry(r.y());
319  const float rz(r.z());
320  const float fac(std::abs(zeP / rz));
321  const float xx(rx * fac); // xyz at endcap z
322  const float yy(ry * fac);
323  const float zz(rz * fac);
324 
325  const float xang(std::atan(xx / zz));
326  const float lowX(zz > 0 ? zz * std::tan(xang - dR) : zz * std::tan(xang + dR));
327  const float highX(zz > 0 ? zz * std::tan(xang + dR) : zz * std::tan(xang - dR));
328  const float yang(std::atan(yy / zz));
329  const float lowY(zz > 0 ? zz * std::tan(yang - dR) : zz * std::tan(yang + dR));
330  const float highY(zz > 0 ? zz * std::tan(yang + dR) : zz * std::tan(yang - dR));
331 
332  const float refxlo(0 > rz ? m_xlo[0] : m_xlo[1]);
333  const float refxhi(0 > rz ? m_xhi[0] : m_xhi[1]);
334  const float refylo(0 > rz ? m_ylo[0] : m_ylo[1]);
335  const float refyhi(0 > rz ? m_yhi[0] : m_yhi[1]);
336 
337  if (lowX < refxhi && // proceed if any possible overlap with the endcap
338  lowY < refyhi && highX > refxlo && highY > refylo) {
339  const int ix_ctr(xindex(xx, rz));
340  const int iy_ctr(yindex(yy, rz));
341  const int iz(rz > 0 ? 1 : -1);
342 
343  const int ix_hi(ix_ctr + int((highX - xx) / m_wref) + 2);
344  const int ix_lo(ix_ctr - int((xx - lowX) / m_wref) - 2);
345 
346  const int iy_hi(iy_ctr + int((highY - yy) / m_wref) + 2);
347  const int iy_lo(iy_ctr - int((yy - lowY) / m_wref) - 2);
348 
349  for (int kx(ix_lo); kx <= ix_hi; ++kx) {
350  if (kx > 0 && kx <= (int)m_nref) {
351  for (int ky(iy_lo); ky <= iy_hi; ++ky) {
352  if (ky > 0 && ky <= (int)m_nref) {
353  if (EEDetId::validDetId(kx, ky, iz)) // reject invalid ids
354  {
355  const EEDetId id(kx, ky, iz);
356  const CaloCellGeometry* cell(&m_cellVec[id.denseIndex()]);
357  const float eta(cell->etaPos());
358  const float phi(cell->phiPos());
359  if (reco::deltaR2(eta, phi, reta, rphi) < dR2)
360  dis.insert(id);
361  }
362  }
363  }
364  }
365  }
366  }
367  }
368  }
369  return dis;
370 }

References funct::abs(), reco::deltaR2(), HGC3DClusterGenMatchSelector_cfi::dR, PVValHelper::eta, CaloCellGeometry::etaPos(), CaloSubdetectorGeometry::getCells(), triggerObjects_cff::id, m_cellVec, m_nref, M_PI, m_wref, m_xhi, m_xlo, m_yhi, m_ylo, phi, CaloCellGeometry::phiPos(), alignCSCRings::r, corrVsCorr::rx, corrVsCorr::ry, funct::tan(), EEDetId::validDetId(), xindex(), geometryCSVtoXML::xx, yindex(), geometryCSVtoXML::yy, zeP, and geometryCSVtoXML::zz.

◆ getClosestBarrelCells()

const EcalEndcapGeometry::OrderedListOfEBDetId * EcalEndcapGeometry::getClosestBarrelCells ( EEDetId  id) const

Definition at line 372 of file EcalEndcapGeometry.cc.

372  {
373  OrderedListOfEBDetId* ptr(nullptr);
374  auto ptrVec = m_borderPtrVec.load(std::memory_order_acquire);
375  if (!ptrVec) {
376  if (0 != id.rawId() && nullptr != getGeometry(id)) {
377  const float phi(370. + getGeometry(id)->getPosition().phi().degrees());
378  const int iPhi(1 + int(phi) % 360);
379  const int iz(id.zside());
380  if (!m_borderMgr.load(std::memory_order_acquire)) {
381  EZMgrFL<EBDetId>* expect = nullptr;
382  auto ptrMgr = new EZMgrFL<EBDetId>(720 * 9, 9);
383  bool exchanged = m_borderMgr.compare_exchange_strong(expect, ptrMgr, std::memory_order_acq_rel);
384  if (!exchanged)
385  delete ptrMgr;
386  }
387  VecOrdListEBDetIdPtr* expect = nullptr;
388  auto ptrVec = new VecOrdListEBDetIdPtr();
389  ptrVec->reserve(720);
390  for (unsigned int i(0); i != 720; ++i) {
391  const int kz(360 > i ? -1 : 1);
392  const int iEta(kz * 85);
393  const int iEtam1(kz * 84);
394  const int iEtam2(kz * 83);
395  const int jPhi(i % 360 + 1);
396  OrderedListOfEBDetId& olist(*new OrderedListOfEBDetId(m_borderMgr.load(std::memory_order_acquire)));
397  olist[0] = EBDetId(iEta, jPhi);
398  olist[1] = EBDetId(iEta, myPhi(jPhi + 1));
399  olist[2] = EBDetId(iEta, myPhi(jPhi - 1));
400  olist[3] = EBDetId(iEtam1, jPhi);
401  olist[4] = EBDetId(iEtam1, myPhi(jPhi + 1));
402  olist[5] = EBDetId(iEtam1, myPhi(jPhi - 1));
403  olist[6] = EBDetId(iEta, myPhi(jPhi + 2));
404  olist[7] = EBDetId(iEta, myPhi(jPhi - 2));
405  olist[8] = EBDetId(iEtam2, jPhi);
406  ptrVec->emplace_back(&olist);
407  }
408  bool exchanged = m_borderPtrVec.compare_exchange_strong(expect, ptrVec, std::memory_order_acq_rel);
409  if (!exchanged)
410  delete ptrVec;
411  ptrVec = m_borderPtrVec.load(std::memory_order_acquire);
412  ptr = (*ptrVec)[(iPhi - 1) + (0 > iz ? 0 : 360)];
413  }
414  }
415  return ptr;
416 }

References degrees(), CaloSubdetectorGeometry::getGeometry(), mps_fire::i, L1TowerCalibrationProducer_cfi::iEta, m_borderMgr, m_borderPtrVec, myPhi(), phi, and ecaldqm::zside().

Referenced by spr::simpleMove(), and PFECALHashNavigator::stdsimplemove().

◆ getClosestCell()

DetId EcalEndcapGeometry::getClosestCell ( const GlobalPoint r) const
overridevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 210 of file EcalEndcapGeometry.cc.

210  {
211  try {
212  EEDetId mycellID(gId(r.x(), r.y(), r.z())); // educated guess
213 
214  if (EEDetId::validDetId(mycellID.ix(), mycellID.iy(), mycellID.zside())) {
215  // now get points in convenient ordering
216 
217  Pt3D A;
218  Pt3D B;
219  Pt3D C;
220  Pt3D point(r.x(), r.y(), r.z());
221  // D.K. : equation of plane : AA*x+BB*y+CC*z+DD=0;
222  // finding equation for each edge
223 
224  // ================================================================
225  CCGFloat x, y, z;
226  unsigned offset = 0;
227  int zsign = 1;
228  //================================================================
229 
230  // compute the distance of the point with respect of the 4 crystal lateral planes
231 
232  if (nullptr != getGeometry(mycellID)) {
233  const GlobalPoint& myPosition = getGeometry(mycellID)->getPosition();
234 
235  x = myPosition.x();
236  y = myPosition.y();
237  z = myPosition.z();
238 
239  offset = 0;
240  // This will disappear when Andre has applied his fix
241 
242  if (z > 0) {
243  if (x > 0 && y > 0)
244  offset = 1;
245  else if (x < 0 && y > 0)
246  offset = 2;
247  else if (x > 0 && y < 0)
248  offset = 0;
249  else if (x < 0 && y < 0)
250  offset = 3;
251  zsign = 1;
252  } else {
253  if (x > 0 && y > 0)
254  offset = 3;
255  else if (x < 0 && y > 0)
256  offset = 2;
257  else if (x > 0 && y < 0)
258  offset = 0;
259  else if (x < 0 && y < 0)
260  offset = 1;
261  zsign = -1;
262  }
263  GlobalPoint corners[8];
264  for (unsigned ic = 0; ic < 4; ++ic) {
265  corners[ic] = getGeometry(mycellID)->getCorners()[(unsigned)((zsign * ic + offset) % 4)];
266  corners[4 + ic] = getGeometry(mycellID)->getCorners()[(unsigned)(4 + (zsign * ic + offset) % 4)];
267  }
268 
269  CCGFloat SS[4];
270  for (short i = 0; i < 4; ++i) {
271  A = Pt3D(corners[i % 4].x(), corners[i % 4].y(), corners[i % 4].z());
272  B = Pt3D(corners[(i + 1) % 4].x(), corners[(i + 1) % 4].y(), corners[(i + 1) % 4].z());
273  C = Pt3D(corners[4 + (i + 1) % 4].x(), corners[4 + (i + 1) % 4].y(), corners[4 + (i + 1) % 4].z());
274  Pl3D plane(A, B, C);
275  plane.normalize();
276  CCGFloat distance = plane.distance(point);
277  if (corners[0].z() < 0.)
278  distance = -distance;
279  SS[i] = distance;
280  }
281 
282  // Only one move in necessary direction
283 
284  const bool yout(0 > SS[0] * SS[2]);
285  const bool xout(0 > SS[1] * SS[3]);
286 
287  if (yout || xout) {
288  const int ydel(!yout ? 0 : (0 < SS[0] ? -1 : 1));
289  const int xdel(!xout ? 0 : (0 < SS[1] ? -1 : 1));
290  const unsigned int ix(mycellID.ix() + xdel);
291  const unsigned int iy(mycellID.iy() + ydel);
292  const unsigned int iz(mycellID.zside());
293  if (EEDetId::validDetId(ix, iy, iz))
294  mycellID = EEDetId(ix, iy, iz);
295  }
296 
297  return mycellID;
298  }
299  return DetId(0);
300  }
301  } catch (cms::Exception& e) {
302  return DetId(0);
303  }
304  return DetId(0);
305 }

References MaterialEffects_cfi::A, TtFullHadDaughter::B, gen::C, HLT_2018_cff::distance, MillePedeFileConverter_cfg::e, CaloSubdetectorGeometry::getGeometry(), gId(), mps_fire::i, EEDetId::ix(), EEDetId::iy(), hltrates_dqm_sourceclient-live_cfg::offset, point, alignCSCRings::r, EEDetId::validDetId(), x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), z, PV3DBase< T, PVType, FrameType >::z(), and EEDetId::zside().

Referenced by CaloGeometryHelper::getClosestCell().

◆ getGeometryRawPtr()

const CaloCellGeometry * EcalEndcapGeometry::getGeometryRawPtr ( uint32_t  index) const
overrideprotectedvirtual

Implements CaloSubdetectorGeometry.

Definition at line 444 of file EcalEndcapGeometry.cc.

444  {
445  // Modify the RawPtr class
446  const CaloCellGeometry* cell(&m_cellVec[index]);
447  return (m_cellVec.size() < index || nullptr == cell->param() ? nullptr : cell);
448 }

References m_cellVec, and CaloCellGeometry::param().

◆ getNumberOfCrystalPerModule()

int EcalEndcapGeometry::getNumberOfCrystalPerModule ( ) const
inline

Definition at line 58 of file EcalEndcapGeometry.h.

58 { return _nncrys; }

References _nncrys.

◆ getNumberOfModules()

int EcalEndcapGeometry::getNumberOfModules ( ) const
inline

Definition at line 56 of file EcalEndcapGeometry.h.

56 { return _nnmods; }

References _nnmods.

◆ gId()

EEDetId EcalEndcapGeometry::gId ( float  x,
float  y,
float  z 
) const
private

Definition at line 186 of file EcalEndcapGeometry.cc.

186  {
187  const CCGFloat fac(fabs((0 > z ? zeN : zeP) / z));
188  const unsigned int ix(xindex(x * fac, z));
189  const unsigned int iy(yindex(y * fac, z));
190  const unsigned int iz(z > 0 ? 1 : -1);
191 
192  if (EEDetId::validDetId(ix, iy, iz)) {
193  return EEDetId(ix, iy, iz); // first try is on target
194  } else // try nearby coordinates, spiraling out from center
195  {
196  for (unsigned int i(1); i != 6; ++i) {
197  for (unsigned int k(0); k != 8; ++k) {
198  const int jx(0 == k || 4 == k || 5 == k ? +i : (1 == k || 5 < k ? -i : 0));
199  const int jy(2 == k || 4 == k || 6 == k ? +i : (3 == k || 5 == k || 7 == k ? -i : 0));
200  if (EEDetId::validDetId(ix + jx, iy + jy, iz)) {
201  return EEDetId(ix + jx, iy + jy, iz);
202  }
203  }
204  }
205  }
206  return EEDetId(); // nowhere near any crystal
207 }

References mps_fire::i, dqmdumpme::k, EEDetId::validDetId(), x, xindex(), y, yindex(), z, zeN, and zeP.

Referenced by getClosestCell().

◆ hitString()

static std::string EcalEndcapGeometry::hitString ( )
inlinestatic

Definition at line 75 of file EcalEndcapGeometry.h.

75 { return "EcalHitsEE"; }

◆ initializeParms()

void EcalEndcapGeometry::initializeParms ( )
overridevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 70 of file EcalEndcapGeometry.cc.

70  {
71  zeP = 0.;
72  zeN = 0.;
73  unsigned nP = 0;
74  unsigned nN = 0;
75  m_nref = 0;
76 
77  for (uint32_t i(0); i != m_cellVec.size(); ++i) {
78  auto cell = cellGeomPtr(i);
79  if (nullptr != cell) {
80  const CCGFloat z(cell->getPosition().z());
81  if (z > 0.) {
82  zeP += z;
83  ++nP;
84  } else {
85  zeN += z;
86  ++nN;
87  }
89  const unsigned int ix(myId.ix());
90  const unsigned int iy(myId.iy());
91  if (ix > m_nref)
92  m_nref = ix;
93  if (iy > m_nref)
94  m_nref = iy;
95  }
96  }
97  if (0 < nP)
98  zeP /= (CCGFloat)nP;
99  if (0 < nN)
100  zeN /= (CCGFloat)nN;
101 
102  m_xlo[0] = 999;
103  m_xhi[0] = -999;
104  m_ylo[0] = 999;
105  m_yhi[0] = -999;
106  m_xlo[1] = 999;
107  m_xhi[1] = -999;
108  m_ylo[1] = 999;
109  m_yhi[1] = -999;
110  for (uint32_t i(0); i != m_cellVec.size(); ++i) {
111  auto cell = cellGeomPtr(i);
112  if (nullptr != cell) {
113  const GlobalPoint& p(cell->getPosition());
114  const CCGFloat z(p.z());
115  const CCGFloat zz(0 > z ? zeN : zeP);
116  const CCGFloat x(p.x() * zz / z);
117  const CCGFloat y(p.y() * zz / z);
118 
119  if (0 > z && x < m_xlo[0])
120  m_xlo[0] = x;
121  if (0 < z && x < m_xlo[1])
122  m_xlo[1] = x;
123  if (0 > z && y < m_ylo[0])
124  m_ylo[0] = y;
125  if (0 < z && y < m_ylo[1])
126  m_ylo[1] = y;
127 
128  if (0 > z && x > m_xhi[0])
129  m_xhi[0] = x;
130  if (0 < z && x > m_xhi[1])
131  m_xhi[1] = x;
132  if (0 > z && y > m_yhi[0])
133  m_yhi[0] = y;
134  if (0 < z && y > m_yhi[1])
135  m_yhi[1] = y;
136  }
137  }
138 
139  m_xoff[0] = (m_xhi[0] + m_xlo[0]) / 2.;
140  m_xoff[1] = (m_xhi[1] + m_xlo[1]) / 2.;
141  m_yoff[0] = (m_yhi[0] + m_ylo[0]) / 2.;
142  m_yoff[1] = (m_yhi[1] + m_ylo[1]) / 2.;
143 
144  m_del = (m_xhi[0] - m_xlo[0] + m_xhi[1] - m_xlo[1] + m_yhi[0] - m_ylo[0] + m_yhi[1] - m_ylo[1]);
145 
146  if (1 != m_nref)
147  m_wref = m_del / (4. * (m_nref - 1));
148 
149  m_xlo[0] -= m_wref / 2;
150  m_xlo[1] -= m_wref / 2;
151  m_xhi[0] += m_wref / 2;
152  m_xhi[1] += m_wref / 2;
153 
154  m_ylo[0] -= m_wref / 2;
155  m_ylo[1] -= m_wref / 2;
156  m_yhi[0] += m_wref / 2;
157  m_yhi[1] += m_wref / 2;
158 
159  m_del += m_wref;
160  /*
161  std::cout<<"zeP="<<zeP<<", zeN="<<zeN<<", nP="<<nP<<", nN="<<nN<<std::endl ;
162 
163  std::cout<<"xlo[0]="<<m_xlo[0]<<", xlo[1]="<<m_xlo[1]<<", xhi[0]="<<m_xhi[0]<<", xhi[1]="<<m_xhi[1]
164  <<"\nylo[0]="<<m_ylo[0]<<", ylo[1]="<<m_ylo[1]<<", yhi[0]="<<m_yhi[0]<<", yhi[1]="<<m_yhi[1]<<std::endl ;
165 
166  std::cout<<"xoff[0]="<<m_xoff[0]<<", xoff[1]"<<m_xoff[1]<<", yoff[0]="<<m_yoff[0]<<", yoff[1]"<<m_yoff[1]<<std::endl ;
167 
168  std::cout<<"nref="<<m_nref<<", m_wref="<<m_wref<<std::endl ;
169 */
170 }

References CaloSubdetectorGeometry::cellGeomPtr(), EEDetId::detIdFromDenseIndex(), mps_fire::i, EEDetId::ix(), EEDetId::iy(), m_cellVec, m_del, m_nref, m_wref, m_xhi, m_xlo, m_xoff, m_yhi, m_ylo, m_yoff, AlCaHLTBitMon_ParallelJobs::p, x, y, z, zeN, zeP, and geometryCSVtoXML::zz.

◆ localCorners()

void EcalEndcapGeometry::localCorners ( Pt3DVec lc,
const CCGFloat pv,
unsigned int  i,
Pt3D ref 
)
static

Definition at line 418 of file EcalEndcapGeometry.cc.

418  {
420 }

References TruncatedPyramid::localCorners(), and MetAnalyzer::pv().

◆ myPhi()

static int EcalEndcapGeometry::myPhi ( int  i)
inlinestaticprivate

Definition at line 102 of file EcalEndcapGeometry.h.

102  {
103  i += 720;
104  return (1 + (i - 1) % 360);
105  }

References mps_fire::i.

Referenced by getClosestBarrelCells().

◆ newCell()

void EcalEndcapGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
)
overridevirtual

Implements CaloSubdetectorGeometry.

Definition at line 422 of file EcalEndcapGeometry.cc.

423  {
424  const unsigned int cellIndex(EEDetId(detId).denseIndex());
425  m_cellVec[cellIndex] = TruncatedPyramid(cornersMgr(), f1, f2, f3, parm);
426  addValidID(detId);
427 }

References CaloSubdetectorGeometry::addValidID(), CaloSubdetectorGeometry::cornersMgr(), DeadROC_duringRun::f1, DeadROC_duringRun::f2, and m_cellVec.

◆ numberOfAlignments()

static unsigned int EcalEndcapGeometry::numberOfAlignments ( )
inlinestatic

Definition at line 79 of file EcalEndcapGeometry.h.

79 { return 4; }

Referenced by FakeCaloAlignmentEP::produceEEAli(), and TestCaloAlignmentEP::produceEEAli().

◆ numberOfParametersPerShape()

unsigned int EcalEndcapGeometry::numberOfParametersPerShape ( ) const
inlineoverridevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 50 of file EcalEndcapGeometry.h.

References k_NumberOfParametersPerShape.

◆ numberOfShapes()

unsigned int EcalEndcapGeometry::numberOfShapes ( ) const
inlineoverridevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 49 of file EcalEndcapGeometry.h.

49 { return k_NumberOfShapes; }

References k_NumberOfShapes.

◆ present()

bool EcalEndcapGeometry::present ( const DetId id) const
overridevirtual

is this detid present in the geometry?

Reimplemented from CaloSubdetectorGeometry.

Definition at line 450 of file EcalEndcapGeometry.cc.

450  {
451  if (id.det() == DetId::Ecal && id.subdetId() == EcalEndcap) {
452  EEDetId eeId(id);
453  if (EEDetId::validDetId(eeId.ix(), eeId.iy(), eeId.zside()))
454  return true;
455  }
456  return false;
457 }

References DetId::Ecal, EcalEndcap, EEDetId::ix(), EEDetId::iy(), EEDetId::validDetId(), and EEDetId::zside().

Referenced by spr::extraIds().

◆ producerTag()

static std::string EcalEndcapGeometry::producerTag ( )
inlinestatic

Definition at line 77 of file EcalEndcapGeometry.h.

77 { return "EcalEndcap"; }

Referenced by PCaloGeometryBuilder::beginRun(), and CaloGeometryBuilder::CaloGeometryBuilder().

◆ setNumberOfCrystalPerModule()

void EcalEndcapGeometry::setNumberOfCrystalPerModule ( const int  nncrys)
inline

Definition at line 62 of file EcalEndcapGeometry.h.

62 { _nncrys = nncrys; }

References _nncrys.

◆ setNumberOfModules()

void EcalEndcapGeometry::setNumberOfModules ( const int  nnmods)
inline

Definition at line 60 of file EcalEndcapGeometry.h.

60 { _nnmods = nnmods; }

References _nnmods.

◆ xindex()

unsigned int EcalEndcapGeometry::xindex ( CCGFloat  x,
CCGFloat  z 
) const
private

Definition at line 172 of file EcalEndcapGeometry.cc.

172  {
173  const CCGFloat xlo(0 > z ? m_xlo[0] : m_xlo[1]);
174  const int i(1 + int((x - xlo) / m_wref));
175 
176  return (1 > i ? 1 : (m_nref < (unsigned int)i ? m_nref : (unsigned int)i));
177 }

References mps_fire::i, m_nref, m_wref, m_xlo, x, and z.

Referenced by getCells(), and gId().

◆ yindex()

unsigned int EcalEndcapGeometry::yindex ( CCGFloat  y,
CCGFloat  z 
) const
private

Definition at line 179 of file EcalEndcapGeometry.cc.

179  {
180  const CCGFloat ylo(0 > z ? m_ylo[0] : m_ylo[1]);
181  const int i(1 + int((y - ylo) / m_wref));
182 
183  return (1 > i ? 1 : (m_nref < (unsigned int)i ? m_nref : (unsigned int)i));
184 }

References mps_fire::i, m_nref, m_wref, m_ylo, y, and z.

Referenced by getCells(), and gId().

Member Data Documentation

◆ _nncrys

int EcalEndcapGeometry::_nncrys
private

number of crystals per module

Definition at line 111 of file EcalEndcapGeometry.h.

Referenced by getNumberOfCrystalPerModule(), and setNumberOfCrystalPerModule().

◆ _nnmods

int EcalEndcapGeometry::_nnmods
private

number of modules

Definition at line 108 of file EcalEndcapGeometry.h.

Referenced by getNumberOfModules(), and setNumberOfModules().

◆ m_avgZ

CCGFloat EcalEndcapGeometry::m_avgZ
mutableprivate

Definition at line 128 of file EcalEndcapGeometry.h.

Referenced by avgAbsZFrontFaceCenter().

◆ m_borderMgr

std::atomic<EZMgrFL<EBDetId>*> EcalEndcapGeometry::m_borderMgr
mutableprivate

Definition at line 124 of file EcalEndcapGeometry.h.

Referenced by getClosestBarrelCells(), and ~EcalEndcapGeometry().

◆ m_borderPtrVec

std::atomic<VecOrdListEBDetIdPtr*> EcalEndcapGeometry::m_borderPtrVec
mutableprivate

Definition at line 126 of file EcalEndcapGeometry.h.

Referenced by getClosestBarrelCells(), and ~EcalEndcapGeometry().

◆ m_cellVec

CellVec EcalEndcapGeometry::m_cellVec
private

◆ m_check

std::atomic<bool> EcalEndcapGeometry::m_check
mutableprivate

Definition at line 129 of file EcalEndcapGeometry.h.

Referenced by avgAbsZFrontFaceCenter().

◆ m_del

CCGFloat EcalEndcapGeometry::m_del
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by initializeParms().

◆ m_nref

unsigned int EcalEndcapGeometry::m_nref
private

Definition at line 117 of file EcalEndcapGeometry.h.

Referenced by getCells(), initializeParms(), xindex(), and yindex().

◆ m_wref

CCGFloat EcalEndcapGeometry::m_wref
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by getCells(), initializeParms(), xindex(), and yindex().

◆ m_xhi

CCGFloat EcalEndcapGeometry::m_xhi[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), getCells(), and initializeParms().

◆ m_xlo

CCGFloat EcalEndcapGeometry::m_xlo[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), getCells(), initializeParms(), and xindex().

◆ m_xoff

CCGFloat EcalEndcapGeometry::m_xoff[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), and initializeParms().

◆ m_yhi

CCGFloat EcalEndcapGeometry::m_yhi[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), getCells(), and initializeParms().

◆ m_ylo

CCGFloat EcalEndcapGeometry::m_ylo[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), getCells(), initializeParms(), and yindex().

◆ m_yoff

CCGFloat EcalEndcapGeometry::m_yoff[2]
private

Definition at line 115 of file EcalEndcapGeometry.h.

Referenced by EcalEndcapGeometry(), and initializeParms().

◆ zeN

CCGFloat EcalEndcapGeometry::zeN
private

Definition at line 113 of file EcalEndcapGeometry.h.

Referenced by gId(), and initializeParms().

◆ zeP

CCGFloat EcalEndcapGeometry::zeP
private

Definition at line 113 of file EcalEndcapGeometry.h.

Referenced by getCells(), gId(), and initializeParms().

DDAxes::y
EcalEndcapGeometry::zeP
CCGFloat zeP
Definition: EcalEndcapGeometry.h:113
mps_fire.i
i
Definition: mps_fire.py:355
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
EcalEndcapGeometry::VecOrdListEBDetIdPtr
std::vector< OrderedListOfEBDetId * > VecOrdListEBDetIdPtr
Definition: EcalEndcapGeometry.h:35
EcalEndcapGeometry::Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: EcalEndcapGeometry.h:25
EcalEndcapGeometry::gId
EEDetId gId(float x, float y, float z) const
Definition: EcalEndcapGeometry.cc:186
degrees
double degrees(double radiants)
def degrees
Definition: EcalEleCalibLooper.cc:359
CaloGenericDetId
Definition: CaloGenericDetId.h:12
CaloSubdetectorGeometry::DetIdSet
std::set< DetId > DetIdSet
Definition: CaloSubdetectorGeometry.h:27
EcalEndcapGeometry::m_avgZ
CCGFloat m_avgZ
Definition: EcalEndcapGeometry.h:128
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
EBDetId
Definition: EBDetId.h:17
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: CaloCellGeometry.cc:4
cms::cuda::assert
assert(be >=bs)
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
EcalEndcapGeometry::_nnmods
int _nnmods
number of modules
Definition: EcalEndcapGeometry.h:108
Pl3D
HepGeom::Plane3D< CCGFloat > Pl3D
Definition: EcalBarrelGeometry.cc:18
TruncatedPyramid
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code.
Definition: TruncatedPyramid.h:19
DDAxes::x
EcalEndcapGeometry::OrderedListOfEBDetId
EZArrayFL< EBDetId > OrderedListOfEBDetId
Definition: EcalEndcapGeometry.h:33
findQualityFiles.v
v
Definition: findQualityFiles.py:179
EcalEndcapGeometry::m_del
CCGFloat m_del
Definition: EcalEndcapGeometry.h:115
EcalEndcapGeometry::myPhi
static int myPhi(int i)
Definition: EcalEndcapGeometry.h:102
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: CaloCellGeometry.cc:5
EEDetId::detIdFromDenseIndex
static EEDetId detIdFromDenseIndex(uint32_t din)
Definition: EEDetId.h:220
DetId
Definition: DetId.h:17
CaloSubdetectorGeometry::getCells
virtual DetIdSet getCells(const GlobalPoint &r, double dR) const
Get a list of all cells within a dR of the given cell.
Definition: CaloSubdetectorGeometry.cc:66
EEDetId::kSizeForDenseIndexing
Definition: EEDetId.h:329
EcalEndcapGeometry::k_NumberOfShapes
Definition: EcalEndcapGeometry.h:43
EcalEndcapGeometry::m_yhi
CCGFloat m_yhi[2]
Definition: EcalEndcapGeometry.h:115
PVValHelper::eta
Definition: PVValidationHelpers.h:69
EcalEndcapGeometry::m_cellVec
CellVec m_cellVec
Definition: EcalEndcapGeometry.h:131
DDAxes::z
EcalEndcapGeometry::m_xhi
CCGFloat m_xhi[2]
Definition: EcalEndcapGeometry.h:115
dqmdumpme.k
k
Definition: dqmdumpme.py:60
Point3DBase< float, GlobalTag >
EEDetId
Definition: EEDetId.h:14
EcalEndcapGeometry::m_wref
CCGFloat m_wref
Definition: EcalEndcapGeometry.h:115
EcalEndcap
Definition: EcalSubdetector.h:10
EcalEndcapGeometry::m_borderPtrVec
std::atomic< VecOrdListEBDetIdPtr * > m_borderPtrVec
Definition: EcalEndcapGeometry.h:126
EcalEndcapGeometry::k_NumberOfParametersPerShape
Definition: EcalEndcapGeometry.h:45
EcalEndcapGeometry::m_ylo
CCGFloat m_ylo[2]
Definition: EcalEndcapGeometry.h:115
geometryCSVtoXML.yy
yy
Definition: geometryCSVtoXML.py:19
CaloCellGeometry
Definition: CaloCellGeometry.h:50
DeadROC_duringRun.f2
f2
Definition: DeadROC_duringRun.py:220
reco::deltaR2
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
A
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
CaloSubdetectorGeometry::addValidID
void addValidID(const DetId &id)
Definition: CaloSubdetectorGeometry.cc:27
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
EcalEndcapGeometry::k_NumberOfCellsForCorners
Definition: EcalEndcapGeometry.h:41
EcalEndcapGeometry::xindex
unsigned int xindex(CCGFloat x, CCGFloat z) const
Definition: EcalEndcapGeometry.cc:172
CaloSubdetectorGeometry::getGeometry
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
Definition: CaloSubdetectorGeometry.cc:36
corrVsCorr.rx
rx
Definition: corrVsCorr.py:103
EcalEndcapGeometry::zeN
CCGFloat zeN
Definition: EcalEndcapGeometry.h:113
DetId::Ecal
Definition: DetId.h:27
alignCSCRings.r
r
Definition: alignCSCRings.py:93
DDAxes::phi
TtFullHadDaughter::B
static const std::string B
Definition: TtFullHadronicEvent.h:9
EcalEndcapGeometry::m_yoff
CCGFloat m_yoff[2]
Definition: EcalEndcapGeometry.h:115
MaterialEffects_cfi.A
A
Definition: MaterialEffects_cfi.py:11
EcalEndcapGeometry::CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: EcalEndcapGeometry.h:24
TruncatedPyramid::localCorners
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Definition: TruncatedPyramid.cc:177
CaloSubdetectorGeometry::cornersMgr
CaloCellGeometry::CornersMgr * cornersMgr()
Definition: CaloSubdetectorGeometry.h:82
gen::C
C
Definition: PomwigHadronizer.cc:76
EcalEndcapGeometry::yindex
unsigned int yindex(CCGFloat y, CCGFloat z) const
Definition: EcalEndcapGeometry.cc:179
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
EEDetId::validDetId
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
EZMgrFL
Definition: EZMgrFL.h:8
L1TowerCalibrationProducer_cfi.iEta
iEta
Definition: L1TowerCalibrationProducer_cfi.py:60
corrVsCorr.ry
ry
Definition: corrVsCorr.py:108
cms::Exception
Definition: Exception.h:70
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
CaloSubdetectorGeometry::cellGeomPtr
virtual std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) const
Definition: CaloSubdetectorGeometry.cc:260
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
EcalEndcapGeometry::m_xlo
CCGFloat m_xlo[2]
Definition: EcalEndcapGeometry.h:115
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
EcalEndcapGeometry::m_check
std::atomic< bool > m_check
Definition: EcalEndcapGeometry.h:129
EcalEndcapGeometry::m_nref
unsigned int m_nref
Definition: EcalEndcapGeometry.h:117
EcalEndcapGeometry::m_xoff
CCGFloat m_xoff[2]
Definition: EcalEndcapGeometry.h:115
EcalEndcapGeometry::m_borderMgr
std::atomic< EZMgrFL< EBDetId > * > m_borderMgr
Definition: EcalEndcapGeometry.h:124
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
EcalEndcapGeometry::_nncrys
int _nncrys
number of crystals per module
Definition: EcalEndcapGeometry.h:111