Skip to content

Commit

Permalink
Reconstruction_cff
Browse files Browse the repository at this point in the history
  • Loading branch information
jeongeun committed Dec 22, 2019
1 parent 8632407 commit a36e56e
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 106 deletions.
200 changes: 106 additions & 94 deletions Configuration/StandardSequences/python/Reconstruction_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,42 +59,44 @@
from RecoEgamma.EgammaPhotonProducers.gsfTracksOpenConversionSequence_cff import *


localreco = cms.Sequence(bunchSpacingProducer+trackerlocalreco+muonlocalreco+calolocalreco+castorreco)
localreco_HcalNZS = cms.Sequence(bunchSpacingProducer+trackerlocalreco+muonlocalreco+calolocalrecoNZS+castorreco)
localrecoTask = cms.Task(bunchSpacingProducer,trackerlocalrecoTask,muonlocalrecoTask,calolocalrecoTask,castorreco)
localreco = cms.Sequence(localrecoTask)
localreco_HcalNZSTask = cms.Task(bunchSpacingProducer,trackerlocalrecoTask,muonlocalrecoTask,calolocalrecoTaskNZS,castorreco)
localreco_HcalNZS = cms.Sequence(localreco_HcalNZSTask)

_run3_localreco = localreco.copyAndExclude([castorreco])
_run3_localreco_HcalNZS = localreco_HcalNZS.copyAndExclude([castorreco])
_run3_localrecoTask = localrecoTask.copyAndExclude([castorreco])
_run3_localreco_HcalNZSTask = localreco_HcalNZSTask.copyAndExclude([castorreco])
from Configuration.Eras.Modifier_run3_common_cff import run3_common
run3_common.toReplaceWith(localreco, _run3_localreco)
run3_common.toReplaceWith(localreco_HcalNZS, _run3_localreco_HcalNZS)
run3_common.toReplaceWith(localrecoTask, _run3_localrecoTask)
run3_common.toReplaceWith(localreco_HcalNZSTask, _run3_localreco_HcalNZSTask)

from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
_phase2_timing_layer_localreco = _run3_localreco.copy()
_phase2_timing_layer_localreco += fastTimingLocalReco
_phase2_timing_layer_localreco_HcalNZS = _run3_localreco_HcalNZS.copy()
_phase2_timing_layer_localreco_HcalNZS += fastTimingLocalReco
phase2_timing_layer.toReplaceWith(localreco,_phase2_timing_layer_localreco)
phase2_timing_layer.toReplaceWith(localreco_HcalNZS,_phase2_timing_layer_localreco_HcalNZS)

_ctpps_2016_localreco = localreco.copy()
_ctpps_2016_localreco += recoCTPPS
_phase2_timing_layer_localrecoTask = _run3_localrecoTask.copy()
_phase2_timing_layer_localrecoTask.add(fastTimingLocalRecoTask)
_phase2_timing_layer_localreco_HcalNZSTask = _run3_localreco_HcalNZSTask.copy()
_phase2_timing_layer_localreco_HcalNZSTask.add(fastTimingLocalRecoTask)
phase2_timing_layer.toReplaceWith(localrecoTask,_phase2_timing_layer_localrecoTask)
phase2_timing_layer.toReplaceWith(localreco_HcalNZSTask,_phase2_timing_layer_localreco_HcalNZSTask)

_ctpps_2016_localrecoTask = localrecoTask.copy()
_ctpps_2016_localrecoTask.add(recoCTPPSTask)
from Configuration.Eras.Modifier_ctpps_2016_cff import ctpps_2016
ctpps_2016.toReplaceWith(localreco, _ctpps_2016_localreco)
ctpps_2016.toReplaceWith(localrecoTask, _ctpps_2016_localrecoTask)

_ctpps_2016_localreco_HcalNZS = localreco_HcalNZS.copy()
_ctpps_2016_localreco_HcalNZS += recoCTPPS
ctpps_2016.toReplaceWith(localreco_HcalNZS, _ctpps_2016_localreco_HcalNZS)
_ctpps_2016_localreco_HcalNZSTask = localreco_HcalNZSTask.copy()
_ctpps_2016_localreco_HcalNZSTask.add(recoCTPPSTask)
ctpps_2016.toReplaceWith(localreco_HcalNZSTask, _ctpps_2016_localreco_HcalNZSTask)

###########################################
# no castor, zdc, Totem/CTPPS RP in FastSim
###########################################
_fastSim_localreco = localreco.copyAndExclude([
_fastSim_localrecoTask = localrecoTask.copyAndExclude([
castorreco,
totemRPLocalReconstruction,totemTimingLocalReconstruction,ctppsDiamondLocalReconstruction,
ctppsLocalTrackLiteProducer,ctppsPixelLocalReconstruction,ctppsProtons,
trackerlocalreco
totemRPLocalReconstructionTask,totemTimingLocalReconstructionTask,ctppsDiamondLocalReconstructionTask,
ctppsLocalTrackLiteProducer,ctppsPixelLocalReconstructionTask,ctppsProtons,
trackerlocalrecoTask
])
fastSim.toReplaceWith(localreco, _fastSim_localreco)
fastSim.toReplaceWith(localrecoTask, _fastSim_localrecoTask)

#
# temporarily switching off recoGenJets; since this are MC and wil be moved to a proper sequence
Expand All @@ -103,104 +105,111 @@
from RecoLocalCalo.Castor.Castor_cff import *
from RecoLocalCalo.Configuration.hcalGlobalReco_cff import *

globalreco_tracking = cms.Sequence(offlineBeamSpot*
MeasurementTrackerEventPreSplitting* # unclear where to put this
siPixelClusterShapeCachePreSplitting* # unclear where to put this
standalonemuontracking*
trackingGlobalReco*
hcalGlobalRecoSequence*
vertexreco)
_globalreco_tracking_LowPU = globalreco_tracking.copy()
_globalreco_tracking_LowPU.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
globalreco_trackingTask = cms.Task(offlineBeamSpot,
MeasurementTrackerEventPreSplitting, # unclear where to put this
siPixelClusterShapeCachePreSplitting, # unclear where to put this
standalonemuontrackingTask,
trackingGlobalRecoTask,
hcalGlobalRecoTask,
vertexrecoTask)
globalreco_tracking = cms.Sequence(globalreco_trackingTask)
_globalreco_tracking_LowPUTask = globalreco_trackingTask.copy()
_globalreco_tracking_LowPUTask.replace(trackingGlobalRecoTask, cms.Task(recopixelvertexingTask,trackingGlobalRecoTask))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU)
trackingLowPU.toReplaceWith(globalreco_trackingTask, _globalreco_tracking_LowPUTask)
##########################################
# offlineBeamSpot is reconstructed before mixing in fastSim
##########################################
_fastSim_globalreco_tracking = globalreco_tracking.copyAndExclude([offlineBeamSpot,MeasurementTrackerEventPreSplitting,siPixelClusterShapeCachePreSplitting])
fastSim.toReplaceWith(globalreco_tracking,_fastSim_globalreco_tracking)

_phase2_timing_layer_globalreco_tracking = globalreco_tracking.copy()
_phase2_timing_layer_globalreco_tracking += fastTimingGlobalReco
phase2_timing_layer.toReplaceWith(globalreco_tracking,_phase2_timing_layer_globalreco_tracking)

globalreco = cms.Sequence(globalreco_tracking*
particleFlowCluster*
ecalClusters*
caloTowersRec*
egammaGlobalReco*
jetGlobalReco*
muonGlobalReco*
pfTrackingGlobalReco*
muoncosmicreco*
CastorFullReco)

_run3_globalreco = globalreco.copyAndExclude([CastorFullReco])
run3_common.toReplaceWith(globalreco, _run3_globalreco)
_fastSim_globalreco_trackingTask = globalreco_trackingTask.copyAndExclude([offlineBeamSpot,MeasurementTrackerEventPreSplitting,siPixelClusterShapeCachePreSplitting])
fastSim.toReplaceWith(globalreco_trackingTask,_fastSim_globalreco_trackingTask)

_phase2_timing_layer_globalreco_trackingTask = globalreco_trackingTask.copy()
_phase2_timing_layer_globalreco_trackingTask.add(fastTimingGlobalRecoTask)
phase2_timing_layer.toReplaceWith(globalreco_trackingTask,_phase2_timing_layer_globalreco_trackingTask)

globalrecoTask = cms.Task(globalreco_trackingTask,
particleFlowClusterTask,
ecalClustersTask,
caloTowersRecTask,
egammaGlobalRecoTask,
jetGlobalRecoTask,
muonGlobalRecoTask,
pfTrackingGlobalRecoTask,
muoncosmicrecoTask,
CastorFullRecoTask)
globalreco = cms.Sequence(globalrecoTask)

_run3_globalrecoTask = globalrecoTask.copyAndExclude([CastorFullRecoTask])
run3_common.toReplaceWith(globalrecoTask, _run3_globalrecoTask)

_fastSim_globalreco = globalreco.copyAndExclude([CastorFullReco,muoncosmicreco])
# insert the few tracking modules to be run after mixing back in the globalreco sequence
_fastSim_globalreco.insert(0,newCombinedSeeds+trackExtrapolator+caloTowerForTrk+firstStepPrimaryVerticesUnsorted+ak4CaloJetsForTrk+initialStepTrackRefsForJets+firstStepPrimaryVertices)
fastSim.toReplaceWith(globalreco,_fastSim_globalreco)


globalreco_plusPL= cms.Sequence(globalreco*ctfTracksPixelLess)

reducedRecHits = cms.Sequence ( reducedEcalRecHitsSequence * reducedHcalRecHitsSequence )

highlevelreco = cms.Sequence(egammaHighLevelRecoPrePF*
particleFlowReco*
egammaHighLevelRecoPostPF*
muoncosmichighlevelreco*
muonshighlevelreco *
particleFlowLinks*
jetHighLevelReco*
metrecoPlusHCALNoise*
btagging*
recoPFMET*
PFTau*
reducedRecHits*
cosmicDCTracksSeq*
lowPtGsfElectronSequence*
conversionOpenTrackSequence*
gsfTracksOpenConversionSequence
globalreco_plusPLTask= cms.Task(globalrecoTask,ctfTracksPixelLessTask)
globalreco_plusPL= cms.Sequence(globalreco_plusPLTask)

reducedRecHitsTask = cms.Task( reducedEcalRecHitsTask , reducedHcalRecHitsTask )
reducedRecHits = cms.Sequence (reducedRecHitsTask)

highlevelrecoTask = cms.Task(egammaHighLevelRecoPrePFTask,
particleFlowRecoTask,
egammaHighLevelRecoPostPFTask,
muoncosmichighlevelrecoTask,
muonshighlevelrecoTask,
particleFlowLinksTask,
jetHighLevelRecoTask,
metrecoPlusHCALNoiseTask,
btaggingTask,
recoPFMETTask,
PFTauTask,
reducedRecHitsTask,
cosmicDCTracksSeqTask,
lowPtGsfElectronTask,
conversionOpenTrackTask,
gsfTracksOpenConversions
)
highlevelreco = cms.Sequence(highlevelrecoTask)

# AA data with pp reco
from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
from RecoHI.HiTracking.HILowPtConformalPixelTracks_cfi import *
from RecoHI.HiCentralityAlgos.HiCentrality_cfi import hiCentrality
from RecoHI.HiCentralityAlgos.HiClusterCompatibility_cfi import hiClusterCompatibility
_highlevelreco_HI = highlevelreco.copy()
_highlevelreco_HI += hiConformalPixelTracksSequencePhase1
_highlevelreco_HI += hiCentrality
_highlevelreco_HI += hiClusterCompatibility
(pp_on_XeXe_2017 | pp_on_AA_2018).toReplaceWith(highlevelreco, _highlevelreco_HI)
pp_on_AA_2018.toReplaceWith(highlevelreco,highlevelreco.copyAndExclude([PFTau]))
_highlevelreco_HITask = highlevelrecoTask.copy()
_highlevelreco_HITask.add(hiConformalPixelTracksTaskPhase1)
_highlevelreco_HITask.add(hiCentrality)
_highlevelreco_HITask.add(hiClusterCompatibility)
(pp_on_XeXe_2017 | pp_on_AA_2018).toReplaceWith(highlevelrecoTask, _highlevelreco_HITask)
pp_on_AA_2018.toReplaceWith(highlevelrecoTask,highlevelrecoTask.copyAndExclude([PFTauTask]))

# not commisoned and not relevant in FastSim (?):
_fastSim_highlevelreco = highlevelreco.copyAndExclude([cosmicDCTracksSeq,muoncosmichighlevelreco])
fastSim.toReplaceWith(highlevelreco,_fastSim_highlevelreco)
_fastSim_highlevelrecoTask = highlevelrecoTask.copyAndExclude([cosmicDCTracksSeqTask,muoncosmichighlevelrecoTask])
fastSim.toReplaceWith(highlevelrecoTask,_fastSim_highlevelrecoTask)


from FWCore.Modules.logErrorHarvester_cfi import *

# "Export" Section
reconstruction = cms.Sequence(localreco*globalreco*highlevelreco*logErrorHarvester)
reconstructionTask = cms.Task(localrecoTask,globalrecoTask,highlevelrecoTask,logErrorHarvester)
reconstruction = cms.Sequence(reconstructionTask)

#logErrorHarvester should only wait for items produced in the reconstruction sequence
_modulesInReconstruction = list()
reconstruction.visit(cms.ModuleNamesFromGlobalsVisitor(globals(),_modulesInReconstruction))
reconstructionTask.visit(cms.ModuleNamesFromGlobalsVisitor(globals(),_modulesInReconstruction))
logErrorHarvester.includeModules = cms.untracked.vstring(set(_modulesInReconstruction))

reconstruction_trackingOnly = cms.Sequence(localreco*globalreco_tracking)
reconstruction_pixelTrackingOnly = cms.Sequence(
pixeltrackerlocalreco*
offlineBeamSpot*
siPixelClusterShapeCachePreSplitting*
recopixelvertexing
reconstruction_trackingOnlyTask = cms.Task(localrecoTask,globalreco_trackingTask)
reconstruction_trackingOnly = cms.Sequence(reconstruction_trackingOnlyTask)
reconstruction_pixelTrackingOnlyTask = cms.Task(
pixeltrackerlocalrecoTask,
offlineBeamSpot,
siPixelClusterShapeCachePreSplitting,
recopixelvertexingTask
)
reconstruction_pixelTrackingOnly = cms.Sequence(reconstruction_pixelTrackingOnlyTask)

#need a fully expanded sequence copy
modulesToRemove = list() # copy does not work well
Expand Down Expand Up @@ -286,9 +295,12 @@


#sequences with additional stuff
reconstruction_withPixellessTk = cms.Sequence(localreco *globalreco_plusPL*highlevelreco*logErrorHarvester)
reconstruction_HcalNZS = cms.Sequence(localreco_HcalNZS*globalreco *highlevelreco*logErrorHarvester)
reconstruction_withPixellessTkTask = cms.Task(localrecoTask,globalreco_plusPLTask,highlevelrecoTask,logErrorHarvester)
reconstruction_withPixellessTk = cms.Sequence(reconstruction_withPixellessTkTask)
reconstruction_HcalNZSTask = cms.Task(localreco_HcalNZSTask,globalrecoTask,highlevelrecoTask,logErrorHarvester)
reconstruction_HcalNZS = cms.Sequence(reconstruction_HcalNZSTask)

#sequences without some stuffs
#
reconstruction_woCosmicMuons = cms.Sequence(localreco*globalreco*highlevelreco*logErrorHarvester)
reconstruction_woCosmicMuonsTask = cms.Task(localrecoTask,globalrecoTask,highlevelrecoTask,logErrorHarvester)
reconstruction_woCosmicMuons = cms.Sequence(reconstruction_woCosmicMuonsTask)
13 changes: 7 additions & 6 deletions RecoCTPPS/Configuration/python/recoCTPPS_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@

from Geometry.VeryForwardGeometry.geometryRPFromDB_cfi import *

recoCTPPS = cms.Sequence(
totemRPLocalReconstruction *
ctppsDiamondLocalReconstruction *
totemTimingLocalReconstruction *
ctppsPixelLocalReconstruction *
ctppsLocalTrackLiteProducer *
recoCTPPSTask = cms.Task(
totemRPLocalReconstructionTask ,
ctppsDiamondLocalReconstructionTask ,
totemTimingLocalReconstructionTask ,
ctppsPixelLocalReconstructionTask ,
ctppsLocalTrackLiteProducer ,
ctppsProtons
)
recoCTPPS = cms.Sequence(recoCTPPSTask)
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
)


conversionOpenTrackSequence = cms.Sequence(gsfTracksOpenConversionTrackProducer)
conversionOpenTrackTask = cms.Task(gsfTracksOpenConversionTrackProducer)


Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
from RecoLocalFastTime.FTLRecProducers.ftlUncalibratedRecHits_cfi import ftlUncalibratedRecHits
from RecoLocalFastTime.FTLRecProducers.ftlRecHits_cfi import ftlRecHits

fastTimingLocalReco = cms.Sequence(ftlUncalibratedRecHits*ftlRecHits)
fastTimingLocalRecoTask = cms.Task(ftlUncalibratedRecHits,ftlRecHits)
fastTimingLocalReco = cms.Sequence(fastTimingLocalRecoTask)


from RecoLocalFastTime.FTLRecProducers.mtdUncalibratedRecHits_cfi import mtdUncalibratedRecHits
Expand All @@ -14,11 +15,12 @@
from RecoLocalFastTime.FTLClusterizer.MTDCPEESProducers_cff import *
from RecoLocalFastTime.FTLRecProducers.MTDTimeCalibESProducers_cff import *

_phase2_timing_layer_fastTimingLocalReco = cms.Sequence(mtdUncalibratedRecHits*mtdRecHits*mtdClusters*mtdTrackingRecHits)
_phase2_timing_layer_fastTimingLocalRecoTask = cms.Task(mtdUncalibratedRecHits,mtdRecHits,mtdClusters,mtdTrackingRecHits)
_phase2_timing_layer_fastTimingLocalReco = cms.Sequence(_phase2_timing_layer_fastTimingLocalRecoTask)

from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer

phase2_timing_layer.toReplaceWith(fastTimingLocalReco, _phase2_timing_layer_fastTimingLocalReco)
phase2_timing_layer.toReplaceWith(fastTimingLocalRecoTask, _phase2_timing_layer_fastTimingLocalRecoTask)

phase2_timing_layer.toModify(mtdRecHits,
barrelUncalibratedRecHits = 'mtdUncalibratedRecHits:FTLBarrel',
Expand Down
3 changes: 2 additions & 1 deletion RecoMTD/Configuration/python/RecoMTD_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@

from RecoMTD.TrackExtender.trackExtenderWithMTD_cfi import *

fastTimingGlobalReco = cms.Sequence(trackExtenderWithMTD)
fastTimingGlobalRecoTask = cms.Task(trackExtenderWithMTD)
fastTimingGlobalReco = cms.Sequence(fastTimingGlobalRecoTask)
3 changes: 2 additions & 1 deletion RecoParticleFlow/PFTracking/python/particleFlowTrack_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@
particleFlowTrackWithV0Task = cms.Task(pfTrack, pfTrackElec, pfV0)
particleFlowTrackWithV0 = cms.Sequence(particleFlowTrackWithV0Task)

pfTrackingGlobalReco = cms.Sequence(particleFlowTrackWithDisplacedVertexTask)
pfTrackingGlobalRecoTask = cms.Task(particleFlowTrackWithDisplacedVertexTask)
pfTrackingGlobalReco = cms.Sequence(pfTrackingGlobalRecoTask)

0 comments on commit a36e56e

Please sign in to comment.