Skip to content

Commit b2dbcb7

Browse files
authored
Merge pull request #45624 from bsunanda/Phase2-hgx359H
Phase2-hgx359H Step to include the new HD scintillator in the V19 setup of HGCal
2 parents 0881c5b + 494e45b commit b2dbcb7

File tree

7 files changed

+995
-31
lines changed

7 files changed

+995
-31
lines changed

Geometry/HGCalCommonData/data/hgcalHEmix/v19/hgcalHEmix.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
<Numeric name="PartialTypes" value="11"/>
1212
<Numeric name="PlaceOffset" value="6"/>
1313
<Numeric name="ForFireWorks" value="0"/>
14-
<Numeric name="FirstLayer" value="[hgcal:FirstMixedLayer]"/>
14+
<Numeric name="FirstFineLayer" value="[hgcal:FirstMixedLayer]"/>
15+
<Numeric name="FirstCoarseLayer" value="[hgcal:FirstMixedCoarseLayer]"/>
1516
<Numeric name="AbsorberMode" value="1"/>
1617
<Numeric name="SensitiveMode" value="1"/>
1718
<Numeric name="zMinBlock" value="[hgcal:zHGCalHEmix1]"/>

Geometry/HGCalCommonData/interface/HGCalCassette.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77

88
class HGCalCassette {
99
public:
10-
HGCalCassette(int cassette, const std::vector<double>& shifts) { setParameter(cassette, shifts); }
10+
HGCalCassette(int cassette, const std::vector<double>& shifts) { setParameter(cassette, shifts, true); }
1111
HGCalCassette() {}
1212

13-
void setParameter(int cassette, const std::vector<double>& shifts);
14-
std::pair<double, double> getShift(int layer, int zside, int cassette) const;
13+
void setParameter(int cassette, const std::vector<double>& shifts, bool both = true);
14+
void setParameterScint(const std::vector<double>& shifts);
15+
std::pair<double, double> getShift(int layer, int zside, int cassette, bool scnt = false) const;
1516
static int cassetteIndex(int det, int layer, int zside, int cassette);
1617
static int cassetteType(int det, int zside, int cassette);
1718

@@ -20,7 +21,7 @@ class HGCalCassette {
2021
static constexpr int positHE_[12] = {5, 4, 3, 2, 1, 0, 11, 10, 9, 8, 7, 6};
2122
int cassette_;
2223
bool typeHE_;
23-
std::vector<double> shifts_;
24+
std::vector<double> shifts_, shiftsScnt_;
2425
static constexpr int32_t factor_ = 100;
2526
};
2627

Geometry/HGCalCommonData/interface/HGCalGeomParameters.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ class HGCalGeomParameters {
105105
constexpr static int siliconCassetteEE = 5;
106106
constexpr static int siliconCassetteHE = 6;
107107
constexpr static int scintillatorCassette = 7;
108+
constexpr static int scintillatorFineCell = 8;
108109

109110
private:
110111
void loadGeometryHexagon(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
@@ -136,10 +137,16 @@ class HGCalGeomParameters {
136137
const std::vector<int>& tileHEX2,
137138
const std::vector<int>& tileHEX3,
138139
const std::vector<int>& tileHEX4,
140+
const std::vector<int>& tileHEX5,
141+
const std::vector<int>& tileHEX6,
139142
const std::vector<double>& tileRMin,
140143
const std::vector<double>& tileRMax,
144+
const std::vector<double>& tileRMinFine,
145+
const std::vector<double>& tileRMaxFine,
141146
const std::vector<int>& tileRingMin,
142-
const std::vector<int>& tileRingMax);
147+
const std::vector<int>& tileRingMax,
148+
const std::vector<int>& tileRingMinFine,
149+
const std::vector<int>& tileRingMaxFine);
143150
std::vector<double> getDDDArray(const std::string& str, const DDsvalues_type& sv, const int nmin);
144151
std::pair<double, double> cellPosition(const std::vector<cellParameters>& wafers,
145152
std::vector<cellParameters>::const_iterator& itrf,

Geometry/HGCalCommonData/interface/HGCalParameters.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,22 @@ class HGCalParameters {
1919
waferInfo(int32_t t = 0, int32_t p = 0, int32_t o = 0, int32_t c = 0) : type(t), part(p), orient(o), cassette(c){};
2020
};
2121
struct tileInfo {
22-
int32_t type, sipm, cassette, hex[4];
23-
tileInfo(int32_t t = 0, int32_t s = 0, int32_t h1 = 0, int32_t h2 = 0, int32_t h3 = 0, int32_t h4 = 0)
22+
int32_t type, sipm, cassette, hex[6];
23+
tileInfo(int32_t t = 0,
24+
int32_t s = 0,
25+
int32_t h1 = 0,
26+
int32_t h2 = 0,
27+
int32_t h3 = 0,
28+
int32_t h4 = 0,
29+
int32_t h5 = 0,
30+
int32_t h6 = 0)
2431
: type(t), sipm(s) {
2532
hex[0] = h1;
2633
hex[1] = h2;
2734
hex[2] = h3;
2835
hex[3] = h4;
36+
hex[4] = h5;
37+
hex[5] = h6;
2938
};
3039
};
3140
typedef std::vector<std::unordered_map<int32_t, int32_t> > layer_map;
@@ -194,10 +203,14 @@ class HGCalParameters {
194203
tileInfo_map tileInfoMap_;
195204
std::vector<std::pair<double, double> > tileRingR_;
196205
std::vector<std::pair<int, int> > tileRingRange_;
206+
std::vector<std::pair<double, double> > tileRingFineR_;
207+
std::vector<std::pair<int, int> > tileRingFineRange_;
197208
int cassettes_ = 0;
198209
int nphiCassette_ = 0;
210+
int nphiFineCassette_ = 0;
199211
int phiOffset_ = 0;
200212
std::vector<double> cassetteShift_;
213+
std::vector<double> cassetteShiftTile_;
201214
double calibCellRHD_ = 0.;
202215
std::vector<int> calibCellFullHD_;
203216
std::vector<int> calibCellPartHD_;

0 commit comments

Comments
 (0)