# ---------------------------------------------------------------------------
# here we define our custom chain for HGC TPs
from L1Trigger.L1THGCalUtilities.hgcalTriggerChains import HGCalTriggerChains
import L1Trigger.L1THGCalUtilities.vfe as vfe
import L1Trigger.L1THGCalUtilities.concentrator as concentrator
import L1Trigger.L1THGCalUtilities.clustering2d as clustering2d
import L1Trigger.L1THGCalUtilities.clustering3d as clustering3d

chain = HGCalTriggerChains()
chain.register_vfe("VFEfp7", vfe.create_compression)
chain.register_concentrator("tcTh", concentrator.create_threshold)
# chain.register_concentrator("sTC", concentrator.create_supertriggercell)
# chain.register_backend1("dRNNC2d", clustering2d.create_constrainedtopological)
chain.register_backend1("dummyC2d", clustering2d.create_dummy)
chain.register_backend2("histoMaxC3dVR",
                        clustering3d.create_histoMax_variableDr)
# chain.register_backend2("histoMaxC3dVRPhiBins", lambda p, i: clustering3d.create_histoMax_variableDr(p, i, nBins_Phi=108))
# chain.register_backend2("dRC3d", clustering3d.create_distance)
# chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3d')
chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3dVR')
# chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3dVRPhiBins')
# chain.register_chain('VFEfp7', 'sTC', 'dummyC2d', 'histoMaxC3dVR')
# chain.register_chain('VFEfp7', 'tcTh', 'dRNNC2d', 'dRC3d')
# chain.register_chain('Floatingpoint7', 'Threshold', 'Dummy', 'Histothreshold')
# chain.register_chain('Floatingpoint7', 'Bestchoice', 'Dummy', 'Histothreshold')
process = chain.create_sequences(process)

# process.load("L1Trigger.L1THGCalUtilities.caloTruthCells_cff")
# process.caloTruthCellsProducer.triggerCells = cms.InputTag('VFEfp7:HGCalVFEProcessorSums')
# process.caloTruthCellsProducer.makeCellsCollection = True
# process.caloTruth_step = cms.Path(process.caloTruthCells)
Esempio n. 2
0
import L1Trigger.L1THGCalUtilities.customNtuples as ntuple

chains = HGCalTriggerChains()
# Register algorithms
## VFE
chains.register_vfe("Floatingpoint8",
                    lambda p: vfe.create_compression(p, 4, 4, True))
## ECON
chains.register_concentrator("Supertriggercell",
                             concentrator.create_supertriggercell)
chains.register_concentrator("Threshold", concentrator.create_threshold)
## BE1
chains.register_backend1("Ref2d", clustering2d.create_constrainedtopological)
chains.register_backend1("Dummy", clustering2d.create_dummy)
## BE2
chains.register_backend2("Ref3d", clustering3d.create_distance)
chains.register_backend2("Histomax", clustering3d.create_histoMax)
chains.register_backend2(
    "Histomaxvardrth0", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=0.))
chains.register_backend2(
    "Histomaxvardrth10", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=10.))
chains.register_backend2(
    "Histomaxvardrth20", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=20.))
# Register ntuples
# Store gen info only in the reference ntuple
ntuple_list_ref = ['event', 'gen', 'multiclusters']
ntuple_list = ['event', 'multiclusters']
chains.register_ntuple(
Esempio n. 3
0
from L1Trigger.L1THGCalUtilities.hgcalTriggerChains import HGCalTriggerChains
import L1Trigger.L1THGCalUtilities.vfe as vfe
import L1Trigger.L1THGCalUtilities.concentrator as concentrator
import L1Trigger.L1THGCalUtilities.clustering2d as clustering2d
import L1Trigger.L1THGCalUtilities.clustering3d as clustering3d

chain = HGCalTriggerChains()
chain.register_vfe("VFEfp7", vfe.create_compression)
chain.register_concentrator("tcTh", concentrator.create_threshold)
chain.register_concentrator("sTC", concentrator.create_supertriggercell)

chain.register_backend1("dRNNC2d", clustering2d.create_constrainedtopological)
chain.register_backend1("dummyC2d", clustering2d.create_dummy)

chain.register_backend2("histoMaxC3dVR",
                        clustering3d.create_histoMax_variableDr)
chain.register_backend2(
    "histoMaxC3dVRPhiBins",
    lambda p, i: clustering3d.create_histoMax_variableDr(p, i, nBins_Phi=108))

chain.register_backend2("dRC3d", clustering3d.create_distance)

# chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3d')
chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3dVR')
chain.register_chain('VFEfp7', 'tcTh', 'dummyC2d', 'histoMaxC3dVRPhiBins')
chain.register_chain('VFEfp7', 'sTC', 'dummyC2d', 'histoMaxC3dVR')
chain.register_chain('VFEfp7', 'tcTh', 'dRNNC2d', 'dRC3d')

# chain.register_chain('Floatingpoint7', 'Threshold', 'Dummy', 'Histothreshold')
# chain.register_chain('Floatingpoint7', 'Bestchoice', 'Dummy', 'Histothreshold')
process = chain.create_sequences(process)
Esempio n. 4
0
chains.register_concentrator(
    "Supertriggercell4444fixed",
    lambda p, i: concentrator.create_supertriggercell(
        p, i, stcSize=cms.vuint32(4, 8, 8, 8), fixedDataSizePerHGCROC=True))
chains.register_concentrator(
    "Equalshare", lambda p, i: concentrator.create_supertriggercell(
        p,
        i,
        stcSize=cms.vuint32(4, 8, 8, 8),
        fixedDataSizePerHGCROC=True,
        type_energy_division='equalShare'))
chains.register_concentrator("Onebit", concentrator.create_onebitfraction)
## BE1
chains.register_backend1("Dummy", clustering2d.create_dummy)
## BE2
chains.register_backend2("Histomax", clustering3d.create_histoMax_variableDr)
chains.register_backend2(
    "Histomaxshape15", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, shape_threshold=1.5))
### Varies seed threshold
chains.register_backend2(
    "Histomaxth0", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=0.))
chains.register_backend2(
    "Histomaxth0shape15", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=0., shape_threshold=1.5))
chains.register_backend2(
    "Histomaxth20", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=20.))
chains.register_backend2(
    "Histomaxth20shape15", lambda p, i: clustering3d.
import L1Trigger.L1THGCalUtilities.clustering3d as clustering3d
import L1Trigger.L1THGCalUtilities.customNtuples as ntuple


chains = HGCalTriggerChains()
# Register algorithms
## VFE
chains.register_vfe("Floatingpoint8", lambda p : vfe.create_compression(p, 4, 4, True))
## ECON
chains.register_concentrator("Supertriggercell", concentrator.create_supertriggercell)
chains.register_concentrator("Threshold", concentrator.create_threshold)
## BE1
chains.register_backend1("Ref2d", clustering2d.create_constrainedtopological)
chains.register_backend1("Dummy", clustering2d.create_dummy)
## BE2
chains.register_backend2("Ref3d", clustering3d.create_distance)
chains.register_backend2("Histomax", clustering3d.create_histoMax)
chains.register_backend2("Histomaxvardrth0", lambda p,i : clustering3d.create_histoMax_variableDr(p,i,seed_threshold=0.))
chains.register_backend2("Histomaxvardrth10", lambda p,i : clustering3d.create_histoMax_variableDr(p,i,seed_threshold=10.))
chains.register_backend2("Histomaxvardrth20", lambda p,i : clustering3d.create_histoMax_variableDr(p,i,seed_threshold=20.))
# Register ntuples
# Store gen info only in the reference ntuple
ntuple_list_ref = ['event', 'gen', 'multiclusters']
ntuple_list = ['event', 'multiclusters']
chains.register_ntuple("Genclustersntuple", lambda p,i : ntuple.create_ntuple(p,i, ntuple_list_ref))
chains.register_ntuple("Clustersntuple", lambda p,i : ntuple.create_ntuple(p,i, ntuple_list))

# Register trigger chains
## Reference chain
chains.register_chain('Floatingpoint8', "Threshold", 'Ref2d', 'Ref3d', 'Genclustersntuple')
concentrator_algos = ['Supertriggercell', 'Threshold']
import L1Trigger.L1THGCalUtilities.truth_prod as truth_prod
import L1Trigger.L1THGCalUtilities.clustering2d as clustering2d
import L1Trigger.L1THGCalUtilities.clustering3d as clustering3d
import L1Trigger.L1THGCalUtilities.selectors as selectors
import L1Trigger.L1THGCalUtilities.customNtuples as ntuple

chains = HGCalTriggerChains()
# Register algorithms
## VFE
chains.register_vfe("Floatingpoint", vfe.create_vfe)
## TRUTH PRODUCER
chains.register_truth_prod("TruthProd", truth_prod.create_truth_prod)
## BE1
chains.register_backend1("TruthDummy", clustering2d.create_truth_dummy)
## BE2
chains.register_backend2("Histomax", clustering3d.create_histoMax)
# Register selector
chains.register_selector("Genmatch", selectors.create_genmatch)
# Register ntuples
ntuple_list = ['event', 'gen', 'multiclusters']
chains.register_ntuple("Genclustersntuple",
                       lambda p, i: ntuple.create_ntuple(p, i, ntuple_list))

# Register trigger chains
backend_algos = ['Histomax']

chains.register_truth_chain('Floatingpoint', 'TruthProd', '', '', '',
                            'Genclustersntuple')
for be in backend_algos:
    chains.register_truth_chain('Floatingpoint', 'TruthProd', 'TruthDummy', be,
                                'Genmatch', 'Genclustersntuple')
    "Supertriggercell4444Fixed",
    lambda p, i: concentrator.create_supertriggercell(
        p, i, stcSize=cms.vuint32(4, 8, 8, 8), fixedDataSizePerHGCROC=True))
chains.register_concentrator(
    "Equalshare", lambda p, i: concentrator.create_supertriggercell(
        p,
        i,
        stcSize=cms.vuint32(4, 8, 8, 8),
        fixedDataSizePerHGCROC=True,
        type_energy_division='equalShare'))
chains.register_concentrator("Onebit", concentrator.create_onebitfraction)
## BE1
chains.register_backend1("Ref2d", clustering2d.create_constrainedtopological)
chains.register_backend1("Dummy", clustering2d.create_dummy)
## BE2
chains.register_backend2("Ref3d", clustering3d.create_distance)
### Varies seed threshold
chains.register_backend2(
    "Histomaxth0", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=0.))
chains.register_backend2(
    "Histomaxth10", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=10.))
chains.register_backend2(
    "Histomaxth20", lambda p, i: clustering3d.create_histoMax_variableDr(
        p, i, seed_threshold=20.))
### Varies clustering distance
from L1Trigger.L1THGCal.customClustering import dr_layerbylayer
dr_layerbylayer_25 = [dr * 1.25 for dr in dr_layerbylayer]
dr_layerbylayer_50 = [dr * 1.5 for dr in dr_layerbylayer]
dr_layerbylayer_100 = [dr * 2. for dr in dr_layerbylayer]
## ECON
chains.register_concentrator("Threshold",
        concentrator.create_threshold)
chains.register_concentrator('Threshold0',
        lambda p,i :concentrator.create_threshold(p,i,
            threshold_silicon=0.,threshold_scintillator=0.))
chains.register_concentrator('Threshold1',
        lambda p,i :concentrator.create_threshold(p,i,
            threshold_silicon=1.,threshold_scintillator=1.))
chains.register_concentrator("Bestchoice",
        concentrator.create_bestchoice)
## BE1
chains.register_backend1("Dummy",
        clustering2d.create_dummy)
## BE2
chains.register_backend2("Histomax",
        clustering3d.create_histoMaxXY_variableDr)
### Varies clustering distance
from L1Trigger.L1THGCal.customClustering import dr_layerbylayer
dr_layerbylayer_50 = [dr*0.5 for dr in dr_layerbylayer]
dr_layerbylayer_200 = [dr*2. for dr in dr_layerbylayer]
chains.register_backend2("Histomaxdr50",
        lambda p,i : clustering3d.create_histoMaxXY_variableDr(p,i,
    distances=dr_layerbylayer_50))
chains.register_backend2("Histomaxdr200",
        lambda p,i : clustering3d.create_histoMaxXY_variableDr(p,i,
    distances=dr_layerbylayer_200))
# Register selector
chains.register_selector("Genmatch", selectors.create_genmatch)
# Register ntuples
# Store gen info only in the reference ntuple
ntuple_list = ['event', 'gen', 'multiclusters']
import L1Trigger.L1THGCalUtilities.customNtuples as ntuple

chains = HGCalTriggerChains()
# Register algorithms
## VFE
chains.register_vfe("Floatingpoint", vfe.CreateVfe())
## ECON
chains.register_concentrator("Supertriggercell",
                             concentrator.CreateSuperTriggerCell())
chains.register_concentrator("Threshold", concentrator.CreateThreshold())
chains.register_concentrator("Bestchoice", concentrator.CreateBestChoice())
chains.register_concentrator("AutoEncoder", concentrator.CreateAutoencoder())
## BE1
chains.register_backend1("Dummy", clustering2d.CreateDummy())
## BE2
chains.register_backend2("Histomax", clustering3d.CreateHistoMax())
# Register selector
chains.register_selector("Genmatch", selectors.CreateGenMatch())

# Register ntuples
ntuple_list = ['event', 'gen', 'multiclusters']
chains.register_ntuple("Genclustersntuple", ntuple.CreateNtuple(ntuple_list))

# Register trigger chains
concentrator_algos = [
    'Supertriggercell', 'Threshold', 'Bestchoice', 'AutoEncoder'
]
backend_algos = ['Histomax']
## Make cross product fo ECON and BE algos
import itertools
for cc, be in itertools.product(concentrator_algos, backend_algos):
Esempio n. 10
0
chains.register_concentrator("Supertriggercell",
        concentrator.create_supertriggercell)
chains.register_concentrator("Supertriggercell4444fixed",
        lambda p,i : concentrator.create_supertriggercell(p,i,
            stcSize=cms.vuint32(4,8,8,8),fixedDataSizePerHGCROC=True ))
chains.register_concentrator("Equalshare",
        lambda p,i : concentrator.create_supertriggercell(p,i,
            stcSize=cms.vuint32(4,8,8,8),fixedDataSizePerHGCROC=True,type_energy_division='equalShare'))
chains.register_concentrator("Onebit",
        concentrator.create_onebitfraction)
## BE1
chains.register_backend1("Dummy",
        clustering2d.create_dummy)
## BE2
chains.register_backend2("Histomaxbin4",
        lambda p,i : clustering3d.create_histoMaxXY_variableDr(p,i,
        nBins_X1=96,
        nBins_X2=96))
chains.register_backend2("Histomaxbin4shape15",
        lambda p,i : clustering3d.create_histoMaxXY_variableDr(p,i,
        nBins_X1=96,
        nBins_X2=96,
        shape_threshold=1.5))
### Varies clustering distance
from L1Trigger.L1THGCal.customClustering import dr_layerbylayer
dr_layerbylayer_50 = [dr*0.5 for dr in dr_layerbylayer]
dr_layerbylayer_200 = [dr*2. for dr in dr_layerbylayer]
chains.register_backend2("Histomaxbin4dr50",
        lambda p,i : clustering3d.create_histoMaxXY_variableDr(p,i,
        nBins_X1=96,
        nBins_X2=96,
    distances=dr_layerbylayer_50))
import L1Trigger.L1THGCalUtilities.customNtuples as ntuple

chains = HGCalTriggerChains()
# Register algorithms
## VFE
chains.register_vfe("Floatingpoint8",
                    lambda p: vfe.create_compression(p, 4, 4, True))
## ECON
chains.register_concentrator("Threshold", concentrator.create_threshold)
chains.register_concentrator("Supertriggercell",
                             concentrator.create_supertriggercell)
## BE1
chains.register_backend1("Dummy", clustering2d.create_dummy)
## BE2
chains.register_backend2(
    "Histomaxvardr",
    lambda p, i: clustering3d.create_histoMax_variableDr(p, i))
# Register ntuples
# Store gen info only in the reference ntuple
ntuple_list_ref = ['event', 'gen', 'multiclusters']
ntuple_list = ['event', 'multiclusters']
chains.register_ntuple(
    "Genclustersntuple",
    lambda p, i: ntuple.create_ntuple(p, i, ntuple_list_ref))
chains.register_ntuple("Clustersntuple",
                       lambda p, i: ntuple.create_ntuple(p, i, ntuple_list))

# Register trigger chains
concentrator_algos = ['Threshold', 'Supertriggercell']
backend_algos = ['Histomaxvardr']
## Make cross product fo ECON and BE algos