Beispiel #1
0
    offlinePrimaryVertices4DWithBS,
)

_phase2_tktiming_layer_vertexrecoTask = cms.Task(
    _phase2_tktiming_vertexrecoTask.copy(),
    unsortedOfflinePrimaryVertices4DnoPID,
    trackWithVertexRefSelectorBeforeSorting4DnoPID,
    trackRefsForJetsBeforeSorting4DnoPID,
    offlinePrimaryVertices4DnoPID,
    offlinePrimaryVertices4DnoPIDWithBS,
    tofPID,
    tofPID4DnoPID,
)

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(vertexrecoTask, _phase2_tktiming_vertexrecoTask)

from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
phase2_timing_layer.toReplaceWith(vertexrecoTask,
                                  _phase2_tktiming_layer_vertexrecoTask)
phase2_timing_layer.toReplaceWith(
    unsortedOfflinePrimaryVertices4D,
    unsortedOfflinePrimaryVertices4DwithPID.clone())
phase2_timing_layer.toReplaceWith(offlinePrimaryVertices4D,
                                  offlinePrimaryVertices4DwithPID.clone())
phase2_timing_layer.toReplaceWith(
    offlinePrimaryVertices4DWithBS,
    offlinePrimaryVertices4DwithPIDWithBS.clone())
phase2_timing_layer.toModify(offlinePrimaryVertices4D,
                             vertices="unsortedOfflinePrimaryVertices4D",
                             particles="trackRefsForJetsBeforeSorting4D")
Beispiel #2
0
_fastSim_electronSeedsTask = electronSeedsTask.copy()
_fastSim_electronSeedsTask.replace(trackerDrivenElectronSeeds, cms.Task(trackerDrivenElectronSeedsTmp,trackerDrivenElectronSeeds))
fastSim.toReplaceWith(electronSeedsTask, _fastSim_electronSeedsTask)
# replace the ECAL driven electron track candidates with the FastSim emulated ones
import FastSimulation.Tracking.electronCkfTrackCandidates_cff
fastElectronCkfTrackCandidates = FastSimulation.Tracking.electronCkfTrackCandidates_cff.electronCkfTrackCandidates.clone()


from TrackingTools.GsfTracking.CkfElectronCandidateMaker_cff import *
from TrackingTools.GsfTracking.GsfElectronGsfFit_cff import *
electronGsfTrackingTask = cms.Task(electronSeedsTask,electronCkfTrackCandidates,electronGsfTracks)
electronGsfTracking = cms.Sequence(electronGsfTrackingTask)
_electronGsfTrackingTask = electronGsfTrackingTask.copy()
_fastSim_electronGsfTrackingTask = electronGsfTrackingTask.copy()
_fastSim_electronGsfTrackingTask.replace(electronCkfTrackCandidates,fastElectronCkfTrackCandidates)
fastSim.toReplaceWith(electronGsfTrackingTask,_fastSim_electronGsfTrackingTask)

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toReplaceWith(
  electronGsfTrackingTask, _electronGsfTrackingTask
)

from SimTracker.TrackAssociation.trackTimeValueMapProducer_cfi import trackTimeValueMapProducer
gsfTrackTimeValueMapProducer = trackTimeValueMapProducer.clone(trackSrc = 'electronGsfTracks')

electronGsfTrackingWithTimingTask = cms.Task(electronGsfTrackingTask.copy(),gsfTrackTimeValueMapProducer)
electronGsfTrackingWithTiming = cms.Sequence(electronGsfTrackingWithTimingTask)

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(electronGsfTrackingTask, electronGsfTrackingWithTimingTask)
particleFlowCluster = cms.Sequence(
    pfClusteringPS*
    pfClusteringECAL*
    pfClusteringHBHEHF*
    pfClusteringHO 
)

#HGCal

from RecoParticleFlow.PFClusterProducer.particleFlowRecHitHGC_cfi import particleFlowRecHitHGC
pfClusteringHGCal = cms.Sequence(particleFlowRecHitHGC)

_phase2_hgcal_particleFlowCluster = particleFlowCluster.copy()
_phase2_hgcal_particleFlowCluster += pfClusteringHGCal

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toReplaceWith( particleFlowCluster, _phase2_hgcal_particleFlowCluster )

#timing

from RecoParticleFlow.PFClusterProducer.particleFlowClusterTimeAssigner_cfi import particleFlowTimeAssignerECAL
from RecoParticleFlow.PFSimProducer.ecalBarrelClusterFastTimer_cfi import ecalBarrelClusterFastTimer
_phase2_timing_particleFlowClusterECALSequence = cms.Sequence(ecalBarrelClusterFastTimer*
                                                              particleFlowTimeAssignerECAL*
                                                              particleFlowClusterECALSequence.copy())
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(particleFlowClusterECALSequence, 
                                 _phase2_timing_particleFlowClusterECALSequence)
phase2_timing.toModify(particleFlowClusterECAL,
                            inputECAL = cms.InputTag('particleFlowTimeAssignerECAL'))
Beispiel #4
0
    pfClusteringECALTask,
    pfClusteringHBHEHFTask,
    pfClusteringHOTask
)
particleFlowCluster = cms.Sequence(particleFlowClusterTask)

#HGCal

from RecoParticleFlow.PFClusterProducer.particleFlowRecHitHGC_cfi import particleFlowRecHitHGC
pfClusteringHGCal = cms.Sequence(particleFlowRecHitHGC)

_phase2_hgcal_particleFlowCluster = particleFlowCluster.copy()
_phase2_hgcal_particleFlowCluster += pfClusteringHGCal

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toReplaceWith( particleFlowCluster, _phase2_hgcal_particleFlowCluster )

#timing

from RecoParticleFlow.PFClusterProducer.particleFlowClusterTimeAssigner_cfi import particleFlowTimeAssignerECAL
from RecoParticleFlow.PFSimProducer.ecalBarrelClusterFastTimer_cfi import ecalBarrelClusterFastTimer
_phase2_timing_particleFlowClusterECALTask = particleFlowClusterECALTask.copy()
_phase2_timing_particleFlowClusterECALTask.add(cms.Task(ecalBarrelClusterFastTimer,
                                                        particleFlowTimeAssignerECAL))

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(particleFlowClusterECALTask,
                                  _phase2_timing_particleFlowClusterECALTask)
phase2_timing.toModify(particleFlowClusterECAL,
                            inputECAL = cms.InputTag('particleFlowTimeAssignerECAL'))
Beispiel #5
0
    cms.Task(primaryVertexWithBSAssociationCleaned, slimmingTask.copy()))
run2_miniAOD_pp_on_AA_103X.toReplaceWith(
    slimmingTask,
    cms.Task(pfEGammaToCandidateRemapperCleaned, slimmingTask.copy()))

from RecoHI.HiTracking.miniAODVertexRecovery_cff import offlinePrimaryVerticesRecovery, offlineSlimmedPrimaryVerticesRecovery

pp_on_AA.toReplaceWith(
    slimmingTask,
    cms.Task(slimmingTask.copy(), offlinePrimaryVerticesRecovery,
             offlineSlimmedPrimaryVerticesRecovery))

from Configuration.Eras.Modifier_fastSim_cff import fastSim

fastSim.toReplaceWith(
    slimmingTask,
    slimmingTask.copyAndExclude(
        [slimmedDisplacedMuons, slimmedDisplacedMuonTrackExtras]))

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing

_phase2_timing_slimmingTask = cms.Task(slimmingTask.copy(),
                                       offlineSlimmedPrimaryVertices4D)
phase2_timing.toReplaceWith(slimmingTask, _phase2_timing_slimmingTask)

from PhysicsTools.PatAlgos.slimming.patPhotonDRNCorrector_cfi import patPhotonsDRN
from Configuration.ProcessModifiers.photonDRN_cff import _photonDRN

_photonDRN.toReplaceWith(slimmingTask,
                         cms.Task(slimmingTask.copy(), patPhotonsDRN))
Beispiel #6
0
unsortedOfflinePrimaryVertices1D.TkFilterParameters.minPt = cms.double(0.7)
offlinePrimaryVertices1D=sortedPrimaryVertices.clone(vertices="unsortedOfflinePrimaryVertices1D", particles="trackRefsForJetsBeforeSorting")
offlinePrimaryVertices1DWithBS=sortedPrimaryVertices.clone(vertices="unsortedOfflinePrimaryVertices1D:WithBS", particles="trackRefsForJetsBeforeSorting")
DA2DParameters.TkDAClusParameters.verbose = cms.untracked.bool(False)
unsortedOfflinePrimaryVertices4D = unsortedOfflinePrimaryVertices.clone( verbose = cms.untracked.bool(False),
                                                                         TkClusParameters = DA2DParameters )
unsortedOfflinePrimaryVertices4D.TkFilterParameters.minPt = cms.double(0.7)
unsortedOfflinePrimaryVertices4D.TrackTimesLabel = cms.InputTag("trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModel")
unsortedOfflinePrimaryVertices4D.TrackTimeResosLabel = cms.InputTag("trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModelResolution")
offlinePrimaryVertices4D=sortedPrimaryVertices.clone(vertices="unsortedOfflinePrimaryVertices4D", particles="trackRefsForJetsBeforeSorting")
offlinePrimaryVertices4DWithBS=sortedPrimaryVertices.clone(vertices="unsortedOfflinePrimaryVertices4D:WithBS", particles="trackRefsForJetsBeforeSorting")

from SimTracker.TrackerHitAssociation.tpClusterProducer_cfi import tpClusterProducer
from SimTracker.TrackAssociatorProducers.quickTrackAssociatorByHits_cfi import quickTrackAssociatorByHits
from SimTracker.TrackAssociation.trackTimeValueMapProducer_cfi import trackTimeValueMapProducer
_phase2_tktiming_vertexreco = cms.Sequence( vertexreco.copy() *
                                            tpClusterProducer *
                                            quickTrackAssociatorByHits *
                                            trackTimeValueMapProducer *
                                            unsortedOfflinePrimaryVertices1D *
                                            offlinePrimaryVertices1D *
                                            offlinePrimaryVertices1DWithBS *
                                            unsortedOfflinePrimaryVertices4D *
                                            offlinePrimaryVertices4D *
                                            offlinePrimaryVertices4DWithBS 
                                            )

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(vertexreco, _phase2_tktiming_vertexreco)

Beispiel #7
0
    vertices="unsortedOfflinePrimaryVertices1D:WithBS",
    particles="trackRefsForJetsBeforeSorting")
DA2DParameters.TkDAClusParameters.verbose = cms.untracked.bool(False)
unsortedOfflinePrimaryVertices4D = unsortedOfflinePrimaryVertices.clone(
    verbose=cms.untracked.bool(False), TkClusParameters=DA2DParameters)
unsortedOfflinePrimaryVertices4D.TkFilterParameters.minPt = cms.double(0.7)
unsortedOfflinePrimaryVertices4D.TrackTimesLabel = cms.InputTag(
    "trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModel")
unsortedOfflinePrimaryVertices4D.TrackTimeResosLabel = cms.InputTag(
    "trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModelResolution"
)
offlinePrimaryVertices4D = sortedPrimaryVertices.clone(
    vertices="unsortedOfflinePrimaryVertices4D",
    particles="trackRefsForJetsBeforeSorting")
offlinePrimaryVertices4DWithBS = sortedPrimaryVertices.clone(
    vertices="unsortedOfflinePrimaryVertices4D:WithBS",
    particles="trackRefsForJetsBeforeSorting")

from SimTracker.TrackerHitAssociation.tpClusterProducer_cfi import tpClusterProducer
from SimTracker.TrackAssociatorProducers.quickTrackAssociatorByHits_cfi import quickTrackAssociatorByHits
from SimTracker.TrackAssociation.trackTimeValueMapProducer_cfi import trackTimeValueMapProducer
_phase2_tktiming_vertexreco = cms.Sequence(
    vertexreco.copy() * tpClusterProducer * quickTrackAssociatorByHits *
    trackTimeValueMapProducer * unsortedOfflinePrimaryVertices1D *
    offlinePrimaryVertices1D * offlinePrimaryVertices1DWithBS *
    unsortedOfflinePrimaryVertices4D * offlinePrimaryVertices4D *
    offlinePrimaryVertices4DWithBS)

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(vertexreco, _phase2_tktiming_vertexreco)
Beispiel #8
0
    selectedPatTrigger,
    slimmedPatTrigger,
    slimmedCaloJets,
    slimmedJets,
    slimmedJetsAK8,
    slimmedGenJets,
    slimmedGenJetsAK8,
    slimmedElectrons,
    slimmedLowPtElectrons,
    slimmedMuons,
    slimmedPhotons,
    slimmedOOTPhotons,
    slimmedTaus,
    slimmedSecondaryVertices,
    slimmedKshortVertices,
    slimmedLambdaVertices,
    slimmedMETs,
    metFilterPathsTask,
    reducedEgamma,
    bunchSpacingProducer,
    oniaPhotonCandidates
)

from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
pp_on_AA_2018.toReplaceWith(slimmingTask, slimmingTask.copyAndExclude([slimmedOOTPhotons]))

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
_phase2_timing_slimmingTask = cms.Task(slimmingTask.copy(),
                                       offlineSlimmedPrimaryVertices4D)
phase2_timing.toReplaceWith(slimmingTask,_phase2_timing_slimmingTask)
    ecalCompactTrigPrim,
    ecalTPSkim,
    ecalRecHitNoTPTask)

ecalRecHitSequence = cms.Sequence(ecalRecHitTask)

ecalLocalRecoTask = cms.Task(
    ecalUncalibRecHitTask,
    ecalRecHitTask)

ecalLocalRecoSequence = cms.Sequence(ecalLocalRecoTask)

ecalOnlyLocalRecoTask = cms.Task(
    ecalUncalibRecHitTask,
    ecalRecHitNoTPTask)

ecalOnlyLocalRecoSequence = cms.Sequence(ecalOnlyLocalRecoTask)

# Phase 2 modifications
from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import *
_phase2_timing_ecalRecHitTask = cms.Task( ecalRecHitTask.copy() , ecalDetailedTimeRecHit )
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith( ecalRecHitTask, _phase2_timing_ecalRecHitTask )

# FastSim modifications
_fastSim_ecalRecHitTask = ecalRecHitTask.copyAndExclude([ecalCompactTrigPrim,ecalTPSkim])
_fastSim_ecalUncalibRecHitTask = ecalUncalibRecHitTask.copyAndExclude([ecalDetIdToBeRecovered])
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toReplaceWith(ecalRecHitTask, _fastSim_ecalRecHitTask)
fastSim.toReplaceWith(ecalUncalibRecHitTask, _fastSim_ecalUncalibRecHitTask)
Beispiel #10
0
                                            trackWithVertexRefSelectorBeforeSorting4D ,
                                            trackRefsForJetsBeforeSorting4D,
                                            offlinePrimaryVertices4D,
                                            offlinePrimaryVertices4DWithBS,
                                            )

_phase2_tktiming_layer_vertexrecoTask = cms.Task( _phase2_tktiming_vertexrecoTask.copy() ,
                                            unsortedOfflinePrimaryVertices4DnoPID ,
                                            trackWithVertexRefSelectorBeforeSorting4DnoPID ,
                                            trackRefsForJetsBeforeSorting4DnoPID ,
                                            offlinePrimaryVertices4DnoPID ,
                                            offlinePrimaryVertices4DnoPIDWithBS,
                                            tofPID,
                                            unsortedOfflinePrimaryVertices4Dfastsim,
                                            trackWithVertexRefSelectorBeforeSorting4Dfastsim ,
                                            trackRefsForJetsBeforeSorting4Dfastsim ,
                                            offlinePrimaryVertices4Dfastsim,
                                            offlinePrimaryVertices4DfastsimWithBS,
                                            )

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(vertexrecoTask, _phase2_tktiming_vertexrecoTask)

from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
phase2_timing_layer.toReplaceWith(vertexrecoTask, _phase2_tktiming_layer_vertexrecoTask)
phase2_timing_layer.toReplaceWith(unsortedOfflinePrimaryVertices4D, unsortedOfflinePrimaryVertices4DwithPID.clone())
phase2_timing_layer.toReplaceWith(offlinePrimaryVertices4D, offlinePrimaryVertices4DwithPID.clone())
phase2_timing_layer.toReplaceWith(offlinePrimaryVertices4DWithBS, offlinePrimaryVertices4DwithPIDWithBS.clone())
phase2_timing_layer.toModify(offlinePrimaryVertices4D, vertices = "unsortedOfflinePrimaryVertices4D", particles = "trackRefsForJetsBeforeSorting4D")
phase2_timing_layer.toModify(offlinePrimaryVertices4DWithBS, vertices = "unsortedOfflinePrimaryVertices4D:WithBS", particles = "trackRefsForJetsBeforeSorting4D")
from RecoLocalCalo.EcalRecProducers.ecalRecHitTPGConditions_cff import *
#ECAL reconstruction
#from RecoLocalCalo.EcalRecProducers.ecalGlobalUncalibRecHit_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalMultiFitUncalibRecHit_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalRecHit_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalPreshowerRecHit_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalDetIdToBeRecovered_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalCompactTrigPrim_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalTPSkim_cfi import *

from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import *

#ecalUncalibRecHitSequence = cms.Sequence(ecalGlobalUncalibRecHit*
#                                         ecalDetIdToBeRecovered)

ecalUncalibRecHitSequence = cms.Sequence(ecalMultiFitUncalibRecHit*
                                        ecalDetIdToBeRecovered)

ecalRecHitSequence        = cms.Sequence(ecalRecHit*
                                         ecalCompactTrigPrim*
                                         ecalTPSkim+
                                         ecalPreshowerRecHit)

ecalLocalRecoSequence     = cms.Sequence(ecalUncalibRecHitSequence*
                                         ecalRecHitSequence)

from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import *
_phase2_timing_ecalRecHitSequence = cms.Sequence( ecalRecHitSequence.copy() + ecalDetailedTimeRecHit )
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith( ecalRecHitSequence, _phase2_timing_ecalRecHitSequence )
particleFlowCluster = cms.Sequence(
    pfClusteringPS*
    pfClusteringECAL*
    pfClusteringHBHEHF*
    pfClusteringHO 
)

#HGCal

from RecoParticleFlow.PFClusterProducer.particleFlowRecHitHGC_cfi import particleFlowRecHitHGC
pfClusteringHGCal = cms.Sequence(particleFlowRecHitHGC)

_phase2_hgcal_particleFlowCluster = particleFlowCluster.copy()
_phase2_hgcal_particleFlowCluster += pfClusteringHGCal

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toReplaceWith( particleFlowCluster, _phase2_hgcal_particleFlowCluster )

#timing

from RecoParticleFlow.PFClusterProducer.particleFlowClusterTimeAssigner_cfi import particleFlowTimeAssignerECAL
from RecoParticleFlow.PFSimProducer.ecalBarrelClusterFastTimer_cfi import ecalBarrelClusterFastTimer
_phase2_timing_particleFlowClusterECALSequence = cms.Sequence(ecalBarrelClusterFastTimer*
                                                              particleFlowTimeAssignerECAL*
                                                              particleFlowClusterECALSequence.copy())
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(particleFlowClusterECALSequence, 
                                 _phase2_timing_particleFlowClusterECALSequence)
phase2_timing.toModify(particleFlowClusterECAL,
                            inputECAL = cms.InputTag('particleFlowTimeAssignerECAL'))
_fastSim_electronSeedsTask.replace(trackerDrivenElectronSeeds, cms.Task(trackerDrivenElectronSeedsTmp,trackerDrivenElectronSeeds))
fastSim.toReplaceWith(electronSeedsTask, _fastSim_electronSeedsTask)
# replace the ECAL driven electron track candidates with the FastSim emulated ones
import FastSimulation.Tracking.electronCkfTrackCandidates_cff
fastElectronCkfTrackCandidates = FastSimulation.Tracking.electronCkfTrackCandidates_cff.electronCkfTrackCandidates.clone()


from TrackingTools.GsfTracking.CkfElectronCandidateMaker_cff import *
from TrackingTools.GsfTracking.GsfElectronGsfFit_cff import *
electronGsfTrackingTask = cms.Task(electronSeedsTask,electronCkfTrackCandidates,electronGsfTracks)
electronGsfTracking = cms.Sequence(electronGsfTrackingTask)
_electronGsfTrackingTask = electronGsfTrackingTask.copy()
_electronGsfTrackingTask.add(cms.Task(electronCkfTrackCandidatesFromMultiCl,electronGsfTracksFromMultiCl))
_fastSim_electronGsfTrackingTask = electronGsfTrackingTask.copy()
_fastSim_electronGsfTrackingTask.replace(electronCkfTrackCandidates,fastElectronCkfTrackCandidates)
fastSim.toReplaceWith(electronGsfTrackingTask,_fastSim_electronGsfTrackingTask)

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toReplaceWith(
  electronGsfTrackingTask, _electronGsfTrackingTask
)

from SimTracker.TrackAssociation.trackTimeValueMapProducer_cfi import trackTimeValueMapProducer
gsfTrackTimeValueMapProducer = trackTimeValueMapProducer.clone(trackSrc = cms.InputTag('electronGsfTracks'))

electronGsfTrackingWithTimingTask = cms.Task(electronGsfTrackingTask.copy(),gsfTrackTimeValueMapProducer)
electronGsfTrackingWithTiming = cms.Sequence(electronGsfTrackingWithTimingTask)

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith(electronGsfTrackingTask, electronGsfTrackingWithTimingTask)
from RecoLocalCalo.EcalRecProducers.ecalDetIdToBeRecovered_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalCompactTrigPrim_cfi import *
from RecoLocalCalo.EcalRecProducers.ecalTPSkim_cfi import *

from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import *

#ecalUncalibRecHitSequence = cms.Sequence(ecalGlobalUncalibRecHit*
#                                         ecalDetIdToBeRecovered)

ecalUncalibRecHitSequence = cms.Sequence(ecalMultiFitUncalibRecHit*
                                        ecalDetIdToBeRecovered)

ecalRecHitSequence        = cms.Sequence(ecalRecHit*
                                         ecalCompactTrigPrim*
                                         ecalTPSkim+
                                         ecalPreshowerRecHit)

ecalLocalRecoSequence     = cms.Sequence(ecalUncalibRecHitSequence*
                                         ecalRecHitSequence)

from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import *
_phase2_timing_ecalRecHitSequence = cms.Sequence( ecalRecHitSequence.copy() + ecalDetailedTimeRecHit )
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toReplaceWith( ecalRecHitSequence, _phase2_timing_ecalRecHitSequence )

_fastSim_ecalRecHitSequence = ecalRecHitSequence.copyAndExclude([ecalCompactTrigPrim,ecalTPSkim])
_fastSim_ecalUncalibRecHitSequence = ecalUncalibRecHitSequence.copyAndExclude([ecalDetIdToBeRecovered])
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toReplaceWith(ecalRecHitSequence, _fastSim_ecalRecHitSequence)
fastSim.toReplaceWith(ecalUncalibRecHitSequence, _fastSim_ecalUncalibRecHitSequence)