CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Public Attributes
HCalEndcapModuleAlgo Struct Reference

Classes

struct  HcalEndcapPar
 

Public Member Functions

void constructInsideModule (cms::DDParsingContext &ctxt, xml_h e, dd4hep::Volume &module)
 
void constructInsideModule0 (cms::DDParsingContext &ctxt, xml_h e, dd4hep::Volume &module)
 
void constructScintLayer (dd4hep::Volume &detector, double dz, HCalEndcapModuleAlgo::HcalEndcapPar parm, const std::string &nm, int id, cms::DDNamespace &ns)
 
dd4hep::Rotation3D getRotation (const std::string &rotstr, cms::DDNamespace &ns)
 
double getRout (double z) const
 
double getTrim (unsigned int j) const
 
 HCalEndcapModuleAlgo ()=delete
 
 HCalEndcapModuleAlgo (cms::DDParsingContext &ctxt, xml_h e)
 
HcalEndcapPar parameterLayer (unsigned int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo)
 
HcalEndcapPar parameterLayer0 (unsigned int iphi)
 

Public Attributes

std::string absorberMat
 
double dzStep
 
std::string genMaterial
 
std::string idName
 
int idOffset
 
std::vector< std::string > layerName
 
std::vector< int > layerNumber
 
double layerThick
 
int layerType
 
std::string modName
 
int modNumber
 
int modType
 
double moduleThick
 
std::vector< std::string > phiName
 
std::string plasticMat
 
double rMaxBack
 
double rMaxFront
 
std::string rotstr
 
std::string scintMat
 
double scintThick
 
int sectors
 
double slopeBot
 
double slopeTop
 
double slopeTopF
 
double tolAbs
 
double trimLeft
 
double trimRight
 
double z1Beam
 
double ziDip
 
double zMaxBlock
 
double zMinBlock
 

Detailed Description

Definition at line 21 of file DDHCalEndcapModuleAlgo.cc.

Constructor & Destructor Documentation

◆ HCalEndcapModuleAlgo() [1/2]

HCalEndcapModuleAlgo::HCalEndcapModuleAlgo ( )
delete

◆ HCalEndcapModuleAlgo() [2/2]

HCalEndcapModuleAlgo::HCalEndcapModuleAlgo ( cms::DDParsingContext ctxt,
xml_h  e 
)
inline

Definition at line 85 of file DDHCalEndcapModuleAlgo.cc.

85  {
86  cms::DDNamespace ns(ctxt, e, true);
88 
89  genMaterial = args.value<std::string>("MaterialName");
90  absorberMat = args.value<std::string>("AbsorberMat");
91  plasticMat = args.value<std::string>("PlasticMat");
92  scintMat = args.value<std::string>("ScintMat");
93  rotstr = args.value<std::string>("Rotation");
94  sectors = args.value<int>("Sectors");
95 #ifdef EDM_ML_DEBUG
96  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: General material " << genMaterial << "\tAbsorber "
97  << absorberMat << "\tPlastic " << plasticMat << "\tScintillator " << scintMat
98  << "\tRotation " << rotstr << "\tSectors " << sectors;
99 #endif
100  zMinBlock = args.value<double>("ZMinBlock");
101  zMaxBlock = args.value<double>("ZMaxBlock");
102  z1Beam = args.value<double>("Z1Beam");
103  ziDip = args.value<double>("ZiDip");
104  dzStep = args.value<double>("DzStep");
105  moduleThick = args.value<double>("ModuleThick");
106  layerThick = args.value<double>("LayerThick");
107  scintThick = args.value<double>("ScintThick");
108 #ifdef EDM_ML_DEBUG
109  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: Zmin " << convertCmToMm(zMinBlock) << "\tZmax "
110  << convertCmToMm(zMaxBlock) << "\tZ1Beam " << convertCmToMm(z1Beam) << "\tZiDip "
111  << convertCmToMm(ziDip) << "\tDzStep " << convertCmToMm(dzStep) << "\tModuleThick "
112  << convertCmToMm(moduleThick) << "\tLayerThick " << convertCmToMm(layerThick)
113  << "\tScintThick " << convertCmToMm(scintThick);
114 #endif
115  rMaxFront = args.value<double>("RMaxFront");
116  rMaxBack = args.value<double>("RMaxBack");
117  trimLeft = args.value<double>("TrimLeft");
118  trimRight = args.value<double>("TrimRight");
119  tolAbs = args.value<double>("TolAbs");
120 #ifdef EDM_ML_DEBUG
121  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: RMaxFront " << convertCmToMm(rMaxFront) << "\tRmaxBack "
122  << convertCmToMm(rMaxBack) << "\tTrims " << convertCmToMm(trimLeft) << ":"
123  << convertCmToMm(trimRight) << "\tTolAbs " << convertCmToMm(tolAbs);
124 #endif
125  slopeBot = args.value<double>("SlopeBottom");
126  slopeTop = args.value<double>("SlopeTop");
127  slopeTopF = args.value<double>("SlopeTopFront");
128  modType = args.value<int>("ModType");
129  modNumber = args.value<int>("ModNumber");
130  layerType = args.value<int>("LayerType");
131 #ifdef EDM_ML_DEBUG
132  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: slopeBot " << slopeBot << "\tslopeTop " << slopeTop
133  << "\tslopeTopF " << slopeTopF << "\tmodType " << modType << "\tmodNumber "
134  << modNumber << "\tlayerType " << layerType;
135 #endif
136  layerNumber = args.value<std::vector<int> >("LayerNumber");
137 #ifdef EDM_ML_DEBUG
138  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << layerNumber.size() << " layer Numbers";
139  for (unsigned int i = 0; i < layerNumber.size(); ++i)
140  edm::LogVerbatim("HCalGeom") << "LayerNumber[" << i << "] = " << layerNumber[i];
141 #endif
142  phiName = args.value<std::vector<std::string> >("PhiName");
143 #ifdef EDM_ML_DEBUG
144  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << phiName.size() << " phi sectors";
145  for (unsigned int i = 0; i < phiName.size(); ++i)
146  edm::LogVerbatim("HCalGeom") << "PhiName[" << i << "] = " << phiName[i];
147 #endif
148  layerName = args.value<std::vector<std::string> >("LayerName");
149 #ifdef EDM_ML_DEBUG
150  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << layerName.size() << " layers";
151  for (unsigned int i = 0; i < layerName.size(); ++i)
152  edm::LogVerbatim("HCalGeom") << "LayerName[" << i << "] = " << layerName[i];
153 #endif
154  idName = args.value<std::string>("MotherName");
155  idOffset = args.value<int>("IdOffset");
156  modName = args.value<std::string>("ModName");
157 #ifdef EDM_ML_DEBUG
158  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: Parent " << args.parentName() << " " << modName
159  << " idName " << idName << " NameSpace " << ns.name() << " Offset " << idOffset;
160 #endif
161 
162 #ifdef EDM_ML_DEBUG
163  edm::LogVerbatim("HCalGeom") << "==>> Constructing DDHCalEndcapModuleAlgo...";
164 #endif
165 
166  dd4hep::Volume mother = ns.volume(args.parentName());
167  if (modType == 0)
168  constructInsideModule0(ctxt, e, mother);
169  else
170  constructInsideModule(ctxt, e, mother);
171 #ifdef EDM_ML_DEBUG
172  edm::LogVerbatim("HCalGeom") << "<<== End of DDHCalEndcapModuleAlgo construction ...";
173 #endif
174  }

References writedatasetfile::args, geant_units::operators::convertCmToMm(), MillePedeFileConverter_cfg::e, mps_fire::i, versionedElectronIDProducer_cfi::idName, cms::DDNamespace::name(), volumeBasedMagneticField_160812_cfi::sectors, AlCaHLTBitMon_QueryRunRegistry::string, and cms::DDNamespace::volume().

Member Function Documentation

◆ constructInsideModule()

void HCalEndcapModuleAlgo::constructInsideModule ( cms::DDParsingContext ctxt,
xml_h  e,
dd4hep::Volume &  module 
)
inline

Definition at line 303 of file DDHCalEndcapModuleAlgo.cc.

303  {
304  cms::DDNamespace ns(ctxt, e, true);
305 #ifdef EDM_ML_DEBUG
306  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: \t\tInside module";
307 #endif
308  //Pointers to the Rotation Matrices and to the Materials
310  dd4hep::Material matter = ns.material(genMaterial);
311  dd4hep::Material matplastic = ns.material(plasticMat);
312  dd4hep::Rotation3D rot = getRotation(rotstr, ns);
313 
314  double alpha = (1._pi) / sectors;
315  double zi = zMinBlock;
316 
317  for (unsigned int i = 0; i < layerName.size(); i++) {
319  dd4hep::Solid solid;
320  dd4hep::Volume glog, plog;
321  int layer = layerNumber[i];
322  double zo = zi + 0.5 * dzStep;
323 
324  for (unsigned int iphi = 0; iphi < phiName.size(); iphi++) {
325  double ziAir = zo - moduleThick;
326  double rinF, rinB;
327  if (modNumber == 0) {
328  rinF = ziAir * slopeTopF;
329  rinB = zo * slopeTopF;
330  } else {
331  rinF = ziAir * slopeBot;
332  rinB = zo * slopeBot;
333  }
334  double routF = getRout(ziAir);
335  double routB = getRout(zo);
336 #ifdef EDM_ML_DEBUG
337  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: Layer " << i << " Phi " << iphi << " Front "
338  << convertCmToMm(ziAir) << ", " << convertCmToMm(rinF) << ", "
339  << convertCmToMm(routF) << " Back " << convertCmToMm(zo) << ", "
340  << convertCmToMm(rinB) << ", " << convertCmToMm(routB);
341 #endif
342  HCalEndcapModuleAlgo::HcalEndcapPar parm = parameterLayer(iphi, rinF, routF, rinB, routB, ziAir, zo);
343 
344  name = idName + modName + layerName[i] + phiName[iphi] + "Air";
345  solid = dd4hep::Trap(ns.prepend(name),
346  0.5 * moduleThick,
347  parm.theta,
348  parm.phi,
349  parm.yh1,
350  parm.bl1,
351  parm.tl1,
352  parm.alp,
353  parm.yh2,
354  parm.bl2,
355  parm.tl2,
356  parm.alp);
357 #ifdef EDM_ML_DEBUG
358  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << solid.name() << " Trap made of " << matter.name()
359  << " of dimensions " << convertCmToMm(0.5 * moduleThick) << ", "
360  << convertRadToDeg(parm.theta) << ", " << convertRadToDeg(parm.phi) << ", "
361  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
362  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp) << ", "
363  << convertCmToMm(parm.yh2) << ", " << convertCmToMm(parm.bl2) << ", "
364  << convertCmToMm(parm.tl2) << ", " << convertRadToDeg(parm.alp);
365 #endif
366  glog = dd4hep::Volume(solid.name(), solid, matter);
367 
368  dd4hep::Position r1(parm.xpos, parm.ypos, parm.zpos);
369  module.placeVolume(glog, layer + 1, dd4hep::Transform3D(rot, r1));
370 #ifdef EDM_ML_DEBUG
371  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << glog.name() << " number " << layer + 1
372  << " positioned in " << module.name() << " at (" << convertCmToMm(parm.xpos)
373  << ", " << convertCmToMm(parm.ypos) << ", " << convertCmToMm(parm.zpos)
374  << ") with rotation: " << rot;
375 #endif
376  //Now the plastic with scintillators
377  parm.yh1 = 0.5 * (routF - rinB) - getTrim(iphi);
378  parm.bl1 = 0.5 * rinB * tan(alpha) - getTrim(iphi);
379  parm.tl1 = 0.5 * routF * tan(alpha) - getTrim(iphi);
381  solid = dd4hep::Trap(ns.prepend(name),
382  0.5 * layerThick,
383  0,
384  0,
385  parm.yh1,
386  parm.bl1,
387  parm.tl1,
388  parm.alp,
389  parm.yh1,
390  parm.bl1,
391  parm.tl1,
392  parm.alp);
393 #ifdef EDM_ML_DEBUG
394  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << solid.name() << " Trap made of "
395  << matplastic.name() << " of dimensions " << convertCmToMm(0.5 * layerThick)
396  << ", 0, 0, " << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
397  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp) << ", "
398  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
399  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp);
400 #endif
401  plog = dd4hep::Volume(solid.name(), solid, matplastic);
402 
403  double ypos = 0.5 * (routF + rinB) - parm.xpos;
404  dd4hep::Position r2(0., ypos, 0.);
405  glog.placeVolume(plog, idOffset + layer + 1, r2);
406 #ifdef EDM_ML_DEBUG
407  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << plog.name() << " number "
408  << (idOffset + layer + 1) << " positioned in " << glog.name() << " at (0, "
409  << convertCmToMm(ypos) << ", 0) with no rotation";
410 #endif
411  //Constructin the scintillators inside
412  int copyNo = layer * 10 + layerType;
414  constructScintLayer(plog, scintThick, parm, name, copyNo, ns);
415  zo += 0.5 * dzStep;
416  } // End of loop over phi indices
417  zi = zo - 0.5 * dzStep;
418  } // End of loop on layers
419  }

References HCalEndcapModuleAlgo::HcalEndcapPar::alp, zMuMuMuonUserData::alpha, HCalEndcapModuleAlgo::HcalEndcapPar::bl1, HCalEndcapModuleAlgo::HcalEndcapPar::bl2, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), MillePedeFileConverter_cfg::e, mps_fire::i, versionedElectronIDProducer_cfi::idName, LEDCalibrationChannels::iphi, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, HCalEndcapModuleAlgo::HcalEndcapPar::phi, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, volumeBasedMagneticField_160812_cfi::sectors, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), HCalEndcapModuleAlgo::HcalEndcapPar::theta, HCalEndcapModuleAlgo::HcalEndcapPar::tl1, HCalEndcapModuleAlgo::HcalEndcapPar::tl2, HCalEndcapModuleAlgo::HcalEndcapPar::xpos, HCalEndcapModuleAlgo::HcalEndcapPar::yh1, HCalEndcapModuleAlgo::HcalEndcapPar::yh2, HCalEndcapModuleAlgo::HcalEndcapPar::ypos, and HCalEndcapModuleAlgo::HcalEndcapPar::zpos.

◆ constructInsideModule0()

void HCalEndcapModuleAlgo::constructInsideModule0 ( cms::DDParsingContext ctxt,
xml_h  e,
dd4hep::Volume &  module 
)
inline

Definition at line 176 of file DDHCalEndcapModuleAlgo.cc.

176  {
177  cms::DDNamespace ns(ctxt, e, true);
178 
179 #ifdef EDM_ML_DEBUG
180  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: \t\tInside module0";
181 #endif
182  //Pointers to the Materials
184  dd4hep::Material matabsorbr = ns.material(absorberMat);
185  dd4hep::Material matplastic = ns.material(plasticMat);
186  dd4hep::Rotation3D rot = getRotation(rotstr, ns);
187 
188  int layer = layerNumber[0];
189  int layer0 = layerNumber[1];
191  dd4hep::Solid solid;
192  dd4hep::Volume glog;
193  for (unsigned int iphi = 0; iphi < phiName.size(); iphi++) {
195  name = idName + modName + layerName[0] + phiName[iphi];
196  solid = dd4hep::Trap(ns.prepend(name),
197  0.5 * layerThick,
198  0,
199  0,
200  parm.yh1,
201  parm.bl1,
202  parm.tl1,
203  parm.alp,
204  parm.yh2,
205  parm.bl1,
206  parm.tl2,
207  parm.alp);
208 #ifdef EDM_ML_DEBUG
209  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << solid.name() << " Trap made of " << plasticMat
210  << " of dimensions " << convertCmToMm(0.5 * layerThick) << ", 0, 0, "
211  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
212  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp) << ", "
213  << convertCmToMm(parm.yh2) << ", " << convertCmToMm(parm.bl2) << ", "
214  << convertCmToMm(parm.tl2) << ", " << convertRadToDeg(parm.alp);
215 #endif
216  glog = dd4hep::Volume(solid.name(), solid, matplastic);
217 
218  dd4hep::Position r1(parm.xpos, parm.ypos, parm.zpos);
219  module.placeVolume(glog, idOffset + layer + 1, dd4hep::Transform3D(rot, r1));
220 #ifdef EDM_ML_DEBUG
221  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << glog.name() << " number " << (idOffset + layer + 1)
222  << " positioned in " << module.name() << " at (" << convertCmToMm(parm.xpos) << ", "
223  << convertCmToMm(parm.ypos) << ", " << convertCmToMm(parm.zpos)
224  << ") with rotation: " << rot;
225 #endif
226  //Now construct the layer of scintillator inside this
227  int copyNo = layer0 * 10 + layerType;
228  name = modName + layerName[0] + phiName[iphi];
229  constructScintLayer(glog, scintThick, parm, name, copyNo, ns);
230  }
231 
232  //Now the absorber layer
233  double zi = zMinBlock + layerThick;
234  double zo = zi + 0.5 * dzStep;
235  double rinF, routF, rinB, routB;
236  if (modNumber == 0) {
237  rinF = zi * slopeTopF;
238  routF = (zi - z1Beam) * slopeTop;
239  rinB = zo * slopeTopF;
240  routB = (zo - z1Beam) * slopeTop;
241  } else if (modNumber > 0) {
242  rinF = zi * slopeBot;
243  routF = zi * slopeTopF;
244  rinB = zo * slopeBot;
245  routB = zo * slopeTopF;
246  } else {
247  rinF = zi * slopeBot;
248  routF = (zi - z1Beam) * slopeTop;
249  rinB = zo * slopeBot;
250  routB = (zo - z1Beam) * slopeTop;
251  }
252 #ifdef EDM_ML_DEBUG
253  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: Front " << convertCmToMm(zi) << ", " << convertCmToMm(rinF)
254  << ", " << convertCmToMm(routF) << " Back " << convertCmToMm(zo) << ", "
255  << convertCmToMm(rinB) << ", " << convertCmToMm(routB);
256 #endif
257  HCalEndcapModuleAlgo::HcalEndcapPar parm = parameterLayer(0, rinF, routF, rinB, routB, zi, zo);
258 #ifdef EDM_ML_DEBUG
259  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: Trim " << convertCmToMm(tolAbs) << " Param "
260  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
261  << convertCmToMm(parm.tl1) << ", " << convertCmToMm(parm.yh2) << ", "
262  << convertCmToMm(parm.bl2) << ", " << convertCmToMm(parm.tl2);
263 #endif
264  parm.bl1 -= tolAbs;
265  parm.tl1 -= tolAbs;
266  parm.bl2 -= tolAbs;
267  parm.tl2 -= tolAbs;
268 
269  name = idName + modName + layerName[0] + "Absorber";
270  solid = dd4hep::Trap(ns.prepend(name),
271  0.5 * moduleThick,
272  parm.theta,
273  parm.phi,
274  parm.yh1,
275  parm.bl1,
276  parm.tl1,
277  parm.alp,
278  parm.yh2,
279  parm.bl2,
280  parm.tl2,
281  parm.alp);
282 #ifdef EDM_ML_DEBUG
283  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << solid.name() << " Trap made of " << matabsorbr.name()
284  << " of dimensions " << convertCmToMm(0.5 * moduleThick) << ", "
285  << convertRadToDeg(parm.theta) << ", " << convertRadToDeg(parm.phi) << ", "
286  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
287  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp) << ", "
288  << convertCmToMm(parm.yh2) << ", " << convertCmToMm(parm.bl2) << ", "
289  << convertCmToMm(parm.tl2) << ", " << convertRadToDeg(parm.alp);
290 #endif
291  glog = dd4hep::Volume(solid.name(), solid, matabsorbr);
292 
293  dd4hep::Position r2(parm.xpos, parm.ypos, parm.zpos);
294  module.placeVolume(glog, idOffset + layer + 1, dd4hep::Transform3D(rot, r2));
295 #ifdef EDM_ML_DEBUG
296  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << glog.name() << " number 1 positioned in "
297  << module.name() << " at (" << convertCmToMm(parm.xpos) << ", "
298  << convertCmToMm(parm.ypos) << ", " << convertCmToMm(parm.zpos)
299  << ") with rotation: " << rot;
300 #endif
301  }

References HCalEndcapModuleAlgo::HcalEndcapPar::alp, HCalEndcapModuleAlgo::HcalEndcapPar::bl1, HCalEndcapModuleAlgo::HcalEndcapPar::bl2, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), MillePedeFileConverter_cfg::e, versionedElectronIDProducer_cfi::idName, LEDCalibrationChannels::iphi, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, HCalEndcapModuleAlgo::HcalEndcapPar::phi, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, AlCaHLTBitMon_QueryRunRegistry::string, HCalEndcapModuleAlgo::HcalEndcapPar::theta, HCalEndcapModuleAlgo::HcalEndcapPar::tl1, HCalEndcapModuleAlgo::HcalEndcapPar::tl2, HCalEndcapModuleAlgo::HcalEndcapPar::xpos, HCalEndcapModuleAlgo::HcalEndcapPar::yh1, HCalEndcapModuleAlgo::HcalEndcapPar::yh2, HCalEndcapModuleAlgo::HcalEndcapPar::ypos, and HCalEndcapModuleAlgo::HcalEndcapPar::zpos.

◆ constructScintLayer()

void HCalEndcapModuleAlgo::constructScintLayer ( dd4hep::Volume &  detector,
double  dz,
HCalEndcapModuleAlgo::HcalEndcapPar  parm,
const std::string &  nm,
int  id,
cms::DDNamespace ns 
)
inline

Definition at line 529 of file DDHCalEndcapModuleAlgo.cc.

534  {
535  dd4hep::Material matter = ns.material(scintMat);
536  std::string name = idName + "Scintillator" + nm;
537 
538  dd4hep::Solid solid = dd4hep::Trap(
539  ns.prepend(name), 0.5 * dz, 0, 0, parm.yh1, parm.bl1, parm.tl1, parm.alp, parm.yh1, parm.bl1, parm.tl1, parm.alp);
540 #ifdef EDM_ML_DEBUG
541  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << solid.name() << " Trap made of " << scintMat
542  << " of dimensions " << convertCmToMm(0.5 * dz) << ", 0, 0, "
543  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
544  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp) << ", "
545  << convertCmToMm(parm.yh1) << ", " << convertCmToMm(parm.bl1) << ", "
546  << convertCmToMm(parm.tl1) << ", " << convertRadToDeg(parm.alp);
547 #endif
548  dd4hep::Volume glog(solid.name(), solid, matter);
549 
550  detector.placeVolume(glog, id);
551 #ifdef EDM_ML_DEBUG
552  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapModuleAlgo: " << glog.name() << " number " << id << " positioned in "
553  << detector.name() << " at (0,0,0) with no rotation";
554 #endif
555  }

References HCalEndcapModuleAlgo::HcalEndcapPar::alp, HCalEndcapModuleAlgo::HcalEndcapPar::bl1, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), hgcalTestNeighbor_cfi::detector, PVValHelper::dz, versionedElectronIDProducer_cfi::idName, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, cms::DDNamespace::prepend(), AlCaHLTBitMon_QueryRunRegistry::string, HCalEndcapModuleAlgo::HcalEndcapPar::tl1, and HCalEndcapModuleAlgo::HcalEndcapPar::yh1.

◆ getRotation()

dd4hep::Rotation3D HCalEndcapModuleAlgo::getRotation ( const std::string &  rotstr,
cms::DDNamespace ns 
)
inline

Definition at line 576 of file DDHCalEndcapModuleAlgo.cc.

576  {
577  std::string rot = (strchr(rotstr.c_str(), NAMESPACE_SEP) == nullptr) ? ("rotations:" + rotstr) : rotstr;
578 #ifdef EDM_ML_DEBUG
579  edm::LogVerbatim("HCalGeom") << "getRotation: " << rotstr << ":" << rot << ":" << ns.rotation(rot);
580 #endif
581  return ns.rotation(rot);
582  }

References NAMESPACE_SEP, makeMuonMisalignmentScenario::rot, cms::DDNamespace::rotation(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ getRout()

double HCalEndcapModuleAlgo::getRout ( double  z) const
inline

Definition at line 564 of file DDHCalEndcapModuleAlgo.cc.

564  {
565  double r = (modNumber >= 0) ? ((z - z1Beam) * slopeTop) : z * slopeTopF;
566  if (z > ziDip) {
567  if (r > rMaxBack)
568  r = rMaxBack;
569  } else {
570  if (r > rMaxFront)
571  r = rMaxFront;
572  }
573  return r;
574  }

References alignCSCRings::r.

◆ getTrim()

double HCalEndcapModuleAlgo::getTrim ( unsigned int  j) const
inline

Definition at line 557 of file DDHCalEndcapModuleAlgo.cc.

557  {
558  if (j == 0)
559  return trimLeft;
560  else
561  return trimRight;
562  }

References dqmiolumiharvest::j.

◆ parameterLayer()

HcalEndcapPar HCalEndcapModuleAlgo::parameterLayer ( unsigned int  iphi,
double  rinF,
double  routF,
double  rinB,
double  routB,
double  zi,
double  zo 
)
inline

Definition at line 477 of file DDHCalEndcapModuleAlgo.cc.

478  {
480  //Given rin, rout compute parameters of the trapezoid and
481  //position of the trapezoid for a standrd layer
482  double alpha = (1._pi) / sectors;
483 #ifdef EDM_ML_DEBUG
484  edm::LogVerbatim("HCalGeom") << "Input " << iphi << " Front " << convertCmToMm(rinF) << " " << convertCmToMm(routF)
485  << " " << convertCmToMm(zi) << " Back " << convertCmToMm(rinB) << " "
486  << convertCmToMm(routB) << " " << convertCmToMm(zo) << " Alpha "
488 #endif
489  parm.yh1 = 0.5 * (routF - rinB);
490  parm.bl1 = 0.5 * rinB * tan(alpha);
491  parm.tl1 = 0.5 * routF * tan(alpha);
492  parm.yh2 = 0.5 * (routF - rinB);
493  parm.bl2 = 0.5 * rinB * tan(alpha);
494  parm.tl2 = 0.5 * routF * tan(alpha);
495  double dx = 0.25 * (parm.bl2 + parm.tl2 - parm.bl1 - parm.tl1);
496  double dy = 0.5 * (rinB + routF - rinB - routF);
497  parm.xpos = 0.25 * (rinB + routF + rinB + routF);
498  parm.ypos = 0.25 * (parm.bl2 + parm.tl2 + parm.bl1 + parm.tl1);
499  parm.zpos = 0.5 * (zi + zo);
500  parm.alp = atan(0.5 * tan(alpha));
501  if (iphi == 0) {
502  parm.ypos = -parm.ypos;
503  } else {
504  parm.alp = -parm.alp;
505  dx = -dx;
506  }
507  double r = sqrt(dx * dx + dy * dy);
508 #ifdef EDM_ML_DEBUG
509  edm::LogVerbatim("HCalGeom") << "dx|dy|r " << convertCmToMm(dx) << ":" << convertCmToMm(dy) << ":"
510  << convertCmToMm(r);
511 #endif
512  if (r > 1.0e-8) {
513  parm.theta = atan(r / (zo - zi));
514  parm.phi = atan2(dy, dx);
515  } else {
516  parm.theta = parm.phi = 0;
517  }
518 #ifdef EDM_ML_DEBUG
519  edm::LogVerbatim("HCalGeom") << "Output Dimensions " << convertCmToMm(parm.yh1) << " " << convertCmToMm(parm.bl1)
520  << " " << convertCmToMm(parm.tl1) << " " << convertCmToMm(parm.yh2) << " "
521  << convertCmToMm(parm.bl2) << " " << convertCmToMm(parm.tl2) << " "
522  << convertRadToDeg(parm.alp) << " " << convertRadToDeg(parm.theta) << " "
523  << convertRadToDeg(parm.phi) << " Position " << convertCmToMm(parm.xpos) << " "
524  << convertCmToMm(parm.ypos) << " " << convertCmToMm(parm.zpos);
525 #endif
526  return parm;
527  }

References HCalEndcapModuleAlgo::HcalEndcapPar::alp, zMuMuMuonUserData::alpha, HCalEndcapModuleAlgo::HcalEndcapPar::bl1, HCalEndcapModuleAlgo::HcalEndcapPar::bl2, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), PVValHelper::dx, PVValHelper::dy, MillePedeFileConverter_cfg::e, LEDCalibrationChannels::iphi, HCalEndcapModuleAlgo::HcalEndcapPar::phi, alignCSCRings::r, volumeBasedMagneticField_160812_cfi::sectors, mathSSE::sqrt(), funct::tan(), HCalEndcapModuleAlgo::HcalEndcapPar::theta, HCalEndcapModuleAlgo::HcalEndcapPar::tl1, HCalEndcapModuleAlgo::HcalEndcapPar::tl2, HCalEndcapModuleAlgo::HcalEndcapPar::xpos, HCalEndcapModuleAlgo::HcalEndcapPar::yh1, HCalEndcapModuleAlgo::HcalEndcapPar::yh2, HCalEndcapModuleAlgo::HcalEndcapPar::ypos, and HCalEndcapModuleAlgo::HcalEndcapPar::zpos.

◆ parameterLayer0()

HcalEndcapPar HCalEndcapModuleAlgo::parameterLayer0 ( unsigned int  iphi)
inline

Definition at line 421 of file DDHCalEndcapModuleAlgo.cc.

421  {
423  //Given module and layer number compute parameters of trapezoid
424  //and positioning parameters
425  double alpha = (1._pi) / sectors;
426 #ifdef EDM_ML_DEBUG
427  edm::LogVerbatim("HCalGeom") << "Input " << iphi << " Alpha " << convertRadToDeg(alpha);
428 #endif
429  double zi, zo;
430  if (iphi == 0) {
431  zi = zMinBlock;
432  zo = zi + layerThick;
433  } else {
434  zo = zMaxBlock;
435  zi = zo - layerThick;
436  }
437  double rin, rout;
438  if (modNumber == 0) {
439  rin = zo * slopeTopF;
440  rout = (zi - z1Beam) * slopeTop;
441  } else if (modNumber > 0) {
442  rin = zo * slopeBot;
443  rout = zi * slopeTopF;
444  } else {
445  rin = zo * slopeBot;
446  rout = (zi - z1Beam) * slopeTop;
447  }
448 #ifdef EDM_ML_DEBUG
449  edm::LogVerbatim("HCalGeom") << "ModNumber " << modNumber << " " << convertCmToMm(zi) << " " << convertCmToMm(zo)
450  << " " << slopeTopF << " " << slopeTop << " " << slopeBot << " " << convertCmToMm(rin)
451  << " " << convertCmToMm(rout) << " " << convertCmToMm(getTrim(iphi));
452 #endif
453  double yh = 0.5 * (rout - rin);
454  double bl = 0.5 * rin * tan(alpha);
455  double tl = 0.5 * rout * tan(alpha);
456  parm.xpos = 0.5 * (rin + rout);
457  parm.ypos = 0.5 * (bl + tl);
458  parm.zpos = 0.5 * (zi + zo);
459  parm.yh1 = parm.yh2 = yh - getTrim(iphi);
460  parm.bl1 = parm.bl2 = bl - getTrim(iphi);
461  parm.tl1 = parm.tl2 = tl - getTrim(iphi);
462  parm.alp = atan(0.5 * tan(alpha));
463  if (iphi == 0) {
464  parm.ypos = -parm.ypos;
465  } else {
466  parm.alp = -parm.alp;
467  }
468 #ifdef EDM_ML_DEBUG
469  edm::LogVerbatim("HCalGeom") << "Output Dimensions " << convertCmToMm(parm.yh1) << " " << convertCmToMm(parm.bl1)
470  << " " << convertCmToMm(parm.tl1) << " " << convertRadToDeg(parm.alp) << " Position "
471  << convertCmToMm(parm.xpos) << " " << convertCmToMm(parm.ypos) << " "
472  << convertCmToMm(parm.zpos);
473 #endif
474  return parm;
475  }

References HCalEndcapModuleAlgo::HcalEndcapPar::alp, zMuMuMuonUserData::alpha, HCalEndcapModuleAlgo::HcalEndcapPar::bl1, HCalEndcapModuleAlgo::HcalEndcapPar::bl2, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), LEDCalibrationChannels::iphi, volumeBasedMagneticField_160812_cfi::sectors, funct::tan(), HCalEndcapModuleAlgo::HcalEndcapPar::tl1, HCalEndcapModuleAlgo::HcalEndcapPar::tl2, HCalEndcapModuleAlgo::HcalEndcapPar::xpos, HCalEndcapModuleAlgo::HcalEndcapPar::yh1, HCalEndcapModuleAlgo::HcalEndcapPar::yh2, HCalEndcapModuleAlgo::HcalEndcapPar::ypos, and HCalEndcapModuleAlgo::HcalEndcapPar::zpos.

Member Data Documentation

◆ absorberMat

std::string HCalEndcapModuleAlgo::absorberMat

Definition at line 23 of file DDHCalEndcapModuleAlgo.cc.

◆ dzStep

double HCalEndcapModuleAlgo::dzStep

Definition at line 32 of file DDHCalEndcapModuleAlgo.cc.

◆ genMaterial

std::string HCalEndcapModuleAlgo::genMaterial

Definition at line 22 of file DDHCalEndcapModuleAlgo.cc.

◆ idName

std::string HCalEndcapModuleAlgo::idName

Definition at line 51 of file DDHCalEndcapModuleAlgo.cc.

◆ idOffset

int HCalEndcapModuleAlgo::idOffset

Definition at line 53 of file DDHCalEndcapModuleAlgo.cc.

◆ layerName

std::vector<std::string> HCalEndcapModuleAlgo::layerName

Definition at line 49 of file DDHCalEndcapModuleAlgo.cc.

◆ layerNumber

std::vector<int> HCalEndcapModuleAlgo::layerNumber

Definition at line 47 of file DDHCalEndcapModuleAlgo.cc.

◆ layerThick

double HCalEndcapModuleAlgo::layerThick

Definition at line 34 of file DDHCalEndcapModuleAlgo.cc.

◆ layerType

int HCalEndcapModuleAlgo::layerType

Definition at line 46 of file DDHCalEndcapModuleAlgo.cc.

◆ modName

std::string HCalEndcapModuleAlgo::modName

Definition at line 52 of file DDHCalEndcapModuleAlgo.cc.

◆ modNumber

int HCalEndcapModuleAlgo::modNumber

Definition at line 45 of file DDHCalEndcapModuleAlgo.cc.

◆ modType

int HCalEndcapModuleAlgo::modType

Definition at line 44 of file DDHCalEndcapModuleAlgo.cc.

◆ moduleThick

double HCalEndcapModuleAlgo::moduleThick

Definition at line 33 of file DDHCalEndcapModuleAlgo.cc.

◆ phiName

std::vector<std::string> HCalEndcapModuleAlgo::phiName

Definition at line 48 of file DDHCalEndcapModuleAlgo.cc.

◆ plasticMat

std::string HCalEndcapModuleAlgo::plasticMat

Definition at line 24 of file DDHCalEndcapModuleAlgo.cc.

◆ rMaxBack

double HCalEndcapModuleAlgo::rMaxBack

Definition at line 36 of file DDHCalEndcapModuleAlgo.cc.

◆ rMaxFront

double HCalEndcapModuleAlgo::rMaxFront

Definition at line 37 of file DDHCalEndcapModuleAlgo.cc.

◆ rotstr

std::string HCalEndcapModuleAlgo::rotstr

Definition at line 26 of file DDHCalEndcapModuleAlgo.cc.

◆ scintMat

std::string HCalEndcapModuleAlgo::scintMat

Definition at line 25 of file DDHCalEndcapModuleAlgo.cc.

◆ scintThick

double HCalEndcapModuleAlgo::scintThick

Definition at line 35 of file DDHCalEndcapModuleAlgo.cc.

◆ sectors

int HCalEndcapModuleAlgo::sectors

Definition at line 27 of file DDHCalEndcapModuleAlgo.cc.

◆ slopeBot

double HCalEndcapModuleAlgo::slopeBot

Definition at line 38 of file DDHCalEndcapModuleAlgo.cc.

◆ slopeTop

double HCalEndcapModuleAlgo::slopeTop

Definition at line 39 of file DDHCalEndcapModuleAlgo.cc.

◆ slopeTopF

double HCalEndcapModuleAlgo::slopeTopF

Definition at line 40 of file DDHCalEndcapModuleAlgo.cc.

◆ tolAbs

double HCalEndcapModuleAlgo::tolAbs

Definition at line 43 of file DDHCalEndcapModuleAlgo.cc.

◆ trimLeft

double HCalEndcapModuleAlgo::trimLeft

Definition at line 41 of file DDHCalEndcapModuleAlgo.cc.

◆ trimRight

double HCalEndcapModuleAlgo::trimRight

Definition at line 42 of file DDHCalEndcapModuleAlgo.cc.

◆ z1Beam

double HCalEndcapModuleAlgo::z1Beam

Definition at line 30 of file DDHCalEndcapModuleAlgo.cc.

◆ ziDip

double HCalEndcapModuleAlgo::ziDip

Definition at line 31 of file DDHCalEndcapModuleAlgo.cc.

◆ zMaxBlock

double HCalEndcapModuleAlgo::zMaxBlock

Definition at line 29 of file DDHCalEndcapModuleAlgo.cc.

◆ zMinBlock

double HCalEndcapModuleAlgo::zMinBlock

Definition at line 28 of file DDHCalEndcapModuleAlgo.cc.

writedatasetfile.args
args
Definition: writedatasetfile.py:18
HCalEndcapModuleAlgo::getRotation
dd4hep::Rotation3D getRotation(const std::string &rotstr, cms::DDNamespace &ns)
Definition: DDHCalEndcapModuleAlgo.cc:576
mps_fire.i
i
Definition: mps_fire.py:355
g4SimHits_cfi.Material
Material
Definition: g4SimHits_cfi.py:547
HCalEndcapModuleAlgo::HcalEndcapPar::bl2
double bl2
Definition: DDHCalEndcapModuleAlgo.cc:56
cms::DDNamespace::material
dd4hep::Material material(const std::string &name) const
Definition: DDNamespace.cc:121
HCalEndcapModuleAlgo::rMaxBack
double rMaxBack
Definition: DDHCalEndcapModuleAlgo.cc:36
HCalEndcapModuleAlgo::sectors
int sectors
Definition: DDHCalEndcapModuleAlgo.cc:27
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
angle_units::operators::convertRadToDeg
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
cms::DDNamespace
Definition: DDNamespace.h:16
HCalEndcapModuleAlgo::constructInsideModule0
void constructInsideModule0(cms::DDParsingContext &ctxt, xml_h e, dd4hep::Volume &module)
Definition: DDHCalEndcapModuleAlgo.cc:176
HCalEndcapModuleAlgo::layerNumber
std::vector< int > layerNumber
Definition: DDHCalEndcapModuleAlgo.cc:47
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
HCalEndcapModuleAlgo::parameterLayer
HcalEndcapPar parameterLayer(unsigned int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo)
Definition: DDHCalEndcapModuleAlgo.cc:477
HCalEndcapModuleAlgo::parameterLayer0
HcalEndcapPar parameterLayer0(unsigned int iphi)
Definition: DDHCalEndcapModuleAlgo.cc:421
HCalEndcapModuleAlgo::HcalEndcapPar::tl2
double tl2
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::scintThick
double scintThick
Definition: DDHCalEndcapModuleAlgo.cc:35
HCalEndcapModuleAlgo::layerType
int layerType
Definition: DDHCalEndcapModuleAlgo.cc:46
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
HCalEndcapModuleAlgo::HcalEndcapPar::alp
double alp
Definition: DDHCalEndcapModuleAlgo.cc:56
cms::DDNamespace::prepend
std::string prepend(const std::string &) const
Definition: DDNamespace.cc:66
DDAxes::z
HCalEndcapModuleAlgo::modType
int modType
Definition: DDHCalEndcapModuleAlgo.cc:44
HCalEndcapModuleAlgo::HcalEndcapPar::bl1
double bl1
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::idOffset
int idOffset
Definition: DDHCalEndcapModuleAlgo.cc:53
PixelTestBeamValidation_cfi.Position
Position
Definition: PixelTestBeamValidation_cfi.py:62
HCalEndcapModuleAlgo::layerThick
double layerThick
Definition: DDHCalEndcapModuleAlgo.cc:34
HCalEndcapModuleAlgo::absorberMat
std::string absorberMat
Definition: DDHCalEndcapModuleAlgo.cc:23
HCalEndcapModuleAlgo::trimRight
double trimRight
Definition: DDHCalEndcapModuleAlgo.cc:42
cms::DDNamespace::rotation
const dd4hep::Rotation3D & rotation(const std::string &name) const
Definition: DDNamespace.cc:130
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HCalEndcapModuleAlgo::ziDip
double ziDip
Definition: DDHCalEndcapModuleAlgo.cc:31
HCalEndcapModuleAlgo::HcalEndcapPar::xpos
double xpos
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::tolAbs
double tolAbs
Definition: DDHCalEndcapModuleAlgo.cc:43
cms::Volume
dd4hep::Volume Volume
Definition: DDFilteredView.h:45
geant_units::operators::convertCmToMm
constexpr NumType convertCmToMm(NumType centimeters)
Definition: GeantUnits.h:68
HCalEndcapModuleAlgo::slopeBot
double slopeBot
Definition: DDHCalEndcapModuleAlgo.cc:38
HCalEndcapModuleAlgo::constructScintLayer
void constructScintLayer(dd4hep::Volume &detector, double dz, HCalEndcapModuleAlgo::HcalEndcapPar parm, const std::string &nm, int id, cms::DDNamespace &ns)
Definition: DDHCalEndcapModuleAlgo.cc:529
HCalEndcapModuleAlgo::rMaxFront
double rMaxFront
Definition: DDHCalEndcapModuleAlgo.cc:37
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
HCalEndcapModuleAlgo::slopeTop
double slopeTop
Definition: DDHCalEndcapModuleAlgo.cc:39
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
HCalEndcapModuleAlgo::layerName
std::vector< std::string > layerName
Definition: DDHCalEndcapModuleAlgo.cc:49
HCalEndcapModuleAlgo::HcalEndcapPar::phi
double phi
Definition: DDHCalEndcapModuleAlgo.cc:56
edm::LogVerbatim
Definition: MessageLogger.h:297
cms::DDAlgoArguments
Definition: DDAlgoArguments.h:28
PVValHelper::dy
Definition: PVValidationHelpers.h:49
HCalEndcapModuleAlgo::constructInsideModule
void constructInsideModule(cms::DDParsingContext &ctxt, xml_h e, dd4hep::Volume &module)
Definition: DDHCalEndcapModuleAlgo.cc:303
HCalEndcapModuleAlgo::HcalEndcapPar::zpos
double zpos
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::rotstr
std::string rotstr
Definition: DDHCalEndcapModuleAlgo.cc:26
module
Definition: vlib.h:198
HCalEndcapModuleAlgo::plasticMat
std::string plasticMat
Definition: DDHCalEndcapModuleAlgo.cc:24
alignCSCRings.r
r
Definition: alignCSCRings.py:93
HCalEndcapModuleAlgo::getRout
double getRout(double z) const
Definition: DDHCalEndcapModuleAlgo.cc:564
HCalEndcapModuleAlgo::getTrim
double getTrim(unsigned int j) const
Definition: DDHCalEndcapModuleAlgo.cc:557
HCalEndcapModuleAlgo::HcalEndcapPar::yh1
double yh1
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::modName
std::string modName
Definition: DDHCalEndcapModuleAlgo.cc:52
HCalEndcapModuleAlgo::HcalEndcapPar::theta
double theta
Definition: DDHCalEndcapModuleAlgo.cc:56
PVValHelper::dz
Definition: PVValidationHelpers.h:50
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
HCalEndcapModuleAlgo::modNumber
int modNumber
Definition: DDHCalEndcapModuleAlgo.cc:45
HCalEndcapModuleAlgo::z1Beam
double z1Beam
Definition: DDHCalEndcapModuleAlgo.cc:30
HCalEndcapModuleAlgo::HcalEndcapPar::tl1
double tl1
Definition: DDHCalEndcapModuleAlgo.cc:56
HCalEndcapModuleAlgo::HcalEndcapPar::yh2
double yh2
Definition: DDHCalEndcapModuleAlgo.cc:56
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
HCalEndcapModuleAlgo::trimLeft
double trimLeft
Definition: DDHCalEndcapModuleAlgo.cc:41
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
HCalEndcapModuleAlgo::genMaterial
std::string genMaterial
Definition: DDHCalEndcapModuleAlgo.cc:22
HCalEndcapModuleAlgo::dzStep
double dzStep
Definition: DDHCalEndcapModuleAlgo.cc:32
NAMESPACE_SEP
#define NAMESPACE_SEP
Definition: DDNamespace.h:79
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
HCalEndcapModuleAlgo::slopeTopF
double slopeTopF
Definition: DDHCalEndcapModuleAlgo.cc:40
HCalEndcapModuleAlgo::phiName
std::vector< std::string > phiName
Definition: DDHCalEndcapModuleAlgo.cc:48
HCalEndcapModuleAlgo::HcalEndcapPar
Definition: DDHCalEndcapModuleAlgo.cc:55
HCalEndcapModuleAlgo::HcalEndcapPar::ypos
double ypos
Definition: DDHCalEndcapModuleAlgo.cc:56
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
HCalEndcapModuleAlgo::scintMat
std::string scintMat
Definition: DDHCalEndcapModuleAlgo.cc:25
HCalEndcapModuleAlgo::zMaxBlock
double zMaxBlock
Definition: DDHCalEndcapModuleAlgo.cc:29
HCalEndcapModuleAlgo::idName
std::string idName
Definition: DDHCalEndcapModuleAlgo.cc:51
HCalEndcapModuleAlgo::zMinBlock
double zMinBlock
Definition: DDHCalEndcapModuleAlgo.cc:28
PVValHelper::dx
Definition: PVValidationHelpers.h:48
HCalEndcapModuleAlgo::moduleThick
double moduleThick
Definition: DDHCalEndcapModuleAlgo.cc:33
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37