HGCHFNoseConfig=cms.PSet( isSiFE=cms.bool(False), # adc information adcNbits=hfnoseDigitizer.digiCfg.feCfg.adcNbits, adcSaturation=hfnoseDigitizer.digiCfg.feCfg.adcSaturation_fC, #tdc information tdcNbits=hfnoseDigitizer.digiCfg.feCfg.tdcNbits, tdcSaturation=hfnoseDigitizer.digiCfg.feCfg.tdcSaturation_fC, tdcOnset=hfnoseDigitizer.digiCfg.feCfg.tdcOnset_fC, toaLSB_ns=hfnoseDigitizer.digiCfg.feCfg.toaLSB_ns, fCPerMIP=fCPerMIP_mpv), algo=cms.string("HGCalUncalibRecHitWorkerWeights")) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(HGCalUncalibRecHit.HGCEEConfig, fCPerMIP=fCPerMIP_mean) phase2_hgcalV10.toModify(HGCalUncalibRecHit.HGCHEFConfig, fCPerMIP=fCPerMIP_mean) from Configuration.Eras.Modifier_phase2_hgcalV16_cff import phase2_hgcalV16 phase2_hgcalV16.toModify(HGCalUncalibRecHit.HGCEEConfig, fCPerMIP=fCPerMIP_mean) phase2_hgcalV16.toModify(HGCalUncalibRecHit.HGCHEFConfig, fCPerMIP=fCPerMIP_mean) from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose phase2_hfnose.toModify(HGCalUncalibRecHit.HGCHFNoseConfig, isSiFE=True, fCPerMIP=fCPerMIP_mean)
import FWCore.ParameterSet.Config as cms minEtaCorrection = cms.double(1.4) maxEtaCorrection = cms.double(3.0) hadronCorrections = cms.PSet( value=cms.vdouble(1.24, 1.24, 1.24, 1.23, 1.24, 1.25, 1.29, 1.29)) egammaCorrections = cms.PSet( value=cms.vdouble(1.00, 1.00, 1.01, 1.01, 1.02, 1.03, 1.04, 1.04)) hadronCorrections_hgcalV10 = cms.vdouble(1.28, 1.28, 1.24, 1.19, 1.17, 1.17, 1.17, 1.17) egammaCorrections_hgcalV10 = cms.vdouble(1.00, 1.00, 1.01, 1.01, 1.02, 1.01, 1.01, 1.01) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(hadronCorrections, value=hadronCorrections_hgcalV10) phase2_hgcalV10.toModify(egammaCorrections, value=egammaCorrections_hgcalV10)
cummatbudinxo = cms.FileInPath('Validation/HGCalValidation/data/D28.cumulative.xo'), ### sim input configuration ### label_cp_effic = cms.InputTag("mix","MergedCaloTruth"), label_cp_fake = cms.InputTag("mix","MergedCaloTruth"), simVertices = cms.InputTag("g4SimHits"), #Total number of layers of HGCal that we want to monitor #Could get this also from HGCalImagingAlgo::maxlayer but better to get it from here totallayers_to_monitor = cms.int32(52), #Thicknesses we want to monitor. -1 is for scintillator thicknesses_to_monitor = cms.vint32(120,200,300,-1), # HistoProducerAlgo. Defines the set of plots to be booked and filled histoProducerAlgoBlock = HGVHistoProducerAlgoBlock, ### output configuration dirName = cms.string('HGCAL/HGCalValidator/') ) from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2 premix_stage2.toModify(hgcalValidator, label_cp_effic = "mixData:MergedCaloTruth", label_cp_fake = "mixData:MergedCaloTruth" ) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(hgcalValidator, totallayers_to_monitor = cms.int32(50))
51.444192, 51.444192, 69.513118, 87.582044, 87.582044, 87.582044, 87.582044, 87.582044, 87.214571, 86.888309, 86.929520, 86.929520, 86.929520) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(dEdX, weights=dEdX_weights_v10) # HGCAL rechit producer HGCalRecHit = cms.EDProducer( "HGCalRecHitProducer", HGCEErechitCollection=cms.string('HGCEERecHits'), HGCEEuncalibRecHitCollection=cms.InputTag( 'HGCalUncalibRecHit:HGCEEUncalibRecHits'), HGCHEFrechitCollection=cms.string('HGCHEFRecHits'), HGCHEFuncalibRecHitCollection=cms.InputTag( 'HGCalUncalibRecHit:HGCHEFUncalibRecHits'), HGCHEBrechitCollection=cms.string('HGCHEBRecHits'), HGCHEBuncalibRecHitCollection=cms.InputTag( 'HGCalUncalibRecHit:HGCHEBUncalibRecHits'), # digi constants
c2d_calib_pset = cms.PSet(calibSF_cluster=cms.double(1.), layerWeights=layercalibparam.TrgLayer_weights, applyLayerCalibration=cms.bool(True)) c2d_thresholds_pset = cms.PSet(seeding_threshold_silicon=cms.double(5.), seeding_threshold_scintillator=cms.double(5.), clustering_threshold_silicon=cms.double(2.), clustering_threshold_scintillator=cms.double(2.)) # >= V9 samples have a different definition of the dEdx calibrations. To account for it # we rescale the thresholds for the clustering # (see https://indico.cern.ch/event/806845/contributions/3359859/attachments/1815187/2966402/19-03-20_EGPerf_HGCBE.pdf # for more details) phase2_hgcalV10.toModify(c2d_thresholds_pset, seeding_threshold_silicon=3.75, seeding_threshold_scintillator=3.75, clustering_threshold_silicon=1.5, clustering_threshold_scintillator=1.5, ) # we still don't have layer calibrations for >=V9 geometry. Switching this off we # use the dEdx calibrated energy of the TCs phase2_hgcalV10.toModify(c2d_calib_pset, applyLayerCalibration=False ) dummy_C2d_params = cms.PSet(c2d_calib_pset, clusterType=cms.string('dummyC2d') )
dR_multicluster=cms.double(0.03), dR_multicluster_byLayer_coefficientA=cms.vdouble(), dR_multicluster_byLayer_coefficientB=cms.vdouble(), shape_threshold=cms.double(1.), shape_distance=cms.double(0.015), minPt_multicluster=cms.double(0.5), # minimum pt of the multicluster (GeV) cluster_association=cms.string("NearestNeighbour"), EGIdentification=egamma_identification_histomax.clone(), ) # V9 samples have a different definition of the dEdx calibrations. To account for it # we rescale the thresholds of the clustering seeds # (see https://indico.cern.ch/event/806845/contributions/3359859/attachments/1815187/2966402/19-03-20_EGPerf_HGCBE.pdf # for more details) phase2_hgcalV10.toModify( histoMax_C3d_seeding_params, threshold_histo_multicluster=7.5, # MipT ) histoMaxVariableDR_C3d_params = histoMax_C3d_clustering_params.clone( dR_multicluster=cms.double(0.), dR_multicluster_byLayer_coefficientA=cms.vdouble(dr_layerbylayer), dR_multicluster_byLayer_coefficientB=cms.vdouble([0] * (MAX_LAYERS + 1))) histoSecondaryMax_C3d_params = histoMax_C3d_seeding_params.clone( type_histoalgo=cms.string('HistoSecondaryMaxC3d')) histoMaxXYVariableDR_C3d_params = histoMax_C3d_seeding_params.clone( seeding_space=cms.string("XY"), nBins_X1_histo_multicluster=cms.uint32(192), nBins_X2_histo_multicluster=cms.uint32(192))
emOnly=cms.bool(False), etMin=cms.double(1.0), resol=cms.PSet(etaBins=cms.vdouble(1.900, 2.200, 2.500, 2.800, 2.950), offset=cms.vdouble(2.593, 3.089, 2.879, 2.664, 2.947), scale=cms.vdouble(0.120, 0.098, 0.099, 0.098, 0.124), kind=cms.string('calo')), ) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 from Configuration.Eras.Modifier_phase2_hgcalV11_cff import phase2_hgcalV11 phase2_hgcalV10.toModify( pfClustersFromHGC3DClusters, corrector= "L1Trigger/Phase2L1ParticleFlow/data/hadcorr_HGCal3D_TC_106X.root", resol=cms.PSet(etaBins=cms.vdouble(1.700, 1.900, 2.200, 2.500, 2.800, 2.900), offset=cms.vdouble(-0.819, 0.900, 2.032, 2.841, 2.865, 1.237), scale=cms.vdouble(0.320, 0.225, 0.156, 0.108, 0.119, 0.338), kind=cms.string('calo')), ) phase2_hgcalV11.toModify( pfClustersFromHGC3DClusters, corrector= "L1Trigger/Phase2L1ParticleFlow/data/hadcorr_HGCal3D_TC_110X.root", resol=cms.PSet( etaBins=cms.vdouble(1.700, 1.900, 2.200, 2.500, 2.800, 2.900), offset=cms.vdouble(1.793, 1.827, 2.363, 2.538, 2.812, 2.642), scale=cms.vdouble(0.138, 0.137, 0.124, 0.115, 0.106, 0.121), kind=cms.string('calo'), ),
51.444192, 69.513118, 87.582044, 87.582044, 87.582044, 87.582044, 87.582044, 87.214571, 86.888309, 86.929520, 86.929520, 86.929520) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify( dEdX, weights = dEdX_weights_v10 ) # HGCAL rechit producer HGCalRecHit = cms.EDProducer( "HGCalRecHitProducer", HGCEErechitCollection = cms.string('HGCEERecHits'), HGCEEuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCEEUncalibRecHits'), HGCHEFrechitCollection = cms.string('HGCHEFRecHits'), HGCHEFuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCHEFUncalibRecHits'), HGCHEBrechitCollection = cms.string('HGCHEBRecHits'), HGCHEBuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCHEBUncalibRecHits'), HGCHFNoserechitCollection = cms.string('HGCHFNoseRecHits'), HGCHFNoseuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCHFNoseUncalibRecHits'), # digi constants
resol = cms.PSet( etaBins = cms.vdouble( 0.700, 1.200, 1.600), offset = cms.vdouble( 0.873, 1.081, 1.563), scale = cms.vdouble( 0.011, 0.015, 0.012), kind = cms.string('calo'), ) ) # use phase2_hgcalV10 to customize for 106X L1TDR MC even in the barrel, since there's no other modifier for it from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 from Configuration.Eras.Modifier_phase2_hgcalV11_cff import phase2_hgcalV11 phase2_hgcalV10.toModify(pfClustersFromL1EGClusters, corrector = "", # In this setup, TP's are already calibrated correctly :-) # L1Trigger/Phase2L1ParticleFlow/data/emcorr_barrel_106X.root", resol = cms.PSet( etaBins = cms.vdouble( 0.700, 1.200, 1.600), offset = cms.vdouble( 0.946, 0.948, 1.171), scale = cms.vdouble( 0.011, 0.018, 0.019), kind = cms.string('calo') ) ) phase2_hgcalV11.toModify(pfClustersFromL1EGClusters, corrector = "", # In this setup, TP's are already calibrated correctly :-) # L1Trigger/Phase2L1ParticleFlow/data/emcorr_barrel_110X.root", resol = cms.PSet( etaBins = cms.vdouble( 0.700, 1.200, 1.600), offset = cms.vdouble( 0.838, 0.924, 1.101), scale = cms.vdouble( 0.012, 0.017, 0.018), kind = cms.string('calo') ) )
type_energy_division=cms.string('equalShare'), stcSize=cms.vuint32([4] * (MAX_LAYERS + 1) + [8] * (MAX_LAYERS + 1) * 3), ctcSize=cms.vuint32(CTC_SIZE), fixedDataSizePerHGCROC=cms.bool(True), coarsenTriggerCells=cms.vuint32(0, 0, 0), superTCCompression=superTCCompression_proc.clone(), coarseTCCompression=coarseTCCompression_proc.clone(), superTCCalibration=vfe_proc.clone(), ) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 # V9 samples have a different definition of the dEdx calibrations. To account for it # we rescale the thresholds of the FE selection # (see https://indico.cern.ch/event/806845/contributions/3359859/attachments/1815187/2966402/19-03-20_EGPerf_HGCBE.pdf # for more details) phase2_hgcalV10.toModify( threshold_conc_proc, threshold_silicon=1.35, # MipT threshold_scintillator=1.35, # MipT ) hgcalConcentratorProducer = cms.EDProducer( "HGCalConcentratorProducer", InputTriggerCells=cms.InputTag('hgcalVFEProducer:HGCalVFEProcessorSums'), InputTriggerSums=cms.InputTag('hgcalVFEProducer:HGCalVFEProcessorSums'), ProcessorParameters=threshold_conc_proc.clone()) hgcalConcentratorProducerHFNose = hgcalConcentratorProducer.clone( InputTriggerCells=cms.InputTag('hfnoseVFEProducer:HGCalVFEProcessorSums'), InputTriggerSums=cms.InputTag('hfnoseVFEProducer:HGCalVFEProcessorSums'))
]), ) # Era Modification for HGCal v9: use correct training and WPs phase2_hgcalV9.toModify( egamma_identification_histomax, Inputs=cms.vstring(input_features_histomax['v9_394']), Weights=cms.vstring(bdt_weights_histomax['v9_394']), WorkingPoints=cms.vdouble([ wps[eff] for wps, eff in zip(working_points_histomax['v9_394'], tight_wp) ])) phase2_hgcalV10.toModify( egamma_identification_histomax, Inputs=cms.vstring(input_features_histomax['v10_3151']), Weights=cms.vstring(bdt_weights_histomax['v10_3151']), WorkingPoints=cms.vdouble([ wps[eff] for wps, eff in zip(working_points_histomax['v10_3151'], tight_wp) ])) phase2_hgcalV11.toModify( egamma_identification_histomax, Inputs=cms.vstring(input_features_histomax['v10_3151']), Weights=cms.vstring(bdt_weights_histomax['v10_3151']), WorkingPoints=cms.vdouble([ wps[eff] for wps, eff in zip(working_points_histomax['v10_3151'], tight_wp) ]))
51.444192, 69.513118, 87.582044, 87.582044, 87.582044, 87.582044, 87.582044, 87.214571, 86.888309, 86.929520, 86.929520, 86.929520) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify( dEdX, weights = dEdX_weights_v10 ) # HGCAL rechit producer HGCalRecHit = cms.EDProducer( "HGCalRecHitProducer", HGCEErechitCollection = cms.string('HGCEERecHits'), HGCEEuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCEEUncalibRecHits'), HGCHEFrechitCollection = cms.string('HGCHEFRecHits'), HGCHEFuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCHEFUncalibRecHits'), HGCHEBrechitCollection = cms.string('HGCHEBRecHits'), HGCHEBuncalibRecHitCollection = cms.InputTag('HGCalUncalibRecHit:HGCHEBUncalibRecHits'), # digi constants HGCEE_keV2DIGI = hgceeDigitizer.digiCfg.keV2fC, HGCEE_isSiFE = HGCalUncalibRecHit.HGCEEConfig.isSiFE, HGCEE_fCPerMIP = HGCalUncalibRecHit.HGCEEConfig.fCPerMIP,
histoMax_C3d_params = cms.PSet( type_multicluster=cms.string('Histo'), histoMax_C3d_clustering_parameters = histoMaxVariableDR_C3d_params.clone(), histoMax_C3d_seeding_parameters = histoMax_C3d_seeding_params.clone(), ) energy_interpretations_em = cms.PSet(type = cms.string('HGCalTriggerClusterInterpretationEM'), layer_containment_corrs = cms.vdouble(0., 0., 1.6144949, 0.92495334, 1.0820811, 0.9753549, 0.9742881, 1.0634482, 1.0599478, 0.9376349, 0.92587173, 0.8003076, 1.0417082, 1.7032381, 2.), scale_correction_coeff = cms.vdouble(16.68182373, -8.487143517), dr_bylayer = cms.vdouble([0.015]*15) ) phase2_hgcalV10.toModify(energy_interpretations_em, layer_containment_corrs=cms.vdouble(0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.), scale_correction_coeff=cms.vdouble(0., 0.), ) energy_interpretations = cms.VPSet(energy_interpretations_em) be_proc = cms.PSet(ProcessorName = cms.string('HGCalBackendLayer2Processor3DClustering'), C3d_parameters = histoMax_C3d_params.clone(), energy_interpretations = energy_interpretations ) hgcalBackEndLayer2Producer = cms.EDProducer( "HGCalBackendLayer2Producer", InputCluster = cms.InputTag('hgcalBackEndLayer1Producer:HGCalBackendLayer1Processor2DClustering'), ProcessorParameters = be_proc.clone() )
histoMax_C3d_clustering_parameters=histoMaxVariableDR_C3d_params.clone(), histoMax_C3d_seeding_parameters=histoMax_C3d_seeding_params.clone(), ) energy_interpretations_em = cms.PSet( type=cms.string('HGCalTriggerClusterInterpretationEM'), layer_containment_corrs=cms.vdouble(0., 0.0, 1.38, 0.97, 1.11, 0.92, 1.06, 1.01, 1.06, 0.89, 1.0, 1.06, 0.89, 1.62, 1.83), scale_correction_coeff=cms.vdouble(-27.15, 53.94), dr_bylayer=cms.vdouble([0.015] * 15)) phase2_hgcalV10.toModify( energy_interpretations_em, layer_containment_corrs=cms.vdouble(0., 0.0, 1.73, 0.97, 1.08, 1.1, 1.01, 0.96, 1.18, 0.98, 1.05, 0.99, 0.89, 1.75, 2.0), scale_correction_coeff=cms.vdouble(-27.53, 53.92), ) phase2_hgcalV11.toModify( energy_interpretations_em, layer_containment_corrs=cms.vdouble(0., 0.0, 1.28, 1.09, 1.0, 1.07, 1.09, 1.04, 1.0, 1.09, 1.07, 1.03, 0.93, 1.4, 1.89), scale_correction_coeff=cms.vdouble(-24.96, 52.99), ) energy_interpretations = cms.VPSet(energy_interpretations_em) be_proc = cms.PSet(
cummatbudinxo=cms.FileInPath( 'Validation/HGCalValidation/data/D41.cumulative.xo'), ### sim input configuration ### label_cp_effic=layerClusterCaloParticleAssociation.label_cp, label_cp_fake=cms.InputTag("mix", "MergedCaloTruth"), #simClusters label_scl=layerClusterSimClusterAssociation.label_scl, simVertices=cms.InputTag("g4SimHits"), LayerClustersInputMask=cms.VInputTag(lcInputMask), #Total number of layers of HGCal that we want to monitor #Could get this also from HGCalImagingAlgo::maxlayer but better to get it from here totallayers_to_monitor=cms.int32(52), #Thicknesses we want to monitor. -1 is for scintillator thicknesses_to_monitor=cms.vint32(120, 200, 300, -1), # HistoProducerAlgo. Defines the set of plots to be booked and filled histoProducerAlgoBlock=HGVHistoProducerAlgoBlock, ### output configuration dirName=cms.string('HGCAL/HGCalValidator/')) from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2 premix_stage2.toModify(hgcalValidator, label_cp_fake="mixData:MergedCaloTruth") from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(hgcalValidator, totallayers_to_monitor=cms.int32(50))
hcalDigis=[], hcalDigisBarrel=True, hcalDigisHF=False, hadCorrector=cms.string( "L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel.root"), resol=cms.PSet( etaBins=cms.vdouble(0.700, 1.200, 1.600), offset=cms.vdouble(2.582, 2.191, -0.077), scale=cms.vdouble(0.122, 0.143, 0.465), kind=cms.string('calo'), )) phase2_hgcalV10.toModify( pfClustersFromCombinedCaloHCal, hadCorrector="L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel_106X.root", resol=cms.PSet( etaBins=cms.vdouble(0.700, 1.200, 1.600), offset=cms.vdouble(3.084, 2.715, 0.107), scale=cms.vdouble(0.118, 0.130, 0.442), kind=cms.string('calo'), )) phase2_hgcalV11.toModify( pfClustersFromCombinedCaloHCal, hadCorrector="L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel_110X.root", resol=cms.PSet( etaBins=cms.vdouble(0.700, 1.200, 1.600), offset=cms.vdouble(2.909, 2.864, 0.294), scale=cms.vdouble(0.119, 0.127, 0.442), kind=cms.string('calo'), )) pfTracksFromL1TracksBarrel = pfTracksFromL1Tracks.clone(
_ak4PFJets = ak4PFJets.clone(doAreaFastjet=False) ak4PFL1Calo = _ak4PFJets.clone(src='l1pfCandidates:Calo') ak4PFL1PF = _ak4PFJets.clone(src='l1pfCandidates:PF') ak4PFL1Puppi = _ak4PFJets.clone(src='l1pfCandidates:Puppi') _correctedJets = cms.EDProducer( "L1TCorrectedPFJetProducer", jets=cms.InputTag("_tag_"), correctorFile=cms.string( "L1Trigger/Phase2L1ParticleFlow/data/jecs/jecs.PU200.root"), correctorDir=cms.string("_dir_"), copyDaughters=cms.bool(False)) # Using phase2_hgcalV10 to customize the config for all 106X samples, since there's no other modifier for it from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify( _correctedJets, correctorFile= "L1Trigger/Phase2L1ParticleFlow/data/jecs/jecs.PU200_106X.root") from Configuration.Eras.Modifier_phase2_hgcalV11_cff import phase2_hgcalV11 phase2_hgcalV11.toModify( _correctedJets, correctorFile= "L1Trigger/Phase2L1ParticleFlow/data/jecs/jecs.PU200_110X.root") ak4PFL1CaloCorrected = _correctedJets.clone(jets='ak4PFL1Calo', correctorDir='L1CaloJets') ak4PFL1PFCorrected = _correctedJets.clone(jets='ak4PFL1PF', correctorDir='L1PFJets') ak4PFL1PuppiCorrected = _correctedJets.clone(jets='ak4PFL1Puppi', correctorDir='L1PuppiJets') l1PFJets = cms.Sequence(ak4PFL1Calo + ak4PFL1PF + ak4PFL1Puppi +
adcNbits = hgchefrontDigitizer.digiCfg.feCfg.adcNbits, adcSaturation = hgchefrontDigitizer.digiCfg.feCfg.adcSaturation_fC, #tdc information tdcNbits = hgchefrontDigitizer.digiCfg.feCfg.tdcNbits, tdcSaturation = hgchefrontDigitizer.digiCfg.feCfg.tdcSaturation_fC, tdcOnset = hgchefrontDigitizer.digiCfg.feCfg.tdcOnset_fC, toaLSB_ns = hgchefrontDigitizer.digiCfg.feCfg.toaLSB_ns, fCPerMIP = cms.vdouble(1.25,2.57,3.88) #100um, 200um, 300um ), HGCHEBConfig = cms.PSet( isSiFE = cms.bool(False), adcNbits = hgchebackDigitizer.digiCfg.feCfg.adcNbits, adcSaturation = hgchebackDigitizer.digiCfg.feCfg.adcSaturation_fC, fCPerMIP = cms.vdouble(1.0,1.0,1.0) #dummy values, it's scintillator ), algo = cms.string("HGCalUncalibRecHitWorkerWeights") ) from Configuration.Eras.Modifier_phase2_hgcalV9_cff import phase2_hgcalV9 phase2_hgcalV9.toModify( HGCalUncalibRecHit.HGCEEConfig , fCPerMIP = fCPerMIP_v9 ) phase2_hgcalV9.toModify( HGCalUncalibRecHit.HGCHEFConfig , fCPerMIP = fCPerMIP_v9 ) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify( HGCalUncalibRecHit.HGCEEConfig , fCPerMIP = fCPerMIP_v10 ) phase2_hgcalV10.toModify( HGCalUncalibRecHit.HGCHEFConfig , fCPerMIP = fCPerMIP_v10 )
scaleByDose = cms.bool(False), scaleByDoseAlgo = cms.uint32(0), scaleByDoseFactor = cms.double(1), doseMap = cms.string(""), values = cms.vdouble(0,0,0), #100,200,300 um ) process.HGCAL_noise_heback = cms.PSet( scaleByDose = cms.bool(False), scaleByDoseAlgo = cms.uint32(0), scaleByDoseFactor = cms.double(1), doseMap = cms.string(""), noise_MIP = cms.double(0.) #zero noise ) process.HGCAL_noises = cms.PSet( values = cms.vdouble(0,0,0) ) return process from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 phase2_hgcalV10.toModify(HGCAL_noise_fC, values = [x*fC_per_ele for x in nonAgedNoises_v9]) phase2_hgcalV10.toModify(HGCAL_noises, values = [x for x in nonAgedNoises_v9]) def HFNose_setEndOfLifeNoise(process,byDose=True,byDoseAlgo=0,byDoseFactor=1): """includes all effects from radiation and gain choice""" # byDoseAlgo is used as a collection of bits to toggle: FLUENCE, CCE, NOISE, PULSEPERGAIN, CACHEDOP (from lsb to Msb) process=HGCal_setRealisticNoiseSi(process,byDose=byDose,byDoseAlgo=byDoseAlgo,byDoseMap=doseMapNose,byDoseFactor=byDoseFactor) return process doseMapNose = cms.string("SimCalorimetry/HGCalSimProducers/data/doseParams_3000fb_fluka_HFNose_3.7.20.12_Eta2.4.txt")
"L1Trigger/Phase2L1ParticleFlow/data/emcorr_hgc.root"), preEmId=cms.string(""), resol=cms.PSet( etaBins=cms.vdouble(1.900, 2.200, 2.500, 2.800, 2.950), offset=cms.vdouble(0.566, 0.557, 0.456, 0.470, 0.324), scale=cms.vdouble(0.030, 0.024, 0.024, 0.023, 0.042), kind=cms.string('calo'), )) from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10 from Configuration.Eras.Modifier_phase2_hgcalV11_cff import phase2_hgcalV11 phase2_hgcalV10.toModify( pfClustersFromHGC3DClustersEM, corrector="L1Trigger/Phase2L1ParticleFlow/data/emcorr_hgc_106X.root", resol=cms.PSet(etaBins=cms.vdouble(1.700, 1.900, 2.200, 2.500, 2.800, 2.900), offset=cms.vdouble(2.579, 2.176, 1.678, 0.911, 0.672, -2.292), scale=cms.vdouble(0.048, 0.026, 0.012, 0.016, 0.022, 0.538), kind=cms.string('calo')), ) phase2_hgcalV11.toModify( pfClustersFromHGC3DClustersEM, corrector="L1Trigger/Phase2L1ParticleFlow/data/emcorr_hgc_110X.root", resol=cms.PSet(etaBins=cms.vdouble(1.700, 1.900, 2.200, 2.500, 2.800, 2.900), offset=cms.vdouble(2.581, 2.289, 1.674, 0.927, 0.604, -2.377), scale=cms.vdouble(0.046, 0.025, 0.016, 0.017, 0.023, 0.500), kind=cms.string('calo')), )