Esempio n. 1
0
def TICL_iterations(process):
  process.FEVTDEBUGHLTEventContent.outputCommands.extend(['keep *_MultiClustersFromTracksters*_*_*'])

  process.TICLLayerTileProducer = ticlLayerTileProducer.clone()

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

  process.TrackstersMIP = trackstersProducer.clone(
      filtered_mask = cms.InputTag("FilteredLayerClustersMIP", "MIP"),
      missing_layers = 3,
      min_clusters_per_ntuplet = 15,
      min_cos_theta = 0.985 # ~10 degrees
  )

  process.MultiClustersFromTrackstersMIP = multiClustersFromTrackstersProducer.clone(
      label = "MIPMultiClustersFromTracksterByCA",
      Tracksters = "TrackstersMIP"
  )

  process.FilteredLayerClusters = filteredLayerClustersProducer.clone(
      algo_number = 8,
      iteration_label = "algo8"
  )

  process.Tracksters = trackstersProducer.clone(
      original_mask = "TrackstersMIP",
      filtered_mask = cms.InputTag("FilteredLayerClusters", "algo8"),
      missing_layers = 2,
      min_clusters_per_ntuplet = 15,
      min_cos_theta = 0.94, # ~20 degrees
      min_cos_pointing = 0.7
  )

  process.MultiClustersFromTracksters = multiClustersFromTrackstersProducer.clone(
      Tracksters = "Tracksters"
  )

  process.HGCalUncalibRecHit = HGCalUncalibRecHit
  process.HGCalRecHit = HGCalRecHit
  process.hgcalLayerClusters = hgcalLayerClusters
  process.hgcalMultiClusters = hgcalMultiClusters
  process.TICL_Task = cms.Task(process.HGCalUncalibRecHit,
      process.HGCalRecHit,
      process.hgcalLayerClusters,
      process.FilteredLayerClustersMIP,
      process.TICLLayerTileProducer,
      process.TrackstersMIP,
      process.MultiClustersFromTrackstersMIP,
      process.FilteredLayerClusters,
      process.Tracksters,
      process.MultiClustersFromTracksters,
      process.hgcalMultiClusters)
  process.schedule = cms.Schedule(process.raw2digi_step,process.FEVTDEBUGHLToutput_step)
  process.schedule.associate(process.TICL_Task)
  return process
Esempio n. 2
0
def TICL_iterations(process):
  process.FEVTDEBUGHLTEventContent.outputCommands.extend(['keep *_MultiClustersFromTracksters*_*_*'])

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

  process.TrackstersMIP = trackstersProducer.clone(
      filtered_mask = cms.InputTag("FilteredLayerClustersMIP", "MIP"),
      missing_layers = 3,
      min_clusters_per_ntuplet = 15,
      min_cos_theta = 0.985 # ~10 degrees
  )

  process.MultiClustersFromTrackstersMIP = multiClustersFromTrackstersProducer.clone(
      label = "MIPMultiClustersFromTracksterByCA",
      Tracksters = "TrackstersMIP"
  )

  process.FilteredLayerClusters = filteredLayerClustersProducer.clone(
      algo_number = 8,
      iteration_label = "algo8"
  )

  process.Tracksters = trackstersProducer.clone(
      original_mask = "TrackstersMIP",
      filtered_mask = cms.InputTag("FilteredLayerClusters", "algo8"),
      missing_layers = 2,
      min_clusters_per_ntuplet = 15,
      min_cos_theta = 0.94, # ~20 degrees
      min_cos_pointing = 0.7
  )

  process.MultiClustersFromTracksters = multiClustersFromTrackstersProducer.clone(
      Tracksters = "Tracksters"
  )

  process.HGCalUncalibRecHit = HGCalUncalibRecHit
  process.HGCalRecHit = HGCalRecHit
  process.hgcalLayerClusters = hgcalLayerClusters
  process.hgcalMultiClusters = hgcalMultiClusters
  process.TICL_Task = cms.Task(process.HGCalUncalibRecHit,
      process.HGCalRecHit,
      process.hgcalLayerClusters,
      process.FilteredLayerClustersMIP,
      process.TrackstersMIP,
      process.MultiClustersFromTrackstersMIP,
      process.FilteredLayerClusters,
      process.Tracksters,
      process.MultiClustersFromTracksters,
      process.hgcalMultiClusters)
  process.schedule = cms.Schedule(process.raw2digi_step,process.FEVTDEBUGHLToutput_step)
  process.schedule.associate(process.TICL_Task)
  return process
Esempio n. 3
0
    clusterFilter="ClusterFilterByAlgoAndSize",
    min_cluster_size=3,  # inclusive
    algo_number=8,
    iteration_label="HAD",
    LayerClustersInputMask="ticlTrackstersTrk")

# CA - PATTERN RECOGNITION

ticlTrackstersHAD = _trackstersProducer.clone(
    filtered_mask="filteredLayerClustersHAD:HAD",
    original_mask='ticlTrackstersTrk',
    seeding_regions="ticlSeedingGlobal",
    # For the moment we mask everything w/o requirements since we are last
    #    filter_on_categories = [5], # filter neutral hadrons
    #    pid_threshold = 0.7,
    skip_layers=1,
    min_layers_per_trackster=12,
    min_cos_theta=0.866,  # ~30 degrees
    min_cos_pointing=0.819,  # ~35 degrees
    max_delta_time=-1,
    itername="HADRONIC")

# MULTICLUSTERS

ticlMultiClustersFromTrackstersHAD = _multiClustersFromTrackstersProducer.clone(
    Tracksters="ticlTrackstersHAD")

ticlHADStepTask = cms.Task(ticlSeedingGlobal, filteredLayerClustersHAD,
                           ticlTrackstersHAD,
                           ticlMultiClustersFromTrackstersHAD)
Esempio n. 4
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
Esempio n. 5
0
import FWCore.ParameterSet.Config as cms

from RecoHGCal.TICL.MIPStep_cff import *
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,
Esempio n. 6
0
def TICL_iterations_withReco(process):
  process.FEVTDEBUGHLTEventContent.outputCommands.extend(['keep *_multiClustersFromTracksters*_*_*'])

  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 = cms.InputTag("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 = cms.InputTag("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(
      original_mask = "trackstersMIP",
      filtered_mask = cms.InputTag("filteredLayerClusters", "algo8"),
      seeding_regions = "ticlSeedingGlobal",
      missing_layers = 2,
      min_clusters_per_ntuplet = 10,
      min_cos_theta = 0.94, # ~20 degrees
      min_cos_pointing = 0.7
  )

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


  process.trackstersHAD = trackstersProducer.clone(
      filtered_mask = cms.InputTag("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.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.schedule.associate(process.TICL_Task)
  return process
Esempio n. 7
0
def TICL_iterations(process):
  process.FEVTDEBUGHLTEventContent.outputCommands.extend(['keep *_multiClustersFromTracksters*_*_*'])

  process.ticlLayerTileProducer = ticlLayerTileProducer.clone()

  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",
      skip_layers = 3,
      min_layers_per_trackster = 15,
      min_cos_theta = 0.99, # ~10 degrees
  )

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

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

  process.tracksters = trackstersProducer.clone(
      original_mask = "trackstersMIP",
      filtered_mask = "filteredLayerClusters:algo8",
      seeding_regions = "ticlSeedingGlobal",
      skip_layers = 2,
      min_layers_per_trackster = 15,
      min_cos_theta = 0.94, # ~20 degrees
      min_cos_pointing = 0.7
  )

  process.multiClustersFromTracksters = multiClustersFromTrackstersProducer.clone(
      Tracksters = "tracksters"
  )

  process.HGCalUncalibRecHit = HGCalUncalibRecHit
  process.HGCalRecHit = HGCalRecHit
  process.hgcalLayerClusters = hgcalLayerClusters
  process.hgcalMultiClusters = hgcalMultiClusters
  process.TICL_Task = cms.Task(process.HGCalUncalibRecHit,
      process.HGCalRecHit,
      process.hgcalLayerClusters,
      process.filteredLayerClustersMIP,
      process.ticlLayerTileProducer,
      process.ticlSeedingGlobal,
      process.trackstersMIP,
      process.multiClustersFromTrackstersMIP,
      process.filteredLayerClusters,
      process.tracksters,
      process.multiClustersFromTracksters,
      process.hgcalMultiClusters)
  process.schedule = cms.Schedule(process.raw2digi_step,process.FEVTDEBUGHLToutput_step)
  process.schedule.associate(process.TICL_Task)
  return process
Esempio n. 8
0
    algo_number=8,
    LayerClustersInputMask='ticlTrackstersEM',
    iteration_label="Trk")

# CA - PATTERN RECOGNITION

ticlTrackstersTrk = _trackstersProducer.clone(
    filtered_mask="filteredLayerClustersTrk:Trk",
    seeding_regions="ticlSeedingTrk",
    original_mask='ticlTrackstersEM',
    filter_on_categories=[2, 4],  # filter muons and charged hadrons
    pid_threshold=0.0,
    skip_layers=3,
    min_layers_per_trackster=10,
    min_cos_theta=0.866,  # ~30 degrees
    min_cos_pointing=0.798,  # ~ 37 degrees
    max_delta_time=-1.,
    algo_verbosity=2,
    oneTracksterPerTrackSeed=True,
    promoteEmptyRegionToTrackster=True,
    itername="TRK")

# MULTICLUSTERS

ticlMultiClustersFromTrackstersTrk = _multiClustersFromTrackstersProducer.clone(
    Tracksters="ticlTrackstersTrk")

ticlTrkStepTask = cms.Task(ticlSeedingTrk, filteredLayerClustersTrk,
                           ticlTrackstersTrk,
                           ticlMultiClustersFromTrackstersTrk)
Esempio n. 9
0
# CA - PATTERN RECOGNITION

ticlTrackstersMIP = _trackstersProducer.clone(
    filtered_mask="filteredLayerClustersMIP:MIP",
    seeding_regions="ticlSeedingGlobal",
    missing_layers=3,
    min_clusters_per_ntuplet=10,
    min_cos_theta=0.99,  # ~10 degrees
    min_cos_pointing=0.5,
    out_in_dfs=False,
    itername="MIP",
    max_delta_time=-1)

# MULTICLUSTERS

ticlMultiClustersFromTrackstersMIP = _multiClustersFromTrackstersProducer.clone(
    Tracksters="ticlTrackstersMIP")

ticlMIPStepTask = cms.Task(ticlSeedingGlobal, filteredLayerClustersMIP,
                           ticlTrackstersMIP,
                           ticlMultiClustersFromTrackstersMIP)

filteredLayerClustersHFNoseMIP = filteredLayerClustersMIP.clone(
    LayerClusters='hgcalLayerClustersHFNose',
    LayerClustersInputMask="hgcalLayerClustersHFNose:InitialLayerClustersMask",
    iteration_label="MIPn",
    algo_number=9)

ticlTrackstersHFNoseMIP = ticlTrackstersMIP.clone(
    detector="HFNose",
    layer_clusters="hgcalLayerClustersHFNose",
    layer_clusters_hfnose_tiles="ticlLayerTileHFNose",
Esempio n. 10
0
import FWCore.ParameterSet.Config as cms

from RecoHGCal.TICL.trackstersFromSimClustersProducer_cfi import trackstersFromSimClustersProducer as _trackstersFromSimClustersProducer
from RecoHGCal.TICL.multiClustersFromTrackstersProducer_cfi import multiClustersFromTrackstersProducer as _multiClustersFromTrackstersProducer
from RecoHGCal.TICL.filteredLayerClustersProducer_cfi import filteredLayerClustersProducer as _filteredLayerClustersProducer

# CA - PATTERN RECOGNITION

filteredLayerClustersSimTracksters = _filteredLayerClustersProducer.clone(
    clusterFilter="ClusterFilterByAlgoAndSize",
    algo_number=8,
    min_cluster_size=0,  # inclusive
    iteration_label="ticlSimTracksters")

ticlSimTracksters = _trackstersFromSimClustersProducer.clone()

from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(ticlSimTracksters,
                       simclusters="mixData:MergedCaloTruth")

ticlMultiClustersFromSimTracksters = _multiClustersFromTrackstersProducer.clone(
    Tracksters="ticlSimTracksters")

ticlSimTrackstersTask = cms.Task(filteredLayerClustersSimTracksters,
                                 ticlSimTracksters,
                                 ticlMultiClustersFromSimTracksters)