27 std::ostringstream st1;
28 st1 <<
"CaloTowerHardcodeGeometryLoader: theHBHEEtaBounds = ";
34 edm::LogVerbatim(
"HCalGeom") <<
"CaloTowerHardcodeGeometryLoader: HcalTopology: firstHBRing = " 39 <<
", lastHFRing = " << hcaltopo->
lastHFRing();
44 if (
nullptr ==
geom->cornersMgr())
45 geom->allocateCorners(
geom->numberOfCellsForCorners());
46 if (
nullptr ==
geom->parMgr())
47 geom->allocatePar(
geom->numberOfParametersPerShape() *
geom->numberOfShapes(),
geom->numberOfParametersPerShape());
54 return std::unique_ptr<CaloSubdetectorGeometry>(
geom);
58 const double EBradius = 143.0;
59 const double HOradius = 406.0 + 1.0;
60 const double EEz = 320.0;
61 const double HEz = 568.0;
62 const double HFz = 1100.0;
63 const double HFthick = 165;
78 <<
", etaRing = " << etaRing;
95 double phi_low = dphi_nominal * (
iphi - 1);
96 double phi = phi_low + dphi_half;
100 <<
", eta = " <<
eta <<
", phi = " <<
phi;
107 double r =
z / sinh(
eta);
113 double r =
z / sinh(
eta);
121 z = EBradius * sinh(
eta);
128 const double mysign(!alongZ ? 1 : -1);
129 std::vector<CCGFloat>
hh;
131 hh.emplace_back(deta / 2);
132 hh.emplace_back(dphi_half);
135 hh.emplace_back(fabs(
eta));
136 hh.emplace_back(fabs(
z));
139 edm::LogVerbatim(
"HCalGeom") <<
"CaloTowerHardcodeGeometryLoader: x = " <<
x <<
", y = " <<
y <<
", z = " <<
z Log< level::Info, true > LogVerbatim
uint32_t sizeForDenseIndexing() const
void tanh(data_T data[CONFIG_T::n_in], res_T res[CONFIG_T::n_in])
const CaloTowerTopology * m_limits
std::unique_ptr< CaloSubdetectorGeometry > load(const CaloTowerTopology *limits, const HcalTopology *hcaltopo, const HcalDDDRecConstants *hcons)
Sin< T >::type sin(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
CaloTowerDetId detIdFromDenseIndex(uint32_t din) const
void makeCell(uint32_t din, CaloSubdetectorGeometry *geom) const
const HcalTopology * m_hcaltopo
int convertCTtoHcal(int ct_ieta) const
Cos< T >::type cos(const T &t)
std::vector< double > theHBHEEtaBounds
Abs< T >::type abs(const T &t)
const std::vector< double > & getEtaTable() const
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
std::vector< double > theHFEtaBounds
const std::vector< double > & getEtaTableHF() const
Log< level::Info, false > LogInfo
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > hh
const HcalDDDRecConstants * m_hcons
*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
int nPhiBins(int etaRing) const
how many phi segments in this ring