Пример #1
0
def TICL_iterations_withReco(process):
    process.FEVTDEBUGHLTEventContent.outputCommands.extend([
        'keep *_multiClustersFromTracksters*_*_*',
        'keep *_ticlCandidateFromTrackstersProducer*_*_*',
        'keep *_pfTICLProducer*_*_*'
    ])

    process.ticlLayerTileProducer = ticlLayerTileProducer.clone()

    process.ticlSeedingTrk = ticlSeedingRegionProducer.clone(algoId=1)

    process.filteredLayerClustersTrk = filteredLayerClustersProducer.clone(
        clusterFilter="ClusterFilterByAlgo",
        algo_number=8,
        iteration_label="Trk")

    process.trackstersTrk = trackstersProducer.clone(
        filtered_mask="filteredLayerClustersTrk:Trk",
        seeding_regions="ticlSeedingTrk",
        missing_layers=3,
        min_clusters_per_ntuplet=5,
        min_cos_theta=
        0.99,  # ~10 degrees                                              
        min_cos_pointing=0.9)

    process.multiClustersFromTrackstersTrk = multiClustersFromTrackstersProducer.clone(
        label="TrkMultiClustersFromTracksterByCA", Tracksters="trackstersTrk")

    process.ticlSeedingGlobal = ticlSeedingRegionProducer.clone(algoId=2)

    process.filteredLayerClustersMIP = filteredLayerClustersProducer.clone(
        clusterFilter="ClusterFilterBySize",
        algo_number=8,
        max_cluster_size=2,  # inclusive
        iteration_label="MIP")

    process.trackstersMIP = trackstersProducer.clone(
        filtered_mask="filteredLayerClustersMIP:MIP",
        seeding_regions="ticlSeedingGlobal",
        missing_layers=3,
        min_clusters_per_ntuplet=15,
        min_cos_theta=0.99,  # ~10 degrees
        min_cos_pointing=0.9,
        out_in_dfs=False,
    )

    process.multiClustersFromTrackstersMIP = multiClustersFromTrackstersProducer.clone(
        label="MIPMultiClustersFromTracksterByCA", Tracksters="trackstersMIP")

    process.filteredLayerClusters = filteredLayerClustersProducer.clone(
        clusterFilter="ClusterFilterByAlgoAndSize",
        min_cluster_size=2,
        algo_number=8,
        iteration_label="algo8",
        LayerClustersInputMask="trackstersMIP")

    process.trackstersEM = trackstersProducer.clone(
        max_out_in_hops=4,
        original_mask="trackstersMIP",
        filtered_mask="filteredLayerClusters:algo8",
        seeding_regions="ticlSeedingGlobal",
        missing_layers=1,
        min_clusters_per_ntuplet=10,
        min_cos_theta=0.984,  # ~10 degrees
        min_cos_pointing=0.9  # ~26 degrees
    )

    process.multiClustersFromTrackstersEM = multiClustersFromTrackstersProducer.clone(
        Tracksters="trackstersEM")

    process.trackstersHAD = trackstersProducer.clone(
        filtered_mask="filteredLayerClusters:algo8",
        seeding_regions="ticlSeedingGlobal",
        missing_layers=2,
        min_clusters_per_ntuplet=10,
        min_cos_theta=0.8,
        min_cos_pointing=0.7)

    process.multiClustersFromTrackstersHAD = multiClustersFromTrackstersProducer.clone(
        Tracksters="trackstersHAD")

    process.ticlCandidateFromTrackstersProducer = ticlCandidateFromTrackstersProducer.clone(
    )

    process.pfTICLProducer = pfTICLProducer.clone()

    process.hgcalMultiClusters = hgcalMultiClusters
    process.TICL_Task = cms.Task(
        process.ticlLayerTileProducer, process.ticlSeedingTrk,
        process.filteredLayerClustersTrk, process.trackstersTrk,
        process.multiClustersFromTrackstersTrk, process.ticlSeedingGlobal,
        process.filteredLayerClustersMIP, process.trackstersMIP,
        process.multiClustersFromTrackstersMIP, process.filteredLayerClusters,
        process.trackstersEM, process.multiClustersFromTrackstersEM,
        process.trackstersHAD, process.multiClustersFromTrackstersHAD,
        process.ticlCandidateFromTrackstersProducer, process.pfTICLProducer)

    process.schedule.associate(process.TICL_Task)

    process.ticlPFValidation = ticlPFValidation
    process.hgcalValidation.insert(-1, process.ticlPFValidation)

    if getattr(process, 'hgcalValidator'):
        process.hgcalValidator.label_lcl = "hgcalLayerClusters"
        process.hgcalValidator.label_mcl = [
            "multiClustersFromTrackstersEM:MultiClustersFromTracksterByCA",
            "multiClustersFromTrackstersHAD:MultiClustersFromTracksterByCA"
        ]
        process.hgcalValidator.domulticlustersPlots = True

    return process
Пример #2
0
from RecoHGCal.TICL.TrkEMStep_cff import *
from RecoHGCal.TICL.TrkStep_cff import *
from RecoHGCal.TICL.EMStep_cff import *
from RecoHGCal.TICL.HADStep_cff import *
from RecoHGCal.TICL.ticlLayerTileProducer_cfi import ticlLayerTileProducer
from RecoHGCal.TICL.pfTICLProducer_cfi import pfTICLProducer as _pfTICLProducer
from RecoHGCal.TICL.trackstersMergeProducer_cfi import trackstersMergeProducer as _trackstersMergeProducer
from RecoHGCal.TICL.multiClustersFromTrackstersProducer_cfi import multiClustersFromTrackstersProducer as _multiClustersFromTrackstersProducer

ticlLayerTileTask = cms.Task(ticlLayerTileProducer)

ticlTrackstersMerge = _trackstersMergeProducer.clone()
ticlMultiClustersFromTrackstersMerge = _multiClustersFromTrackstersProducer.clone(
    Tracksters="ticlTrackstersMerge")
ticlTracksterMergeTask = cms.Task(ticlTrackstersMerge,
                                  ticlMultiClustersFromTrackstersMerge)

pfTICL = _pfTICLProducer.clone()
ticlPFTask = cms.Task(pfTICL)

iterTICLTask = cms.Task(ticlLayerTileTask, ticlTrkEMStepTask, ticlEMStepTask,
                        ticlTrkStepTask, ticlHADStepTask,
                        ticlTracksterMergeTask, ticlPFTask)

ticlLayerTileHFNose = ticlLayerTileProducer.clone(detector='HFNose')

ticlLayerTileHFNoseTask = cms.Task(ticlLayerTileHFNose)

iterHFNoseTICLTask = cms.Task(ticlLayerTileHFNoseTask, ticlHFNoseMIPStepTask,
                              ticlHFNoseEMStepTask)