Beispiel #1
0
def custom_hgcroc_oot(
        process,
        oot_coefficients=vfe_proc.linearizationCfg_si.oot_coefficients):
    parameters = vfe_proc.clone(
        linearizationCfg_si=vfe_proc.linearizationCfg_si.clone(
            oot_coefficients=oot_coefficients),
        linearizationCfg_sc=vfe_proc.linearizationCfg_sc.clone(
            oot_coefficients=oot_coefficients),
    )
    process.hgcalVFEProducer.ProcessorParameters = parameters
    return process
Beispiel #2
0
 def __init__(
     self,
     linearization_si=vfe_proc.linearizationCfg_si,
     linearization_sc=vfe_proc.linearizationCfg_sc,
     compression_ldm=vfe_proc.compressionCfg_ldm,
     compression_hdm=vfe_proc.compressionCfg_hdm,
 ):
     self.processor = vfe_proc.clone(
         linearizationCfg_si=linearization_si,
         linearizationCfg_sc=linearization_sc,
         compressionCfg_ldm=compression_ldm,
         compressionCfg_hdm=compression_hdm,
     )
Beispiel #3
0
def create_compression(process,
       exponent=vfe_proc.exponentBits,
       mantissa=vfe_proc.mantissaBits,
       rounding=vfe_proc.rounding,
       oot_coefficients=vfe_proc.oot_coefficients
        ):
    producer = process.hgcalVFEProducer.clone(
        ProcessorParameters = vfe_proc.clone(
            exponentBits = exponent,
            mantissaBits = mantissa,
            rounding = rounding,
            oot_coefficients = oot_coefficients
        )
    )
    return producer
Beispiel #4
0
def create_vfe(
    process,
    linearization_si=vfe_proc.linearizationCfg_si,
    linearization_sc=vfe_proc.linearizationCfg_sc,
    compression_ldm=vfe_proc.compressionCfg_ldm,
    compression_hdm=vfe_proc.compressionCfg_hdm,
):
    producer = process.hgcalVFEProducer.clone(
        ProcessorParameters=vfe_proc.clone(
            linearizationCfg_si=linearization_sc,
            linearizationCfg_sc=linearization_sc,
            compressionCfg_ldm=compression_ldm,
            compressionCfg_hdm=compression_hdm,
        ))
    return producer
Beispiel #5
0
def custom_hgcroc_compression(
    process,
    exponentBits=vfe_proc.compressionCfg_ldm.exponentBits,
    mantissaBits=vfe_proc.compressionCfg_ldm.mantissaBits,
    rounding=vfe_proc.compressionCfg_ldm.rounding,
    truncationBits_ldm=vfe_proc.compressionCfg_ldm.truncationBits,
    truncationBits_hdm=vfe_proc.compressionCfg_hdm.truncationBits,
):
    parameters = vfe_proc.clone(
        compressionCfg_ldm=vfe_proc.compressionCfg_ldm.clone(
            exponentBits=exponentBits,
            mantissaBits=mantissaBits,
            truncationBits=truncationBits_ldm,
            rounding=rounding,
        ),
        compressionCfg_hdm=vfe_proc.compressionCfg_hdm.clone(
            exponentBits=exponentBits,
            mantissaBits=mantissaBits,
            truncationBits=truncationBits_hdm,
            rounding=rounding,
        ),
    )
    process.hgcalVFEProducer.ProcessorParameters = parameters
    return process
                                   rounding = cms.bool(True),
)

coarseTCCompression_proc = cms.PSet(exponentBits = cms.uint32(4),
                                    mantissaBits = cms.uint32(3),
                                   rounding = cms.bool(True),
)

from L1Trigger.L1THGCal.hgcalVFEProducer_cfi import vfe_proc
best_conc_proc = cms.PSet(ProcessorName  = cms.string('HGCalConcentratorProcessorSelection'),
                          Method = cms.vstring(['bestChoiceSelect']*3),
                          NData = cms.vuint32(bestchoice_ndata_centralized),
                          coarsenTriggerCells = cms.vuint32(0,0,0),
                          fixedDataSizePerHGCROC = cms.bool(False),
                          coarseTCCompression = coarseTCCompression_proc.clone(),
                          superTCCalibration = vfe_proc.clone(),
                          ctcSize = cms.vuint32(CTC_SIZE),
                          )

supertc_conc_proc = cms.PSet(ProcessorName  = cms.string('HGCalConcentratorProcessorSelection'),
                             Method = cms.vstring(['superTriggerCellSelect']*3),
                             type_energy_division = cms.string('superTriggerCell'),# superTriggerCell,oneBitFraction,equalShare
                             stcSize = cms.vuint32(STC_SIZE),
                             ctcSize = cms.vuint32(CTC_SIZE),
                             fixedDataSizePerHGCROC = cms.bool(False),
                             coarsenTriggerCells = cms.vuint32(0,0,0),
                             superTCCompression = superTCCompression_proc.clone(),
                             coarseTCCompression = coarseTCCompression_proc.clone(),
                             superTCCalibration = vfe_proc.clone(),
                             )
Beispiel #7
0
def custom_hgcroc_oot(process,
                      oot_coefficients=vfe_proc.oot_coefficients
                      ):
    parameters = vfe_proc.clone(oot_coefficients = oot_coefficients)
    process.hgcalVFEProducer.ProcessorParameters = parameters
    return process