Ejemplo n.º 1
0
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']
backend_algos = ['Histomax', 'Histomaxvardrth0', 'Histomaxvardrth10', 'Histomaxvardrth20']
## Make cross product fo ECON and BE algos
import itertools
for cc,be in itertools.product(concentrator_algos,backend_algos):
    chains.register_chain('Floatingpoint8', cc, 'Dummy', be, 'Clustersntuple')

process = chains.create_sequences(process)

# Remove towers from sequence
Ejemplo n.º 2
0
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']
backend_algos = [
    'Histomax', 'Histomaxvardrth0', 'Histomaxvardrth10', 'Histomaxvardrth20'
]
## Make cross product fo ECON and BE algos
import itertools
for cc, be in itertools.product(concentrator_algos, backend_algos):
    chains.register_chain('Floatingpoint8', cc, 'Dummy', be, 'Clustersntuple')
### 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']
chains.register_ntuple("Genclustersntuple", lambda p,i : ntuple.create_ntuple(p,i, ntuple_list))

# Register trigger chains
concentrator_algos = ['Threshold0', 'Threshold1', 'Threshold', 'Bestchoice']
backend_algos = ['Histomax', 'Histomaxdr50', 'Histomaxdr200']
## Make cross product fo ECON and BE algos
import itertools
for cc,be in itertools.product(concentrator_algos,backend_algos):
    chains.register_chain('Floatingpoint8', cc, 'Dummy', be, 'Genmatch', 'Genclustersntuple')

process = chains.create_sequences(process)

# Remove towers from sequence
process.hgcalTriggerPrimitives.remove(process.hgcalTowerMap)
process.hgcalTriggerPrimitives.remove(process.hgcalTower)