Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pixel cluster splitting and jet core iteration for HI Tracking #10775

Merged
merged 12 commits into from Aug 26, 2015
Expand Up @@ -33,20 +33,25 @@
from RecoLuminosity.LumiProducer.lumiProducer_cff import *
#--------------------------------------------------------------------------

from RecoPixelVertexing.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import *
siPixelClusterShapeCachePreSplitting = siPixelClusterShapeCache.clone(
src = 'siPixelClustersPreSplitting'
)

caloReco = cms.Sequence(ecalLocalRecoSequence*hcalLocalRecoSequence)
hbhereco = hbheprereco.clone()
hcalLocalRecoSequence.replace(hbheprereco,hbhereco)
muonReco = cms.Sequence(trackerlocalreco+MeasurementTrackerEvent+siPixelClusterShapeCache+muonlocalreco)
muonReco = cms.Sequence(trackerlocalreco+MeasurementTrackerEventPreSplitting+siPixelClusterShapeCachePreSplitting+muonlocalreco)
localReco = cms.Sequence(offlineBeamSpot*muonReco*caloReco*castorreco)

#hbherecoMB = hbheprerecoMB.clone()
#hcalLocalRecoSequenceNZS.replace(hbheprerecoMB,hbherecoMB)

caloRecoNZS = cms.Sequence(caloReco+hcalLocalRecoSequenceNZS)
localReco_HcalNZS = cms.Sequence(offlineBeamSpot*muonReco*caloRecoNZS)

#--------------------------------------------------------------------------
# Main Sequence

reconstruct_PbPb = cms.Sequence(localReco*globalRecoPbPb*CastorFullReco)
reconstructionHeavyIons = cms.Sequence(reconstruct_PbPb)

Expand Down
9 changes: 5 additions & 4 deletions RecoHI/Configuration/python/Reconstruction_HI_cff.py
Expand Up @@ -17,7 +17,7 @@
from RecoHI.HiJetAlgos.HiRecoJets_cff import *

# Muon Reco
from RecoHI.HiMuonAlgos.HiRecoMuon_cff import *
from RecoHI.HiMuonAlgos.HiRecoMuon_cff import *
# keep regit seperate for the moment
from RecoHI.HiMuonAlgos.HiRegionalRecoMuon_cff import *

Expand All @@ -33,12 +33,12 @@
hcalnoise.trackCollName = 'hiGeneralTracks'

# Global + High-Level Reco Sequence
globalRecoPbPb = cms.Sequence(hiTracking
globalRecoPbPb = cms.Sequence(hiTracking_wSplitting
* hiParticleFlowLocalReco
* hiEcalClusters
* hiRecoJets
* muonRecoPbPb
* hiElectronSequence
* hiElectronSequence
* hiEgammaSequence
* hiParticleFlowReco
* hiCentrality
Expand All @@ -62,9 +62,10 @@
)

#--------------------------------------------------------------------------
# Full sequence (LOCAL RECO + HIGH LEVEL RECO)
# Full sequence (LOCAL RECO + HIGH LEVEL RECO)
# in Configuration.StandardSequences.ReconstructionHeavyIons_cff

# Modify zero-suppression sequence here
from RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi import *
siStripZeroSuppression.storeCM = cms.bool(True)

21 changes: 21 additions & 0 deletions RecoHI/HiJetAlgos/python/hiCaloJetsForTrk_cff.py
@@ -0,0 +1,21 @@
import FWCore.ParameterSet.Config as cms

from RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi import calotowermaker
from RecoHI.HiJetAlgos.HiRecoJets_cff import akPu4CaloJets
from JetMETCorrections.Configuration.DefaultJEC_cff import *

hiCaloTowerForTrk = calotowermaker.clone(hbheInput=cms.InputTag('hbhereco'))
akPu4CaloJetsForTrk = akPu4CaloJets.clone( srcPVs = cms.InputTag('hiSelectedVertex'), src= cms.InputTag('hiCaloTowerForTrk'))


akPu4CaloJetsCorrected = ak4CaloJetsL2L3.clone(
src = cms.InputTag("akPu4CaloJetsForTrk")
)

akPu4CaloJetsSelected = cms.EDFilter( "LargestEtCaloJetSelector",
src = cms.InputTag( "akPu4CaloJetsCorrected" ),
filter = cms.bool( False ),
maxNumber = cms.uint32( 4 )
)

hiCaloJetsForTrk = cms.Sequence(hiCaloTowerForTrk*akPu4CaloJetsForTrk*akPu4CaloJetsCorrected*akPu4CaloJetsSelected)
44 changes: 44 additions & 0 deletions RecoHI/HiTracking/python/HIInitialJetCoreClusterSplitting_cff.py
@@ -0,0 +1,44 @@
import FWCore.ParameterSet.Config as cms

### pixel primary vertices
from RecoHI.HiTracking.HIPixelVerticesPreSplitting_cff import *

#Jet Core emulation to identify jet-tracks
#modify the original hiAk4CaloJetsForTrkPreSplitting to hiAkPu4CaloJetsForTrkPreSplitting from HIJET reco
from RecoHI.HiJetAlgos.hiCaloJetsForTrk_cff import *
from RecoHI.HiTracking.hiJetCoreRegionalStep_cff import hiJetsForCoreTracking
hiCaloTowerForTrkPreSplitting = hiCaloTowerForTrk.clone()
hiAkPu4CaloJetsForTrkPreSplitting = akPu4CaloJetsForTrk.clone(
src = 'hiCaloTowerForTrkPreSplitting',
srcPVs = 'hiSelectedVertexPreSplitting')
hiAkPu4CaloJetsCorrectedPreSplitting = akPu4CaloJetsCorrected.clone(
src = 'hiAkPu4CaloJetsForTrkPreSplitting')
hiAkPu4CaloJetsSelectedPreSplitting = akPu4CaloJetsSelected.clone(
src = 'hiAkPu4CaloJetsCorrectedPreSplitting')
hiJetsForCoreTrackingPreSplitting = hiJetsForCoreTracking.clone(
src = 'hiAkPu4CaloJetsSelectedPreSplitting')


from RecoLocalTracker.SubCollectionProducers.jetCoreClusterSplitter_cfi import jetCoreClusterSplitter
siPixelClusters = jetCoreClusterSplitter.clone(
pixelClusters = cms.InputTag('siPixelClustersPreSplitting'),
vertices = 'hiSelectedVertexPreSplitting',
cores = 'hiJetsForCoreTrackingPreSplitting',
deltaRmax = cms.double(0.1),
ptMin = cms.double(50)
)

from RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi import siPixelRecHits
from RecoTracker.MeasurementDet.MeasurementTrackerEventProducer_cfi import MeasurementTrackerEvent
from RecoPixelVertexing.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import *
hiInitialJetCoreClusterSplitting = cms.Sequence(
hiPixelVerticesPreSplitting
* hiCaloTowerForTrkPreSplitting
* hiAkPu4CaloJetsForTrkPreSplitting
* hiAkPu4CaloJetsCorrectedPreSplitting
* hiAkPu4CaloJetsSelectedPreSplitting
* hiJetsForCoreTrackingPreSplitting
* siPixelClusters
* siPixelRecHits
* MeasurementTrackerEvent
* siPixelClusterShapeCache)
37 changes: 37 additions & 0 deletions RecoHI/HiTracking/python/HIPixelVerticesPreSplitting_cff.py
@@ -0,0 +1,37 @@
import FWCore.ParameterSet.Config as cms

from RecoHI.HiTracking.HIPixelVertices_cff import *

hiPixelClusterVertexPreSplitting = hiPixelClusterVertex.clone( pixelRecHits=cms.string("siPixelRecHitsPreSplitting") )
hiPixel3ProtoTracksPreSplitting = hiPixel3ProtoTracks.clone()
hiPixel3ProtoTracksPreSplitting.RegionFactoryPSet.RegionPSet.siPixelRecHits = cms.InputTag( "siPixelRecHitsPreSplitting" )
hiPixel3ProtoTracksPreSplitting.RegionFactoryPSet.RegionPSet.VertexCollection = cms.InputTag( "hiPixelClusterVertexPreSplitting" )
hiPixel3ProtoTracksPreSplitting.FilterPSet.siPixelRecHits = cms.InputTag( "siPixelRecHitsPreSplitting" )
hiPixel3ProtoTracksPreSplitting.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag( "PixelLayerTripletsPreSplitting" )

hiPixelMedianVertexPreSplitting = hiPixelMedianVertex.clone( TrackCollection = cms.InputTag('hiPixel3ProtoTracksPreSplitting') )
hiSelectedProtoTracksPreSplitting = hiSelectedProtoTracks.clone(
src = cms.InputTag("hiPixel3ProtoTracksPreSplitting"),
VertexCollection = cms.InputTag("hiPixelMedianVertexPreSplitting")
)
hiPixelAdaptiveVertexPreSplitting = hiPixelAdaptiveVertex.clone(
TrackLabel = cms.InputTag("hiSelectedProtoTracksPreSplitting")
)
hiBestAdaptiveVertexPreSplitting = hiBestAdaptiveVertex.clone( src = cms.InputTag("hiPixelAdaptiveVertexPreSplitting") )
hiSelectedVertexPreSplitting = hiSelectedVertex.clone(
adaptiveVertexCollection = cms.InputTag("hiBestAdaptiveVertexPreSplitting"),
medianVertexCollection = cms.InputTag("hiPixelMedianVertexPreSplitting")
)
bestHiVertexPreSplitting = cms.Sequence( hiBestAdaptiveVertexPreSplitting * hiSelectedVertexPreSplitting )

PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone()
PixelLayerTripletsPreSplitting.FPix.HitProducer = 'siPixelRecHitsPreSplitting'
PixelLayerTripletsPreSplitting.BPix.HitProducer = 'siPixelRecHitsPreSplitting'

hiPixelVerticesPreSplitting = cms.Sequence(hiPixelClusterVertexPreSplitting
* PixelLayerTripletsPreSplitting
* hiPixel3ProtoTracksPreSplitting
* hiPixelMedianVertexPreSplitting
* hiSelectedProtoTracksPreSplitting
* hiPixelAdaptiveVertexPreSplitting
* bestHiVertexPreSplitting )
25 changes: 23 additions & 2 deletions RecoHI/HiTracking/python/HiTracking_cff.py
@@ -1,29 +1,50 @@

from RecoHI.HiTracking.hiMergedConformalPixelTracking_cff import *
from RecoHI.HiTracking.HIInitialJetCoreClusterSplitting_cff import *
from RecoHI.HiTracking.LowPtTracking_PbPb_cff import *
from RecoHI.HiTracking.hiLowPtTripletStep_cff import *
from RecoHI.HiTracking.hiMixedTripletStep_cff import *
from RecoHI.HiTracking.hiPixelPairStep_cff import *
from RecoHI.HiTracking.hiDetachedTripletStep_cff import *
from RecoHI.HiTracking.hiJetCoreRegionalStep_cff import *
from RecoHI.HiTracking.MergeTrackCollectionsHI_cff import *

from RecoHI.HiMuonAlgos.hiMuonIterativeTk_cff import *

hiJetsForCoreTracking.cut = cms.string("pt > 100 && abs(eta) < 2.4")
hiJetCoreRegionalStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = cms.double( 10. )
hiJetCoreRegionalStepTrajectoryFilter.minPt = 10.0
siPixelClusters.ptMin = cms.double(100)
siPixelClusters.deltaRmax = cms.double(0.1)

hiTracking_noRegitMu = cms.Sequence(
hiBasicTracking
*hiDetachedTripletStep
*hiLowPtTripletStep
*hiPixelPairStep
)

hiTracking_noRegitMu_wSplitting = cms.Sequence(
hiInitialJetCoreClusterSplitting
*hiBasicTracking
*hiDetachedTripletStep
*hiLowPtTripletStep
*hiPixelPairStep
)

hiTracking = cms.Sequence(
hiTracking_noRegitMu
*hiRegitMuTrackingAndSta
*hiGeneralTracks
)

hiTracking_wSplitting = cms.Sequence(
hiTracking_noRegitMu_wSplitting
*hiJetCoreRegionalStep
*hiRegitMuTrackingAndSta
*hiGeneralTracks
)

hiTracking_wConformalPixel = cms.Sequence(
hiTracking
*hiMergedConformalPixelTracking
)

11 changes: 7 additions & 4 deletions RecoHI/HiTracking/python/MergeTrackCollectionsHI_cff.py
Expand Up @@ -5,9 +5,10 @@
TrackProducers = (cms.InputTag('hiGlobalPrimTracks'),
cms.InputTag('hiDetachedTripletStepTracks'),
cms.InputTag('hiLowPtTripletStepTracks'),
cms.InputTag('hiPixelPairGlobalPrimTracks')
cms.InputTag('hiPixelPairGlobalPrimTracks'),
cms.InputTag('hiJetCoreRegionalStepTracks')
),
hasSelector=cms.vint32(1,1,1,1),
hasSelector=cms.vint32(1,1,1,1,1),
selectedTrackQuals = cms.VInputTag(
cms.InputTag("hiInitialStepSelector","hiInitialStep"),
cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep"),
Expand All @@ -25,17 +26,19 @@
cms.InputTag('hiDetachedTripletStepTracks'),
cms.InputTag('hiLowPtTripletStepTracks'),
cms.InputTag('hiPixelPairGlobalPrimTracks'),
cms.InputTag('hiJetCoreRegionalStepTracks'),
cms.InputTag('hiRegitMuInitialStepTracks'),
cms.InputTag('hiRegitMuPixelPairStepTracks'),
cms.InputTag('hiRegitMuMixedTripletStepTracks'),
cms.InputTag('hiRegitMuPixelLessStepTracks')
),
hasSelector=cms.vint32(1,1,1,1,1,1,1,1),
),
hasSelector=cms.vint32(1,1,1,1,1,1,1,1,1),
selectedTrackQuals = cms.VInputTag(
cms.InputTag("hiInitialStepSelector","hiInitialStep"),
cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep"),
cms.InputTag("hiLowPtTripletStepSelector","hiLowPtTripletStep"),
cms.InputTag("hiPixelPairStepSelector","hiPixelPairStep"),
cms.InputTag("hiJetCoreRegionalStepSelector","hiJetCoreRegionalStep"),
cms.InputTag("hiRegitMuInitialStepSelector","hiRegitMuInitialStepLoose"),
cms.InputTag("hiRegitMuPixelPairStepSelector","hiRegitMuPixelPairStep"),
cms.InputTag("hiRegitMuMixedTripletStepSelector","hiRegitMuMixedTripletStep"),
Expand Down