Esempio n. 1
0
    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)
Esempio n. 3
0
    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))
Esempio n. 4
0
    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'),
    ),
Esempio n. 8
0
                               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'))
Esempio n. 11
0
    ]),
)

# 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)
    ]))
Esempio n. 12
0
                               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(
Esempio n. 15
0
    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))
Esempio n. 16
0
    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(
Esempio n. 17
0
_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 +
Esempio n. 18
0
        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 )



Esempio n. 19
0
        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')),
)