CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
HGCalEEFileAlgo Struct Reference

Public Member Functions

 HGCalEEFileAlgo ()
 
 HGCalEEFileAlgo (cms::DDParsingContext &ctxt, xml_h e)
 
void positionSensitive (cms::DDParsingContext &ctxt, xml_h e, const dd4hep::Volume &glog, double rin, double rout, double zpos, int layertype, int layer)
 

Public Attributes

int absorbMode_
 
double alpha_
 
int choiceType_
 
std::unordered_set< int > copies_
 
std::vector< int > copyNumber_
 
double cosAlpha_
 
int firstLayer_
 
double fracAreaMin_
 
HGCalGeomTools geomTools_
 
std::vector< int > layerCenter_
 
std::vector< int > layers_
 
std::vector< int > layerSense_
 
std::vector< double > layerThick_
 
std::vector< int > layerType_
 
std::vector< std::string > materials_
 
std::vector< std::string > names_
 
int nCutRadPar_
 
std::vector< double > rad100to200_
 
std::vector< double > rad200to300_
 
std::vector< double > rMaxFront_
 
std::vector< double > rMinFront_
 
int sectors_
 
int sensitiveMode_
 
std::vector< double > slopeB_
 
std::vector< double > slopeT_
 
std::vector< double > thick_
 
std::vector< int > waferIndex_
 
std::vector< std::string > wafers_
 
double waferSepar_
 
double waferSize_
 
std::vector< int > waferTypes_
 
std::vector< double > zFrontB_
 
std::vector< double > zFrontT_
 
double zMinBlock_
 
double zMinRadPar_
 

Detailed Description

Definition at line 25 of file DDHGCalEEFileAlgo.cc.

Constructor & Destructor Documentation

◆ HGCalEEFileAlgo() [1/2]

HGCalEEFileAlgo::HGCalEEFileAlgo ( )
inline

Definition at line 26 of file DDHGCalEEFileAlgo.cc.

26 { throw cms::Exception("HGCalGeom") << "Wrong initialization to HGCalEEFileAlgo"; }

References Exception.

◆ HGCalEEFileAlgo() [2/2]

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

Definition at line 27 of file DDHGCalEEFileAlgo.cc.

27  {
28  cms::DDNamespace ns(ctxt, e, true);
30 
31 #ifdef EDM_ML_DEBUG
32  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: Creating an instance";
33 #endif
34  static constexpr double tol1 = 0.01;
35  static constexpr double tol2 = 0.00001;
36 
37  dd4hep::Volume mother = ns.volume(args.parentName());
38  wafers_ = args.value<std::vector<std::string>>("WaferNames");
39 #ifdef EDM_ML_DEBUG
40  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << wafers_.size() << " wafers";
41  for (unsigned int i = 0; i < wafers_.size(); ++i)
42  edm::LogVerbatim("HGCalGeom") << "Wafer[" << i << "] " << wafers_[i];
43 #endif
44  materials_ = args.value<std::vector<std::string>>("MaterialNames");
45  names_ = args.value<std::vector<std::string>>("VolumeNames");
46  thick_ = args.value<std::vector<double>>("Thickness");
47  copyNumber_.resize(materials_.size(), 1);
48 #ifdef EDM_ML_DEBUG
49  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << materials_.size() << " types of volumes";
50  for (unsigned int i = 0; i < names_.size(); ++i)
51  edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << names_[i] << " of thickness " << thick_[i]
52  << " filled with " << materials_[i] << " first copy number " << copyNumber_[i];
53 #endif
54  layers_ = args.value<std::vector<int>>("Layers");
55  layerThick_ = args.value<std::vector<double>>("LayerThick");
56 #ifdef EDM_ML_DEBUG
57  edm::LogVerbatim("HGCalGeom") << "There are " << layers_.size() << " blocks";
58  for (unsigned int i = 0; i < layers_.size(); ++i)
59  edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] of thickness " << layerThick_[i] << " with " << layers_[i]
60  << " layers";
61 #endif
62  layerType_ = args.value<std::vector<int>>("LayerType");
63  layerSense_ = args.value<std::vector<int>>("LayerSense");
64  firstLayer_ = args.value<int>("FirstLayer");
65  absorbMode_ = args.value<int>("AbsorberMode");
66  sensitiveMode_ = args.value<int>("SensitiveMode");
67 #ifdef EDM_ML_DEBUG
68  edm::LogVerbatim("HGCalGeom") << "First Layer " << firstLayer_ << " and "
69  << "Absober:Sensitive mode " << absorbMode_ << ":" << sensitiveMode_;
70 #endif
71  layerCenter_ = args.value<std::vector<int>>("LayerCenter");
72 #ifdef EDM_ML_DEBUG
73  for (unsigned int i = 0; i < layerCenter_.size(); ++i)
74  edm::LogVerbatim("HGCalGeom") << "LayerCenter [" << i << "] " << layerCenter_[i];
75 #endif
76  if (firstLayer_ > 0) {
77  for (unsigned int i = 0; i < layerType_.size(); ++i) {
78  if (layerSense_[i] > 0) {
79  int ii = layerType_[i];
81 #ifdef EDM_ML_DEBUG
82  edm::LogVerbatim("HGCalGeom") << "First copy number for layer type " << i << ":" << ii << " with "
83  << materials_[ii] << " changed to " << copyNumber_[ii];
84 #endif
85  break;
86  }
87  }
88  } else {
89  firstLayer_ = 1;
90  }
91 #ifdef EDM_ML_DEBUG
92  edm::LogVerbatim("HGCalGeom") << "There are " << layerType_.size() << " layers";
93  for (unsigned int i = 0; i < layerType_.size(); ++i)
94  edm::LogVerbatim("HGCalGeom") << "Layer [" << i << "] with material type " << layerType_[i] << " sensitive class "
95  << layerSense_[i];
96 #endif
97  zMinBlock_ = args.value<double>("zMinBlock");
98  rad100to200_ = args.value<std::vector<double>>("rad100to200");
99  rad200to300_ = args.value<std::vector<double>>("rad200to300");
100  zMinRadPar_ = args.value<double>("zMinForRadPar");
101  choiceType_ = args.value<int>("choiceType");
102  nCutRadPar_ = args.value<int>("nCornerCut");
103  fracAreaMin_ = args.value<double>("fracAreaMin");
104  waferSize_ = args.value<double>("waferSize");
105  waferSepar_ = args.value<double>("SensorSeparation");
106  sectors_ = args.value<int>("Sectors");
107  alpha_ = (1._pi) / sectors_;
108  cosAlpha_ = cos(alpha_);
109 #ifdef EDM_ML_DEBUG
110  edm::LogVerbatim("HGCalGeom") << "zStart " << zMinBlock_ << " radius for wafer type separation uses "
111  << rad100to200_.size() << " parameters; zmin " << zMinRadPar_ << " cutoff "
112  << choiceType_ << ":" << nCutRadPar_ << ":" << fracAreaMin_ << " wafer width "
113  << waferSize_ << " separations " << waferSepar_ << " sectors " << sectors_ << ":"
114  << convertRadToDeg(alpha_) << ":" << cosAlpha_;
115  for (unsigned int k = 0; k < rad100to200_.size(); ++k)
116  edm::LogVerbatim("HGCalGeom") << "[" << k << "] 100-200 " << rad100to200_[k] << " 200-300 " << rad200to300_[k];
117 #endif
118  waferIndex_ = args.value<std::vector<int>>("WaferIndex");
119  waferTypes_ = args.value<std::vector<int>>("WaferTypes");
120 #ifdef EDM_ML_DEBUG
121  edm::LogVerbatim("HGCalGeom") << "waferTypes with " << waferTypes_.size() << " entries";
122  for (unsigned int k = 0; k < waferTypes_.size(); ++k)
123  edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << waferIndex_[k] << " ("
127 #endif
128  slopeB_ = args.value<std::vector<double>>("SlopeBottom");
129  zFrontB_ = args.value<std::vector<double>>("ZFrontBottom");
130  rMinFront_ = args.value<std::vector<double>>("RMinFront");
131  slopeT_ = args.value<std::vector<double>>("SlopeTop");
132  zFrontT_ = args.value<std::vector<double>>("ZFrontTop");
133  rMaxFront_ = args.value<std::vector<double>>("RMaxFront");
134 #ifdef EDM_ML_DEBUG
135  for (unsigned int i = 0; i < slopeB_.size(); ++i)
136  edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] Zmin " << zFrontB_[i] << " Rmin " << rMinFront_[i]
137  << " Slope " << slopeB_[i];
138  for (unsigned int i = 0; i < slopeT_.size(); ++i)
139  edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] Zmin " << zFrontT_[i] << " Rmax " << rMaxFront_[i]
140  << " Slope " << slopeT_[i];
141  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: NameSpace " << ns.name();
142 #endif
143 
144 #ifdef EDM_ML_DEBUG
145  edm::LogVerbatim("HGCalGeom") << "==>> Constructing DDHGCalEEFileAlgo...";
146  copies_.clear();
147 #endif
148 
149  double zi(zMinBlock_);
150  int laymin(0);
151  for (unsigned int i = 0; i < layers_.size(); ++i) {
152  double zo = zi + layerThick_[i];
153  double routF = HGCalGeomTools::radius(zi, zFrontT_, rMaxFront_, slopeT_);
154  int laymax = laymin + layers_[i];
155  double zz = zi;
156  double thickTot(0);
157  for (int ly = laymin; ly < laymax; ++ly) {
158  int ii = layerType_[ly];
159  int copy = copyNumber_[ii];
160  double hthick = 0.5 * thick_[ii];
161  double rinB = HGCalGeomTools::radius(zo - tol1, zFrontB_, rMinFront_, slopeB_);
162  zz += hthick;
163  thickTot += thick_[ii];
164 
165  std::string name = names_[ii] + std::to_string(copy);
166 #ifdef EDM_ML_DEBUG
167  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: Layer " << ly << ":" << ii << " Front " << zi << ", "
168  << routF << " Back " << zo << ", " << rinB << " superlayer thickness "
169  << layerThick_[i];
170 #endif
171 
172  dd4hep::Material matter = ns.material(materials_[ii]);
173  dd4hep::Volume glog;
174 
175  if (layerSense_[ly] < 1) {
176  std::vector<double> pgonZ, pgonRin, pgonRout;
177  if (layerSense_[ly] == 0 || absorbMode_ == 0) {
178  double rmax = routF * cosAlpha_ - tol1;
179  pgonZ.emplace_back(-hthick);
180  pgonZ.emplace_back(hthick);
181  pgonRin.emplace_back(rinB);
182  pgonRin.emplace_back(rinB);
183  pgonRout.emplace_back(rmax);
184  pgonRout.emplace_back(rmax);
185  } else {
186  HGCalGeomTools::radius(zz - hthick,
187  zz + hthick,
188  zFrontB_,
189  rMinFront_,
190  slopeB_,
191  zFrontT_,
192  rMaxFront_,
193  slopeT_,
194  -layerSense_[ly],
195  pgonZ,
196  pgonRin,
197  pgonRout);
198 #ifdef EDM_ML_DEBUG
199  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: z " << (zz - hthick) << ":" << (zz + hthick)
200  << " with " << pgonZ.size() << " palnes";
201  for (unsigned int isec = 0; isec < pgonZ.size(); ++isec)
202  edm::LogVerbatim("HGCalGeom")
203  << "[" << isec << "] z " << pgonZ[isec] << " R " << pgonRin[isec] << ":" << pgonRout[isec];
204 #endif
205  for (unsigned int isec = 0; isec < pgonZ.size(); ++isec) {
206  pgonZ[isec] -= zz;
207  pgonRout[isec] = pgonRout[isec] * cosAlpha_ - tol1;
208  }
209  }
210  dd4hep::Solid solid = dd4hep::Polyhedra(sectors_, -alpha_, 2._pi, pgonZ, pgonRin, pgonRout);
211  ns.addSolidNS(ns.prepend(name), solid);
212  glog = dd4hep::Volume(solid.name(), solid, matter);
213  ns.addVolumeNS(glog);
214 #ifdef EDM_ML_DEBUG
215  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << solid.name() << " polyhedra of " << sectors_
216  << " sectors covering " << convertRadToDeg(-alpha_) << ":"
217  << convertRadToDeg(-alpha_ + 2._pi) << " with " << pgonZ.size()
218  << " sections and filled with " << matter.name();
219  for (unsigned int k = 0; k < pgonZ.size(); ++k)
220  edm::LogVerbatim("HGCalGeom")
221  << "[" << k << "] z " << pgonZ[k] << " R " << pgonRin[k] << ":" << pgonRout[k];
222 #endif
223  } else {
224  double rins =
225  (sensitiveMode_ < 1) ? rinB : HGCalGeomTools::radius(zz + hthick - tol1, zFrontB_, rMinFront_, slopeB_);
226  double routs =
227  (sensitiveMode_ < 1) ? routF : HGCalGeomTools::radius(zz - hthick, zFrontT_, rMaxFront_, slopeT_);
228  dd4hep::Solid solid = dd4hep::Tube(rins, routs, hthick, 0.0, 2._pi);
229  ns.addSolidNS(ns.prepend(name), solid);
230  glog = dd4hep::Volume(solid.name(), solid, matter);
231  ns.addVolumeNS(glog);
232 
233 #ifdef EDM_ML_DEBUG
234  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << solid.name() << " Tubs made of " << matter.name()
235  << " of dimensions " << rinB << ":" << rins << ", " << routF << ":" << routs
236  << ", " << hthick << ", 0.0, 360.0 and position " << glog.name() << " number "
237  << copy << ":" << layerCenter_[copy - firstLayer_];
238 #endif
239  positionSensitive(ctxt, e, glog, rins, routs, zz, layerSense_[ly], (copy - firstLayer_));
240  }
241 
242  dd4hep::Position r1(0, 0, zz);
243  mother.placeVolume(glog, copy, r1);
244  ++copyNumber_[ii];
245 #ifdef EDM_ML_DEBUG
246  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << glog.name() << " number " << copy << " positioned in "
247  << mother.name() << " at " << r1 << " with no rotation";
248 #endif
249  zz += hthick;
250  } // End of loop over layers in a block
251  zi = zo;
252  laymin = laymax;
253  // Make consistency check of all the partitions of the block
254  if (std::abs(thickTot - layerThick_[i]) >= tol2) {
255  if (thickTot > layerThick_[i]) {
256  edm::LogError("HGCalGeom") << "Thickness of the partition " << layerThick_[i] << " is smaller than "
257  << thickTot << ": thickness of all its components **** ERROR ****";
258  } else {
259  edm::LogWarning("HGCalGeom") << "Thickness of the partition " << layerThick_[i] << " does not match with "
260  << thickTot << " of the components";
261  }
262  }
263  } // End of loop over blocks
264 
265 #ifdef EDM_ML_DEBUG
266  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << copies_.size() << " different wafer copy numbers";
267  int k(0);
268  for (std::unordered_set<int>::const_iterator itr = copies_.begin(); itr != copies_.end(); ++itr, ++k) {
269  edm::LogVerbatim("HGCalGeom") << "Copy [" << k << "] : " << (*itr);
270  }
271  copies_.clear();
272  edm::LogVerbatim("HGCalGeom") << "<<== End of DDHGCalEEFileAlgo construction...";
273 #endif
274  }

References funct::abs(), cms::DDNamespace::addSolidNS(), cms::DDNamespace::addVolumeNS(), writedatasetfile::args, angle_units::operators::convertRadToDeg(), filterCSVwithJSON::copy, funct::cos(), MillePedeFileConverter_cfg::e, mps_fire::i, cuy::ii, dqmdumpme::k, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, cms::DDNamespace::name(), HGCalGeometryMode::Polyhedra, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), diffTwoXMLs::r1, HGCalGeomTools::radius(), AlCaHLTBitMon_QueryRunRegistry::string, cms::DDNamespace::volume(), HGCalWaferIndex::waferLayer(), HGCalWaferIndex::waferU(), HGCalWaferIndex::waferV(), and geometryCSVtoXML::zz.

Member Function Documentation

◆ positionSensitive()

void HGCalEEFileAlgo::positionSensitive ( cms::DDParsingContext ctxt,
xml_h  e,
const dd4hep::Volume &  glog,
double  rin,
double  rout,
double  zpos,
int  layertype,
int  layer 
)
inline

Definition at line 276 of file DDHGCalEEFileAlgo.cc.

283  {
284  cms::DDNamespace ns(ctxt, e, true);
285  static const double sqrt3 = std::sqrt(3.0);
286  int layercenter = layerCenter_[layer];
287  double r = 0.5 * (waferSize_ + waferSepar_);
288  double R = 2.0 * r / sqrt3;
289  double dy = 0.75 * R;
290  int N = (int)(0.5 * rout / r) + 2;
291  const auto& xyoff = geomTools_.shiftXY(layercenter, (waferSize_ + waferSepar_));
292 #ifdef EDM_ML_DEBUG
293  int ium(0), ivm(0), iumAll(0), ivmAll(0), kount(0), ntot(0), nin(0);
294  std::vector<int> ntype(6, 0);
295  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << glog.name() << " rin:rout " << rin << ":" << rout
296  << " zpos " << zpos << " N " << N << " for maximum u, v; r " << r << " R " << R
297  << " dy " << dy << " Shift " << xyoff.first << ":" << xyoff.second << " WaferSize "
298  << (waferSize_ + waferSepar_);
299 #endif
300  for (int u = -N; u <= N; ++u) {
301  for (int v = -N; v <= N; ++v) {
302 #ifdef EDM_ML_DEBUG
303  int iu = std::abs(u);
304  int iv = std::abs(v);
305 #endif
306  int nr = 2 * v;
307  int nc = -2 * u + v;
308  double xpos = xyoff.first + nc * r;
309  double ypos = xyoff.second + nr * dy;
310  const auto& corner = HGCalGeomTools::waferCorner(xpos, ypos, r, R, rin, rout, false);
311 #ifdef EDM_ML_DEBUG
312  ++ntot;
313  if (((corner.first <= 0) && std::abs(u) < 5 && std::abs(v) < 5) || (std::abs(u) < 2 && std::abs(v) < 2)) {
314  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << glog.name() << " R " << rin << ":" << rout
315  << "\n Z " << zpos << " LayerType " << layertype << " u " << u << " v " << v
316  << " with " << corner.first << " corners";
317  }
318 #endif
319  int indx = HGCalWaferIndex::waferIndex((layer + firstLayer_), u, v, false);
321  if (corner.first > 0 && type >= 0) {
322  int copy = HGCalTypes::packTypeUV(type, u, v);
323 #ifdef EDM_ML_DEBUG
324  edm::LogVerbatim("HGCalGeom") << " DDHGCalHEFileAlgo: " << wafers_[type] << " number " << copy << " type "
325  << type << " layer:u:v:indx " << (layer + firstLayer_) << ":" << u << ":" << v
326  << ":" << indx;
327  if (iu > ium)
328  ium = iu;
329  if (iv > ivm)
330  ivm = iv;
331  kount++;
332  if (copies_.count(copy) == 0)
333  copies_.insert(copy);
334 #endif
335  if (corner.first == (int)(HGCalParameters::k_CornerSize)) {
336 #ifdef EDM_ML_DEBUG
337  if (iu > iumAll)
338  iumAll = iu;
339  if (iv > ivmAll)
340  ivmAll = iv;
341  ++nin;
342 #endif
343  dd4hep::Position tran(xpos, ypos, 0.0);
344  if (layertype > 1)
345  type += 3;
346  glog.placeVolume(ns.volume(wafers_[type]), copy, tran);
347 #ifdef EDM_ML_DEBUG
348  ++ntype[type];
349  edm::LogVerbatim("HGCalGeom")
350  << " DDHGCalEEFileAlgo: " << wafers_[type] << " number " << copy << " type " << layertype << ":" << type
351  << " positioned in " << glog.name() << " at " << tran << " with no rotation";
352 #endif
353  }
354  }
355  }
356  }
357 
358 #ifdef EDM_ML_DEBUG
359  edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: Maximum # of u " << ium << ":" << iumAll << " # of v " << ivm
360  << ":" << ivmAll << " and " << nin << ":" << kount << ":" << ntot << " wafers ("
361  << ntype[0] << ":" << ntype[1] << ":" << ntype[2] << ":" << ntype[3] << ":"
362  << ntype[4] << ":" << ntype[5] << ") for " << glog.name() << " R " << rin << ":"
363  << rout;
364 #endif
365  }

References funct::abs(), filterCSVwithJSON::copy, distTCMET_cfi::corner, PVValHelper::dy, MillePedeFileConverter_cfg::e, HGCalWaferType::getType(), createfilelist::int, HGCalParameters::k_CornerSize, N, nin, EgHLTOffHistBins_cfi::nr, HGCalTypes::packTypeUV(), PixelTestBeamValidation_cfi::Position, dttmaxenums::R, alignCSCRings::r, mathSSE::sqrt(), findQualityFiles::v, cms::DDNamespace::volume(), HGCalGeomTools::waferCorner(), and HGCalWaferIndex::waferIndex().

Member Data Documentation

◆ absorbMode_

int HGCalEEFileAlgo::absorbMode_

Definition at line 381 of file DDHGCalEEFileAlgo.cc.

◆ alpha_

double HGCalEEFileAlgo::alpha_

Definition at line 402 of file DDHGCalEEFileAlgo.cc.

◆ choiceType_

int HGCalEEFileAlgo::choiceType_

Definition at line 389 of file DDHGCalEEFileAlgo.cc.

◆ copies_

std::unordered_set<int> HGCalEEFileAlgo::copies_

Definition at line 401 of file DDHGCalEEFileAlgo.cc.

◆ copyNumber_

std::vector<int> HGCalEEFileAlgo::copyNumber_

Definition at line 374 of file DDHGCalEEFileAlgo.cc.

◆ cosAlpha_

double HGCalEEFileAlgo::cosAlpha_

Definition at line 402 of file DDHGCalEEFileAlgo.cc.

◆ firstLayer_

int HGCalEEFileAlgo::firstLayer_

Definition at line 380 of file DDHGCalEEFileAlgo.cc.

◆ fracAreaMin_

double HGCalEEFileAlgo::fracAreaMin_

Definition at line 391 of file DDHGCalEEFileAlgo.cc.

◆ geomTools_

HGCalGeomTools HGCalEEFileAlgo::geomTools_

Definition at line 368 of file DDHGCalEEFileAlgo.cc.

◆ layerCenter_

std::vector<int> HGCalEEFileAlgo::layerCenter_

Definition at line 379 of file DDHGCalEEFileAlgo.cc.

◆ layers_

std::vector<int> HGCalEEFileAlgo::layers_

Definition at line 375 of file DDHGCalEEFileAlgo.cc.

◆ layerSense_

std::vector<int> HGCalEEFileAlgo::layerSense_

Definition at line 378 of file DDHGCalEEFileAlgo.cc.

◆ layerThick_

std::vector<double> HGCalEEFileAlgo::layerThick_

Definition at line 376 of file DDHGCalEEFileAlgo.cc.

◆ layerType_

std::vector<int> HGCalEEFileAlgo::layerType_

Definition at line 377 of file DDHGCalEEFileAlgo.cc.

◆ materials_

std::vector<std::string> HGCalEEFileAlgo::materials_

Definition at line 371 of file DDHGCalEEFileAlgo.cc.

◆ names_

std::vector<std::string> HGCalEEFileAlgo::names_

Definition at line 372 of file DDHGCalEEFileAlgo.cc.

◆ nCutRadPar_

int HGCalEEFileAlgo::nCutRadPar_

Definition at line 390 of file DDHGCalEEFileAlgo.cc.

◆ rad100to200_

std::vector<double> HGCalEEFileAlgo::rad100to200_

Definition at line 384 of file DDHGCalEEFileAlgo.cc.

◆ rad200to300_

std::vector<double> HGCalEEFileAlgo::rad200to300_

Definition at line 385 of file DDHGCalEEFileAlgo.cc.

◆ rMaxFront_

std::vector<double> HGCalEEFileAlgo::rMaxFront_

Definition at line 400 of file DDHGCalEEFileAlgo.cc.

◆ rMinFront_

std::vector<double> HGCalEEFileAlgo::rMinFront_

Definition at line 397 of file DDHGCalEEFileAlgo.cc.

◆ sectors_

int HGCalEEFileAlgo::sectors_

Definition at line 394 of file DDHGCalEEFileAlgo.cc.

◆ sensitiveMode_

int HGCalEEFileAlgo::sensitiveMode_

Definition at line 382 of file DDHGCalEEFileAlgo.cc.

◆ slopeB_

std::vector<double> HGCalEEFileAlgo::slopeB_

Definition at line 395 of file DDHGCalEEFileAlgo.cc.

◆ slopeT_

std::vector<double> HGCalEEFileAlgo::slopeT_

Definition at line 398 of file DDHGCalEEFileAlgo.cc.

◆ thick_

std::vector<double> HGCalEEFileAlgo::thick_

Definition at line 373 of file DDHGCalEEFileAlgo.cc.

◆ waferIndex_

std::vector<int> HGCalEEFileAlgo::waferIndex_

Definition at line 387 of file DDHGCalEEFileAlgo.cc.

◆ wafers_

std::vector<std::string> HGCalEEFileAlgo::wafers_

Definition at line 370 of file DDHGCalEEFileAlgo.cc.

◆ waferSepar_

double HGCalEEFileAlgo::waferSepar_

Definition at line 393 of file DDHGCalEEFileAlgo.cc.

◆ waferSize_

double HGCalEEFileAlgo::waferSize_

Definition at line 392 of file DDHGCalEEFileAlgo.cc.

◆ waferTypes_

std::vector<int> HGCalEEFileAlgo::waferTypes_

Definition at line 388 of file DDHGCalEEFileAlgo.cc.

◆ zFrontB_

std::vector<double> HGCalEEFileAlgo::zFrontB_

Definition at line 396 of file DDHGCalEEFileAlgo.cc.

◆ zFrontT_

std::vector<double> HGCalEEFileAlgo::zFrontT_

Definition at line 399 of file DDHGCalEEFileAlgo.cc.

◆ zMinBlock_

double HGCalEEFileAlgo::zMinBlock_

Definition at line 383 of file DDHGCalEEFileAlgo.cc.

◆ zMinRadPar_

double HGCalEEFileAlgo::zMinRadPar_

Definition at line 386 of file DDHGCalEEFileAlgo.cc.

writedatasetfile.args
args
Definition: writedatasetfile.py:18
HGCalWaferIndex::waferV
static int32_t waferV(const int32_t index)
Definition: HGCalWaferIndex.cc:42
HGCalGeomTools::waferCorner
static std::pair< int32_t, int32_t > waferCorner(double xpos, double ypos, double r, double R, double rMin, double rMax, bool oldBug=false)
Definition: HGCalGeomTools.cc:223
mps_fire.i
i
Definition: mps_fire.py:428
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
g4SimHits_cfi.Material
Material
Definition: g4SimHits_cfi.py:560
HGCalEEFileAlgo::geomTools_
HGCalGeomTools geomTools_
Definition: DDHGCalEEFileAlgo.cc:368
HGCalEEFileAlgo::rMaxFront_
std::vector< double > rMaxFront_
Definition: DDHGCalEEFileAlgo.cc:400
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
HGCalEEFileAlgo::zFrontB_
std::vector< double > zFrontB_
Definition: DDHGCalEEFileAlgo.cc:396
angle_units::operators::convertRadToDeg
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
cms::DDNamespace
Definition: DDNamespace.h:16
HGCalEEFileAlgo::waferIndex_
std::vector< int > waferIndex_
Definition: DDHGCalEEFileAlgo.cc:387
HGCalParameters::k_CornerSize
static constexpr uint32_t k_CornerSize
Definition: HGCalParameters.h:38
distTCMET_cfi.corner
corner
Definition: distTCMET_cfi.py:38
nin
int nin
Definition: CascadeWrapper.h:114
HGCalEEFileAlgo::thick_
std::vector< double > thick_
Definition: DDHGCalEEFileAlgo.cc:373
HGCalEEFileAlgo::layerThick_
std::vector< double > layerThick_
Definition: DDHGCalEEFileAlgo.cc:376
HGCalGeomTools::shiftXY
std::pair< double, double > shiftXY(int waferPosition, double waferSize) const
Definition: HGCalGeomTools.cc:170
HGCalEEFileAlgo::layerCenter_
std::vector< int > layerCenter_
Definition: DDHGCalEEFileAlgo.cc:379
findQualityFiles.v
v
Definition: findQualityFiles.py:179
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
HGCalEEFileAlgo::zMinBlock_
double zMinBlock_
Definition: DDHGCalEEFileAlgo.cc:383
HGCalEEFileAlgo::firstLayer_
int firstLayer_
Definition: DDHGCalEEFileAlgo.cc:380
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
HGCalEEFileAlgo::slopeT_
std::vector< double > slopeT_
Definition: DDHGCalEEFileAlgo.cc:398
HGCalEEFileAlgo::positionSensitive
void positionSensitive(cms::DDParsingContext &ctxt, xml_h e, const dd4hep::Volume &glog, double rin, double rout, double zpos, int layertype, int layer)
Definition: DDHGCalEEFileAlgo.cc:276
HGCalEEFileAlgo::nCutRadPar_
int nCutRadPar_
Definition: DDHGCalEEFileAlgo.cc:390
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
HGCalEEFileAlgo::sectors_
int sectors_
Definition: DDHGCalEEFileAlgo.cc:394
N
#define N
Definition: blowfish.cc:9
HGCalWaferType::getType
int getType(double xpos, double ypos, double zpos)
Definition: HGCalWaferType.cc:35
HGCalEEFileAlgo::waferTypes_
std::vector< int > waferTypes_
Definition: DDHGCalEEFileAlgo.cc:388
HGCalEEFileAlgo::slopeB_
std::vector< double > slopeB_
Definition: DDHGCalEEFileAlgo.cc:395
PixelTestBeamValidation_cfi.Position
Position
Definition: PixelTestBeamValidation_cfi.py:75
dqmdumpme.k
k
Definition: dqmdumpme.py:60
HGCalWaferIndex::waferU
static int32_t waferU(const int32_t index)
Definition: HGCalWaferIndex.cc:37
HGCalTypes::packTypeUV
static int32_t packTypeUV(int type, int u, int v)
Definition: HGCalTypes.cc:3
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cms::Volume
dd4hep::Volume Volume
Definition: DDFilteredView.h:47
HGCalEEFileAlgo::layerType_
std::vector< int > layerType_
Definition: DDHGCalEEFileAlgo.cc:377
HGCalEEFileAlgo::absorbMode_
int absorbMode_
Definition: DDHGCalEEFileAlgo.cc:381
EgHLTOffHistBins_cfi.nr
nr
Definition: EgHLTOffHistBins_cfi.py:4
HGCalEEFileAlgo::rad200to300_
std::vector< double > rad200to300_
Definition: DDHGCalEEFileAlgo.cc:385
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
HGCalEEFileAlgo::choiceType_
int choiceType_
Definition: DDHGCalEEFileAlgo.cc:389
HGCalEEFileAlgo::cosAlpha_
double cosAlpha_
Definition: DDHGCalEEFileAlgo.cc:402
HGCalEEFileAlgo::alpha_
double alpha_
Definition: DDHGCalEEFileAlgo.cc:402
HGCalEEFileAlgo::layerSense_
std::vector< int > layerSense_
Definition: DDHGCalEEFileAlgo.cc:378
createfilelist.int
int
Definition: createfilelist.py:10
HGCalEEFileAlgo::names_
std::vector< std::string > names_
Definition: DDHGCalEEFileAlgo.cc:372
cms::DDAlgoArguments
Definition: DDAlgoArguments.h:28
HGCalEEFileAlgo::copies_
std::unordered_set< int > copies_
Definition: DDHGCalEEFileAlgo.cc:401
PVValHelper::dy
Definition: PVValidationHelpers.h:49
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:29
HGCalEEFileAlgo::rad100to200_
std::vector< double > rad100to200_
Definition: DDHGCalEEFileAlgo.cc:384
alignCSCRings.r
r
Definition: alignCSCRings.py:93
HGCalEEFileAlgo::sensitiveMode_
int sensitiveMode_
Definition: DDHGCalEEFileAlgo.cc:382
HGCalEEFileAlgo::wafers_
std::vector< std::string > wafers_
Definition: DDHGCalEEFileAlgo.cc:370
HGCalEEFileAlgo::waferSepar_
double waferSepar_
Definition: DDHGCalEEFileAlgo.cc:393
HGCalGeomTools::radius
static void radius(double zf, double zb, std::vector< double > const &zFront1, std::vector< double > const &rFront1, std::vector< double > const &slope1, std::vector< double > const &zFront2, std::vector< double > const &rFront2, std::vector< double > const &slope2, int flag, std::vector< double > &zz, std::vector< double > &rin, std::vector< double > &rout)
Definition: HGCalGeomTools.cc:11
HGCalEEFileAlgo::waferSize_
double waferSize_
Definition: DDHGCalEEFileAlgo.cc:392
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
HGCalGeometryMode::Polyhedra
Definition: HGCalGeometryMode.h:35
Exception
Definition: hltDiff.cc:246
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
HGCalWaferIndex::waferIndex
static int32_t waferIndex(int32_t layer, int32_t waferU, int32_t waferV, bool old=false)
Definition: HGCalWaferIndex.cc:17
HGCalEEFileAlgo::layers_
std::vector< int > layers_
Definition: DDHGCalEEFileAlgo.cc:375
HGCalEEFileAlgo::copyNumber_
std::vector< int > copyNumber_
Definition: DDHGCalEEFileAlgo.cc:374
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::Log
Definition: MessageLogger.h:70
dttmaxenums::R
Definition: DTTMax.h:29
cuy.ii
ii
Definition: cuy.py:590
HGCalEEFileAlgo::zMinRadPar_
double zMinRadPar_
Definition: DDHGCalEEFileAlgo.cc:386
HGCalEEFileAlgo::zFrontT_
std::vector< double > zFrontT_
Definition: DDHGCalEEFileAlgo.cc:399
HGCalWaferIndex::waferLayer
static int32_t waferLayer(const int32_t index)
Definition: HGCalWaferIndex.cc:35
HGCalEEFileAlgo::rMinFront_
std::vector< double > rMinFront_
Definition: DDHGCalEEFileAlgo.cc:397
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
HGCalEEFileAlgo::fracAreaMin_
double fracAreaMin_
Definition: DDHGCalEEFileAlgo.cc:391
HGCalEEFileAlgo::materials_
std::vector< std::string > materials_
Definition: DDHGCalEEFileAlgo.cc:371