Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-12-01 23:40:29

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 import SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi as digiparam
0004 import RecoLocalCalo.HGCalRecProducers.HGCalUncalibRecHit_cfi as recoparam
0005 import RecoLocalCalo.HGCalRecProducers.HGCalRecHit_cfi as recocalibparam
0006 from . import hgcalLayersCalibrationCoefficients_cfi as layercalibparam
0007 
0008 from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10
0009 
0010 c2d_calib_pset = cms.PSet(calibSF_cluster=cms.double(1.),
0011                           layerWeights=layercalibparam.TrgLayer_weights,
0012                           applyLayerCalibration=cms.bool(True))
0013 
0014 c2d_thresholds_pset = cms.PSet(seeding_threshold_silicon=cms.double(5.),
0015                                seeding_threshold_scintillator=cms.double(5.),
0016                                clustering_threshold_silicon=cms.double(2.),
0017                                clustering_threshold_scintillator=cms.double(2.))
0018 
0019 # >= V9 samples have a different definition of the dEdx calibrations. To account for it
0020 # we rescale the thresholds for the clustering
0021 # (see https://indico.cern.ch/event/806845/contributions/3359859/attachments/1815187/2966402/19-03-20_EGPerf_HGCBE.pdf
0022 # for more details)
0023 phase2_hgcalV10.toModify(c2d_thresholds_pset,
0024                         seeding_threshold_silicon=3.75,
0025                         seeding_threshold_scintillator=3.75,
0026                         clustering_threshold_silicon=1.5,
0027                         clustering_threshold_scintillator=1.5,
0028                         )
0029 
0030 # we still don't have layer calibrations for >=V9 geometry. Switching this off we
0031 # use the dEdx calibrated energy of the TCs
0032 phase2_hgcalV10.toModify(c2d_calib_pset,
0033                         applyLayerCalibration=False
0034                         )
0035 
0036 
0037 dummy_C2d_params = cms.PSet(c2d_calib_pset,
0038                             clusterType=cms.string('dummyC2d')
0039                             )
0040 
0041 
0042 distance_C2d_params = cms.PSet(c2d_calib_pset,
0043                                c2d_thresholds_pset,
0044                                clusterType=cms.string('dRC2d'),
0045                                dR_cluster=cms.double(6.),
0046                                )
0047 
0048 topological_C2d_params = cms.PSet(c2d_calib_pset,
0049                                   c2d_thresholds_pset,
0050                                   clusterType=cms.string('NNC2d'),
0051                                   )
0052 
0053 constrTopological_C2d_params = cms.PSet(c2d_calib_pset,
0054                                         c2d_thresholds_pset,
0055                                         clusterType=cms.string('dRNNC2d'),
0056                                         dR_cluster=cms.double(6.),
0057                                         )
0058 
0059 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]
0060 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]
0061 
0062 phi_edges = [0.98901991,0.72722052,0.6981317,0.87266463,0.93084227,0.90175345,
0063 0.87266463,0.90175345,0.95993109,0.95993109,0.93084227,0.93084227,
0064 0.95993109,0.98901991,0.95993109,0.95993109,0.95993109,0.98901991,
0065 0.98901991,0.95993109,0.95993109,0.98901991,0.98901991,0.98901991,
0066 0.98901991,0.98901991,1.01810873,0.98901991,0.98901991,0.98901991,
0067 0.98901991,0.98901991,0.98901991,0.98901991,1.04719755,1.04719755,
0068 1.04719755,1.04719755,1.01810873,1.04719755,1.01810873,1.01810873]
0069 
0070 truncation_params = cms.PSet(rozMin=cms.double(0.07587128),
0071         rozMax=cms.double(0.55508006),
0072         rozBins=cms.uint32(42),
0073         maxTcsPerBin=cms.vuint32(ntcs_120links),
0074         phiSectorEdges=cms.vdouble(phi_edges),
0075         doTruncation=cms.bool(True)
0076         )
0077 
0078 truncation_paramsSA = cms.PSet(AlgoName=cms.string('HGCalStage1TruncationWrapper'),
0079         rozMin=cms.double(0.07587128),
0080         rozMax=cms.double(0.55508006),
0081         rozBins=cms.uint32(42),
0082         maxTcsPerBin=cms.vuint32(ntcs_120links),
0083         phiSectorEdges=cms.vdouble(phi_edges),
0084         doTruncation=cms.bool(True)
0085         )
0086 
0087 
0088 layer1truncation_proc = cms.PSet(ProcessorName  = cms.string('HGCalBackendLayer1Processor'),
0089                    C2d_parameters = dummy_C2d_params.clone(),
0090                    truncation_parameters = truncation_params.clone()
0091                    )
0092 stage1truncation_proc = cms.PSet(ProcessorName  = cms.string('HGCalBackendStage1Processor'),
0093                    truncation_parameters = truncation_paramsSA.clone()
0094                    )
0095 
0096 be_proc = cms.PSet(ProcessorName  = cms.string('HGCalBackendLayer1Processor2DClustering'),
0097                    C2d_parameters = dummy_C2d_params.clone()
0098                    )
0099 
0100 l1tHGCalBackEndLayer1Producer = cms.EDProducer(
0101     "HGCalBackendLayer1Producer",
0102     InputTriggerCells = cms.InputTag('l1tHGCalConcentratorProducer:HGCalConcentratorProcessorSelection'),
0103     ProcessorParameters = be_proc.clone()
0104     )
0105 
0106 l1tHGCalBackEndStage1Producer = cms.EDProducer(
0107     "HGCalBackendStage1Producer",
0108     InputTriggerCells = cms.InputTag('l1tHGCalConcentratorProducer:HGCalConcentratorProcessorSelection'),
0109     C2d_parameters = dummy_C2d_params.clone(),
0110     ProcessorParameters = stage1truncation_proc.clone()
0111     )
0112 
0113 l1tHGCalBackEndLayer1ProducerHFNose = l1tHGCalBackEndLayer1Producer.clone(
0114     InputTriggerCells = 'l1tHGCalConcentratorProducerHFNose:HGCalConcentratorProcessorSelection'
0115 )