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

Phase2-hgx359H Step to include the new HD scintillator in the V19 setup of HGCal #45624

Merged
merged 4 commits into from
Aug 3, 2024
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
3 changes: 2 additions & 1 deletion Geometry/HGCalCommonData/data/hgcalHEmix/v19/hgcalHEmix.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
<Numeric name="PartialTypes" value="11"/>
<Numeric name="PlaceOffset" value="6"/>
<Numeric name="ForFireWorks" value="0"/>
<Numeric name="FirstLayer" value="[hgcal:FirstMixedLayer]"/>
<Numeric name="FirstFineLayer" value="[hgcal:FirstMixedLayer]"/>
<Numeric name="FirstCoarseLayer" value="[hgcal:FirstMixedCoarseLayer]"/>
<Numeric name="AbsorberMode" value="1"/>
<Numeric name="SensitiveMode" value="1"/>
<Numeric name="zMinBlock" value="[hgcal:zHGCalHEmix1]"/>
Expand Down
9 changes: 5 additions & 4 deletions Geometry/HGCalCommonData/interface/HGCalCassette.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@

class HGCalCassette {
public:
HGCalCassette(int cassette, const std::vector<double>& shifts) { setParameter(cassette, shifts); }
HGCalCassette(int cassette, const std::vector<double>& shifts) { setParameter(cassette, shifts, true); }
HGCalCassette() {}

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

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

Expand Down
9 changes: 8 additions & 1 deletion Geometry/HGCalCommonData/interface/HGCalGeomParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ class HGCalGeomParameters {
constexpr static int siliconCassetteEE = 5;
constexpr static int siliconCassetteHE = 6;
constexpr static int scintillatorCassette = 7;
constexpr static int scintillatorFineCell = 8;

private:
void loadGeometryHexagon(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
Expand Down Expand Up @@ -136,10 +137,16 @@ class HGCalGeomParameters {
const std::vector<int>& tileHEX2,
const std::vector<int>& tileHEX3,
const std::vector<int>& tileHEX4,
const std::vector<int>& tileHEX5,
const std::vector<int>& tileHEX6,
const std::vector<double>& tileRMin,
const std::vector<double>& tileRMax,
const std::vector<double>& tileRMinFine,
const std::vector<double>& tileRMaxFine,
const std::vector<int>& tileRingMin,
const std::vector<int>& tileRingMax);
const std::vector<int>& tileRingMax,
const std::vector<int>& tileRingMinFine,
const std::vector<int>& tileRingMaxFine);
std::vector<double> getDDDArray(const std::string& str, const DDsvalues_type& sv, const int nmin);
std::pair<double, double> cellPosition(const std::vector<cellParameters>& wafers,
std::vector<cellParameters>::const_iterator& itrf,
Expand Down
17 changes: 15 additions & 2 deletions Geometry/HGCalCommonData/interface/HGCalParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,22 @@ class HGCalParameters {
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){};
};
struct tileInfo {
int32_t type, sipm, cassette, hex[4];
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)
int32_t type, sipm, cassette, hex[6];
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,
int32_t h5 = 0,
int32_t h6 = 0)
: type(t), sipm(s) {
hex[0] = h1;
hex[1] = h2;
hex[2] = h3;
hex[3] = h4;
hex[4] = h5;
hex[5] = h6;
};
};
typedef std::vector<std::unordered_map<int32_t, int32_t> > layer_map;
Expand Down Expand Up @@ -194,10 +203,14 @@ class HGCalParameters {
tileInfo_map tileInfoMap_;
std::vector<std::pair<double, double> > tileRingR_;
std::vector<std::pair<int, int> > tileRingRange_;
std::vector<std::pair<double, double> > tileRingFineR_;
std::vector<std::pair<int, int> > tileRingFineRange_;
int cassettes_ = 0;
int nphiCassette_ = 0;
int nphiFineCassette_ = 0;
int phiOffset_ = 0;
std::vector<double> cassetteShift_;
std::vector<double> cassetteShiftTile_;
double calibCellRHD_ = 0.;
std::vector<int> calibCellFullHD_;
std::vector<int> calibCellPartHD_;
Expand Down
Loading