Skip to content

Commit 5186192

Browse files
authored
Merge pull request #48303 from waredjeb/fix_V19_HLT_RECO_PR
Fix crashes in HGCAL HLT/RECO with v19 geometry
2 parents a7e8572 + 26c420c commit 5186192

38 files changed

+432
-88
lines changed

DataFormats/ForwardDetId/interface/HGCalTriggerDetId.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
class HGCalTriggerDetId : public DetId {
2828
public:
29+
enum waferType { HGCalHD120 = 0, HGCalLD200 = 1, HGCalLD300 = 2, HGCalHD200 = 3 };
2930
static const int HGCalTriggerCell = 4;
3031

3132
/** Create a null cellid*/
@@ -46,6 +47,8 @@ class HGCalTriggerDetId : public DetId {
4647

4748
/// get the type
4849
int type() const { return (id_ >> kHGCalTypeOffset) & kHGCalTypeMask; }
50+
bool lowDensity() const { return ((type() == HGCalLD200) || (type() == HGCalLD300)); }
51+
bool highDensity() const { return ((type() == HGCalHD120) || (type() == HGCalHD200)); }
4952

5053
/// get the z-side of the cell (1/-1)
5154
int zside() const { return (((id_ >> kHGCalZsideOffset) & kHGCalZsideMask) ? -1 : 1); }

DataFormats/ForwardDetId/interface/HGCalTriggerModuleDetId.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
[19:20] Type (0 fine divisions of wafer with 120 mum thick silicon
1919
1 coarse divisions of wafer with 200 mum thick silicon
2020
2 coarse divisions of wafer with 300 mum thick silicon
21+
3 fine divisions of wafer with 200 mum thick silicon
2122
0 fine divisions of scintillators
2223
1 coarse divisions of scintillators)
2324
@@ -30,6 +31,8 @@
3031

3132
class HGCalTriggerModuleDetId : public DetId {
3233
public:
34+
enum siliconType { HGCalHD120 = 0, HGCalLD200 = 1, HGCalLD300 = 2, HGCalHD200 = 3 };
35+
enum tileGranularity { HGCalTileNormal = 0, HGCalTileFine = 1 };
3336
/** Create a null module id*/
3437
HGCalTriggerModuleDetId();
3538
/** Create module id from raw id (0=invalid id) */
@@ -72,6 +75,15 @@ class HGCalTriggerModuleDetId : public DetId {
7275
/// get the scintillator panel phi
7376
int phi() const { return moduleV(); }
7477

78+
bool isSiliconLowDensity() const {
79+
return (!isHScintillator() && ((type() == HGCalLD200) || (type() == HGCalLD300)));
80+
}
81+
bool isSiliconHighDensity() const {
82+
return (!isHScintillator() && ((type() == HGCalHD120) || (type() == HGCalHD200)));
83+
}
84+
bool isScintillatorFine() const { return (isHScintillator() && (type() == HGCalTileFine)); }
85+
bool isScintillatorCoarse() const { return (isHScintillator() && (type() == HGCalTileNormal)); }
86+
7587
/// consistency check : no bits left => no overhead
7688
bool isHFNose() const { return (triggerSubdetId() == HFNoseTrigger); }
7789
bool isEE() const { return (triggerSubdetId() == HGCalEETrigger); }

HLTrigger/Configuration/python/HLT_75e33/modules/hltHGCalRecHitL1Seeded_cfi.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import FWCore.ParameterSet.Config as cms
22
from ..psets.hgcal_reco_constants_cfi import HGCAL_reco_constants as HGCAL_reco_constants
3+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
34

45

56
hltHGCalRecHitL1Seeded = cms.EDProducer("HGCalRecHitProducer",
@@ -60,3 +61,10 @@
6061
thicknessCorrection = HGCAL_reco_constants.thicknessCorrection,
6162
thicknessNoseCorrection = cms.vdouble(1.132, 1.092, 1.084)
6263
)
64+
65+
phase2_hgcalV19.toModify(hltHGCalRecHitL1Seeded,
66+
HGCEE_fCPerMIP = HGCAL_reco_constants.fcPerMip[0:4],
67+
HGCHEF_fCPerMIP = HGCAL_reco_constants.fcPerMip[4:8],
68+
HGCHFNose_fCPerMIP = [1.25, 2.57, 3.88, 2.57],
69+
70+
)

HLTrigger/Configuration/python/HLT_75e33/modules/hltHGCalRecHit_cfi.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import FWCore.ParameterSet.Config as cms
22
from ..psets.hgcal_reco_constants_cfi import HGCAL_reco_constants as HGCAL_reco_constants
3+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
34

45
hltHGCalRecHit = cms.EDProducer("HGCalRecHitProducer",
56
HGCEE_cce = cms.PSet(
@@ -59,3 +60,9 @@
5960
thicknessCorrection = HGCAL_reco_constants.thicknessCorrection,
6061
thicknessNoseCorrection = cms.vdouble(1.132, 1.092, 1.084)
6162
)
63+
64+
phase2_hgcalV19.toModify(hltHGCalRecHit,
65+
HGCEE_fCPerMIP = HGCAL_reco_constants.fcPerMip[0:4],
66+
HGCHEF_fCPerMIP = HGCAL_reco_constants.fcPerMip[4:8],
67+
HGCHFNose_fCPerMIP = [1.25, 2.57, 3.88, 2.57],
68+
)

HLTrigger/Configuration/python/HLT_75e33/modules/hltHGCalUncalibRecHitL1Seeded_cfi.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import FWCore.ParameterSet.Config as cms
22
from ..psets.hgcal_reco_constants_cfi import HGCAL_reco_constants as HGCAL_reco_constants
3+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
34

45
hltHGCalUncalibRecHitL1Seeded = cms.EDProducer("HGCalUncalibRecHitProducer",
56
HGCEEConfig = cms.PSet(
@@ -60,3 +61,20 @@
6061

6162
from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5
6263
ticl_v5.toModify(hltHGCalUncalibRecHitL1Seeded, computeLocalTime = cms.bool(True))
64+
65+
_modifiedHGCEEConfig_v19 = hltHGCalUncalibRecHitL1Seeded.HGCEEConfig.clone(
66+
fCPerMIP = HGCAL_reco_constants.fcPerMip[0:4]
67+
)
68+
_modifiedHGCHEFConfig_v19 = hltHGCalUncalibRecHitL1Seeded.HGCHEFConfig.clone(
69+
fCPerMIP = HGCAL_reco_constants.fcPerMip[4:8]
70+
)
71+
_modifiedHGCHFNoseConfig_v19 = hltHGCalUncalibRecHitL1Seeded.HGCHFNoseConfig.clone(
72+
fCPerMIP = [1.25, 2.57, 3.88, 2.57]
73+
)
74+
75+
phase2_hgcalV19.toModify(
76+
hltHGCalUncalibRecHitL1Seeded,
77+
HGCEEConfig = _modifiedHGCEEConfig_v19,
78+
HGCHEFConfig = _modifiedHGCHEFConfig_v19,
79+
HGCHFNoseConfig = _modifiedHGCHFNoseConfig_v19
80+
)

HLTrigger/Configuration/python/HLT_75e33/modules/hltHGCalUncalibRecHit_cfi.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import FWCore.ParameterSet.Config as cms
22
from ..psets.hgcal_reco_constants_cfi import HGCAL_reco_constants as HGCAL_reco_constants
3+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
34

45

56
hltHGCalUncalibRecHit = cms.EDProducer("HGCalUncalibRecHitProducer",
@@ -61,3 +62,21 @@
6162

6263
from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5
6364
ticl_v5.toModify(hltHGCalUncalibRecHit, computeLocalTime = cms.bool(True))
65+
66+
67+
_modifiedHGCEEConfig_v19 = hltHGCalUncalibRecHit.HGCEEConfig.clone(
68+
fCPerMIP = HGCAL_reco_constants.fcPerMip[0:4]
69+
)
70+
_modifiedHGCHEFConfig_v19 = hltHGCalUncalibRecHit.HGCHEFConfig.clone(
71+
fCPerMIP = HGCAL_reco_constants.fcPerMip[4:8]
72+
)
73+
_modifiedHGCHFNoseConfig_v19 = hltHGCalUncalibRecHit.HGCHFNoseConfig.clone(
74+
fCPerMIP = [1.25, 2.57, 3.88, 2.57]
75+
)
76+
77+
phase2_hgcalV19.toModify(
78+
hltHGCalUncalibRecHit,
79+
HGCEEConfig = _modifiedHGCEEConfig_v19,
80+
HGCHEFConfig = _modifiedHGCHEFConfig_v19,
81+
HGCHFNoseConfig = _modifiedHGCHFNoseConfig_v19
82+
)
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import FWCore.ParameterSet.Config as cms
2+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
23

34
HGCAL_chargeCollectionEfficiencies = cms.PSet(
45
values = cms.vdouble(1.0, 1.0, 1.0)
5-
)
6+
)
7+
8+
phase2_hgcalV19.toModify(HGCAL_chargeCollectionEfficiencies, values = [1.0, 1.0,1.0,1.0])
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import FWCore.ParameterSet.Config as cms
2+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
23

34
HGCAL_noise_fC = cms.PSet(
45
doseMap = cms.string(''),
56
scaleByDose = cms.bool(False),
67
scaleByDoseAlgo = cms.uint32(0),
78
scaleByDoseFactor = cms.double(1),
89
values = cms.vdouble(0.32041011999999996, 0.384492144, 0.32041011999999996)
9-
)
10+
)
11+
12+
phase2_hgcalV19.toModify(HGCAL_noise_fC , values = [0.32041011999999996, 0.384492144, 0.32041011999999996, 0.384492144])

HLTrigger/Configuration/python/HLT_75e33/psets/hgcal_reco_constants_cfi.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import FWCore.ParameterSet.Config as cms
2+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
23

34
HGCAL_reco_constants = cms.PSet(
45
dEdXweights = cms.vdouble(
@@ -38,6 +39,23 @@
3839
referenceXtalk = cms.double(-1),
3940
noise_MIP = cms.double(0.01)
4041
),
42+
numberOfThicknesses = cms.uint32(3)
4143

4244
)
4345

46+
47+
48+
phase2_hgcalV19.toModify(HGCAL_reco_constants,
49+
thicknessCorrection = [0.75, 0.76, 0.75, 0.76, 0.85, 0.85, 0.84, 0.85] , #CEE_12_HD, CEE_200_LD, CEE_300_LD, CEE_200_HD,CEH_12_HD, CEH_200_LD, CEH_300_LD, CEH_200_HD,
50+
fcPerMip =
51+
[2.06, 3.43, 5.15, 3.43, 2.06, 3.43,
52+
5.15, 3.43]
53+
,
54+
noises =
55+
[2000.0, 2400.0, 2000.0, 2400.0, 2000.0, 2400.0,
56+
2000.0, 2400.]
57+
,
58+
numberOfThicknesses = 4,
59+
maxNumberOfThickIndices = 8,
60+
thresholdW0 = [2.9, 2.9, 2.9, 2.9],
61+
)

HLTrigger/Configuration/python/HLT_75e33/psets/hgceeDigitizer_cfi.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import FWCore.ParameterSet.Config as cms
2+
from Configuration.Eras.Modifier_phase2_hgcalV19_cff import phase2_hgcalV19
23

34
hgceeDigitizer = cms.PSet(
45
NoiseGeneration_Method = cms.bool(True),
@@ -63,4 +64,6 @@
6364
tofDelay = cms.double(5),
6465
useAllChannels = cms.bool(True),
6566
verbosity = cms.untracked.uint32(0)
66-
)
67+
)
68+
69+
phase2_hgcalV19.toModify(hgceeDigitizer.digiCfg.feCfg, tdcForToAOnset_fC= [12.,12.,12.,12.])

0 commit comments

Comments
 (0)