Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run4-hgx279 Next step for V15 Geometry for HGCal #33269

Merged
merged 2 commits into from
Mar 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions Geometry/HGCalCommonData/data/dd4hep/testHGCalV15.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<?xml version="1.0"?>
<DDDefinition>
<open_geometry/>
<close_geometry/>

<IncludeSection>
<Include ref="Geometry/CMSCommonData/data/materials/2021/v1/materials.xml"/>
<Include ref="Geometry/CMSCommonData/data/rotations.xml"/>
<Include ref="Geometry/CMSCommonData/data/extend/v2/cmsextent.xml"/>
<Include ref="Geometry/CMSCommonData/data/cmsMother.xml"/>
<Include ref="Geometry/CMSCommonData/data/eta3/etaMax.xml"/>
<Include ref="Geometry/CMSCommonData/data/cmsCalo.xml"/>
<Include ref="Geometry/CMSCommonData/data/cmsMuon.xml"/>
<Include ref="Geometry/CMSCommonData/data/mgnt.xml"/>
<Include ref="Geometry/CMSCommonData/data/beampipe/2026/v3/beampipe.xml"/>
<Include ref="Geometry/CMSCommonData/data/cmsBeam/2026/v1/cmsBeam.xml"/>
<Include ref="Geometry/CMSCommonData/data/muonMB.xml"/>
<Include ref="Geometry/CMSCommonData/data/muonMagnet.xml"/>
<Include ref="Geometry/CMSCommonData/data/cavernData/2021/v1/cavernData.xml"/>
<Include ref="Geometry/CMSCommonData/data/cms/2026/v5/cms.xml"/>
<Include ref="Geometry/CMSCommonData/data/caloBase/2026/v5/caloBase.xml"/>
<Include ref="Geometry/CMSCommonData/data/muonBase/2026/v5/muonBase.xml"/>
<Include ref="Geometry/EcalCommonData/data/eregalgo/2026/v2/eregalgo.xml"/>
<Include ref="Geometry/EcalCommonData/data/ectkcable/2026/v1/ectkcable.xml"/>
<Include ref="Geometry/EcalCommonData/data/ectkcablemat/2026/v1/ectkcablemat.xml"/>
<Include ref="Geometry/EcalCommonData/data/ebalgo.xml"/>
<Include ref="Geometry/EcalCommonData/data/ebcon.xml"/>
<Include ref="Geometry/EcalCommonData/data/ebrot.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalrotations.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcal/v2/hcalalgo.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalbarrelalgo.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalcablealgo/v2/hcalcablealgo.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalouteralgo.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalforwardalgo.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalSimNumbering/NoHE/hcalSimNumbering.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalRecNumbering/NoHE/hcalRecNumbering.xml"/>
<Include ref="Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalMaterial/v1/hgcalMaterial.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcal/v15/hgcal.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalcell/v15/hgcalcell.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalwafer/v15/hgcalwafer.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalEE/v15/hgcalEE.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalHEsil/v15/hgcalHEsil.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalHEmix/v15/hgcalHEmix.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalConsData/v15/hgcalConsData.xml"/>
<Include ref="Geometry/ForwardCommonData/data/forwardshield/2026/v4/forwardshield.xml"/>
<Include ref="Geometry/ForwardCommonData/data/brmrotations.xml"/>
<Include ref="Geometry/ForwardCommonData/data/brm/2026/v1/brm.xml"/>
<Include ref="Geometry/MuonCommonData/data/mbCommon/2021/v1/mbCommon.xml"/>
<Include ref="Geometry/MuonCommonData/data/mb1/2015/v2/mb1.xml"/>
<Include ref="Geometry/MuonCommonData/data/mb2/2015/v2/mb2.xml"/>
<Include ref="Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml"/>
<Include ref="Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml"/>
<Include ref="Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml"/>
<Include ref="Geometry/MuonCommonData/data/muonYoke/2026/v1/muonYoke.xml"/>
<Include ref="Geometry/MuonCommonData/data/csc/2021/v2/csc.xml"/>
<Include ref="Geometry/MuonCommonData/data/mf/2026/v6/mf.xml"/>
<Include ref="Geometry/MuonCommonData/data/rpcf/2026/v3/rpcf.xml"/>
<Include ref="Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml"/>
<Include ref="Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml"/>
<Include ref="Geometry/MuonCommonData/data/gem21/TDR_Dev/gem21.xml"/>
<Include ref="Geometry/MuonCommonData/data/mfshield/2026/v4/mfshield.xml"/>
<Include ref="Geometry/MuonCommonData/data/me0/TDR_Dev/v3/me0.xml"/>
<Include ref="Geometry/MuonCommonData/data/muonNumbering/TDR_DeV/v1/muonNumbering.xml"/>
<Include ref="Geometry/EcalSimData/data/PhaseII/ecalsens.xml"/>
<Include ref="Geometry/HcalCommonData/data/hcalsens/NoHE/hcalsenspmf.xml"/>
<Include ref="Geometry/HcalSimData/data/hf.xml"/>
<Include ref="Geometry/HcalSimData/data/hfpmt.xml"/>
<Include ref="Geometry/HcalSimData/data/hffibrebundle.xml"/>
<Include ref="Geometry/HcalSimData/data/CaloUtil.xml"/>
<Include ref="Geometry/HGCalSimData/data/hgcsensv15.xml"/>
<Include ref="Geometry/MuonSimData/data/PhaseII/ME0EtaPart/muonSens.xml"/>
<Include ref="Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml"/>
<Include ref="Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml"/>
<Include ref="Geometry/CSCGeometryBuilder/data/cscSpecs.xml"/>
<Include ref="Geometry/RPCGeometryBuilder/data/2026/v1/RPCSpecs.xml"/>
<Include ref="Geometry/GEMGeometryBuilder/data/v7/GEMSpecsFilter.xml"/>
<Include ref="Geometry/GEMGeometryBuilder/data/v7/GEMSpecs.xml"/>
<Include ref="Geometry/HcalSimData/data/HcalProdCuts.xml"/>
<Include ref="Geometry/EcalSimData/data/EcalProdCuts.xml"/>
<Include ref="Geometry/HGCalSimData/data/hgcProdCutsv15.xml"/>
<Include ref="Geometry/CMSCommonData/data/FieldParameters.xml"/>
<Include ref="Geometry/MuonSimData/data/PhaseII/muonProdCuts.xml"/>
</IncludeSection>

</DDDefinition>

8 changes: 4 additions & 4 deletions Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</ConstantsSection>

<SpecParSection label="hgcalCons.xml" eval="true">
<SpecPar name="HGCalEESensitive">
<SpecPar name="HGCalEELayer">
<PartSelector path="//HGCalEELayer.*"/>
<Parameter name="Volume" value="HGCalEELayer" eval="false"/>
<Parameter name="GeometryMode" value="HGCalGeometryMode::Hexagon8Module" eval="false"/>
Expand Down Expand Up @@ -74,11 +74,11 @@
<Parameter name="RMaxFront" value="[hgcal:rMaxHGCal10]"/>
<Parameter name="RMaxFront" value="[hgcal:rMaxHGCal11]"/>
</SpecPar>
<SpecPar name="HGCalEESensitive2">
<SpecPar name="HGCalEESensitive">
<PartSelector path="//HGCalEESensitive.*"/>
<Parameter name="Volume" value="HGCalEESensitive" eval="false"/>
</SpecPar>
<SpecPar name="HGCalHESiliconSensitive">
<SpecPar name="HGCalHESiliconLayer">
<PartSelector path="//HGCalHESiliconLayer.*"/>
<Parameter name="Volume" value="HGCalHESiliconLayer" eval="false"/>
<Parameter name="GeometryMode" value="HGCalGeometryMode::Hexagon8Module" eval="false"/>
Expand Down Expand Up @@ -132,7 +132,7 @@
<Parameter name="RMaxFront" value="[hgcal:rMaxHGCal10]"/>
<Parameter name="RMaxFront" value="[hgcal:rMaxHGCal11]"/>
</SpecPar>
<SpecPar name="HGCalHESiliconSensitive2">
<SpecPar name="HGCalHESiliconSensitive">
<PartSelector path="//HGCalHESiliconSensitive.*"/>
<Parameter name="Volume" value="HGCalHESiliconSensitive" eval="false"/>
</SpecPar>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

hgcalEEParametersInitialize = cms.ESProducer('HGCalParametersESModule',
name = cms.string('HGCalEELayer'),
name2 = cms.string('HGCalEE'),
name2 = cms.string('HGCalEESensitive'),
nameW = cms.string('HGCalEEWafer'),
nameC = cms.string('HGCalEESensitive'),
nameT = cms.string('HGCal'),
Expand All @@ -19,13 +19,15 @@

hgcalHESiParametersInitialize = hgcalEEParametersInitialize.clone(
name = cms.string("HGCalHESiliconLayer"),
name2 = cms.string("HGCalHESiliconSensitive"),
nameW = cms.string("HGCalHEWafer"),
nameC = cms.string("HGCalHESiliconSensitive"),
nameX = cms.string("HGCalHESiliconSensitive"),
)

hgcalHEScParametersInitialize = hgcalEEParametersInitialize.clone(
name = cms.string("HGCalHEScintillatorSensitive"),
name2 = cms.string("HGCalHEScintillatorSensitive"),
nameW = cms.string("HGCalWafer"),
nameC = cms.string("HGCalHEScintillatorSensitive"),
nameX = cms.string("HGCalHEScintillatorSensitive"),
Expand Down
78 changes: 60 additions & 18 deletions Geometry/HGCalCommonData/src/HGCalGeomParameters.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "Geometry/HGCalCommonData/interface/HGCalWaferType.h"

#include <algorithm>
#include <sstream>
#include <unordered_set>

//#define EDM_ML_DEBUG
Expand Down Expand Up @@ -706,7 +707,7 @@ void HGCalGeomParameters::loadGeometryHexagon8(const DDFilteredView& _fv, HGCalP
if (lay == 0) {
throw cms::Exception("DDException")
<< "Funny layer # " << lay << " zp " << zside << " in " << nsiz << " components";
} else {
} else if (sol.shape() == DDSolidShape::ddtubs) {
if (std::find(php.layer_.begin(), php.layer_.end(), lay) == php.layer_.end())
php.layer_.emplace_back(lay);
const DDTubs& tube = static_cast<DDTubs>(sol);
Expand Down Expand Up @@ -784,7 +785,7 @@ void HGCalGeomParameters::loadGeometryHexagon8(const cms::DDCompactView* cpv,
if (lay == 0) {
throw cms::Exception("DDException")
<< "Funny layer # " << lay << " zp " << zside << " in " << nsiz << " components";
} else {
} else if (fv.shape() == cms::DDSolidShape::ddtubs) {
if (std::find(php.layer_.begin(), php.layer_.end(), lay) == php.layer_.end())
php.layer_.emplace_back(lay);
const std::vector<double>& pars = fv.parameters();
Expand Down Expand Up @@ -867,8 +868,13 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const DDCompactView* cpv,
if (zvals.find(std::make_pair(lay, zside)) == zvals.end()) {
zvals[std::make_pair(lay, zside)] = HGCalParameters::k_ScaleFromDDD * fv1.translation().Z();
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "Layer " << lay << " Side " << zside << " Z "
<< zvals[std::make_pair(lay, zside)];
std::ostringstream st1;
st1 << "Name0 " << fv1.name() << " LTop " << levelTop << ":" << lay << " ZSide " << zside << " # of levels "
<< nsiz;
for (const auto& c : copy)
st1 << ":" << c;
st1 << " Z " << zvals[std::make_pair(lay, zside)];
edm::LogVerbatim("HGCalGeom") << st1.str();
#endif
}
}
Expand All @@ -893,13 +899,17 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const DDCompactView* cpv,
zside = -1;
const DDSolid& sol = fv2.logicalPart().solid();
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << sol.name() << " shape " << sol.shape() << " size " << nsiz << ":" << levelTop
<< " lay " << lay << " z " << zside;
std::ostringstream st2;
st2 << "Name1 " << sol.name() << " shape " << sol.shape() << " LTop " << levelTop << ":" << lay << " ZSide "
<< zside << ":" << php.levelZSide_ << " # of levels " << nsiz;
for (const auto& c : copy)
st2 << ":" << c;
edm::LogVerbatim("HGCalGeom") << st2.str();
#endif
if (lay == 0) {
throw cms::Exception("DDException")
<< "Funny layer # " << lay << " zp " << zside << " in " << nsiz << " components";
} else {
} else if (sol.shape() == DDSolidShape::ddtubs) {
if (zvals.find(std::make_pair(lay, zside)) != zvals.end()) {
if (std::find(php.layer_.begin(), php.layer_.end(), lay) == php.layer_.end())
php.layer_.emplace_back(lay);
Expand All @@ -913,6 +923,15 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const DDCompactView* cpv,
double zp = zvals[std::make_pair(lay, 1)];
HGCalGeomParameters::layerParameters laypar(rin, rout, zp);
layers[lay] = laypar;
#ifdef EDM_ML_DEBUG
std::ostringstream st3;
st3 << "Name1 " << fv2.name() << " LTop " << levelTop << ":" << lay << " ZSide " << zside << " # of levels "
<< nsiz;
for (const auto& c : copy)
st3 << ":" << c;
st3 << " R " << rin << ":" << rout;
edm::LogVerbatim("HGCalGeom") << st3.str();
#endif
}

if (trforms.find(std::make_pair(lay, zside)) == trforms.end()) {
Expand Down Expand Up @@ -965,6 +984,9 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const cms::DDCompactView* cp
const cms::DDFilter filter1("Volume", sdTag2);
cms::DDFilteredView fv1((*cpv), filter1);
while (fv1.firstChild()) {
#ifdef EDM_ML_DEBUG
++ntot1;
#endif
int nsiz = static_cast<int>(fv1.level());
if (nsiz > levelTop) {
std::vector<int> copy = fv1.copyNos();
Expand All @@ -979,8 +1001,13 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const cms::DDCompactView* cp
if (zvals.find(std::make_pair(lay, zside)) == zvals.end()) {
zvals[std::make_pair(lay, zside)] = HGCalParameters::k_ScaleFromDD4Hep * fv1.translation().Z();
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "Layer " << lay << " Side " << zside << " Z "
<< zvals[std::make_pair(lay, zside)];
std::ostringstream st1;
st1 << "Name0 " << fv1.name() << " LTop " << levelTop << ":" << lay << " ZSide " << zside << " # of levels "
<< nsiz;
for (const auto& c : copy)
st1 << ":" << c;
st1 << " Z " << zvals[std::make_pair(lay, zside)];
edm::LogVerbatim("HGCalGeom") << st1.str();
#endif
}
}
Expand All @@ -990,38 +1017,53 @@ void HGCalGeomParameters::loadGeometryHexagonModule(const cms::DDCompactView* cp
const cms::DDFilter filter2("Volume", sdTag1);
cms::DDFilteredView fv2((*cpv), filter2);
while (fv2.firstChild()) {
// Layers first
int nsiz = static_cast<int>(fv2.level());
#ifdef EDM_ML_DEBUG
++ntot2;
#endif
// Layers first
int nsiz = static_cast<int>(fv2.level());
if (nsiz < levelTop) {
if (nsiz > levelTop) {
std::vector<int> copy = fv2.copyNos();
int lay = copy[0];
int lay = copy[nsiz - levelTop - 1];
int zside = (nsiz > php.levelZSide_) ? copy[nsiz - php.levelZSide_ - 1] : -1;
if (zside != 1)
zside = -1;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << fv2.name() << " shape " << cms::dd::name(cms::DDSolidShapeMap, fv2.shape())
<< " size " << nsiz << ":" << levelTop << " lay " << lay << " z " << zside << ":"
<< php.levelZSide_;
std::ostringstream st2;
st2 << "Name1 " << fv2.name() << "Shape " << cms::dd::name(cms::DDSolidShapeMap, fv2.shape()) << " LTop "
<< levelTop << ":" << lay << " ZSide " << zside << ":" << php.levelZSide_ << " # of levels " << nsiz;
for (const auto& c : copy)
st2 << ":" << c;
edm::LogVerbatim("HGCalGeom") << st2.str();
#endif
if (lay == 0) {
throw cms::Exception("DDException")
<< "Funny layer # " << lay << " zp " << zside << " in " << nsiz << " components";
} else {
if (zvals.find(std::make_pair(lay, zside)) == zvals.end()) {
if (zvals.find(std::make_pair(lay, zside)) != zvals.end()) {
if (std::find(php.layer_.begin(), php.layer_.end(), lay) == php.layer_.end())
php.layer_.emplace_back(lay);
auto itr = layers.find(lay);
if (itr == layers.end()) {
const std::vector<double>& pars = fv2.parameters();
double rin = HGCalParameters::k_ScaleFromDD4Hep * pars[0];
double rout = HGCalParameters::k_ScaleFromDD4Hep * pars[1];
double rout = (php.firstMixedLayer_ > 0 && lay >= php.firstMixedLayer_)
? php.radiusMixBoundary_[lay - php.firstMixedLayer_]
: HGCalParameters::k_ScaleFromDD4Hep * pars[1];
double zp = zvals[std::make_pair(lay, 1)];
HGCalGeomParameters::layerParameters laypar(rin, rout, zp);
layers[lay] = laypar;
#ifdef EDM_ML_DEBUG
std::ostringstream st3;
st3 << "Name2 " << fv2.name() << " LTop " << levelTop << ":" << lay << " ZSide " << zside << " # of levels "
<< nsiz;
for (const auto& c : copy)
st3 << ":" << c;
st3 << " R " << rin << ":" << rout;
edm::LogVerbatim("HGCalGeom") << st3.str();
#endif
}

if (trforms.find(std::make_pair(lay, zside)) == trforms.end()) {
DD3Vector x, y, z;
fv2.rotation().GetComponents(x, y, z);
Expand Down
22 changes: 11 additions & 11 deletions Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv,
const std::string& name2) {
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "HGCalParametersFromDD (DD4Hep)::build called with "
<< "names " << name << ":" << namew << ":" << namec << ":" << namet;
<< "names " << name << ":" << namew << ":" << namec << ":" << namet << ":" << name2;
#endif
cms::DDVectorsMap vmap = cpv->detector()->vectors();
const cms::DDFilter filter("Volume", name);
Expand All @@ -264,18 +264,21 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv,
std::vector<double> tempD;
bool ok = fv.firstChild();
tempS = fv.get<std::vector<std::string> >(name2, "GeometryMode");
if (tempS.empty())
if (tempS.empty()) {
tempS = fv.get<std::vector<std::string> >(name, "GeometryMode");
}
std::string sv = (!tempS.empty()) ? tempS[0] : "HGCalGeometryMode::Hexagon8Full";
HGCalGeometryMode::WaferMode mode(HGCalGeometryMode::Polyhedra);

if (ok) {
php.mode_ = getGeometryMode(sv);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "GeometryMode " << php.mode_ << ":" << HGCalGeometryMode::Hexagon << ":"
<< HGCalGeometryMode::HexagonFull << ":" << HGCalGeometryMode::Hexagon8 << ":"
<< HGCalGeometryMode::Hexagon8Full << ":" << HGCalGeometryMode::Hexagon8File << ":"
<< HGCalGeometryMode::Trapezoid << ":" << HGCalGeometryMode::TrapezoidFile;
edm::LogVerbatim("HGCalGeom") << "Volume " << name << " GeometryMode " << php.mode_ << ":"
<< HGCalGeometryMode::Hexagon << ":" << HGCalGeometryMode::HexagonFull << ":"
<< HGCalGeometryMode::Hexagon8 << ":" << HGCalGeometryMode::Hexagon8Full << ":"
<< HGCalGeometryMode::Hexagon8File << ":" << HGCalGeometryMode::Hexagon8Module << ":"
<< HGCalGeometryMode::Trapezoid << ":" << HGCalGeometryMode::TrapezoidFile << ":"
<< HGCalGeometryMode::TrapezoidModule;
#endif
php.levelZSide_ = 3; // Default level for ZSide
php.detectorType_ = 0; // These two parameters are
Expand All @@ -294,7 +297,7 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv,
php.waferZSide_ = 0;
}
if ((php.mode_ == HGCalGeometryMode::Hexagon8) || (php.mode_ == HGCalGeometryMode::Hexagon8Full) ||
(php.mode_ == HGCalGeometryMode::Hexagon8File)) {
(php.mode_ == HGCalGeometryMode::Hexagon8File) || (php.mode_ == HGCalGeometryMode::Hexagon8Module)) {
php.levelT_ = dbl_to_int(fv.get<std::vector<double> >(name, "LevelTop"));
tempD = fv.get<std::vector<double> >(name, "LevelZSide");
php.levelZSide_ = static_cast<int>(tempD[0]);
Expand Down Expand Up @@ -427,10 +430,7 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv,
// Load the SpecPars
geom->loadSpecParsTrapezoid(fv, vmap, php, name);
// Load Geometry parameters
if ((php.mode_ == HGCalGeometryMode::Trapezoid) || (php.mode_ == HGCalGeometryMode::TrapezoidFile))
geom->loadGeometryHexagon8(cpv, php, name, php.firstLayer_);
else
geom->loadGeometryHexagonModule(cpv, php, name, namec, php.firstLayer_);
geom->loadGeometryHexagon8(cpv, php, name, php.firstLayer_);
// Load cell positions
geom->loadCellTrapezoid(php);
} else {
Expand Down
Loading