CMS 3D CMS Logo

l1tHGCalBackEndLayer1Producer_cfi.py
Go to the documentation of this file.
1 from __future__ import absolute_import
2 import FWCore.ParameterSet.Config as cms
3 
7 from . import hgcalLayersCalibrationCoefficients_cfi as layercalibparam
8 
9 from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10
10 
11 c2d_calib_pset = cms.PSet(calibSF_cluster=cms.double(1.),
12  layerWeights=layercalibparam.TrgLayer_weights,
13  applyLayerCalibration=cms.bool(True))
14 
15 c2d_thresholds_pset = cms.PSet(seeding_threshold_silicon=cms.double(5.),
16  seeding_threshold_scintillator=cms.double(5.),
17  clustering_threshold_silicon=cms.double(2.),
18  clustering_threshold_scintillator=cms.double(2.))
19 
20 # >= V9 samples have a different definition of the dEdx calibrations. To account for it
21 # we rescale the thresholds for the clustering
22 # (see https://indico.cern.ch/event/806845/contributions/3359859/attachments/1815187/2966402/19-03-20_EGPerf_HGCBE.pdf
23 # for more details)
24 phase2_hgcalV10.toModify(c2d_thresholds_pset,
25  seeding_threshold_silicon=3.75,
26  seeding_threshold_scintillator=3.75,
27  clustering_threshold_silicon=1.5,
28  clustering_threshold_scintillator=1.5,
29  )
30 
31 # we still don't have layer calibrations for >=V9 geometry. Switching this off we
32 # use the dEdx calibrated energy of the TCs
33 phase2_hgcalV10.toModify(c2d_calib_pset,
34  applyLayerCalibration=False
35  )
36 
37 
38 dummy_C2d_params = cms.PSet(c2d_calib_pset,
39  clusterType=cms.string('dummyC2d')
40  )
41 
42 
43 distance_C2d_params = cms.PSet(c2d_calib_pset,
44  c2d_thresholds_pset,
45  clusterType=cms.string('dRC2d'),
46  dR_cluster=cms.double(6.),
47  )
48 
49 topological_C2d_params = cms.PSet(c2d_calib_pset,
50  c2d_thresholds_pset,
51  clusterType=cms.string('NNC2d'),
52  )
53 
54 constrTopological_C2d_params = cms.PSet(c2d_calib_pset,
55  c2d_thresholds_pset,
56  clusterType=cms.string('dRNNC2d'),
57  dR_cluster=cms.double(6.),
58  )
59 
60 ntcs_72links = [ 1, 4, 13, 13, 10, 10, 8, 8, 8, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1]
61 ntcs_120links = [ 2, 7, 27, 24, 19, 17, 16, 15, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 10, 9, 9, 9, 8, 8, 7, 5, 3, 3, 3, 3, 3, 3, 3, 3]
62 
63 phi_edges = [0.98901991,0.72722052,0.6981317,0.87266463,0.93084227,0.90175345,
64 0.87266463,0.90175345,0.95993109,0.95993109,0.93084227,0.93084227,
65 0.95993109,0.98901991,0.95993109,0.95993109,0.95993109,0.98901991,
66 0.98901991,0.95993109,0.95993109,0.98901991,0.98901991,0.98901991,
67 0.98901991,0.98901991,1.01810873,0.98901991,0.98901991,0.98901991,
68 0.98901991,0.98901991,0.98901991,0.98901991,1.04719755,1.04719755,
69 1.04719755,1.04719755,1.01810873,1.04719755,1.01810873,1.01810873]
70 
71 truncation_params = cms.PSet(rozMin=cms.double(0.07587128),
72  rozMax=cms.double(0.55508006),
73  rozBins=cms.uint32(42),
74  maxTcsPerBin=cms.vuint32(ntcs_120links),
75  phiSectorEdges=cms.vdouble(phi_edges),
76  doTruncation=cms.bool(True)
77  )
78 
79 truncation_paramsSA = cms.PSet(AlgoName=cms.string('HGCalStage1TruncationWrapper'),
80  rozMin=cms.double(0.07587128),
81  rozMax=cms.double(0.55508006),
82  rozBins=cms.uint32(42),
83  maxTcsPerBin=cms.vuint32(ntcs_120links),
84  phiSectorEdges=cms.vdouble(phi_edges),
85  doTruncation=cms.bool(True)
86  )
87 
88 
89 layer1truncation_proc = cms.PSet(ProcessorName = cms.string('HGCalBackendLayer1Processor'),
90  C2d_parameters = dummy_C2d_params.clone(),
91  truncation_parameters = truncation_params.clone()
92  )
93 stage1truncation_proc = cms.PSet(ProcessorName = cms.string('HGCalBackendStage1Processor'),
94  truncation_parameters = truncation_paramsSA.clone()
95  )
96 
97 be_proc = cms.PSet(ProcessorName = cms.string('HGCalBackendLayer1Processor2DClustering'),
98  C2d_parameters = dummy_C2d_params.clone()
99  )
100 
101 l1tHGCalBackEndLayer1Producer = cms.EDProducer(
102  "HGCalBackendLayer1Producer",
103  InputTriggerCells = cms.InputTag('l1tHGCalConcentratorProducer:HGCalConcentratorProcessorSelection'),
104  ProcessorParameters = be_proc.clone()
105  )
106 
107 l1tHGCalBackEndStage1Producer = cms.EDProducer(
108  "HGCalBackendStage1Producer",
109  InputTriggerCells = cms.InputTag('l1tHGCalConcentratorProducer:HGCalConcentratorProcessorSelection'),
110  C2d_parameters = dummy_C2d_params.clone(),
111  ProcessorParameters = stage1truncation_proc.clone()
112  )
113 
114 l1tHGCalBackEndLayer1ProducerHFNose = l1tHGCalBackEndLayer1Producer.clone(
115  InputTriggerCells = 'l1tHGCalConcentratorProducerHFNose:HGCalConcentratorProcessorSelection'
116 )