diff --git a/Configuration/PyReleaseValidation/python/relval_standard.py b/Configuration/PyReleaseValidation/python/relval_standard.py index eb0a677a42482..da47ae9462e05 100644 --- a/Configuration/PyReleaseValidation/python/relval_standard.py +++ b/Configuration/PyReleaseValidation/python/relval_standard.py @@ -122,12 +122,7 @@ workflows[4.77] = ['ZElSkim2012D',['ZElSkim2012D','HLTDSKIM','RECODR1reHLT','HARVESTDR1reHLT']] workflows[4.78] = ['',['WElSkim2012D','HLTDSKIM','RECODR1reHLT','HARVESTDR1reHLT']] -workflows[140.51] = ['RunHI2010',['RunHI2010','REPACKHID','RECOHID11St3','HARVESTDHI']] -workflows[140.52] = ['',['RunHI2010','RECOHID10','RECOHIR10D11','HARVESTDHI']] -workflows[140.53] = ['RunHI2011',['RunHI2011','RECOHID11','HARVESTDHI']] -workflows[140.54] = ['',['RunPA2013','RECO_PPbData','HARVEST_PPbData']] -workflows[140.55] = ['RunHI2015repackVR',['RunHI2015VR','HYBRIDRepackHI2015VR','HYBRIDZSHI2015','RECOHID15','HARVESTDHI15']] workflows[140.56] = ['RunHI2018',['RunHI2018','RECOHID18','HARVESTDHI18']] workflows[140.5611] = ['RunHI2018reMINIAOD',['RunHI2018AOD','REMINIAODHID18','HARVESTHI18MINIAOD']] workflows[140.57] = ['RunHI2018Reduced',['RunHI2018Reduced','RECOHID18','HARVESTDHI18']] @@ -814,14 +809,9 @@ ### HI test ### -### Run I cond., 2011 -workflows[140] = ['',['HydjetQ_B12_5020GeV_2011','DIGIHI2011','RECOHI2011','HARVESTHI2011']] -### Run II cond., 2015 -workflows[145] = ['',['HydjetQ_B12_5020GeV_2015','DIGIHI2015','RECOHI2015','HARVESTHI2015']] ### Run II cond., 2017 workflows[148] = ['',['HydjetQ_MinBias_XeXe_5442GeV_2017','DIGIHI2017','RECOHI2017','HARVESTHI2017']] ### Run II cond., 2018 -workflows[150] = ['',['HydjetQ_B12_5020GeV_2018','DIGIHI2018','RECOHI2018','HARVESTHI2018']] workflows[158] = ['',['HydjetQ_B12_5020GeV_2018_ppReco','DIGIHI2018PPRECO','RECOHI2018PPRECOMB','ALCARECOHI2018PPRECO','HARVESTHI2018PPRECO']] workflows[158.01] = ['HydjetQB12ppRECOin2018reMINIAOD',['HydjetQ_reminiaodPbPb2018_INPUT','REMINIAODHI2018PPRECOMB','HARVESTHI2018PPRECOMINIAOD']] workflows[158.1] = ['',['QCD_Pt_80_120_13_HI','DIGIHI2018PPRECO','RECOHI2018PPRECO','HARVESTHI2018PPRECO']] diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index a8609437b1b70..abd39dbdb198b 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -1141,10 +1141,7 @@ def genS(fragment,howMuch): U2000by1={'--relval': '2000,1'} U80by1={'--relval': '80,1'} -hiDefaults2011 = {'--conditions':'auto:run1_mc_hi','--scenario':'HeavyIons'} -hiDefaults2015 = {'--conditions':'auto:run2_mc_hi', '--era':'Run2_HI','--scenario':'HeavyIons'} hiDefaults2017 = {'--conditions':'auto:phase1_2017_realistic', '--era':'Run2_2017_pp_on_XeXe'} -hiDefaults2018 = {'--conditions':'auto:phase1_2018_realistic_hi', '--era':'Run2_2018','--scenario':'HeavyIons'} hiDefaults2018_ppReco = {'--conditions':'auto:phase1_2018_realistic_hi', '--era':'Run2_2018_pp_on_AA'} hiDefaults2022_ppReco = {'--conditions':'auto:phase1_2022_realistic_hi', '--era':'Run3_pp_on_PbPb'} hiDefaults2022_ppReco_approxClusters = {'--conditions':'auto:phase1_2022_realistic_hi', '--era':'Run3_pp_on_PbPb_approxSiStripClusters'} @@ -1152,10 +1149,7 @@ def genS(fragment,howMuch): hiDefaults2023_ppReco_approxClusters = {'--conditions':'auto:phase1_2023_realistic_hi', '--era':'Run3_pp_on_PbPb_approxSiStripClusters_2023'} steps['Hydjet2Q_MinBias_5020GeV_2018_ppReco']=merge([{'-n':1},hiDefaults2018_ppReco,gen2018hiprod('Hydjet2_Quenched_MinBias_5020GeV_cfi',U2000by1)]) -steps['HydjetQ_B12_5020GeV_2011']=merge([{'-n':1,'--beamspot':'RealisticHI2011Collision'},hiDefaults2011,genS('Hydjet_Quenched_B12_5020GeV_cfi',U2000by1)]) -steps['HydjetQ_B12_5020GeV_2015']=merge([{'-n':1,'--beamspot':'RealisticHICollisionFixZ2015'},hiDefaults2015,genS('Hydjet_Quenched_B12_5020GeV_cfi',U2000by1)]) steps['HydjetQ_MinBias_XeXe_5442GeV_2017']=merge([{'-n':1},hiDefaults2017,gen2017('Hydjet_Quenched_MinBias_XeXe_5442GeV_cfi',U2000by1)]) -steps['HydjetQ_B12_5020GeV_2018']=merge([{'-n':1},hiDefaults2018,gen2018prod('Hydjet_Quenched_B12_5020GeV_cfi',U2000by1)]) steps['HydjetQ_B12_5020GeV_2018_ppReco']=merge([{'-n':1},hiDefaults2018_ppReco,gen2018hiprod('Hydjet_Quenched_B12_5020GeV_cfi',U2000by1)]) steps['HydjetQ_B12_5020GeV_2022_ppReco']=merge([{'-n':1},hiDefaults2022_ppReco,gen2022hiprod('Hydjet_Quenched_B12_5020GeV_cfi',U2000by1)]) steps['HydjetQ_MinBias_5020GeV_2022_ppReco']=merge([{'-n':1},hiDefaults2022_ppReco,gen2022hiprod('Hydjet_Quenched_MinBias_5020GeV_cfi',U2000by1)]) @@ -1918,10 +1912,7 @@ def lhegensim2018ml(fragment,howMuch): steps['DIGIHI2022PPRECOAPPROXCLUSTERS']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2'}, hiDefaults2022_ppReco_approxClusters, {'--pileup':'HiMixNoPU'}, step2Upg2015Defaults]) steps['DIGIHI2022PPRECO']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2'}, hiDefaults2022_ppReco, {'--pileup':'HiMixNoPU'}, step2Upg2015Defaults]) steps['DIGIHI2018PPRECO']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2'}, hiDefaults2018_ppReco, {'--pileup':'HiMixNoPU'}, step2Upg2015Defaults]) -steps['DIGIHI2018']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2'}, hiDefaults2018, {'--pileup':'HiMixNoPU'}, step2Upg2015Defaults]) steps['DIGIHI2017']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2'}, hiDefaults2017, step2Upg2015Defaults]) -steps['DIGIHI2015']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake'}, hiDefaults2015, {'--pileup':'HiMixNoPU'}, step2Upg2015Defaults]) -steps['DIGIHI2011']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake'}, hiDefaults2011, {'--pileup':'HiMixNoPU'}, step2Defaults]) steps['DIGIHI2023MIX']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2', '-n':2}, hiDefaults2023_ppReco, {'--pileup':'HiMix'}, PUHI2023, step2Upg2015Defaults]) steps['DIGIHI2022MIX']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2', '-n':2}, hiDefaults2022_ppReco, {'--pileup':'HiMix'}, PUHI2022, step2Upg2015Defaults]) steps['DIGIHIMIX']=merge([{'-s':'DIGI:pdigi_hi_nogen,L1,DIGI2RAW,HLT:@fake2', '-n':2}, hiDefaults2018_ppReco, {'--pileup':'HiMix'}, PUHI, step2Upg2015Defaults]) @@ -3241,7 +3232,6 @@ def gen2023HiMix(fragment,howMuch): '--eventcontent':'ALCARECO' }]) -steps['RECOHI2018']=merge([hiDefaults2018,{'-s':'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM'},step3Up2015Defaults]) steps['RECOHI2017']=merge([hiDefaults2017,{'-s':'RAW2DIGI,L1Reco,RECO,PAT,VALIDATION:@standardValidationNoHLT+@miniAODValidation,DQM:@standardDQMFakeHLT+@miniAODDQM'},step3Up2015Defaults]) steps['RECOHI2015']=merge([hiDefaults2015,{'-s':'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM'},step3Up2015Defaults]) steps['RECOHI2011']=merge([hiDefaults2011,{'-s':'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM'},step3Defaults]) @@ -3843,23 +3833,10 @@ def gen2023HiMix(fragment,howMuch): '--filetype':'DQM', '-n':100},hiDefaults2018_ppReco]) -steps['HARVESTHI2018']=merge([hiDefaults2018,{'-s':'HARVESTING:validationHarvesting+dqmHarvestingFakeHLT', - '--mc':'', - '--era' : 'Run2_2017', - '--filetype':'DQM', - '--scenario':'HeavyIons'}]) steps['HARVESTHI2017']=merge([hiDefaults2017,{'-s':'HARVESTING:validationHarvestingNoHLT+dqmHarvestingFakeHLT', '--mc':'', '--era' : 'Run2_2017_pp_on_XeXe', '--filetype':'DQM'}]) -steps['HARVESTHI2015']=merge([hiDefaults2015,{'-s':'HARVESTING:validationHarvesting+dqmHarvestingFakeHLT', - '--mc':'', - '--era' : 'Run2_2016,Run2_HI', - '--filetype':'DQM', - '--scenario':'HeavyIons'}]) -steps['HARVESTHI2011']=merge([hiDefaults2011,{'-s':'HARVESTING:validationHarvesting+dqmHarvestingFakeHLT', - '--mc':'', - '--filetype':'DQM'}]) steps['HARVESTPPREF2017']=merge([ppRefDefaults2017,{'-s':'HARVESTING:validationHarvestingNoHLT+dqmHarvestingFakeHLT', '--mc':'', diff --git a/Configuration/StandardSequences/python/ReconstructionHeavyIons_cff.py b/Configuration/StandardSequences/python/ReconstructionHeavyIons_cff.py deleted file mode 100644 index 4ebf51cca6251..0000000000000 --- a/Configuration/StandardSequences/python/ReconstructionHeavyIons_cff.py +++ /dev/null @@ -1,59 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#-------------------------------------------------------------------------- -# LOCAL RECO - -# Tracker -from RecoVertex.BeamSpotProducer.BeamSpot_cfi import * -from RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi import * -from RecoLocalTracker.Configuration.RecoLocalTrackerHeavyIons_cff import * -from RecoTracker.MeasurementDet.MeasurementTrackerEventProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import * - -# Ecal -from RecoLocalCalo.Configuration.ecalLocalRecoSequence_cff import * -from RecoLocalCalo.EcalRecAlgos.EcalSeverityLevelESProducer_cfi import * - -# Hcal -from RecoLocalCalo.Configuration.hcalLocalReco_cff import * -from RecoLocalCalo.Configuration.hcalLocalRecoNZS_cff import * - -#castor -from RecoLocalCalo.CastorReco.CastorSimpleReconstructor_cfi import * - -# Muons -from RecoLocalMuon.Configuration.RecoLocalMuon_cff import * - -#-------------------------------------------------------------------------- -# HIGH LEVEL RECO - -from RecoHI.Configuration.Reconstruction_HI_cff import * -from RecoHI.Configuration.Reconstruction_hiPF_cff import * -from RecoLocalCalo.Castor.Castor_cff import * -from RecoHI.HiEgammaAlgos.HiElectronSequence_cff import * -#-------------------------------------------------------------------------- - -from RecoTracker.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import * -siPixelClusterShapeCachePreSplitting = siPixelClusterShapeCache.clone( - src = 'siPixelClustersPreSplitting' - ) - -caloRecoTask = cms.Task(ecalLocalRecoTask,hcalLocalRecoTask) -muonRecoTask = cms.Task(trackerlocalrecoTask,MeasurementTrackerEventPreSplitting,siPixelClusterShapeCachePreSplitting,muonlocalrecoTask) -localRecoTask = cms.Task(bunchSpacingProducer,offlineBeamSpot,muonRecoTask,caloRecoTask,castorreco) - -#hbherecoMB = hbheprerecoMB.clone() -#hcalLocalRecoSequenceNZS.replace(hbheprerecoMB,hbherecoMB) - -caloRecoNZSTask = cms.Task(caloRecoTask,hcalLocalRecoTaskNZS) -localReco_HcalNZSTask = cms.Task(bunchSpacingProducer,offlineBeamSpot,muonRecoTask,caloRecoNZSTask) - -#-------------------------------------------------------------------------- -# Main Sequence -reconstruct_PbPbTask = cms.Task(localRecoTask,CastorFullRecoTask,globalRecoPbPbTask) -reconstructionHeavyIons = cms.Sequence(reconstruct_PbPbTask) - -reconstructionHeavyIons_HcalNZSTask = cms.Task(localReco_HcalNZSTask,globalRecoPbPbTask) - -reconstructionHeavyIons_withRegitMu = cms.Sequence(reconstructionHeavyIons*regionalMuonRecoPbPb) -#-------------------------------------------------------------------------- diff --git a/RecoHI/Configuration/python/RecoHI_EventContent_cff.py b/RecoHI/Configuration/python/RecoHI_EventContent_cff.py deleted file mode 100644 index 87ff2ed1461bf..0000000000000 --- a/RecoHI/Configuration/python/RecoHI_EventContent_cff.py +++ /dev/null @@ -1,48 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# include event content from RecoHI packages -from RecoHI.HiTracking.RecoHiTracker_EventContent_cff import * -from RecoHI.HiJetAlgos.RecoHiJets_EventContent_cff import * -from RecoHI.HiEgammaAlgos.RecoHiEgamma_EventContent_cff import * -from RecoHI.HiCentralityAlgos.RecoHiCentrality_EventContent_cff import * -from RecoHI.HiEvtPlaneAlgos.RecoHiEvtPlane_EventContent_cff import * -from RecoHI.HiMuonAlgos.RecoHiMuon_EventContent_cff import * - -# combine RECO, AOD, FEVT content from all RecoHI packages -# RecoHI event contents to be included by Configuration.EventContent.EventContentHeavyIons_cff - -# AOD content -RecoHIAOD = cms.PSet( - outputCommands = cms.untracked.vstring() -) -RecoHIAOD.outputCommands.extend(RecoHiTrackerAOD.outputCommands) -RecoHIAOD.outputCommands.extend(RecoHiJetsAOD.outputCommands) -RecoHIAOD.outputCommands.extend(RecoHiEgammaAOD.outputCommands) -RecoHIAOD.outputCommands.extend(RecoHiEvtPlaneAOD.outputCommands) -RecoHIAOD.outputCommands.extend(RecoHiCentralityAOD.outputCommands) -RecoHIAOD.outputCommands.extend(RecoHiMuonAOD.outputCommands) - -# RECO content -RecoHIRECO = cms.PSet( - outputCommands = cms.untracked.vstring() -) -RecoHIRECO.outputCommands.extend(RecoHiTrackerRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiTrackerLocalRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiJetsRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiEgammaRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiEvtPlaneRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiCentralityRECO.outputCommands) -RecoHIRECO.outputCommands.extend(RecoHiMuonRECO.outputCommands) - -# FEVT content -RecoHIFEVT = cms.PSet( - outputCommands = cms.untracked.vstring() -) -RecoHIFEVT.outputCommands.extend(RecoHiTrackerFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiTrackerLocalFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiJetsFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiEgammaFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiEvtPlaneFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiCentralityFEVT.outputCommands) -RecoHIFEVT.outputCommands.extend(RecoHiMuonFEVT.outputCommands) - diff --git a/RecoHI/Configuration/python/Reconstruction_HI_cff.py b/RecoHI/Configuration/python/Reconstruction_HI_cff.py deleted file mode 100644 index ee2073a4840f8..0000000000000 --- a/RecoHI/Configuration/python/Reconstruction_HI_cff.py +++ /dev/null @@ -1,109 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#-------------------------------------------------------------------------- -# HIGH LEVEL RECO - -# Tracking -from RecoHI.HiTracking.HiTracking_cff import * # two additional steps - -# Egamma -from RecoHI.HiEgammaAlgos.HiEgamma_cff import * -from RecoHI.HiEgammaAlgos.HiElectronSequence_cff import * -ecalDrivenElectronSeeds.SCEtCut = 15.0 -ecalDrivenGsfElectrons.preselection.minSCEtBarrel = 15.0 -ecalDrivenGsfElectrons.preselection.minSCEtEndcaps = 15.0 - -# Jet Reconstruction -from RecoHI.HiJetAlgos.HiRecoJets_cff import * - -# Muon Reco -from RecoHI.HiMuonAlgos.HiRecoMuon_cff import * -# keep regit seperate for the moment -from RecoHI.HiMuonAlgos.HiRegionalRecoMuon_cff import * - -from RecoHI.Configuration.Reconstruction_hiPF_cff import * - -# Heavy Ion Event Characterization -from RecoHI.HiCentralityAlgos.HiCentrality_cfi import * -from RecoHI.HiCentralityAlgos.CentralityBin_cfi import * -from RecoHI.HiCentralityAlgos.HiClusterCompatibility_cfi import * -from RecoHI.HiEvtPlaneAlgos.HiEvtPlane_cfi import * - -# HCAL noise producer -from RecoMET.METProducers.hcalnoiseinfoproducer_cfi import * -hcalnoise.trackCollName = 'hiGeneralTracks' - -from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * - -#post PF egamma stuff -from RecoHI.HiEgammaAlgos.HiEgammaPostPF_cff import * - -from RecoHI.HiJetAlgos.HiRecoPFJets_cff import * - -#reduced rechits -from RecoEcal.EgammaClusterProducers.reducedRecHitsSequence_cff import * -from RecoEcal.EgammaCoreTools.EcalNextToDeadChannelESProducer_cff import * -from RecoLocalCalo.HcalRecProducers.HcalHitSelection_cfi import * -reducedHcalRecHitsTask = cms.Task( reducedHcalRecHits ) -reducedHcalRecHitsSequence = cms.Sequence( reducedHcalRecHitsTask ) -reducedRecHitsTask = cms.Task ( reducedEcalRecHitsTask , reducedHcalRecHitsTask ) -reducedRecHits = cms.Sequence ( reducedRecHitsTask ) -interestingTrackEcalDetIds.TrackCollection = "hiGeneralTracks" - - -# Global + High-Level Reco Sequence -globalRecoPbPbTask = cms.Task(hiTracking_wSplittingTask - , hcalGlobalRecoTask - , hiParticleFlowLocalRecoTask - , hiEcalClustersTask - , hiRecoJetsTask - , muonRecoPbPbTask - , hiElectronTask - , hiEgammaTask - , hiParticleFlowRecoTask - , egammaHighLevelRecoPostPFTask - , hiCentrality - #, centralityBin # temporarily removed - , hiClusterCompatibility - , hiEvtPlane - , hcalnoise - , muonRecoHighLevelPbPbTask - , particleFlowLinksTask - , hiRecoPFJetsTask - , reducedRecHitsTask - ) -globalRecoPbPb = cms.Sequence(globalRecoPbPbTask) - -globalRecoPbPb_wPhase1Task = globalRecoPbPbTask.copy() -globalRecoPbPb_wPhase1Task.replace(hiTracking_wSplittingTask, hiTracking_wSplitting_Phase1Task) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toReplaceWith(globalRecoPbPbTask, globalRecoPbPb_wPhase1Task) - - -globalRecoPbPb_wConformalPixelTask = cms.Task(hiTracking_wConformalPixelTask - , hiParticleFlowLocalRecoTask - , hiEcalClustersTask - , hiRecoJetsTask - , muonRecoPbPbTask - , hiElectronTask - , hiEgammaTask - , hiParticleFlowRecoTask - , egammaHighLevelRecoPostPFTask - , hiCentrality - , hiClusterCompatibility - , hiEvtPlane - , hcalnoise - , muonRecoHighLevelPbPbTask - , particleFlowLinksTask - , hiRecoPFJetsTask - , reducedRecHitsTask - ) -globalRecoPbPb_wConformalPixel = cms.Sequence(globalRecoPbPb_wConformalPixelTask) - -#-------------------------------------------------------------------------- -# 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 = True diff --git a/RecoHI/Configuration/python/Reconstruction_hiPF_cff.py b/RecoHI/Configuration/python/Reconstruction_hiPF_cff.py deleted file mode 100644 index 8dd03b2e2ad5c..0000000000000 --- a/RecoHI/Configuration/python/Reconstruction_hiPF_cff.py +++ /dev/null @@ -1,120 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# include particle flow local reconstruction -from RecoParticleFlow.PFClusterProducer.particleFlowCluster_cff import * - -# run a trimmed down PF sequence with heavy-ion vertex, no conversions, nucl int, etc. - -from RecoParticleFlow.PFProducer.particleFlowEGamma_cff import * -particleFlowEGamma.vertexCollection = "hiSelectedVertex" -gedGsfElectronCores.ctfTracks = "hiGeneralTracks" -gedGsfElectronsTmp.ctfTracksTag = "hiGeneralTracks" -gedGsfElectronsTmp.vtxTag = "hiSelectedVertex" -gedGsfElectronsTmp.preselection.minSCEtBarrel = 15.0 -gedGsfElectronsTmp.preselection.minSCEtEndcaps = 15.0 -gedGsfElectronsTmp.fillConvVtxFitProb = False - -gedPhotonsTmp.primaryVertexProducer = "hiSelectedVertex" -gedPhotonsTmp.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks" -gedPhotons.primaryVertexProducer = "hiSelectedVertex" -gedPhotons.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks" -photonIDValueMaps.vertices = "hiSelectedVertex" -from RecoHI.HiEgammaAlgos.photonIsolationHIProducer_cfi import photonIsolationHIProducer - -photonIsolationHIProducerGED = photonIsolationHIProducer.clone(photonProducer = "gedPhotonsTmp") - -#These are set for consistency w/ HiElectronSequence, but these cuts need to be studied -gedGsfElectronsTmp.preselection.maxHOverEBarrelCone = 0.25 -gedGsfElectronsTmp.preselection.maxHOverEEndcapsCone = 0.25 -gedGsfElectronsTmp.preselection.maxHOverEBarrelBc = 0.0 -gedGsfElectronsTmp.preselection.maxHOverEEndcapsBc = 0.0 -gedGsfElectronsTmp.preselection.maxEOverPBarrel = 2. -gedGsfElectronsTmp.preselection.maxEOverPEndcaps = 2. - -ootPhotonsTmp.primaryVertexProducer = "hiSelectedVertex" -ootPhotonsTmp.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks" -ootPhotons.primaryVertexProducer = "hiSelectedVertex" -ootPhotons.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks" - -from RecoParticleFlow.Configuration.RecoParticleFlow_cff import * - -mvaElectrons.vertexTag = "hiSelectedVertex" - -particleFlowBlock.elementImporters = cms.VPSet( - cms.PSet( importerName = cms.string("GSFTrackImporter"), - source = cms.InputTag("pfTrackElec"), - gsfsAreSecondary = cms.bool(False), - superClustersArePF = cms.bool(True) ), - cms.PSet( importerName = cms.string("SuperClusterImporter"), - source_eb = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"), - source_ee = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"), - maximumHoverE = cms.double(0.5), - minSuperClusterPt = cms.double(10.0), - minPTforBypass = cms.double(100.0), - hbheRecHitsTag = cms.InputTag("hbhereco"), - maxSeverityHB = cms.int32(9), - maxSeverityHE = cms.int32(9), - usePFThresholdsFromDB = cms.bool(True), - superClustersArePF = cms.bool(True) ), - # all secondary track importers - cms.PSet( importerName = cms.string("GeneralTracksImporter"), - source = cms.InputTag("pfTrack"), - muonSrc = cms.InputTag("hiMuons1stStep"), - trackQuality = cms.string("highPurity"), - cleanBadConvertedBrems = cms.bool(False), - useIterativeTracking = cms.bool(False), - DPtOverPtCuts_byTrackAlgo = cms.vdouble(-1.0,-1.0,-1.0, - 1.0,1.0), - NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3), - muonMaxDPtOPt = cms.double(1), - vetoEndcap = cms.bool(False) - ), - # to properly set SC based links you need to run ECAL importer - # after you've imported all SCs to the block - cms.PSet( importerName = cms.string("ECALClusterImporter"), - source = cms.InputTag("particleFlowClusterECAL"), - BCtoPFCMap = cms.InputTag('particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ), - cms.PSet( importerName = cms.string("GenericClusterImporter"), - source = cms.InputTag("particleFlowClusterHCAL") ), - cms.PSet( importerName = cms.string("GenericClusterImporter"), - source = cms.InputTag("particleFlowClusterHO") ), - cms.PSet( importerName = cms.string("GenericClusterImporter"), - source = cms.InputTag("particleFlowClusterHF") ), - cms.PSet( importerName = cms.string("GenericClusterImporter"), - source = cms.InputTag("particleFlowClusterPS") ) - ) - -particleFlowTmp.postMuonCleaning = False -particleFlowTmp.vertexCollection = "hiSelectedVertex" -particleFlowTmp.muons = "hiMuons1stStep" -particleFlowTmp.usePFConversions = False - -pfNoPileUpIso.enable = False -pfPileUpIso.enable = False -pfNoPileUp.enable = False -pfPileUp.enable = False -particleFlow.Muons = "muons:hiMuons1stStep2muonsMap" - - -# local reco must run before electrons (RecoHI/HiEgammaAlgos), due to PF integration -hiParticleFlowLocalRecoTask = cms.Task(particleFlowClusterTask) -hiParticleFlowLocalReco = cms.Sequence(hiParticleFlowLocalRecoTask) - -particleFlowTmpTask = cms.Task(particleFlowTmp) -particleFlowTmpSeq = cms.Sequence(particleFlowTmpTask) - -#PF Reco runs after electrons -hiParticleFlowRecoTask = cms.Task( pfGsfElectronMVASelectionTask - , particleFlowBlock - , particleFlowEGammaFullTask - , photonIsolationHIProducerGED - , particleFlowTmpTask - , fixedGridRhoFastjetAllTmp - , particleFlowTmpPtrs - , particleFlowEGammaFinalTask - , pfParticleSelectionTask - ) -hiParticleFlowReco = cms.Sequence(hiParticleFlowRecoTask) - -particleFlowLinksTask = cms.Task( particleFlow,particleFlowPtrs,chargedHadronPFTrackIsolation,particleBasedIsolationTask) -particleFlowLinks = cms.Sequence(particleFlowLinksTask) diff --git a/RecoHI/Configuration/python/customise_PF.py b/RecoHI/Configuration/python/customise_PF.py deleted file mode 100644 index 6c96201cf5a00..0000000000000 --- a/RecoHI/Configuration/python/customise_PF.py +++ /dev/null @@ -1,42 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def customise(process): - - # Customize process to run PF *without* electrons - - # add particle flow local reconstruction - process.load("RecoParticleFlow.PFClusterProducer.particleFlowCluster_cff") - process.localReco += process.particleFlowCluster - - process.load("RecoParticleFlow.PFTracking.pfTrack_cfi") - process.pfTrack.UseQuality = cms.bool(True) - process.pfTrack.TrackQuality = cms.string('highPurity') - process.pfTrack.TkColList = cms.VInputTag("hiGeneralTracks") - process.pfTrack.PrimaryVertexLabel = cms.InputTag("hiSelectedVertex") - process.pfTrack.MuColl = cms.InputTag("hiMuons1stStep") - process.pfTrack.GsfTracksInEvents = cms.bool(False) - - # run a trimmed down PF sequence with heavy-ion vertex, no conversions, nucl int, etc. - process.load("RecoParticleFlow.Configuration.RecoParticleFlow_cff") - - process.particleFlowBlock.useConvBremPFRecTracks = cms.bool(False) - process.particleFlowBlock.useIterTracking = cms.bool(False) - process.particleFlowBlock.useNuclear = cms.bool(False) - process.particleFlowBlock.useConversions = cms.bool(False) - - process.particleFlowTmp.vertexCollection = cms.InputTag("hiSelectedVertex") - process.particleFlowTmp.muons = cms.InputTag("hiMuons1stStep") - process.particleFlowTmp.usePFConversions = cms.bool(False) - - process.electronsCiCLoose.verticesCollection = cms.InputTag("hiSelectedVertex") - - # define new high-level RECO sequence and add to top-level sequence - process.highLevelRecoPbPb = cms.Sequence(process.pfTrack - * process.pfGsfElectronCiCSelectionSequence - * process.particleFlowBlock - * process.particleFlowTmp - ) - - process.reconstructionHeavyIons *= process.highLevelRecoPbPb - - return process diff --git a/RecoHI/Configuration/python/peripheralHLTFilter_cff.py b/RecoHI/Configuration/python/peripheralHLTFilter_cff.py deleted file mode 100644 index e7794cb7b389b..0000000000000 --- a/RecoHI/Configuration/python/peripheralHLTFilter_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import HLTrigger.HLTfilters.hltHighLevel_cfi -hltPerhiphHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone( - HLTPaths = ["HLT_HISinglePhoton*_Eta*_Cent50_100_*", - "HLT_HISinglePhoton*_Eta*_Cent30_100_*", - "HLT_HIFullTrack*_L1Centrality30100_*", - "HLT_HIPuAK4CaloJet*_Eta5p1_Cent50_100_v*", - "HLT_HIPuAK4CaloJet*_Eta5p1_Cent30_100_v*", - "HLT_HIDmesonHITrackingGlobal_Dpt*_Cent50_100_v*", - "HLT_HIDmesonHITrackingGlobal_Dpt*_Cent30_100_v*", - "HLT_HIL1Centralityext30100MinimumumBiasHF*", - "HLT_HIL1Centralityext50100MinimumumBiasHF*", - "HLT_HIQ2*005_Centrality3050_v*", - "HLT_HIQ2*005_Centrality5070_v*", - "HLT_HICastor*", - "HLT_HIL1Castor*", - "HLT_HIUPC*"], - throw = False, - andOr = True -) - -peripheralHLTFilterSequence = cms.Sequence( hltPerhiphHI ) diff --git a/RecoHI/HiEgammaAlgos/python/HiEgammaPostPF_cff.py b/RecoHI/HiEgammaAlgos/python/HiEgammaPostPF_cff.py deleted file mode 100644 index 96546c27f1c00..0000000000000 --- a/RecoHI/HiEgammaAlgos/python/HiEgammaPostPF_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -from RecoEgamma.EgammaIsolationAlgos.interestingEgammaIsoDetIdsSequence_cff import * -from RecoEgamma.PhotonIdentification.photonId_cff import * -from RecoEgamma.ElectronIdentification.electronIdSequence_cff import * -from RecoEgamma.EgammaHFProducers.hfEMClusteringSequence_cff import * -from RecoEgamma.EgammaIsolationAlgos.egmIsolationDefinitions_cff import * - - -eidRobustLoose.verticesCollection = "hiSelectedVertex" -eidRobustTight.verticesCollection = "hiSelectedVertex" -eidRobustHighEnergy.verticesCollection = "hiSelectedVertex" -eidLoose.verticesCollection = "hiSelectedVertex" -eidTight.verticesCollection = "hiSelectedVertex" -hfRecoEcalCandidate.VertexCollection = "hiSelectedVertex" - -egammaHighLevelRecoPostPFTask = cms.Task(interestingEgammaIsoDetIdsTask,egmIsolationTask,photonIDTask,photonIDTaskGED,eIdTask,hfEMClusteringTask) -egammaHighLevelRecoPostPF = cms.Sequence(egammaHighLevelRecoPostPFTask) diff --git a/RecoHI/HiEgammaAlgos/python/HiEgamma_cff.py b/RecoHI/HiEgammaAlgos/python/HiEgamma_cff.py deleted file mode 100644 index 0165aee2305ea..0000000000000 --- a/RecoHI/HiEgammaAlgos/python/HiEgamma_cff.py +++ /dev/null @@ -1,57 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# clustering sequence -from RecoHI.HiEgammaAlgos.HiIslandClusteringSequence_cff import * -from RecoEcal.EgammaClusterProducers.hybridClusteringSequence_cff import * -from RecoEcal.EgammaClusterProducers.multi5x5ClusteringSequence_cff import * -from RecoEcal.EgammaClusterProducers.multi5x5PreshowerClusteringSequence_cff import * -from RecoEcal.EgammaClusterProducers.preshowerClusteringSequence_cff import * -from RecoHI.HiEgammaAlgos.HiIsolationCommonParameters_cff import * -from RecoEcal.EgammaClusterProducers.particleFlowSuperClusterECAL_cfi import * - -particleFlowSuperClusterECAL.regressionConfig.vertexCollection = 'hiSelectedVertex' - -hiEcalClusteringTask = cms.Task(islandClusteringTask,hybridClusteringTask,multi5x5ClusteringTask,multi5x5PreshowerClusteringTask,preshowerClusteringTask,particleFlowSuperClusterECAL) -hiEcalClusteringSequence = cms.Sequence(hiEcalClusteringTask) - - -# reco photon producer -from RecoEgamma.EgammaPhotonProducers.photonSequence_cff import * - -# use island for the moment -photonCore.scHybridBarrelProducer = "correctedIslandBarrelSuperClusters" -photonCore.scIslandEndcapProducer = "correctedIslandEndcapSuperClusters" -photonCore.minSCEt = 8.0 -photons.minSCEtBarrel = 5.0 -photons.minSCEtEndcap = 15.0 -photons.minR9Barrel = 10. #0.94 -photons.minR9Endcap = 10. #0.95 -photons.maxHoverEEndcap = 0.5 #0.5 -photons.maxHoverEBarrel = 0.99 #0.5 -photons.primaryVertexProducer = 'hiSelectedVertex' # replace the primary vertex -photons.isolationSumsCalculatorSet.trackProducer = isolationInputParameters.track # cms.InputTag("highPurityTracks") - -from RecoHI.HiEgammaAlgos.photonIsolationHIProducer_cfi import photonIsolationHIProducer -hiPhotonTask = cms.Task(photonTask,photonIsolationHIProducer) -hiPhotonSequence = cms.Sequence(hiPhotonTask) - -# HI Ecal reconstruction -hiEcalClustersTask = cms.Task(hiEcalClusteringTask) -hiEcalClusters = cms.Sequence(hiEcalClustersTask) -hiEgammaTask = cms.Task(hiPhotonTask) -hiEgammaSequence = cms.Sequence(hiEgammaTask) - -# HI Spike Clean Sequence -import RecoHI.HiEgammaAlgos.hiSpikeCleaner_cfi -hiSpikeCleanedSC = RecoHI.HiEgammaAlgos.hiSpikeCleaner_cfi.hiSpikeCleaner.clone() -cleanPhotonCore = photonCore.clone( - scHybridBarrelProducer = "hiSpikeCleanedSC" -) -cleanPhotons = photons.clone( - photonCoreProducer = cms.InputTag("cleanPhotonCore") -) - -hiPhotonCleaningTask = cms.Task(hiSpikeCleanedSC, - cleanPhotonCore, - cleanPhotons) -hiPhotonCleaningSequence = cms.Sequence(hiPhotonCleaningTask) diff --git a/RecoHI/HiEgammaAlgos/python/HiElectronSequence_cff.py b/RecoHI/HiEgammaAlgos/python/HiElectronSequence_cff.py deleted file mode 100644 index 259fd7f9f714c..0000000000000 --- a/RecoHI/HiEgammaAlgos/python/HiElectronSequence_cff.py +++ /dev/null @@ -1,45 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -# creates the recoGsfTracks_electronGsfTracks__RECO = input GSF tracks -from TrackingTools.GsfTracking.GsfElectronTracking_cff import * -ecalDrivenElectronSeeds.initialSeedsVector = ["hiPixelTrackSeeds"] -electronCkfTrackCandidates.src = "ecalDrivenElectronSeeds" - -ecalDrivenElectronSeeds.maxHOverEBarrel = 0.25 -ecalDrivenElectronSeeds.maxHOverEEndcaps = 0.25 - -electronGsfTrackingHiTask = cms.Task(ecalDrivenElectronSeeds , - electronCkfTrackCandidates , - electronGsfTracks) - -from RecoEgamma.EgammaElectronProducers.gsfElectronSequence_cff import * - -ecalDrivenGsfElectrons.ctfTracksTag = "hiGeneralTracks" -ecalDrivenGsfElectronCores.ctfTracks = "hiGeneralTracks" -ecalDrivenGsfElectrons.vtxTag = "hiSelectedVertex" - -ecalDrivenGsfElectrons.preselection.maxHOverEBarrelCone = 0.25 -ecalDrivenGsfElectrons.preselection.maxHOverEEndcapsCone = 0.25 -ecalDrivenGsfElectrons.preselection.maxHOverEBarrelBc = 0. -ecalDrivenGsfElectrons.preselection.maxHOverEEndcapsBc = 0. -ecalDrivenGsfElectrons.fillConvVtxFitProb = False - - -from RecoParticleFlow.PFTracking.pfTrack_cfi import * -pfTrack.UseQuality = True -pfTrack.TrackQuality = 'highPurity' -pfTrack.TkColList = ["hiGeneralTracks"] -pfTrack.PrimaryVertexLabel = "hiSelectedVertex" -pfTrack.MuColl = "hiMuons1stStep" - -from RecoParticleFlow.PFTracking.pfTrackElec_cfi import * -pfTrackElec.applyGsfTrackCleaning = True -pfTrackElec.PrimaryVertexLabel = "hiSelectedVertex" - -hiElectronTask = cms.Task(electronGsfTrackingHiTask , - pfTrack , - pfTrackElec , - gsfEcalDrivenElectronTask - ) -hiElectronSequence = cms.Sequence(hiElectronTask) diff --git a/RecoHI/HiEgammaAlgos/python/RecoHiEgamma_EventContent_cff.py b/RecoHI/HiEgammaAlgos/python/RecoHiEgamma_EventContent_cff.py deleted file mode 100644 index 72a10eb316d9f..0000000000000 --- a/RecoHI/HiEgammaAlgos/python/RecoHiEgamma_EventContent_cff.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# AOD content -RecoHiEgammaAOD = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep floatedmValueMap_*_*_*', - 'keep recoGsfElectrons_gedGsfElectronsTmp_*_*', - 'keep recoSuperClusters_correctedIslandBarrelSuperClusters_*_*', - 'keep recoSuperClusters_correctedIslandEndcapSuperClusters_*_*', - 'keep recoPhotons_gedPhotonsTmp_*_*', - 'keep recoHIPhotonIsolationedmValueMap_photonIsolationHIProducer_*_*', - 'keep recoHIPhotonIsolationedmValueMap_photonIsolationHIProducerGED_*_*', - 'keep recoElectronSeeds_ecalDrivenElectronSeeds_*_*', - 'keep recoTrackExtras_electronGsfTracks_*_*') -) - -# RECO content -RecoHiEgammaRECO = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep recoSuperClusters_cleanedHybridSuperClusters_*_*', - 'keep recoSuperClusters_correctedEndcapSuperClustersWithPreshower_*_*', - 'keep recoSuperClusters_correctedHybridSuperClusters_*_*', - 'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*', - 'keep recoSuperClusters_hybridSuperClusters_*_*', - 'keep recoSuperClusters_islandSuperClusters_*_*', - 'keep recoSuperClusters_mergedSuperClusters_*_*', - 'keep recoSuperClusters_multi5x5SuperClusters_*_*', - 'keep recoSuperClusters_multi5x5SuperClustersCleaned_*_*', - 'keep recoSuperClusters_multi5x5SuperClustersUncleaned_*_*', - 'keep recoSuperClusters_multi5x5SuperClustersWithPreshower_*_*', - 'keep recoSuperClusters_particleFlowEGamma_*_*', - 'keep recoSuperClusters_particleFlowSuperClusterECAL_*_*', - 'keep recoSuperClusters_uncleanedHybridSuperClusters_*_*', - 'keep recoSuperClusters_uncleanedOnlyCorrectedHybridSuperClusters_*_*', - 'keep recoSuperClusters_uncleanedOnlyCorrectedMulti5x5SuperClustersWithPreshower_*_*', - 'keep recoSuperClusters_uncleanedOnlyMulti5x5SuperClustersWithPreshower_*_*', - 'keep recoCaloClusters_particleFlowEGamma_*_*', - 'keep recoCaloClusters_cleanedHybridSuperClusters_*_*', - 'keep recoCaloClusters_hybridSuperClusters_*_*', - 'keep recoCaloClusters_uncleanedHybridSuperClusters_*_*', - 'keep recoCaloClusters_islandBasicClusters_*_*', - 'keep recoCaloClusters_multi5x5BasicClustersCleaned_*_*', - 'keep recoCaloClusters_multi5x5BasicClustersUncleaned_*_*', - 'keep recoCaloClusters_multi5x5SuperClusters_*_*', - 'keep recoCaloClusters_particleFlowSuperClusterECAL_*_*', - 'keep recoCaloClusters_multi5x5SuperClusters_*_*', - 'keep EcalRecHitsSorted_ecalRecHit_*_*', - 'keep EcalRecHitsSorted_ecalPreshowerRecHit_*_*', - 'keep EBSrFlagsSorted_ecalDigis__*', - 'keep EESrFlagsSorted_ecalDigis__*', - 'keep recoPFCandidates_particleFlowEGamma_*_*', - 'keep recoPFCandidates_particleFlowTmp_*_*', - 'keep recoGsfElectrons_ecalDrivenGsfElectrons_*_*', - 'keep recoGsfElectrons_electronsWithPresel_*_*', - 'keep recoGsfElectrons_gedGsfElectronsTmp_*_*', - 'keep recoGsfElectrons_mvaElectrons_*_*') -) -RecoHiEgammaRECO.outputCommands.extend(RecoHiEgammaAOD.outputCommands) - -# FEVT content -RecoHiEgammaFEVT = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep recoSuperClusters_*_*_*', - 'keep recoCaloClusters_*_*_*', - 'keep EcalRecHitsSorted_*_*_*', - 'keep recoPFCandidates_*_*_*', - 'keep recoElectronSeeds_*_*_*', - 'keep recoGsfElectrons_*_*_*') -) -RecoHiEgammaFEVT.outputCommands.extend(RecoHiEgammaRECO.outputCommands) diff --git a/RecoHI/HiJetAlgos/python/RecoHiJets_EventContent_cff.py b/RecoHI/HiJetAlgos/python/RecoHiJets_EventContent_cff.py deleted file mode 100644 index 51a3247abdf4b..0000000000000 --- a/RecoHI/HiJetAlgos/python/RecoHiJets_EventContent_cff.py +++ /dev/null @@ -1,37 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# AOD content -RecoHiJetsAOD = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_ak4CaloJets_*_*', - 'keep *_akPu3CaloJets_*_*', - 'keep *_akPu4CaloJets_*_*', - 'keep *_akPu5CaloJets_*_*', - 'keep *_iterativeConePu5CaloJets_*_*', - 'keep *_ak4PFJets_*_*', - 'keep *_akPu3PFJets_*_*', - 'keep *_akPu4PFJets_*_*', - 'keep *_akPu5PFJets_*_*', - 'keep *_akCs3PFJets_*_*', - 'keep *_akCs4PFJets_*_*', - 'keep *_*HiGenJets_*_*', - 'keep *_*PFTowers_*_*', - 'keep *_*hiFJRhoProducer_*_*', - 'keep CaloTowersSorted_towerMaker_*_*', - 'keep recoPFCandidates_particleFlowTmp_*_*') -) - -# RECO content -RecoHiJetsRECO = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_kt4PFJetsForRho_*_*') -) -RecoHiJetsRECO.outputCommands.extend(RecoHiJetsAOD.outputCommands) - -#Full Event content -RecoHiJetsFEVT = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_*CaloJets_*_*', - 'keep *_*PFJets_*_*') -) -RecoHiJetsFEVT.outputCommands.extend(RecoHiJetsRECO.outputCommands) diff --git a/RecoHI/HiJetAlgos/python/hiCaloJetsForTrk_cff.py b/RecoHI/HiJetAlgos/python/hiCaloJetsForTrk_cff.py deleted file mode 100644 index cb5d95fb87116..0000000000000 --- a/RecoHI/HiJetAlgos/python/hiCaloJetsForTrk_cff.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi import calotowermaker -from RecoHI.HiJetAlgos.HiRecoJets_cff import akPu4CaloJets -from JetMETCorrections.Configuration.CorrectedJetProducersDefault_cff import ak4CaloJetsL2L3, ak4CaloL2L3Corrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector - -hiCaloTowerForTrk = calotowermaker.clone( hbheInput = 'hbheprereco') -akPu4CaloJetsForTrk = akPu4CaloJets.clone( srcPVs = 'hiSelectedPixelVertex', src = 'hiCaloTowerForTrk') - -akPu4CaloJetsCorrected = ak4CaloJetsL2L3.clone( - src = "akPu4CaloJetsForTrk" -) - -akPu4CaloJetsSelected = cms.EDFilter( "LargestEtCaloJetSelector", - src = cms.InputTag( "akPu4CaloJetsCorrected" ), - filter = cms.bool( False ), - maxNumber = cms.uint32( 4 ) -) - -hiCaloJetsForTrkTask = cms.Task(hiCaloTowerForTrk,akPu4CaloJetsForTrk,akPu4CaloJetsCorrected,akPu4CaloJetsSelected,ak4CaloL2L3Corrector,ak4CaloL2RelativeCorrector,ak4CaloL3AbsoluteCorrector) diff --git a/RecoHI/HiMuonAlgos/plugins/BuildFile.xml b/RecoHI/HiMuonAlgos/plugins/BuildFile.xml deleted file mode 100644 index b8032f35afcdb..0000000000000 --- a/RecoHI/HiMuonAlgos/plugins/BuildFile.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/RecoHI/HiMuonAlgos/plugins/HIMuonTrackingRegionProducer.h b/RecoHI/HiMuonAlgos/plugins/HIMuonTrackingRegionProducer.h deleted file mode 100644 index 264c71106527d..0000000000000 --- a/RecoHI/HiMuonAlgos/plugins/HIMuonTrackingRegionProducer.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef RecoHI_HiTracking_HIMuonTrackingRegionProducer_H -#define RecoHI_HiTracking_HIMuonTrackingRegionProducer_H - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" - -#include "RecoTracker/TkTrackingRegions/interface/TrackingRegionProducer.h" -#include "RecoTracker/TkTrackingRegions/interface/RectangularEtaPhiTrackingRegion.h" -#include "RecoMuon/GlobalTrackingTools/interface/MuonTrackingRegionBuilder.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" - -class HIMuonTrackingRegionProducer : public TrackingRegionProducer { -public: - HIMuonTrackingRegionProducer(const edm::ParameterSet& cfg, edm::ConsumesCollector&& iC) { - // get parameters from PSet - theMuonSource = cfg.getParameter("MuonSrc"); - theMuonSourceToken = iC.consumes(theMuonSource); - - // initialize region builder - edm::ParameterSet regionBuilderPSet = cfg.getParameter("MuonTrackingRegionBuilder"); - theRegionBuilder = new MuonTrackingRegionBuilder(regionBuilderPSet, iC); - - // initialize muon service proxy - edm::ParameterSet servicePSet = cfg.getParameter("ServiceParameters"); - } - - ~HIMuonTrackingRegionProducer() override {} - - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) { - edm::ParameterSetDescription desc; - - desc.add("MuonSrc", edm::InputTag("")); - - edm::ParameterSetDescription descRegion; - MuonTrackingRegionBuilder::fillDescriptionsOffline(descRegion); - desc.add("MuonTrackingRegionBuilder", descRegion); - - edm::ParameterSetDescription descService; - descService.setAllowAnything(); - desc.add("ServiceParameters", descService); - - descriptions.add("HiTrackingRegionEDProducer", desc); - } - - std::vector > regions(const edm::Event& ev, - const edm::EventSetup& es) const override { - // initialize output vector of tracking regions - std::vector > result; - - // initialize the region builder - theRegionBuilder->setEvent(ev, es); - - // get stand-alone muon collection - edm::Handle muonH; - ev.getByToken(theMuonSourceToken, muonH); - - // loop over all muons and add a tracking region for each - // that passes the requirements specified to theRegionBuilder - unsigned int nMuons = muonH->size(); - //std::cout << "there are " << nMuons << " muon(s)" << std::endl; - - // TO DO: this can be extended further to a double-loop - // over all combinations of muons, returning tracking regions - // for pairs that pass some loose invariant mass cuts - for (unsigned int imu = 0; imu < nMuons; imu++) { - reco::TrackRef muRef(muonH, imu); - //std::cout << "muon #" << imu << ": pt=" << muRef->pt() << std::endl; - result.push_back(theRegionBuilder->region(muRef)); - } - - return result; - } - -private: - edm::InputTag theMuonSource; - edm::EDGetTokenT theMuonSourceToken; - MuonTrackingRegionBuilder* theRegionBuilder; -}; - -#endif diff --git a/RecoHI/HiMuonAlgos/plugins/SealModule.cc b/RecoHI/HiMuonAlgos/plugins/SealModule.cc deleted file mode 100644 index 886f185058719..0000000000000 --- a/RecoHI/HiMuonAlgos/plugins/SealModule.cc +++ /dev/null @@ -1,14 +0,0 @@ -#include "FWCore/PluginManager/interface/ModuleDef.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/SourceFactory.h" - -using namespace cms; - -#include "RecoTracker/TkTrackingRegions/interface/TrackingRegionProducerFactory.h" -#include "RecoTracker/TkTrackingRegions/interface/TrackingRegionProducer.h" -#include "HIMuonTrackingRegionProducer.h" -DEFINE_EDM_PLUGIN(TrackingRegionProducerFactory, HIMuonTrackingRegionProducer, "HIMuonTrackingRegionProducer"); - -#include "RecoTracker/TkTrackingRegions/interface/TrackingRegionEDProducerT.h" -using HIMuonTrackingRegionEDProducer = TrackingRegionEDProducerT; -DEFINE_FWK_MODULE(HIMuonTrackingRegionEDProducer); diff --git a/RecoHI/HiMuonAlgos/python/HiRecoMuon_cff.py b/RecoHI/HiMuonAlgos/python/HiRecoMuon_cff.py deleted file mode 100644 index 05bc5b90ce2be..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRecoMuon_cff.py +++ /dev/null @@ -1,61 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoMuon.Configuration.RecoMuonPPonly_cff import * - -hiTracks = 'hiGeneralTracks' #heavy ion track label - -# replace with heavy ion track label -hiMuons1stStep = muons1stStep.clone( - inputCollectionLabels = [hiTracks, 'globalMuons', 'standAloneMuons:UpdatedAtVtx','tevMuons:firstHit','tevMuons:picky','tevMuons:dyt'], - inputCollectionTypes = ['inner tracks', 'links', 'outer tracks','tev firstHit', 'tev picky', 'tev dyt'], - TrackExtractorPSet = dict(inputTrackCollection = hiTracks), - minPt = 0.8, - #iso deposits are not used in HI - writeIsoDeposits = False, - #fillGlobalTrackRefits = False -) - -muonEcalDetIds.inputCollection = "hiMuons1stStep" -muIsoDepositTk.inputTags = ["hiMuons1stStep:tracker"] -muIsoDepositJets.inputTags = ["hiMuons1stStep:jets"] -muIsoDepositCalByAssociatorTowers.inputTags = ["hiMuons1stStep:ecal", "hiMuons1stStep:hcal", "hiMuons1stStep:ho"] -muonShowerInformation.muonCollection = "hiMuons1stStep" - -#don't modify somebody else's sequence, create a new one if needed -#standalone muon tracking is already done... so remove standalonemuontracking from muontracking -from FWCore.ParameterSet.SequenceTypes import ModuleNodeVisitor -_excludes=[] -_visitor=ModuleNodeVisitor(_excludes) -standalonemuontracking.visit(_visitor) -displacedGlobalMuonTracking.visit(_visitor) -muonreco_plus_isolation_PbPbTask = muonreco_plus_isolationTask.copyAndExclude(_excludes) - -muonreco_plus_isolation_PbPbTask.replace(muons1stStep, hiMuons1stStep) -#iso deposits are not used in HI -muonreco_plus_isolation_PbPbTask.remove(muIsoDeposits_muonsTask) -muonreco_plus_isolation_PbPb = cms.Sequence(muonreco_plus_isolation_PbPbTask) - -globalMuons.TrackerCollectionLabel = hiTracks - -# replace with heavy ion jet label -hiMuons1stStep.JetExtractorPSet.JetCollectionLabel = "iterativeConePu5CaloJets" - -# turn off calo muons for timing considerations -hiMuons1stStep.minPCaloMuon = 1.0E9 - -# high level reco -from RecoMuon.MuonIdentification.muons_cfi import muons -muons = muons.clone( - InputMuons = "hiMuons1stStep", - PFCandidates = "particleFlowTmp", - FillDetectorBasedIsolation = False, - FillPFIsolation = False, - FillSelectorMaps = False, - FillShoweringInfo = False, - FillCosmicsIdMap = False, - vertices = "hiSelectedVertex" -) -muonRecoHighLevelPbPbTask = cms.Task(muons) - -# HI muon sequence (passed to RecoHI.Configuration.Reconstruction_HI_cff) -muonRecoPbPbTask = cms.Task(muonreco_plus_isolation_PbPbTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegionalRecoMuon_cff.py b/RecoHI/HiMuonAlgos/python/HiRegionalRecoMuon_cff.py deleted file mode 100644 index 22a2deba440b6..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegionalRecoMuon_cff.py +++ /dev/null @@ -1,71 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoMuon.Configuration.RecoMuonPPonly_cff import * -from RecoHI.HiMuonAlgos.hiMuonIterativeTk_cff import * - -# pretty much everything is as the pp sequence -hiReMuTracks = "hiGeneralAndRegitMuTracks" - -# global muon track -reglobalMuons = globalMuons.clone( - TrackerCollectionLabel = hiReMuTracks -) -# tevMuons tracks -retevMuons = tevMuons.clone( - MuonCollectionLabel = "reglobalMuons" -) - -# trackquality collections -reglbTrackQual = glbTrackQual.clone( - InputCollection = "reglobalMuons", - InputLinksCollection = "reglobalMuons" -) - -#recoMuons -remuons = muons1stStep.clone( - inputCollectionLabels = [hiReMuTracks, 'reglobalMuons', 'standAloneMuons:UpdatedAtVtx','retevMuons:firstHit','retevMuons:picky','retevMuons:dyt'], - globalTrackQualityInputTag = 'reglbTrackQual', - JetExtractorPSet = dict( JetCollectionLabel = "iterativeConePu5CaloJets"), - TrackExtractorPSet = dict( inputTrackCollection = hiReMuTracks), - minPt = 0.8 -) -remuonEcalDetIds = muonEcalDetIds.clone( - inputCollection = "remuons" -) -#muons.fillGlobalTrackRefits = False - -# deposits -remuIsoDepositTk = muIsoDepositTk.clone( - inputTags = ["remuons:tracker"] -) -remuIsoDepositJets = muIsoDepositJets.clone( - inputTags = ["remuons:jets"] -) -remuIsoDepositCalByAssociatorTowers = muIsoDepositCalByAssociatorTowers.clone( - inputTags = ["remuons:ecal", "remuons:hcal", "remuons:ho"] -) -remuonShowerInformation = muonShowerInformation.clone( - muonCollection = "remuons" -) -# replace the new names - -remuonIdProducerTask = cms.Task(reglbTrackQual,remuons,remuonEcalDetIds,remuonShowerInformation) -remuIsoDeposits_muonsTask = cms.Task(remuIsoDepositTk,remuIsoDepositCalByAssociatorTowers,remuIsoDepositJets) -remuIsolation_muonsTask = cms.Task(remuIsoDeposits_muonsTask) -remuIsolationTask = cms.Task(remuIsolation_muonsTask) -#run this if there are no STA muons in events -muontrackingTask = cms.Task(standAloneMuonSeedsTask , standAloneMuons , hiRegitMuTrackingTask , reglobalMuons) - -#the default setting assumes the STA is already in the event -muontracking_reTask = cms.Task(hiRegitMuTrackingTask , reglobalMuons) -muontracking_with_TeVRefinement_reTask = cms.Task(muontracking_reTask , retevMuons) -muonreco_reTask = cms.Task(muontracking_reTask , remuonIdProducerTask) -muonreco_re = cms.Sequence(muonreco_reTask) -muonrecowith_TeVRefinemen_reTask = cms.Task(muontracking_with_TeVRefinement_reTask , remuonIdProducerTask) -muonrecowith_TeVRefinemen_re = cms.Sequence(muonrecowith_TeVRefinemen_reTask) -muonreco_plus_isolation_reTask = cms.Task(muonrecowith_TeVRefinemen_reTask , remuIsolationTask) -muonreco_plus_isolation_re = cms.Sequence(muonreco_plus_isolation_reTask) - -reMuonTrackRecoPbPb = cms.Sequence(muontracking_reTask) -# HI muon sequence (passed to RecoHI.Configuration.Reconstruction_HI_cff) -regionalMuonRecoPbPb = cms.Sequence(muonreco_plus_isolation_reTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py deleted file mode 100644 index 99d3eba335fda..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py +++ /dev/null @@ -1,158 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 3rd step: low-pT and displaced tracks from pixel triplets - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -# Are the following values set to the same in every iteration? If yes, -# why not making the change in HITrackingRegionProducer_cfi directly -# once for all? -hiRegitMuDetachedTripletStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone( - MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat? - MuonTrackingRegionBuilder = dict( - vertexCollection = "hiSelectedPixelVertex", - UseVertex = True, - Phi_fixed = True, - Eta_fixed = True, - DeltaPhi = 0.3, - DeltaEta = 0.2, - # Ok, the following ones are specific to DetachedTripletStep - Pt_min = 0.9, - DeltaR = 2.0, # default = 0.2 - DeltaZ = 2.0, # this give you the length - Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError()) - ) -) - -################################### -import RecoTracker.IterativeTracking.DetachedTripletStep_cff - -# NEW CLUSTERS (remove previously used clusters) -from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover -hiRegitMuDetachedTripletStepClusters = _trackClusterRemover.clone( - maxChi2 = 9.0, - pixelClusters = "siPixelClusters", - stripClusters = "siStripClusters", - trajectories = "hiRegitMuPixelLessStepTracks", - overrideTrkQuals = 'hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep', - TrackQuality = 'tight', - trackClassifier = '', - minNumberOfLayersWithMeasBeforeFiltering = 0 -) - - -# SEEDING LAYERS -hiRegitMuDetachedTripletStepSeedLayers = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone( - BPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters'), - FPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters') -) - -# seeding -hiRegitMuDetachedTripletStepHitDoublets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitDoublets.clone( - seedingLayers = "hiRegitMuDetachedTripletStepSeedLayers", - trackingRegions = "hiRegitMuDetachedTripletStepTrackingRegions", - clusterCheck = "hiRegitMuClusterCheck", -) - -hiRegitMuDetachedTripletStepHitTriplets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitTriplets.clone( - doublets = "hiRegitMuDetachedTripletStepHitDoublets" -) - -hiRegitMuDetachedTripletStepSeeds = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone( - seedingHitSets = "hiRegitMuDetachedTripletStepHitTriplets" -) -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * - - -# building: feed the new-named seeds -hiRegitMuDetachedTripletStepTrajectoryFilterBase = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone( - minPt = 0.8 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = 3, -) - -hiRegitMuDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilter.clone( - filters = cms.VPSet( - cms.PSet( refToPSet_ = cms.string('hiRegitMuDetachedTripletStepTrajectoryFilterBase')), - cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape'))) -) - -hiRegitMuDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone( - clustersToSkip = cms.InputTag('hiRegitMuDetachedTripletStepClusters') -) - -hiRegitMuDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff._detachedTripletStepTrackCandidatesCkf.clone( - src = 'hiRegitMuDetachedTripletStepSeeds', - clustersToSkip = 'hiRegitMuDetachedTripletStepClusters' -) - -# fitting: feed new-names -hiRegitMuDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone( - AlgorithmName = 'hiRegitMuDetachedTripletStep', - src = 'hiRegitMuDetachedTripletStepTrackCandidates' -) - -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMuDetachedTripletStepTracks', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuDetachedTripletStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuDetachedTripletStepTight', - preFilterName = 'hiRegitMuDetachedTripletStepLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuDetachedTripletStep', - preFilterName = 'hiRegitMuDetachedTripletStepTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.09 - ) - ) #end of vpset -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuDetachedTripletStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuDetachedTripletStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuDetachedTripletStepTight', - preFilterName = 'hiRegitMuDetachedTripletStepLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuDetachedTripletStep', - preFilterName = 'hiRegitMuDetachedTripletStepTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.09 - ) - ) -) - -hiRegitMuonDetachedTripletStepTask = cms.Task(hiRegitMuDetachedTripletStepClusters, - hiRegitMuDetachedTripletStepSeedLayers, - hiRegitMuDetachedTripletStepTrackingRegions, - hiRegitMuDetachedTripletStepHitDoublets, - hiRegitMuDetachedTripletStepHitTriplets, - hiRegitMuDetachedTripletStepSeeds, - hiRegitMuDetachedTripletStepTrackCandidates, - hiRegitMuDetachedTripletStepTracks, - hiRegitMuDetachedTripletStepSelector - ) -hiRegitMuonDetachedTripletStep = cms.Sequence(hiRegitMuonDetachedTripletStepTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py deleted file mode 100644 index 0d62dcb9cd7b5..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py +++ /dev/null @@ -1,143 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 0st step:pixel-triplet seeding, high-pT; -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -# Are the following values set to the same in every iteration? If yes, -# why not making the change in HITrackingRegionProducer_cfi directly -# once for all? -hiRegitMuInitialStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone( - MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat? - MuonTrackingRegionBuilder = dict( - vertexCollection = "hiSelectedPixelVertex", - UseVertex = True, - Phi_fixed = True, - Eta_fixed = True, - DeltaPhi = 0.3, - DeltaEta = 0.2, - # Ok, the following ones are specific to InitialStep - Pt_min = 3.0, - DeltaR = 1, # default = 0.2 - DeltaZ = 1, # this give you the length - Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError()) - ) -) - -################################### -import RecoTracker.IterativeTracking.InitialStep_cff -from RecoTracker.IterativeTracking.InitialStep_cff import initialStepTrajectoryFilterShape,initialStepChi2Est - -# SEEDING LAYERS -hiRegitMuInitialStepSeedLayers = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeedLayers.clone() - -# seeding -hiRegitMuInitialStepHitDoublets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitDoublets.clone( - seedingLayers = "hiRegitMuInitialStepSeedLayers", - trackingRegions = "hiRegitMuInitialStepTrackingRegions", - clusterCheck = "hiRegitMuClusterCheck" -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuInitialStepHitDoublets, layerPairs = [0]) - -hiRegitMuInitialStepHitTriplets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitTriplets.clone( - doublets = "hiRegitMuInitialStepHitDoublets" -) -hiRegitMuInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone( - seedingHitSets = "hiRegitMuInitialStepHitTriplets" -) - -# building: feed the new-named seeds -hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone( - minPt = 2.5 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3), -) -hiRegitMuInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilter.clone( - filters = cms.VPSet( - cms.PSet( refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilterBase')), - cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape'))) -) - -hiRegitMuInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet( - refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilter') - ), -) - -# track candidates -hiRegitMuInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff._initialStepTrackCandidatesCkf.clone( - src = 'hiRegitMuInitialStepSeeds', - TrajectoryBuilderPSet = cms.PSet( - refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder') - ), - maxNSeeds = 1000000 -) - -# fitting: feed new-names -hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone( - AlgorithmName = 'hiRegitMuInitialStep', - src = 'hiRegitMuInitialStepTrackCandidates' -) - - -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src ='hiRegitMuInitialStepTracks', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter4', - GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuInitialStepLoose', - min_nhits = 8 - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuInitialStepTight', - preFilterName = 'hiRegitMuInitialStepLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.38 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuInitialStep', - preFilterName = 'hiRegitMuInitialStepTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.77 - ), - ) #end of vpset -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuInitialStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuInitialStepLoose', - min_nhits = 8 - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuInitialStepTight', - preFilterName = 'hiRegitMuInitialStepLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.38 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuInitialStep', - preFilterName = 'hiRegitMuInitialStepTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.77 - ), - ) -) - -hiRegitMuonInitialStepTask = cms.Task(hiRegitMuInitialStepSeedLayers, - hiRegitMuInitialStepTrackingRegions, - hiRegitMuInitialStepHitDoublets, - hiRegitMuInitialStepHitTriplets, - hiRegitMuInitialStepSeeds, - hiRegitMuInitialStepTrackCandidates, - hiRegitMuInitialStepTracks, - hiRegitMuInitialStepSelector) -hiRegitMuonInitialStep = cms.Sequence(hiRegitMuonInitialStepTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py deleted file mode 100644 index 248cc50164641..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py +++ /dev/null @@ -1,191 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 4th step: large impact parameter tracking using mixed-triplet seeding - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -# Are the following values set to the same in every iteration? If yes, -# why not making the change in HITrackingRegionProducer_cfi directly -# once for all? -hiRegitMuMixedTripletStepTrackingRegionsA = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone( - MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat? - MuonTrackingRegionBuilder = dict( - vertexCollection = "hiSelectedPixelVertex", - UseVertex = True, - Phi_fixed = True, - Eta_fixed = True, - DeltaPhi = 0.3, - DeltaEta = 0.2, - # Ok, the following ones are specific to MixedTripletStep - Pt_min = 1.3, - DeltaR = 0.5, # default = 0.2 - DeltaZ = 0.5, # this give you the length - Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError()) - ) -) -hiRegitMuMixedTripletStepTrackingRegionsB = hiRegitMuMixedTripletStepTrackingRegionsA.clone( - MuonTrackingRegionBuilder = dict(Pt_min = 1.5) -) - -################################### -import RecoTracker.IterativeTracking.MixedTripletStep_cff -from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryBuilder,mixedTripletStepClusterShapeHitFilter,mixedTripletStepTrajectoryCleanerBySharedHits,mixedTripletStepChi2Est - -# NEW CLUSTERS (remove previously used clusters) -hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone( - oldClusterRemovalInfo = "hiRegitMuPixelPairStepClusters", - trajectories = "hiRegitMuPixelPairStepTracks", - overrideTrkQuals = 'hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep', - trackClassifier = '', - TrackQuality = 'tight' -) - - -# SEEDING LAYERS A -hiRegitMuMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone( - BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'), - FPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'), - TEC = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters') -) -# SEEDS A -hiRegitMuMixedTripletStepHitDoubletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsA.clone( - seedingLayers = "hiRegitMuMixedTripletStepSeedLayersA", - trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsA", - clusterCheck = "hiRegitMuClusterCheck", -) -hiRegitMuMixedTripletStepHitTripletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsA.clone( - doublets = "hiRegitMuMixedTripletStepHitDoubletsA" -) -hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone( - seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsA" -) - -# SEEDING LAYERS B -hiRegitMuMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone( - BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'), - TIB = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters') -) - -hiRegitMuMixedTripletStepHitDoubletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsB.clone( - seedingLayers = "hiRegitMuMixedTripletStepSeedLayersB", - trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsB", - clusterCheck = "hiRegitMuClusterCheck", -) -hiRegitMuMixedTripletStepHitTripletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsB.clone( - doublets = "hiRegitMuMixedTripletStepHitDoubletsB" -) -hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone( - seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsB" -) - -# combine seeds -hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone( - seedCollections = [ - 'hiRegitMuMixedTripletStepSeedsA', - 'hiRegitMuMixedTripletStepSeedsB', - ] -) - -# track building -hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone( - minPt = 1., - minimumNumberOfHits = 6, - minHitsMinPt = 4 -) - - # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3), - -hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet( - refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryFilter') - ), - minNrOfHitsForRebuild = 6 #change from default 4 -) - -hiRegitMuMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff._mixedTripletStepTrackCandidatesCkf.clone( - src = 'hiRegitMuMixedTripletStepSeeds', - TrajectoryBuilderPSet = cms.PSet( - refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder') - ), - clustersToSkip = 'hiRegitMuMixedTripletStepClusters', - maxNSeeds = 1000000 -) - -# fitting: feed new-names -hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone( - AlgorithmName = 'hiRegitMuMixedTripletStep', - src = 'hiRegitMuMixedTripletStepTrackCandidates', -) - -# TRACK SELECTION AND QUALITY FLAG SETTING. -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMuMixedTripletStepTracks', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuMixedTripletStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuMixedTripletStepTight', - preFilterName = 'hiRegitMuMixedTripletStepLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuMixedTripletStep', - preFilterName = 'hiRegitMuMixedTripletStepTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.09 - ) - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuMixedTripletStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuMixedTripletStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuMixedTripletStepTight', - preFilterName = 'hiRegitMuMixedTripletStepLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuMixedTripletStep', - preFilterName = 'hiRegitMuMixedTripletStepTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.09 - ) - ) #end of vpset -) - -hiRegitMuonMixedTripletStepTask = cms.Task(hiRegitMuMixedTripletStepClusters, - hiRegitMuMixedTripletStepSeedLayersA, - hiRegitMuMixedTripletStepTrackingRegionsA, - hiRegitMuMixedTripletStepHitDoubletsA, - hiRegitMuMixedTripletStepHitTripletsA, - hiRegitMuMixedTripletStepSeedsA, - hiRegitMuMixedTripletStepSeedLayersB, - hiRegitMuMixedTripletStepTrackingRegionsB, - hiRegitMuMixedTripletStepHitDoubletsB, - hiRegitMuMixedTripletStepHitTripletsB, - hiRegitMuMixedTripletStepSeedsB, - hiRegitMuMixedTripletStepSeeds, - hiRegitMuMixedTripletStepTrackCandidates, - hiRegitMuMixedTripletStepTracks, - hiRegitMuMixedTripletStepSelector) -hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuonMixedTripletStepTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py deleted file mode 100644 index 72c97cdc4dae2..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py +++ /dev/null @@ -1,155 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 5th step: large impact parameter tracking using TIB/TID/TEC stereo layer seeding - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -# Are the following values set to the same in every iteration? If yes, -# why not making the change in HITrackingRegionProducer_cfi directly -# once for all? -hiRegitMuPixelLessStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone( - MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat? - MuonTrackingRegionBuilder = dict( - vertexCollection = "hiSelectedPixelVertex", - UseVertex = True, - Phi_fixed = True, - Eta_fixed = True, - # Ok, the following ones are specific to PixelLessStep - DeltaPhi = 0.2, - DeltaEta = 0.1, - Pt_min = 2.0, - DeltaR = 0.2, # default = 0.2 - DeltaZ = 0.2, # this give you the length - Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError()) - ) -) - -################################### -import RecoTracker.IterativeTracking.PixelLessStep_cff -from RecoTracker.IterativeTracking.PixelLessStep_cff import pixelLessStepTrajectoryBuilder,pixelLessStepClusterShapeHitFilter,pixelLessStepTrajectoryCleanerBySharedHits,pixelLessStepChi2Est - -# remove previously used clusters -hiRegitMuPixelLessStepClusters = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepClusters.clone( - oldClusterRemovalInfo = "hiRegitMuMixedTripletStepClusters", - trajectories = "hiRegitMuMixedTripletStepTracks", - overrideTrkQuals = 'hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep', - trackClassifier = '', - TrackQuality = 'tight' -) - -# SEEDING LAYERS -hiRegitMuPixelLessStepSeedLayers = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeedLayers.clone( - TIB = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'), - TID = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'), - TEC = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'), - MTIB = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'), - MTID = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'), - MTEC = dict(skipClusters = 'hiRegitMuPixelLessStepClusters') -) - -# seeding -hiRegitMuPixelLessStepHitDoublets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitDoublets.clone( - seedingLayers = "hiRegitMuPixelLessStepSeedLayers", - trackingRegions = "hiRegitMuPixelLessStepTrackingRegions", - clusterCheck = "hiRegitMuClusterCheck", -) -hiRegitMuPixelLessStepHitTriplets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitTriplets.clone( - doublets = "hiRegitMuPixelLessStepHitDoublets" -) -hiRegitMuPixelLessStepSeeds = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeeds.clone( - seedingHitSets = "hiRegitMuPixelLessStepHitTriplets" -) - - -# building: feed the new-named seeds -hiRegitMuPixelLessStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryFilter.clone( - minPt = 1.7, - minimumNumberOfHits = 6, - minHitsMinPt = 4 -) -hiRegitMuPixelLessStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet( - refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryFilter') - ), - minNrOfHitsForRebuild = 6 #change from default 4 -) - -hiRegitMuPixelLessStepTrackCandidates = RecoTracker.IterativeTracking.PixelLessStep_cff._pixelLessStepTrackCandidatesCkf.clone( - src = 'hiRegitMuPixelLessStepSeeds', - TrajectoryBuilderPSet = cms.PSet( - refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryBuilder') - ), - clustersToSkip = 'hiRegitMuPixelLessStepClusters', - maxNSeeds = 1000000 -) - -# fitting: feed new-names -hiRegitMuPixelLessStepTracks = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTracks.clone( - AlgorithmName = 'hiRegitMuPixelLessStep', - src = 'hiRegitMuPixelLessStepTrackCandidates' -) - -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMuPixelLessStepTracks', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuPixelLessStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuPixelLessStepTight', - preFilterName = 'hiRegitMuPixelLessStepLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuPixelLessStep', - preFilterName = 'hiRegitMuPixelLessStepTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuPixelLessStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuPixelLessStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuPixelLessStepTight', - preFilterName = 'hiRegitMuPixelLessStepLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuPixelLessStep', - preFilterName = 'hiRegitMuPixelLessStepTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -hiRegitMuonPixelLessStepTask = cms.Task(hiRegitMuPixelLessStepClusters, - hiRegitMuPixelLessStepSeedLayers, - hiRegitMuPixelLessStepTrackingRegions, - hiRegitMuPixelLessStepHitDoublets, - hiRegitMuPixelLessStepHitTriplets, - hiRegitMuPixelLessStepSeeds, - hiRegitMuPixelLessStepTrackCandidates, - hiRegitMuPixelLessStepTracks, - hiRegitMuPixelLessStepSelector) -hiRegitMuonPixelLessStep = cms.Sequence(hiRegitMuonPixelLessStepTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py deleted file mode 100644 index 6751b633f766b..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py +++ /dev/null @@ -1,156 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 2nd step: pixel pairs - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -# Are the following values set to the same in every iteration? If yes, -# why not making the change in HITrackingRegionProducer_cfi directly -# once for all? -hiRegitMuPixelPairStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone( - MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat? - MuonTrackingRegionBuilder = dict( - vertexCollection = "hiSelectedPixelVertex", - UseVertex = True, - Phi_fixed = True, - Eta_fixed = True, - DeltaPhi = 0.3, - DeltaEta = 0.2, - # Ok, the following ones are specific to PixelPairStep - Pt_min = 1.0, - DeltaR = 0.01, # default = 0.2 - DeltaZ = 0.09, # this give you the length - Rescale_Dz = 0. # max(DeltaZ_Region,Rescale_Dz*vtx->zError()) - ) -) - -################################### -import RecoTracker.IterativeTracking.PixelPairStep_cff -from RecoTracker.IterativeTracking.PixelPairStep_cff import pixelPairStepTrajectoryBuilder,pixelPairStepTrajectoryFilter,pixelPairStepTrajectoryFilterBase,pixelPairStepTrajectoryFilterInOut,pixelPairStepTrajectoryFilterShape,pixelPairStepChi2Est - -# NEW CLUSTERS (remove previously used clusters) -hiRegitMuPixelPairStepClusters = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepClusters.clone( - trajectories = "hiRegitMuInitialStepTracks", - overrideTrkQuals = 'hiRegitMuInitialStepSelector:hiRegitMuInitialStep', - trackClassifier = '', - oldClusterRemovalInfo = "", - TrackQuality = 'tight' -) - - -# SEEDING LAYERS -hiRegitMuPixelPairStepSeedLayers = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedLayers.clone( - BPix = dict(skipClusters = 'hiRegitMuPixelPairStepClusters'), - FPix = dict(skipClusters = 'hiRegitMuPixelPairStepClusters') -) - -# seeding -hiRegitMuPixelPairStepHitDoublets = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepHitDoublets.clone( - seedingLayers = "hiRegitMuPixelPairStepSeedLayers", - trackingRegions = "hiRegitMuPixelPairStepTrackingRegions", - clusterCheck = "hiRegitMuClusterCheck", -) - -hiRegitMuPixelPairStepSeeds = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedsA.clone( - seedingHitSets = "hiRegitMuPixelPairStepHitDoublets" -) - - -# building: feed the new-named seeds -hiRegitMuPixelPairStepTrajectoryFilterBase = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone( - minPt = 0.8, - minimumNumberOfHits = 6, - minHitsMinPt = 4 -) -hiRegitMuPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilter.clone( - filters = cms.VPSet( - cms.PSet( refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilterBase')), - cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))) -) - -hiRegitMuPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet( - refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilter') - ), - minNrOfHitsForRebuild = 6 #change from default 4 -) - -# trackign candidate -hiRegitMuPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff._pixelPairStepTrackCandidatesCkf.clone( - src = 'hiRegitMuPixelPairStepSeeds', - clustersToSkip = "hiRegitMuPixelPairStepClusters", - maxNSeeds = 1000000 -) - -# fitting: feed new-names -hiRegitMuPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone( - AlgorithmName = 'hiRegitMuPixelPairStep', - src = 'hiRegitMuPixelPairStepTrackCandidates', - clustersToSkip = cms.InputTag('hiRegitMuPixelPairStepClusters'), -) - - -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src ='hiRegitMuPixelPairStepTracks', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter6', - GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuPixelPairStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuPixelPairStepTight', - preFilterName = 'hiRegitMuPixelPairStepLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuPixelPairStep', - preFilterName = 'hiRegitMuPixelPairStepTight', - min_nhits = 8, - useMVA = True, - minMVA = 0.77 - ), - ) #end of vpset -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuPixelPairStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuPixelPairStepLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuPixelPairStepTight', - preFilterName = 'hiRegitMuPixelPairStepLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuPixelPairStep', - preFilterName = 'hiRegitMuPixelPairStepTight', - min_nhits = 8, - useMVA = False, - minMVA = 0.77 - ), - ) #end of vpset -) - -hiRegitMuonPixelPairStepTask = cms.Task(hiRegitMuPixelPairStepClusters, - hiRegitMuPixelPairStepSeedLayers, - hiRegitMuPixelPairStepTrackingRegions, - hiRegitMuPixelPairStepHitDoublets, - hiRegitMuPixelPairStepSeeds, - hiRegitMuPixelPairStepTrackCandidates, - hiRegitMuPixelPairStepTracks, - hiRegitMuPixelPairStepSelector) -hiRegitMuonPixelPairStep = cms.Sequence(hiRegitMuonPixelPairStepTask) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonSeededStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonSeededStep_cff.py deleted file mode 100644 index d58abaefa4f8e..0000000000000 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonSeededStep_cff.py +++ /dev/null @@ -1,186 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from RecoTracker.IterativeTracking.MuonSeededStep_cff import * - -###### Muon reconstruction module ##### -from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiEarlyGeneralTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = [ - 'hiGlobalPrimTracks', - 'hiDetachedTripletStepTracks', - 'hiLowPtTripletStepTracks', - 'hiPixelPairGlobalPrimTracks', - 'hiJetCoreRegionalStepTracks', - 'hiRegitMuInitialStepTracks', - 'hiRegitMuPixelPairStepTracks', - 'hiRegitMuMixedTripletStepTracks', - 'hiRegitMuPixelLessStepTracks', - 'hiRegitMuDetachedTripletStepTracks' - ], - hasSelector = [1,1,1,1,1,1,1,1,1,1], - selectedTrackQuals = [ - "hiInitialStepSelector:hiInitialStep", - "hiDetachedTripletStepSelector:hiDetachedTripletStep", - "hiLowPtTripletStepSelector:hiLowPtTripletStep", - "hiPixelPairStepSelector:hiPixelPairStep", - "hiJetCoreRegionalStepSelector:hiJetCoreRegionalStep", - "hiRegitMuInitialStepSelector:hiRegitMuInitialStepLoose", - "hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep", - "hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep", - "hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep", - "hiRegitMuDetachedTripletStepSelector:hiRegitMuDetachedTripletStep" - ], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6,7,8,9), pQual=cms.bool(True)), # should this be False? - ), - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False) -) - -hiEarlyMuons = earlyMuons.clone( - inputCollectionLabels = ["hiEarlyGeneralTracks", "standAloneMuons:UpdatedAtVtx"] -) - -###### SEEDER MODELS ###### -import RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi -import RecoTracker.SpecialSeedGenerators.inOutSeedsFromTrackerMuons_cfi -hiRegitMuonSeededSeedsOutIn = RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi.outInSeedsFromStandaloneMuons.clone( - src = "hiEarlyMuons", -) -hiRegitMuonSeededSeedsInOut = RecoTracker.SpecialSeedGenerators.inOutSeedsFromTrackerMuons_cfi.inOutSeedsFromTrackerMuons.clone( - src = "hiEarlyMuons", -) -hiRegitMuonSeededTrackCandidatesInOut = muonSeededTrackCandidatesInOut.clone( - src = "hiRegitMuonSeededSeedsInOut" -) -hiRegitMuonSeededTrackCandidatesOutIn = muonSeededTrackCandidatesOutIn.clone( - src = "hiRegitMuonSeededSeedsOutIn" -) -hiRegitMuonSeededTracksOutIn = muonSeededTracksOutIn.clone( - src = "hiRegitMuonSeededTrackCandidatesOutIn", - AlgorithmName = 'hiRegitMuMuonSeededStepOutIn' -) -hiRegitMuonSeededTracksInOut = muonSeededTracksInOut.clone( - src = "hiRegitMuonSeededTrackCandidatesInOut", - AlgorithmName = 'hiRegitMuMuonSeededStepInOut' -) -import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMuonSeededTracksInOutSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMuonSeededTracksInOut', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuonSeededTracksInOutLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuonSeededTracksInOutTight', - preFilterName = 'hiRegitMuonSeededTracksInOutLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuonSeededTracksInOutHighPurity', - preFilterName = 'hiRegitMuonSeededTracksInOutTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuonSeededTracksInOutSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuonSeededTracksInOutLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuonSeededTracksInOutTight', - preFilterName = 'hiRegitMuonSeededTracksInOutLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuonSeededTracksInOutHighPurity', - preFilterName = 'hiRegitMuonSeededTracksInOutTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -hiRegitMuonSeededTracksOutInSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMuonSeededTracksOutIn', - vertices = "hiSelectedPixelVertex", - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuonSeededTracksOutInLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuonSeededTracksOutInTight', - preFilterName = 'hiRegitMuonSeededTracksOutInLoose', - min_nhits = 8, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuonSeededTracksOutInHighPurity', - preFilterName = 'hiRegitMuonSeededTracksOutInTight', - min_nhits = 8, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiRegitMuonSeededTracksOutInSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( - name = 'hiRegitMuonSeededTracksOutInLoose', - min_nhits = 8 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMuonSeededTracksOutInTight', - preFilterName = 'hiRegitMuonSeededTracksOutInLoose', - min_nhits = 8, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMuonSeededTracksOutInHighPurity', - preFilterName = 'hiRegitMuonSeededTracksOutInTight', - min_nhits = 8, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -hiRegitMuonSeededStepCoreTask = cms.Task( - hiRegitMuonSeededSeedsInOut , hiRegitMuonSeededTrackCandidatesInOut , hiRegitMuonSeededTracksInOut , - hiRegitMuonSeededSeedsOutIn , hiRegitMuonSeededTrackCandidatesOutIn , hiRegitMuonSeededTracksOutIn - ) -hiRegitMuonSeededStepExtraTask = cms.Task( - hiRegitMuonSeededTracksInOutSelector , - hiRegitMuonSeededTracksOutInSelector - ) -hiRegitMuonSeededStepTask = cms.Task( - hiEarlyGeneralTracks , - hiEarlyMuons , - hiRegitMuonSeededStepCoreTask , - hiRegitMuonSeededStepExtraTask - ) -hiRegitMuonSeededStep = cms.Sequence(hiRegitMuonSeededStepTask) diff --git a/RecoHI/HiMuonAlgos/python/RecoHiMuon_EventContent_cff.py b/RecoHI/HiMuonAlgos/python/RecoHiMuon_EventContent_cff.py deleted file mode 100644 index 1666d25ed186b..0000000000000 --- a/RecoHI/HiMuonAlgos/python/RecoHiMuon_EventContent_cff.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#AOD content -RecoHiMuonAOD = cms.PSet( - outputCommands = cms.untracked.vstring() - ) -# for re-muons -reRecoMuonAOD = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_remuons_*_*', - 'keep *_*_remuons_*', - # Tracks known by the Muon obj - 'keep recoTracks_standAloneMuons_*_*', - 'keep recoTrackExtras_standAloneMuons_*_*', - 'keep TrackingRecHitsOwned_standAloneMuons_*_*', - 'keep recoTracks_reglobalMuons_*_*', - 'keep recoTrackExtras_reglobalMuons_*_*', - 'keep recoTracks_retevMuons_*_*', - 'keep recoTrackExtras_retevMuons_*_*', - 'keep recoTracksToOnerecoTracksAssociation_retevMuons_*_*') -) -RecoHiMuonAOD.outputCommands.extend(reRecoMuonAOD.outputCommands) - -#RECO content -RecoHiMuonRECO = cms.PSet( - outputCommands = cms.untracked.vstring() - ) - -reRecoMuonRECO = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_MuonSeed_*_*', - 'keep *_ancientMuonSeed_*_*', - 'keep *_mergedStandAloneMuonSeeds_*_*', - 'keep TrackingRecHitsOwned_reglobalMuons_*_*', - 'keep TrackingRecHitsOwned_retevMuons_*_*', - 'keep recoCaloMuons_recalomuons_*_*') -) -reRecoMuonRECO.outputCommands.extend(reRecoMuonAOD.outputCommands) -RecoHiMuonRECO.outputCommands.extend(reRecoMuonRECO.outputCommands) - -#Full Event content -RecoHiMuonFEVT = cms.PSet( - outputCommands = cms.untracked.vstring() - ) - -reRecoMuonFEVT = cms.PSet( - outputCommands = cms.untracked.vstring() -) -reRecoMuonFEVT.outputCommands.extend(reRecoMuonRECO.outputCommands) -RecoHiMuonFEVT.outputCommands.extend(reRecoMuonFEVT.outputCommands) diff --git a/RecoHI/HiMuonAlgos/python/hiMuonIterativeTk_cff.py b/RecoHI/HiMuonAlgos/python/hiMuonIterativeTk_cff.py deleted file mode 100644 index 2c224fffd3e90..0000000000000 --- a/RecoHI/HiMuonAlgos/python/hiMuonIterativeTk_cff.py +++ /dev/null @@ -1,57 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoTracker.TkSeedGenerator.trackerClusterCheck_cfi import trackerClusterCheck as _trackerClusterCheck -hiRegitMuClusterCheck = _trackerClusterCheck.clone( - doClusterCheck = False # do not check for max number of clusters pixel or strips -) - -from RecoHI.HiMuonAlgos.HiRegitMuonInitialStep_cff import * -from RecoHI.HiMuonAlgos.HiRegitMuonPixelPairStep_cff import * -from RecoHI.HiMuonAlgos.HiRegitMuonDetachedTripletStep_cff import * -from RecoHI.HiMuonAlgos.HiRegitMuonMixedTripletStep_cff import * -from RecoHI.HiMuonAlgos.HiRegitMuonPixelLessStep_cff import * -from RecoHI.HiMuonAlgos.HiRegitMuonSeededStep_cff import * - -from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiGeneralAndRegitMuTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = [ - 'hiRegitMuInitialStepTracks', - 'hiRegitMuPixelPairStepTracks', - 'hiRegitMuMixedTripletStepTracks', - 'hiRegitMuPixelLessStepTracks', - 'hiRegitMuDetachedTripletStepTracks', - 'hiRegitMuonSeededTracksOutIn', - 'hiRegitMuonSeededTracksInOut' - ], - selectedTrackQuals = [ - "hiRegitMuInitialStepSelector:hiRegitMuInitialStepLoose", - "hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep", - "hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep", - "hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep", - "hiRegitMuDetachedTripletStepSelector:hiRegitMuDetachedTripletStep", - "hiRegitMuonSeededTracksOutInSelector:hiRegitMuonSeededTracksOutInHighPurity", - "hiRegitMuonSeededTracksInOutSelector:hiRegitMuonSeededTracksInOutHighPurity" - ], - hasSelector = [1,1,1,1,1,1,1], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6), pQual=cms.bool(True))), - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False) -) - -hiRegitMuTrackingTask = cms.Task(hiRegitMuClusterCheck - ,hiRegitMuonInitialStepTask - ,hiRegitMuonPixelPairStepTask - ,hiRegitMuonMixedTripletStepTask - ,hiRegitMuonPixelLessStepTask - ,hiRegitMuonDetachedTripletStepTask - ,hiRegitMuonSeededStepTask - ) -hiRegitMuTracking = cms.Sequence(hiRegitMuTrackingTask) - -# Standalone muons -from RecoMuon.Configuration.RecoMuonPPonly_cff import * - -hiRegitMuTrackingAndStaTask = cms.Task(standalonemuontrackingTask - ,hiRegitMuTrackingTask) -hiRegitMuTrackingAndSta = cms.Sequence(hiRegitMuTrackingAndStaTask) diff --git a/RecoHI/HiMuonAlgos/test/reMuonReco_test.py b/RecoHI/HiMuonAlgos/test/reMuonReco_test.py deleted file mode 100644 index 03d839197121b..0000000000000 --- a/RecoHI/HiMuonAlgos/test/reMuonReco_test.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms -process = cms.Process("RERECO") - -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('Configuration.StandardSequences.GeometryDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.RawToDigi_Data_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.ReconstructionHeavyIons_cff') -process.load('RecoLocalTracker.Configuration.RecoLocalTracker_cff') -process.load('RecoHI.HiMuonAlgos.HiReRecoMuon_cff') - -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load("Configuration.EventContent.EventContentHeavyIons_cff") -#global tags for conditions data: https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideFrontierConditions -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = 'START50_V2::All'#'START44_V7::All' - -################################################################################## -# setup 'standard' options -process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1)) - -# Input source -# the fiel should have the STA in them; this is a RE-reco -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('/store/relval/CMSSW_5_0_0_pre3/HIAllPhysics/RECO/GR_R_50_V1_RelVal_hi2010-v2/0000/F8A98914-08FD-E011-A27B-003048F1BF66.root'), -#rfio:/castor/cern.ch/user/m/mironov/regittest/rawrecohltdebug_98_1_jYu.root'), - noEventSort = cms.untracked.bool(True), - duplicateCheckMode = cms.untracked.string("noDuplicateCheck"), - skipEvents=cms.untracked.uint32(0) - ) - -process.output = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - outputCommands = cms.untracked.vstring('drop *', - 'keep *_*_*_RERECO', - ), - fileName = cms.untracked.string('RErecoFullTest.root') - ) - -################################################################################## -''' -process.SimpleMemoryCheck = cms.Service('SimpleMemoryCheck', - ignoreTotal=cms.untracked.int32(0), - oncePerEventMode = cms.untracked.bool(False) - ) - -process.Timing = cms.Service("Timing") - -process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True)) -''' -process.siliconRecHits= cms.Path(process.siPixelRecHits*process.siStripMatchedRecHits) -#process.raw2digi_step = cms.Path(process.RawToDigi) -#process.localtracker = cms.Path(process.trackerlocalreco) -process.reMuons = cms.Path(process.reMuonRecoPbPb) - -process.endjob_step = cms.Path(process.endOfProcess) -process.out_step = cms.EndPath(process.output) - -#process.raw2digi_step,process.localtracker, -process.schedule = cms.Schedule(process.siliconRecHits,process.reMuons) -process.schedule.extend([process.endjob_step,process.out_step]) - - -from Configuration.PyReleaseValidation.ConfigBuilder import MassReplaceInputTag -MassReplaceInputTag(process) diff --git a/RecoHI/HiTracking/interface/BestVertexComparator.h b/RecoHI/HiTracking/interface/BestVertexComparator.h deleted file mode 100644 index 4154814f94ecb..0000000000000 --- a/RecoHI/HiTracking/interface/BestVertexComparator.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef RecoHI_HiTracking_BestVertexComparator_h -#define RecoHI_HiTracking_BestVertexComparator_h - -template -struct GreaterByTracksSize { - typedef T first_argument_type; - typedef T second_argument_type; - bool operator()(const T& t1, const T& t2) const { return t1.tracksSize() > t2.tracksSize(); } -}; - -template -struct LessByNormalizedChi2 { - typedef T first_argument_type; - typedef T second_argument_type; - bool operator()(const T& t1, const T& t2) const { return t1.normalizeChi2() < t2.normalizedChi2(); } -}; - -#endif diff --git a/RecoHI/HiTracking/interface/HIBestVertexProducer.h b/RecoHI/HiTracking/interface/HIBestVertexProducer.h deleted file mode 100644 index ff83fda9ac9b5..0000000000000 --- a/RecoHI/HiTracking/interface/HIBestVertexProducer.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef HIBestVertexProducer_H -#define HIBestVertexProducer_H - -#include "FWCore/Framework/interface/stream/EDProducer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -namespace edm { - class Event; - class EventSetup; - class ConfigurationDescriptions; -} // namespace edm - -class HIBestVertexProducer : public edm::stream::EDProducer<> { -public: - explicit HIBestVertexProducer(const edm::ParameterSet& ps); - ~HIBestVertexProducer() override; - void produce(edm::Event& ev, const edm::EventSetup& es) override; - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); - -private: - void beginJob(); - edm::ParameterSet theConfig; - edm::EDGetTokenT theBeamSpotTag; - edm::EDGetTokenT theMedianVertexCollection; - edm::EDGetTokenT theAdaptiveVertexCollection; - edm::EDGetTokenT theFinalAdaptiveVertexCollection; - bool theUseFinalAdaptiveVertexCollection; -}; -#endif diff --git a/RecoHI/HiTracking/interface/HIProtoTrackFilter.h b/RecoHI/HiTracking/interface/HIProtoTrackFilter.h deleted file mode 100644 index fe441ef46b9e6..0000000000000 --- a/RecoHI/HiTracking/interface/HIProtoTrackFilter.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _HIProtoTrackFilter_h_ -#define _HIProtoTrackFilter_h_ - -#include "RecoTracker/PixelTrackFitting/interface/PixelTrackFilterBase.h" - -namespace reco { - class BeamSpot; -} - -class HIProtoTrackFilter : public PixelTrackFilterBase { -public: - HIProtoTrackFilter(const reco::BeamSpot *beamSpot, double tipMax, double chi2Max, double ptMin); - ~HIProtoTrackFilter() override; - bool operator()(const reco::Track *, const PixelTrackFilterBase::Hits &hits) const override; - -private: - double theTIPMax; - double theChi2Max, thePtMin; - const reco::BeamSpot *theBeamSpot; -}; - -#endif diff --git a/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc b/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc deleted file mode 100644 index 0c78836e547e1..0000000000000 --- a/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc +++ /dev/null @@ -1,147 +0,0 @@ -#include "RecoHI/HiTracking/interface/HIBestVertexProducer.h" - -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" -#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include -#include -using namespace std; -using namespace edm; - -/*****************************************************************************/ -HIBestVertexProducer::HIBestVertexProducer(const edm::ParameterSet& ps) - : theConfig(ps), - theBeamSpotTag(consumes(ps.getParameter("beamSpotLabel"))), - theMedianVertexCollection( - consumes(ps.getParameter("medianVertexCollection"))), - theAdaptiveVertexCollection( - consumes(ps.getParameter("adaptiveVertexCollection"))), - theUseFinalAdaptiveVertexCollection(ps.getParameter("useFinalAdaptiveVertexCollection")) { - if (theUseFinalAdaptiveVertexCollection) { - theFinalAdaptiveVertexCollection = - consumes(ps.getParameter("finalAdaptiveVertexCollection")); - } - produces(); -} - -/*****************************************************************************/ -HIBestVertexProducer::~HIBestVertexProducer() {} - -/*****************************************************************************/ -void HIBestVertexProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { - edm::ParameterSetDescription desc; - desc.add("beamSpotLabel", edm::InputTag("offlineBeamSpot")); - desc.add("adaptiveVertexCollection", edm::InputTag("hiBestAdaptiveVertex")); - desc.add("medianVertexCollection", edm::InputTag("hiPixelMedianVertex")); - desc.add("useFinalAdaptiveVertexCollection", false); - desc.add("finalAdaptiveVertexCollection", edm::InputTag("hiBestOfflinePrimaryVertex")); - - descriptions.add("hiSelectedPixelVertex", desc); -} - -/*****************************************************************************/ -void HIBestVertexProducer::beginJob() {} - -/*****************************************************************************/ -void HIBestVertexProducer::produce(edm::Event& ev, const edm::EventSetup& es) { - // 1. use best adaptive vertex preferentially - // 2. use median vertex in case where adaptive algorithm failed - // 3. use beamspot if netither vertexing method succeeds - - // New vertex collection - auto newVertexCollection = std::make_unique(); - - //** Get precise adaptive vertex **/ - edm::Handle vc1; - ev.getByToken(theAdaptiveVertexCollection, vc1); - const reco::VertexCollection* vertices1 = vc1.product(); - - if (vertices1->empty()) - LogError("HeavyIonVertexing") << "adaptive vertex collection is empty!" << endl; - - //** Final vertex collection if needed **// - const double maxZError = 3.0; //any vtx with error > this number is considered no good - bool hasFinalVertex = false; - if (theUseFinalAdaptiveVertexCollection) { - edm::Handle vc0; - ev.getByToken(theFinalAdaptiveVertexCollection, vc0); - const reco::VertexCollection* vertices0 = vc0.product(); - if (vertices0->empty()) - LogInfo("HeavyIonVertexing") << "final adaptive vertex collection is empty!" << endl; - - //if using final vertex and has a good vertex, use it - if (vertices0->begin()->zError() < maxZError) { - hasFinalVertex = true; - auto const& vertex0 = vertices0->front(); - newVertexCollection->push_back(vertex0); - LogInfo("HeavyIonVertexing") << "adaptive vertex:\n vz = (" << vertex0.x() << ", " << vertex0.y() << ", " - << vertex0.z() << ")" - << "\n error = (" << vertex0.xError() << ", " << vertex0.yError() << ", " - << vertex0.zError() << ")" << endl; - } - } - - //otherwise use the pixel track adaptive vertex if it is good - if (!hasFinalVertex) { - if (vertices1->begin()->zError() < maxZError) { - reco::VertexCollection::const_iterator vertex1 = vertices1->begin(); - newVertexCollection->push_back(*vertex1); - - LogInfo("HeavyIonVertexing") << "adaptive vertex:\n vz = (" << vertex1->x() << ", " << vertex1->y() << ", " - << vertex1->z() << ")" - << "\n error = (" << vertex1->xError() << ", " << vertex1->yError() << ", " - << vertex1->zError() << ")" << endl; - } else { - //** Get fast median vertex **/ - edm::Handle vc2; - ev.getByToken(theMedianVertexCollection, vc2); - const reco::VertexCollection* vertices2 = vc2.product(); - - //** Get beam spot position and error **/ - reco::BeamSpot beamSpot; - edm::Handle beamSpotHandle; - ev.getByToken(theBeamSpotTag, beamSpotHandle); - - if (beamSpotHandle.isValid()) - beamSpot = *beamSpotHandle; - else - LogError("HeavyIonVertexing") << "no beamspot found " << endl; - - if (!vertices2->empty()) { - reco::VertexCollection::const_iterator vertex2 = vertices2->begin(); - reco::Vertex::Error err; - err(0, 0) = pow(beamSpot.BeamWidthX(), 2); - err(1, 1) = pow(beamSpot.BeamWidthY(), 2); - err(2, 2) = pow(vertex2->zError(), 2); - reco::Vertex newVertex(reco::Vertex::Point(beamSpot.x0(), beamSpot.y0(), vertex2->z()), err, 0, 1, 1); - newVertexCollection->push_back(newVertex); - - LogInfo("HeavyIonVertexing") << "median vertex + beamspot: \n position = (" << newVertex.x() << ", " - << newVertex.y() << ", " << newVertex.z() << ")" - << "\n error = (" << newVertex.xError() << ", " << newVertex.yError() << ", " - << newVertex.zError() << ")" << endl; - - } else { - reco::Vertex::Error err; - err(0, 0) = pow(beamSpot.BeamWidthX(), 2); - err(1, 1) = pow(beamSpot.BeamWidthY(), 2); - err(2, 2) = pow(beamSpot.sigmaZ(), 2); - reco::Vertex newVertex(beamSpot.position(), err, 0, 0, 1); - newVertexCollection->push_back(newVertex); - - LogInfo("HeavyIonVertexing") << "beam spot: \n position = (" << newVertex.x() << ", " << newVertex.y() << ", " - << newVertex.z() << ")" - << "\n error = (" << newVertex.xError() << ", " << newVertex.yError() << ", " - << newVertex.zError() << ")" << endl; - } - } - } - - // put new vertex collection into event - ev.put(std::move(newVertexCollection)); -} diff --git a/RecoHI/HiTracking/plugins/HIBestVertexSelector.cc b/RecoHI/HiTracking/plugins/HIBestVertexSelector.cc deleted file mode 100644 index 752a28e02732a..0000000000000 --- a/RecoHI/HiTracking/plugins/HIBestVertexSelector.cc +++ /dev/null @@ -1,20 +0,0 @@ -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "CommonTools/UtilAlgos/interface/ObjectSelector.h" -#include "CommonTools/UtilAlgos/interface/SortCollectionSelector.h" -#include "RecoHI/HiTracking/interface/BestVertexComparator.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -namespace reco { - namespace modules { - - // define your producer name - typedef ObjectSelector > > - HIBestVertexSelection; - - // declare the module as plugin - DEFINE_FWK_MODULE(HIBestVertexSelection); - } // namespace modules -} // namespace reco diff --git a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc b/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc deleted file mode 100644 index d3c203767c8df..0000000000000 --- a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc +++ /dev/null @@ -1,749 +0,0 @@ -#include "HIMultiTrackSelector.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "CondFormats/DataRecord/interface/GBRWrapperRcd.h" -#include "FWCore/Framework/interface/EventSetup.h" - -#include -#include -#include - -namespace { - // not a generic solution (wrong for N negative for instance) - template - struct PowN { - template - static T op(T t) { - return PowN::op(t) * PowN<(N + 1) / 2>::op(t); - } - }; - template <> - struct PowN<0> { - template - static T op(T t) { - return T(1); - } - }; - template <> - struct PowN<1> { - template - static T op(T t) { - return t; - } - }; - template <> - struct PowN<2> { - template - static T op(T t) { - return t * t; - } - }; - - template - T powN(T t, int n) { - switch (n) { - case 4: - return PowN<4>::op(t); // the only one that matters - case 3: - return PowN<3>::op(t); // and this - case 8: - return PowN<8>::op(t); // used in conversion???? - case 2: - return PowN<2>::op(t); - case 5: - return PowN<5>::op(t); - case 6: - return PowN<6>::op(t); - case 7: - return PowN<7>::op(t); - case 0: - return PowN<0>::op(t); - case 1: - return PowN<1>::op(t); - default: - return std::pow(t, T(n)); - } - } - -} // namespace - -using namespace reco; - -HIMultiTrackSelector::HIMultiTrackSelector() { - useForestFromDB_ = true; - forest_ = nullptr; -} - -void HIMultiTrackSelector::ParseForestVars() { - mvavars_indices.clear(); - for (unsigned i = 0; i < forestVars_.size(); i++) { - std::string v = forestVars_[i]; - int ind = -1; - if (v == "chi2perdofperlayer") - ind = chi2perdofperlayer; - if (v == "dxyperdxyerror") - ind = dxyperdxyerror; - if (v == "dzperdzerror") - ind = dzperdzerror; - if (v == "relpterr") - ind = relpterr; - if (v == "lostmidfrac") - ind = lostmidfrac; - if (v == "minlost") - ind = minlost; - if (v == "nhits") - ind = nhits; - if (v == "eta") - ind = eta; - if (v == "chi2n_no1dmod") - ind = chi2n_no1dmod; - if (v == "chi2n") - ind = chi2n; - if (v == "nlayerslost") - ind = nlayerslost; - if (v == "nlayers3d") - ind = nlayers3d; - if (v == "nlayers") - ind = nlayers; - if (v == "ndof") - ind = ndof; - if (v == "etaerror") - ind = etaerror; - - if (ind == -1) - edm::LogWarning("HIMultiTrackSelector") - << "Unknown forest variable " << v << ". Please make sure it's in the list of supported variables\n"; - - mvavars_indices.push_back(ind); - } -} - -HIMultiTrackSelector::HIMultiTrackSelector(const edm::ParameterSet &cfg) - : src_(consumes(cfg.getParameter("src"))), - hSrc_(consumes(cfg.getParameter("src"))), - beamspot_(consumes(cfg.getParameter("beamspot"))), - useVertices_(cfg.getParameter("useVertices")), - useVtxError_(cfg.getParameter("useVtxError")) -// now get the pset for each selector -{ - if (useVertices_) - vertices_ = consumes(cfg.getParameter("vertices")); - - applyPixelMergingCuts_ = false; - if (cfg.exists("applyPixelMergingCuts")) - applyPixelMergingCuts_ = cfg.getParameter("applyPixelMergingCuts"); - - useAnyMVA_ = false; - forestLabel_ = "MVASelectorIter0"; - std::string type = "BDTG"; - useForestFromDB_ = true; - dbFileName_ = ""; - - forest_ = nullptr; - - if (cfg.exists("useAnyMVA")) - useAnyMVA_ = cfg.getParameter("useAnyMVA"); - if (useAnyMVA_) { - if (cfg.exists("mvaType")) - type = cfg.getParameter("mvaType"); - if (cfg.exists("GBRForestLabel")) - forestLabel_ = cfg.getParameter("GBRForestLabel"); - if (cfg.exists("GBRForestVars")) { - forestVars_ = cfg.getParameter>("GBRForestVars"); - ParseForestVars(); - } - if (cfg.exists("GBRForestFileName")) { - dbFileName_ = cfg.getParameter("GBRForestFileName"); - useForestFromDB_ = false; - } - mvaType_ = type; - } - if (useForestFromDB_) { - forestToken_ = esConsumes(edm::ESInputTag("", forestLabel_)); - } - std::vector trkSelectors(cfg.getParameter>("trackSelectors")); - qualityToSet_.reserve(trkSelectors.size()); - vtxNumber_.reserve(trkSelectors.size()); - vertexCut_.reserve(trkSelectors.size()); - res_par_.reserve(trkSelectors.size()); - chi2n_par_.reserve(trkSelectors.size()); - chi2n_no1Dmod_par_.reserve(trkSelectors.size()); - d0_par1_.reserve(trkSelectors.size()); - dz_par1_.reserve(trkSelectors.size()); - d0_par2_.reserve(trkSelectors.size()); - dz_par2_.reserve(trkSelectors.size()); - applyAdaptedPVCuts_.reserve(trkSelectors.size()); - max_d0_.reserve(trkSelectors.size()); - max_z0_.reserve(trkSelectors.size()); - nSigmaZ_.reserve(trkSelectors.size()); - pixel_pTMinCut_.reserve(trkSelectors.size()); - pixel_pTMaxCut_.reserve(trkSelectors.size()); - min_layers_.reserve(trkSelectors.size()); - min_3Dlayers_.reserve(trkSelectors.size()); - max_lostLayers_.reserve(trkSelectors.size()); - min_hits_bypass_.reserve(trkSelectors.size()); - applyAbsCutsIfNoPV_.reserve(trkSelectors.size()); - max_d0NoPV_.reserve(trkSelectors.size()); - max_z0NoPV_.reserve(trkSelectors.size()); - preFilter_.reserve(trkSelectors.size()); - max_relpterr_.reserve(trkSelectors.size()); - min_nhits_.reserve(trkSelectors.size()); - max_minMissHitOutOrIn_.reserve(trkSelectors.size()); - max_lostHitFraction_.reserve(trkSelectors.size()); - min_eta_.reserve(trkSelectors.size()); - max_eta_.reserve(trkSelectors.size()); - useMVA_.reserve(trkSelectors.size()); - //mvaReaders_.reserve(trkSelectors.size()); - min_MVA_.reserve(trkSelectors.size()); - //mvaType_.reserve(trkSelectors.size()); - - produces>("MVAVals"); - - for (unsigned int i = 0; i < trkSelectors.size(); i++) { - qualityToSet_.push_back(TrackBase::undefQuality); - // parameters for vertex selection - vtxNumber_.push_back(useVertices_ ? trkSelectors[i].getParameter("vtxNumber") : 0); - vertexCut_.push_back(useVertices_ ? trkSelectors[i].getParameter("vertexCut") : nullptr); - // parameters for adapted optimal cuts on chi2 and primary vertex compatibility - res_par_.push_back(trkSelectors[i].getParameter>("res_par")); - chi2n_par_.push_back(trkSelectors[i].getParameter("chi2n_par")); - chi2n_no1Dmod_par_.push_back(trkSelectors[i].getParameter("chi2n_no1Dmod_par")); - d0_par1_.push_back(trkSelectors[i].getParameter>("d0_par1")); - dz_par1_.push_back(trkSelectors[i].getParameter>("dz_par1")); - d0_par2_.push_back(trkSelectors[i].getParameter>("d0_par2")); - dz_par2_.push_back(trkSelectors[i].getParameter>("dz_par2")); - // Boolean indicating if adapted primary vertex compatibility cuts are to be applied. - applyAdaptedPVCuts_.push_back(trkSelectors[i].getParameter("applyAdaptedPVCuts")); - // Impact parameter absolute cuts. - max_d0_.push_back(trkSelectors[i].getParameter("max_d0")); - max_z0_.push_back(trkSelectors[i].getParameter("max_z0")); - nSigmaZ_.push_back(trkSelectors[i].getParameter("nSigmaZ")); - // Cuts on numbers of layers with hits/3D hits/lost hits. - min_layers_.push_back(trkSelectors[i].getParameter("minNumberLayers")); - min_3Dlayers_.push_back(trkSelectors[i].getParameter("minNumber3DLayers")); - max_lostLayers_.push_back(trkSelectors[i].getParameter("maxNumberLostLayers")); - min_hits_bypass_.push_back(trkSelectors[i].getParameter("minHitsToBypassChecks")); - // Flag to apply absolute cuts if no PV passes the selection - applyAbsCutsIfNoPV_.push_back(trkSelectors[i].getParameter("applyAbsCutsIfNoPV")); - keepAllTracks_.push_back(trkSelectors[i].getParameter("keepAllTracks")); - max_relpterr_.push_back(trkSelectors[i].getParameter("max_relpterr")); - min_nhits_.push_back(trkSelectors[i].getParameter("min_nhits")); - max_minMissHitOutOrIn_.push_back(trkSelectors[i].existsAs("max_minMissHitOutOrIn") - ? trkSelectors[i].getParameter("max_minMissHitOutOrIn") - : 99); - max_lostHitFraction_.push_back(trkSelectors[i].existsAs("max_lostHitFraction") - ? trkSelectors[i].getParameter("max_lostHitFraction") - : 1.0); - min_eta_.push_back(trkSelectors[i].existsAs("min_eta") ? trkSelectors[i].getParameter("min_eta") - : -9999); - max_eta_.push_back(trkSelectors[i].existsAs("max_eta") ? trkSelectors[i].getParameter("max_eta") - : 9999); - - setQualityBit_.push_back(false); - std::string qualityStr = trkSelectors[i].getParameter("qualityBit"); - if (!qualityStr.empty()) { - setQualityBit_[i] = true; - qualityToSet_[i] = TrackBase::qualityByName(trkSelectors[i].getParameter("qualityBit")); - } - - if (setQualityBit_[i] && (qualityToSet_[i] == TrackBase::undefQuality)) - throw cms::Exception("Configuration") - << "You can't set the quality bit " << trkSelectors[i].getParameter("qualityBit") - << " as it is 'undefQuality' or unknown.\n"; - - if (applyAbsCutsIfNoPV_[i]) { - max_d0NoPV_.push_back(trkSelectors[i].getParameter("max_d0NoPV")); - max_z0NoPV_.push_back(trkSelectors[i].getParameter("max_z0NoPV")); - } else { //dummy values - max_d0NoPV_.push_back(0.); - max_z0NoPV_.push_back(0.); - } - - name_.push_back(trkSelectors[i].getParameter("name")); - - preFilter_[i] = trkSelectors.size(); // no prefilter - - std::string pfName = trkSelectors[i].getParameter("preFilterName"); - if (!pfName.empty()) { - bool foundPF = false; - for (unsigned int j = 0; j < i; j++) - if (name_[j] == pfName) { - foundPF = true; - preFilter_[i] = j; - } - if (!foundPF) - throw cms::Exception("Configuration") << "Invalid prefilter name in HIMultiTrackSelector " - << trkSelectors[i].getParameter("preFilterName"); - } - - if (applyPixelMergingCuts_) { - pixel_pTMinCut_.push_back(trkSelectors[i].getParameter>("pixel_pTMinCut")); - pixel_pTMaxCut_.push_back(trkSelectors[i].getParameter>("pixel_pTMaxCut")); - } - - // produces >(name_[i]).setBranchAlias( name_[i] + "TrackQuals"); - produces>(name_[i]).setBranchAlias(name_[i] + "TrackQuals"); - if (useAnyMVA_) { - bool thisMVA = false; - if (trkSelectors[i].exists("useMVA")) - thisMVA = trkSelectors[i].getParameter("useMVA"); - useMVA_.push_back(thisMVA); - if (thisMVA) { - double minVal = -1; - if (trkSelectors[i].exists("minMVA")) - minVal = trkSelectors[i].getParameter("minMVA"); - min_MVA_.push_back(minVal); - - } else { - min_MVA_.push_back(-9999.0); - } - } else { - min_MVA_.push_back(-9999.0); - } - } -} - -HIMultiTrackSelector::~HIMultiTrackSelector() { delete forest_; } - -void HIMultiTrackSelector::beginStream(edm::StreamID) { - if (!useForestFromDB_) { - TFile gbrfile(dbFileName_.c_str()); - forest_ = (GBRForest *)gbrfile.Get(forestLabel_.c_str()); - } -} - -void HIMultiTrackSelector::run(edm::Event &evt, const edm::EventSetup &es) const { - using namespace std; - using namespace edm; - using namespace reco; - - // Get tracks - Handle hSrcTrack; - evt.getByToken(src_, hSrcTrack); - const TrackCollection &srcTracks(*hSrcTrack); - - // get hits in track.. - Handle hSrcHits; - evt.getByToken(hSrc_, hSrcHits); - const TrackingRecHitCollection &srcHits(*hSrcHits); - - // looking for the beam spot - edm::Handle hBsp; - evt.getByToken(beamspot_, hBsp); - const reco::BeamSpot &vertexBeamSpot(*hBsp); - - // Select good primary vertices for use in subsequent track selection - edm::Handle hVtx; - if (useVertices_) - evt.getByToken(vertices_, hVtx); - - unsigned int trkSize = srcTracks.size(); - std::vector selTracksSave(qualityToSet_.size() * trkSize, 0); - - std::vector mvaVals_(srcTracks.size(), -99.f); - processMVA(evt, es, mvaVals_, *hVtx); - - for (unsigned int i = 0; i < qualityToSet_.size(); i++) { - std::vector selTracks(trkSize, 0); - auto selTracksValueMap = std::make_unique>(); - edm::ValueMap::Filler filler(*selTracksValueMap); - - std::vector points; - std::vector vterr, vzerr; - if (useVertices_) - selectVertices(i, *hVtx, points, vterr, vzerr); - - // Loop over tracks - size_t current = 0; - for (TrackCollection::const_iterator it = srcTracks.begin(), ed = srcTracks.end(); it != ed; ++it, ++current) { - const Track &trk = *it; - // Check if this track passes cuts - - LogTrace("TrackSelection") << "ready to check track with pt=" << trk.pt(); - - //already removed - bool ok = true; - float mvaVal = 0; - if (preFilter_[i] < i && selTracksSave[preFilter_[i] * trkSize + current] < 0) { - selTracks[current] = -1; - ok = false; - if (!keepAllTracks_[i]) - continue; - } else { - if (useAnyMVA_) - mvaVal = mvaVals_[current]; - ok = select(i, vertexBeamSpot, srcHits, trk, points, vterr, vzerr, mvaVal); - if (!ok) { - LogTrace("TrackSelection") << "track with pt=" << trk.pt() << " NOT selected"; - if (!keepAllTracks_[i]) { - selTracks[current] = -1; - continue; - } - } else - LogTrace("TrackSelection") << "track with pt=" << trk.pt() << " selected"; - } - - if (preFilter_[i] < i) { - selTracks[current] = selTracksSave[preFilter_[i] * trkSize + current]; - } else { - selTracks[current] = trk.qualityMask(); - } - if (ok && setQualityBit_[i]) { - selTracks[current] = (selTracks[current] | (1 << qualityToSet_[i])); - if (qualityToSet_[i] == TrackBase::tight) { - selTracks[current] = (selTracks[current] | (1 << TrackBase::loose)); - } else if (qualityToSet_[i] == TrackBase::highPurity) { - selTracks[current] = (selTracks[current] | (1 << TrackBase::loose)); - selTracks[current] = (selTracks[current] | (1 << TrackBase::tight)); - } - - if (!points.empty()) { - if (qualityToSet_[i] == TrackBase::loose) { - selTracks[current] = (selTracks[current] | (1 << TrackBase::looseSetWithPV)); - } else if (qualityToSet_[i] == TrackBase::highPurity) { - selTracks[current] = (selTracks[current] | (1 << TrackBase::looseSetWithPV)); - selTracks[current] = (selTracks[current] | (1 << TrackBase::highPuritySetWithPV)); - } - } - } - } - for (unsigned int j = 0; j < trkSize; j++) - selTracksSave[j + i * trkSize] = selTracks[j]; - filler.insert(hSrcTrack, selTracks.begin(), selTracks.end()); - filler.fill(); - - // evt.put(std::move(selTracks),name_[i]); - evt.put(std::move(selTracksValueMap), name_[i]); - } -} - -bool HIMultiTrackSelector::select(unsigned int tsNum, - const reco::BeamSpot &vertexBeamSpot, - const TrackingRecHitCollection &recHits, - const reco::Track &tk, - const std::vector &points, - std::vector &vterr, - std::vector &vzerr, - double mvaVal) const { - // Decide if the given track passes selection cuts. - - using namespace std; - - //cuts on number of valid hits - auto nhits = tk.numberOfValidHits(); - if (nhits >= min_hits_bypass_[tsNum]) - return true; - if (nhits < min_nhits_[tsNum]) - return false; - - if (tk.ndof() < 1E-5) - return false; - - ////////////////////////////////////////////////// - //Adding the MVA selection before any other cut// - //////////////////////////////////////////////// - if (useAnyMVA_ && useMVA_[tsNum]) { - if (mvaVal < min_MVA_[tsNum]) - return false; - else - return true; - } - ///////////////////////////////// - //End of MVA selection section// - /////////////////////////////// - - // Cuts on numbers of layers with hits/3D hits/lost hits. - uint32_t nlayers = tk.hitPattern().trackerLayersWithMeasurement(); - uint32_t nlayers3D = - tk.hitPattern().pixelLayersWithMeasurement() + tk.hitPattern().numberOfValidStripLayersWithMonoAndStereo(); - uint32_t nlayersLost = tk.hitPattern().trackerLayersWithoutMeasurement(reco::HitPattern::TRACK_HITS); - LogDebug("TrackSelection") << "cuts on nlayers: " << nlayers << " " << nlayers3D << " " << nlayersLost << " vs " - << min_layers_[tsNum] << " " << min_3Dlayers_[tsNum] << " " << max_lostLayers_[tsNum]; - if (nlayers < min_layers_[tsNum]) - return false; - if (nlayers3D < min_3Dlayers_[tsNum]) - return false; - if (nlayersLost > max_lostLayers_[tsNum]) - return false; - LogTrace("TrackSelection") << "cuts on nlayers passed"; - - float chi2n = tk.normalizedChi2(); - float chi2n_no1Dmod = chi2n; - - int count1dhits = 0; - auto ith = tk.extra()->firstRecHit(); - auto edh = ith + tk.recHitsSize(); - for (; ith < edh; ++ith) { - const TrackingRecHit &hit = recHits[ith]; - if (hit.dimension() == 1) - ++count1dhits; - } - if (count1dhits > 0) { - float chi2 = tk.chi2(); - float ndof = tk.ndof(); - chi2n = (chi2 + count1dhits) / float(ndof + count1dhits); - } - // For each 1D rechit, the chi^2 and ndof is increased by one. This is a way of retaining approximately - // the same normalized chi^2 distribution as with 2D rechits. - if (chi2n > chi2n_par_[tsNum] * nlayers) - return false; - - if (chi2n_no1Dmod > chi2n_no1Dmod_par_[tsNum] * nlayers) - return false; - - // Get track parameters - float pt = std::max(float(tk.pt()), 0.000001f); - float eta = tk.eta(); - if (eta < min_eta_[tsNum] || eta > max_eta_[tsNum]) - return false; - - //cuts on relative error on pt - float relpterr = float(tk.ptError()) / pt; - if (relpterr > max_relpterr_[tsNum]) - return false; - - int lostIn = tk.hitPattern().numberOfLostTrackerHits(reco::HitPattern::MISSING_INNER_HITS); - int lostOut = tk.hitPattern().numberOfLostTrackerHits(reco::HitPattern::MISSING_OUTER_HITS); - int minLost = std::min(lostIn, lostOut); - if (minLost > max_minMissHitOutOrIn_[tsNum]) - return false; - float lostMidFrac = - tk.numberOfLostHits() == 0 ? 0. : tk.numberOfLostHits() / (tk.numberOfValidHits() + tk.numberOfLostHits()); - if (lostMidFrac > max_lostHitFraction_[tsNum]) - return false; - - // Pixel Track Merging pT dependent cuts - if (applyPixelMergingCuts_) { - // hard cut at absolute min/max pt - if (pt < pixel_pTMinCut_[tsNum][0]) - return false; - if (pt > pixel_pTMaxCut_[tsNum][0]) - return false; - // tapering cuts with chi2n_no1Dmod - double pTMaxCutPos = (pixel_pTMaxCut_[tsNum][0] - pt) / (pixel_pTMaxCut_[tsNum][0] - pixel_pTMaxCut_[tsNum][1]); - double pTMinCutPos = (pt - pixel_pTMinCut_[tsNum][0]) / (pixel_pTMinCut_[tsNum][1] - pixel_pTMinCut_[tsNum][0]); - if (pt > pixel_pTMaxCut_[tsNum][1] && - chi2n_no1Dmod > pixel_pTMaxCut_[tsNum][2] * nlayers * pow(pTMaxCutPos, pixel_pTMaxCut_[tsNum][3])) - return false; - if (pt < pixel_pTMinCut_[tsNum][1] && - chi2n_no1Dmod > pixel_pTMinCut_[tsNum][2] * nlayers * pow(pTMinCutPos, pixel_pTMinCut_[tsNum][3])) - return false; - } - - //other track parameters - float d0 = -tk.dxy(vertexBeamSpot.position()), d0E = tk.d0Error(), dz = tk.dz(vertexBeamSpot.position()), - dzE = tk.dzError(); - - // parametrized d0 resolution for the track pt - float nomd0E = sqrt(res_par_[tsNum][0] * res_par_[tsNum][0] + (res_par_[tsNum][1] / pt) * (res_par_[tsNum][1] / pt)); - // parametrized z0 resolution for the track pt and eta - float nomdzE = nomd0E * (std::cosh(eta)); - - float dzCut = std::min(powN(dz_par1_[tsNum][0] * nlayers, int(dz_par1_[tsNum][1] + 0.5)) * nomdzE, - powN(dz_par2_[tsNum][0] * nlayers, int(dz_par2_[tsNum][1] + 0.5)) * dzE); - float d0Cut = std::min(powN(d0_par1_[tsNum][0] * nlayers, int(d0_par1_[tsNum][1] + 0.5)) * nomd0E, - powN(d0_par2_[tsNum][0] * nlayers, int(d0_par2_[tsNum][1] + 0.5)) * d0E); - - // ---- PrimaryVertex compatibility cut - bool primaryVertexZCompatibility(false); - bool primaryVertexD0Compatibility(false); - - if (points.empty()) { //If not primaryVertices are reconstructed, check just the compatibility with the BS - //z0 within (n sigma + dzCut) of the beam spot z, if no good vertex is found - if (abs(dz) < hypot(vertexBeamSpot.sigmaZ() * nSigmaZ_[tsNum], dzCut)) - primaryVertexZCompatibility = true; - // d0 compatibility with beam line - if (abs(d0) < d0Cut) - primaryVertexD0Compatibility = true; - } - - int iv = 0; - for (std::vector::const_iterator point = points.begin(), end = points.end(); point != end; ++point) { - LogTrace("TrackSelection") << "Test track w.r.t. vertex with z position " << point->z(); - if (primaryVertexZCompatibility && primaryVertexD0Compatibility) - break; - float dzPV = tk.dz(*point); //re-evaluate the dz with respect to the vertex position - float d0PV = tk.dxy(*point); //re-evaluate the dxy with respect to the vertex position - if (useVtxError_) { - float dzErrPV = std::sqrt(dzE * dzE + vzerr[iv] * vzerr[iv]); // include vertex error in z - float d0ErrPV = std::sqrt(d0E * d0E + vterr[iv] * vterr[iv]); // include vertex error in xy - iv++; - if (abs(dzPV) < dz_par1_[tsNum][0] * pow(nlayers, dz_par1_[tsNum][1]) * nomdzE && - abs(dzPV) < dz_par2_[tsNum][0] * pow(nlayers, dz_par2_[tsNum][1]) * dzErrPV && abs(dzPV) < max_z0_[tsNum]) - primaryVertexZCompatibility = true; - if (abs(d0PV) < d0_par1_[tsNum][0] * pow(nlayers, d0_par1_[tsNum][1]) * nomd0E && - abs(d0PV) < d0_par2_[tsNum][0] * pow(nlayers, d0_par2_[tsNum][1]) * d0ErrPV && abs(d0PV) < max_d0_[tsNum]) - primaryVertexD0Compatibility = true; - } else { - if (abs(dzPV) < dzCut) - primaryVertexZCompatibility = true; - if (abs(d0PV) < d0Cut) - primaryVertexD0Compatibility = true; - } - LogTrace("TrackSelection") << "distances " << dzPV << " " << d0PV << " vs " << dzCut << " " << d0Cut; - } - - if (points.empty() && applyAbsCutsIfNoPV_[tsNum]) { - if (abs(dz) > max_z0NoPV_[tsNum] || abs(d0) > max_d0NoPV_[tsNum]) - return false; - } else { - // Absolute cuts on all tracks impact parameters with respect to beam-spot. - // If BS is not compatible, verify if at least the reco-vertex is compatible (useful for incorrect BS settings) - if (abs(d0) > max_d0_[tsNum] && !primaryVertexD0Compatibility) - return false; - LogTrace("TrackSelection") << "absolute cuts on d0 passed"; - if (abs(dz) > max_z0_[tsNum] && !primaryVertexZCompatibility) - return false; - LogTrace("TrackSelection") << "absolute cuts on dz passed"; - } - - LogTrace("TrackSelection") << "cuts on PV: apply adapted PV cuts? " << applyAdaptedPVCuts_[tsNum] - << " d0 compatibility? " << primaryVertexD0Compatibility << " z compatibility? " - << primaryVertexZCompatibility; - - if (applyAdaptedPVCuts_[tsNum]) { - return (primaryVertexD0Compatibility && primaryVertexZCompatibility); - } else { - return true; - } -} - -void HIMultiTrackSelector::selectVertices(unsigned int tsNum, - const reco::VertexCollection &vtxs, - std::vector &points, - std::vector &vterr, - std::vector &vzerr) const { - // Select good primary vertices - using namespace reco; - int32_t toTake = vtxNumber_[tsNum]; - for (VertexCollection::const_iterator it = vtxs.begin(), ed = vtxs.end(); it != ed; ++it) { - LogDebug("SelectVertex") << " select vertex with z position " << it->z() << " " << it->chi2() << " " << it->ndof() - << " " << TMath::Prob(it->chi2(), static_cast(it->ndof())); - const Vertex &vtx = *it; - bool pass = vertexCut_[tsNum](vtx); - if (pass) { - points.push_back(it->position()); - vterr.push_back(sqrt(it->yError() * it->xError())); - vzerr.push_back(it->zError()); - LogTrace("SelectVertex") << " SELECTED vertex with z position " << it->z(); - toTake--; - if (toTake == 0) - break; - } - } -} - -void HIMultiTrackSelector::processMVA(edm::Event &evt, - const edm::EventSetup &es, - std::vector &mvaVals_, - const reco::VertexCollection &vertices) const { - using namespace std; - using namespace edm; - using namespace reco; - - // Get tracks - Handle hSrcTrack; - evt.getByToken(src_, hSrcTrack); - const TrackCollection &srcTracks(*hSrcTrack); - assert(mvaVals_.size() == srcTracks.size()); - - // get hits in track.. - Handle hSrcHits; - evt.getByToken(hSrc_, hSrcHits); - const TrackingRecHitCollection &srcHits(*hSrcHits); - - auto mvaValValueMap = std::make_unique>(); - edm::ValueMap::Filler mvaFiller(*mvaValValueMap); - - if (!useAnyMVA_) { - // mvaVals_ already initalized... - mvaFiller.insert(hSrcTrack, mvaVals_.begin(), mvaVals_.end()); - mvaFiller.fill(); - evt.put(std::move(mvaValValueMap), "MVAVals"); - return; - } - - bool checkvertex = - std::find(mvavars_indices.begin(), mvavars_indices.end(), dxyperdxyerror) != mvavars_indices.end() || - std::find(mvavars_indices.begin(), mvavars_indices.end(), dzperdzerror) != mvavars_indices.end(); - - size_t current = 0; - for (TrackCollection::const_iterator it = srcTracks.begin(), ed = srcTracks.end(); it != ed; ++it, ++current) { - const Track &trk = *it; - - float mvavalues[15]; - mvavalues[ndof] = trk.ndof(); - mvavalues[nlayers] = trk.hitPattern().trackerLayersWithMeasurement(); - mvavalues[nlayers3d] = - trk.hitPattern().pixelLayersWithMeasurement() + trk.hitPattern().numberOfValidStripLayersWithMonoAndStereo(); - mvavalues[nlayerslost] = trk.hitPattern().trackerLayersWithoutMeasurement(reco::HitPattern::TRACK_HITS); - mvavalues[chi2n_no1dmod] = trk.normalizedChi2(); - mvavalues[chi2perdofperlayer] = mvavalues[chi2n_no1dmod] / mvavalues[nlayers]; - - float chi2n1d = trk.normalizedChi2(); - int count1dhits = 0; - auto ith = trk.extra()->firstRecHit(); - auto edh = ith + trk.recHitsSize(); - for (; ith < edh; ++ith) { - const TrackingRecHit &hit = srcHits[ith]; - if (hit.dimension() == 1) - ++count1dhits; - } - if (count1dhits > 0) { - float chi2 = trk.chi2(); - float ndof = trk.ndof(); - chi2n1d = (chi2 + count1dhits) / float(ndof + count1dhits); - } - - mvavalues[chi2n] = chi2n1d; //chi2 and 1d modes - - mvavalues[eta] = trk.eta(); - mvavalues[relpterr] = float(trk.ptError()) / std::max(float(trk.pt()), 0.000001f); - mvavalues[nhits] = trk.numberOfValidHits(); - - int lostIn = trk.hitPattern().numberOfLostTrackerHits(reco::HitPattern::MISSING_INNER_HITS); - int lostOut = trk.hitPattern().numberOfLostTrackerHits(reco::HitPattern::MISSING_OUTER_HITS); - mvavalues[minlost] = std::min(lostIn, lostOut); - mvavalues[lostmidfrac] = trk.numberOfLostHits() / (trk.numberOfValidHits() + trk.numberOfLostHits()); - - mvavalues[etaerror] = trk.etaError(); - - float reldz = 0; - float reldxy = 0; - if (checkvertex) { - int vtxind = 0; // only first vertex is taken into account for the speed purposes - float dxy = trk.dxy(vertices[vtxind].position()), - dxyE = sqrt(trk.dxyError() * trk.dxyError() + vertices[vtxind].xError() * vertices[vtxind].yError()); - float dz = trk.dz(vertices[vtxind].position()), - dzE = sqrt(trk.dzError() * trk.dzError() + vertices[vtxind].zError() * vertices[vtxind].zError()); - reldz = dz / dzE; - reldxy = dxy / dxyE; - } - mvavalues[dxyperdxyerror] = reldxy; - mvavalues[dzperdzerror] = reldz; - - std::vector gbrValues; - - //fill in the gbrValues vector with the necessary variables - for (unsigned i = 0; i < mvavars_indices.size(); i++) { - gbrValues.push_back(mvavalues[mvavars_indices[i]]); - } - - GBRForest const *forest = forest_; - if (useForestFromDB_) { - forest = &es.getData(forestToken_); - } - - auto gbrVal = forest->GetClassifier(&gbrValues[0]); - mvaVals_[current] = gbrVal; - } - mvaFiller.insert(hSrcTrack, mvaVals_.begin(), mvaVals_.end()); - mvaFiller.fill(); - evt.put(std::move(mvaValValueMap), "MVAVals"); -} - -#include "FWCore/PluginManager/interface/ModuleDef.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(HIMultiTrackSelector); diff --git a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.h b/RecoHI/HiTracking/plugins/HIMultiTrackSelector.h deleted file mode 100644 index 2d4bcc1f1bd32..0000000000000 --- a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.h +++ /dev/null @@ -1,185 +0,0 @@ -#ifndef RecoAlgos_HIMultiTrackSelector_h -#define RecoAlgos_HIMultiTrackSelector_h -/** \class HIMultiTrackSelector - * - * selects a subset of a track collection, copying extra information on demand - * - * \author David Lange - * - * - * - */ - -#include -#include -#include -#include -#include -#include "FWCore/Framework/interface/stream/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackExtra.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "TrackingTools/PatternTools/interface/Trajectory.h" -#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h" -#include "CommonTools/Utils/interface/StringCutObjectSelector.h" -#include "CondFormats/GBRForest/interface/GBRForest.h" - -enum MVAVARIABLES { - chi2perdofperlayer = 0, - dxyperdxyerror = 1, - dzperdzerror = 2, - relpterr = 3, - lostmidfrac = 4, - minlost = 5, - nhits = 6, - eta = 7, - chi2n_no1dmod = 8, - chi2n = 9, - nlayerslost = 10, - nlayers3d = 11, - nlayers = 12, - ndof = 13, - etaerror = 14 -}; - -class GBRWrapperRcd; - -class dso_hidden HIMultiTrackSelector : public edm::stream::EDProducer<> { -private: -public: - /// constructor - explicit HIMultiTrackSelector(); - explicit HIMultiTrackSelector(const edm::ParameterSet &cfg); - /// destructor - ~HIMultiTrackSelector() override; - -protected: - void beginStream(edm::StreamID) final; - - // void streamBeginRun(edm::StreamID, edm::Run const&, edm::EventSetup const&) const final { - // init(); - //} - //void beginRun(edm::Run const&, edm::EventSetup const&) final { init(); } - // void init(edm::EventSetup const& es) const; - - typedef math::XYZPoint Point; - /// process one event - void produce(edm::Event &evt, const edm::EventSetup &es) final { run(evt, es); } - virtual void run(edm::Event &evt, const edm::EventSetup &es) const; - - /// return class, or -1 if rejected - bool select(unsigned tsNum, - const reco::BeamSpot &vertexBeamSpot, - const TrackingRecHitCollection &recHits, - const reco::Track &tk, - const std::vector &points, - std::vector &vterr, - std::vector &vzerr, - double mvaVal) const; - void selectVertices(unsigned int tsNum, - const reco::VertexCollection &vtxs, - std::vector &points, - std::vector &vterr, - std::vector &vzerr) const; - - void processMVA(edm::Event &evt, - const edm::EventSetup &es, - std::vector &mvaVals_, - const reco::VertexCollection &hVtx) const; - - void ParseForestVars(); - /// source collection label - edm::EDGetTokenT src_; - edm::EDGetTokenT hSrc_; - edm::EDGetTokenT beamspot_; - bool useVertices_; - bool useVtxError_; - bool useAnyMVA_; - edm::EDGetTokenT vertices_; - - // Boolean indicating if pixel track merging related cuts are to be applied - bool applyPixelMergingCuts_; - - /// do I have to set a quality bit? - std::vector setQualityBit_; - std::vector qualityToSet_; - - /// vertex cuts - std::vector vtxNumber_; - //StringCutObjectSelector is not const thread safe - std::vector > vertexCut_; - - // parameters for adapted optimal cuts on chi2 and primary vertex compatibility - std::vector > res_par_; - std::vector chi2n_par_; - std::vector chi2n_no1Dmod_par_; - std::vector > d0_par1_; - std::vector > dz_par1_; - std::vector > d0_par2_; - std::vector > dz_par2_; - // Boolean indicating if adapted primary vertex compatibility cuts are to be applied. - std::vector applyAdaptedPVCuts_; - - /// Impact parameter absolute cuts - std::vector max_d0_; - std::vector max_z0_; - std::vector nSigmaZ_; - - // parameters for pixel track merging pT dependent chi2 cuts - std::vector > pixel_pTMinCut_; - std::vector > pixel_pTMaxCut_; - - /// Cuts on numbers of layers with hits/3D hits/lost hits. - std::vector min_layers_; - std::vector min_3Dlayers_; - std::vector max_lostLayers_; - std::vector min_hits_bypass_; - - // pterror and nvalid hits cuts - std::vector max_relpterr_; - std::vector min_nhits_; - - std::vector max_minMissHitOutOrIn_; - std::vector max_lostHitFraction_; - - std::vector min_eta_; - std::vector max_eta_; - - // Flag and absolute cuts if no PV passes the selection - std::vector max_d0NoPV_; - std::vector max_z0NoPV_; - std::vector applyAbsCutsIfNoPV_; - //if true, selector flags but does not select - std::vector keepAllTracks_; - - // allow one of the previous psets to be used as a prefilter - std::vector preFilter_; - std::vector name_; - - //setup mva selector - std::vector useMVA_; - //std::vector mvaReaders_; - - std::vector mvavars_indices; - - std::vector min_MVA_; - - //std::vector mvaType_; - std::string mvaType_; - std::string forestLabel_; - std::vector forestVars_; - GBRForest *forest_; - edm::ESGetToken forestToken_; - bool useForestFromDB_; - std::string dbFileName_; -}; - -#endif diff --git a/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.cc b/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.cc deleted file mode 100644 index f79286f804533..0000000000000 --- a/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.cc +++ /dev/null @@ -1,139 +0,0 @@ -#include "HIPixelClusterVtxProducer.h" - -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/CommonTopologies/interface/PixelTopology.h" -#include "Geometry/CommonDetUnit/interface/GeomDet.h" - -#include "DataFormats/GeometryVector/interface/LocalPoint.h" -#include "DataFormats/GeometryVector/interface/GlobalPoint.h" - -#include "SimDataFormats/Vertex/interface/SimVertexContainer.h" - -#include -#include -#include -#include - -/*****************************************************************************/ -HIPixelClusterVtxProducer::HIPixelClusterVtxProducer(const edm::ParameterSet &ps) - : srcPixelsString_(ps.getParameter("pixelRecHits")), - trackerToken_(esConsumes()), - minZ_(ps.getParameter("minZ")), - maxZ_(ps.getParameter("maxZ")), - zStep_(ps.getParameter("zStep")) - -{ - // Constructor - produces(); - srcPixels_ = (consumes(srcPixelsString_)); -} - -/*****************************************************************************/ -HIPixelClusterVtxProducer::~HIPixelClusterVtxProducer() { - // Destructor -} - -/*****************************************************************************/ -void HIPixelClusterVtxProducer::produce(edm::Event &ev, const edm::EventSetup &es) { - // new vertex collection - auto vertices = std::make_unique(); - - // get pixel rechits - edm::Handle hRecHits; - ev.getByToken(srcPixels_, hRecHits); - - // get tracker geometry - if (hRecHits.isValid()) { - const TrackerGeometry *tgeo = &es.getData(trackerToken_); - const SiPixelRecHitCollection *hits = hRecHits.product(); - - // loop over pixel rechits - std::vector vhits; - for (SiPixelRecHitCollection::DataContainer::const_iterator hit = hits->data().begin(), end = hits->data().end(); - hit != end; - ++hit) { - if (!hit->isValid()) - continue; - DetId id(hit->geographicalId()); - if (id.subdetId() != int(PixelSubdetector::PixelBarrel)) - continue; - const PixelGeomDetUnit *pgdu = static_cast(tgeo->idToDet(id)); - if (true) { - const PixelTopology *pixTopo = &(pgdu->specificTopology()); - std::vector pixels(hit->cluster()->pixels()); - bool pixelOnEdge = false; - for (std::vector::const_iterator pixel = pixels.begin(); pixel != pixels.end(); - ++pixel) { - int pixelX = pixel->x; - int pixelY = pixel->y; - if (pixTopo->isItEdgePixelInX(pixelX) || pixTopo->isItEdgePixelInY(pixelY)) { - pixelOnEdge = true; - break; - } - } - if (pixelOnEdge) - continue; - } - - LocalPoint lpos = LocalPoint(hit->localPosition().x(), hit->localPosition().y(), hit->localPosition().z()); - GlobalPoint gpos = pgdu->toGlobal(lpos); - VertexHit vh; - vh.z = gpos.z(); - vh.r = gpos.perp(); - vh.w = hit->cluster()->sizeY(); - vhits.push_back(vh); - } - - // estimate z-position from cluster lengths - double zest = 0.0; - int nhits = 0, nhits_max = 0; - double chi = 0, chi_max = 1e+9; - for (double z0 = minZ_; z0 <= maxZ_; z0 += zStep_) { - nhits = getContainedHits(vhits, z0, chi); - if (nhits == 0) - continue; - if (nhits > nhits_max) { - chi_max = 1e+9; - nhits_max = nhits; - } - if (nhits >= nhits_max && chi < chi_max) { - chi_max = chi; - zest = z0; - } - } - - LogTrace("MinBiasTracking") << " [vertex position] estimated = " << zest - << " | pixel barrel hits = " << vhits.size(); - - // put 1-d vertex and dummy errors into collection - reco::Vertex::Error err; - err(2, 2) = 0.6 * 0.6; - reco::Vertex ver(reco::Vertex::Point(0, 0, zest), err, 0, 1, 1); - vertices->push_back(ver); - } - - ev.put(std::move(vertices)); -} - -/*****************************************************************************/ -int HIPixelClusterVtxProducer::getContainedHits(const std::vector &hits, double z0, double &chi) { - // Calculate number of hits contained in v-shaped window in cluster y-width vs. z-position. - int n = 0; - chi = 0.; - - for (std::vector::const_iterator hit = hits.begin(); hit != hits.end(); hit++) { - double p = 2 * fabs(hit->z - z0) / hit->r + 0.5; // FIXME - if (TMath::Abs(p - hit->w) <= 1.) { - chi += fabs(p - hit->w); - n++; - } - } - return n; -} diff --git a/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.h b/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.h deleted file mode 100644 index eb329316be041..0000000000000 --- a/RecoHI/HiTracking/plugins/HIPixelClusterVtxProducer.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef HIPixelClusterVtxProducer_H -#define HIPixelClusterVtxProducer_H - -#include "FWCore/Framework/interface/stream/EDProducer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" - -namespace edm { - class Run; - class Event; - class EventSetup; -} // namespace edm - -class TrackerGeometry; - -class HIPixelClusterVtxProducer : public edm::stream::EDProducer<> { -public: - explicit HIPixelClusterVtxProducer(const edm::ParameterSet& ps); - ~HIPixelClusterVtxProducer() override; - -private: - struct VertexHit { - float z; - float r; - float w; - }; - - void produce(edm::Event& ev, const edm::EventSetup& es) override; - int getContainedHits(const std::vector& hits, double z0, double& chi); - - std::string srcPixelsString_; //pixel rec hits - edm::EDGetTokenT srcPixels_; - edm::ESGetToken trackerToken_; - - double minZ_; - double maxZ_; - double zStep_; -}; -#endif diff --git a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc b/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc deleted file mode 100644 index dda1fb055fe8b..0000000000000 --- a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc +++ /dev/null @@ -1,157 +0,0 @@ -#include "HIPixelMedianVtxProducer.h" - -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include -#include -#include -#include - -#include "TROOT.h" -#include "TH1F.h" -#include "TF1.h" -#include "TMinuitMinimizer.h" - -/*****************************************************************************/ -HIPixelMedianVtxProducer::HIPixelMedianVtxProducer(const edm::ParameterSet& ps) - : theTrackCollection(consumes(ps.getParameter("TrackCollection"))), - thePtMin(ps.getParameter("PtMin")), - thePeakFindThresh(ps.getParameter("PeakFindThreshold")), - thePeakFindMaxZ(ps.getParameter("PeakFindMaxZ")), - thePeakFindBinning(ps.getParameter("PeakFindBinsPerCm")), - theFitThreshold(ps.getParameter("FitThreshold")), - theFitMaxZ(ps.getParameter("FitMaxZ")), - theFitBinning(ps.getParameter("FitBinsPerCm")) { - produces(); - - //In order to make fitting ROOT histograms thread safe - // one must call this undocumented function - TMinuitMinimizer::UseStaticMinuit(false); -} - -/*****************************************************************************/ -void HIPixelMedianVtxProducer::produce(edm::Event& ev, const edm::EventSetup& es) { - // Get pixel tracks - edm::Handle trackCollection; - ev.getByToken(theTrackCollection, trackCollection); - const reco::TrackCollection tracks_ = *(trackCollection.product()); - - // Select tracks above minimum pt - std::vector tracks; - for (unsigned int i = 0; i < tracks_.size(); i++) { - if (tracks_[i].pt() < thePtMin && std::fabs(tracks_[i].vz()) < 100000.) - continue; - reco::TrackRef recTrack(trackCollection, i); - tracks.push_back(&(*recTrack)); - } - - LogTrace("MinBiasTracking") << " [VertexProducer] selected tracks: " << tracks.size() << " (out of " << tracks_.size() - << ") above pt = " << thePtMin; - - // Output vertex collection - auto vertices = std::make_unique(); - - // No tracks -> return empty collection - if (tracks.empty()) { - ev.put(std::move(vertices)); - return; - } - - // Sort tracks according to vertex z position - std::sort(tracks.begin(), tracks.end(), ComparePairs()); - - // Calculate median vz - float med; - if (tracks.size() % 2 == 0) - med = (tracks[tracks.size() / 2 - 1]->vz() + tracks[tracks.size() / 2]->vz()) / 2; - else - med = tracks[tracks.size() / 2]->vz(); - - LogTrace("MinBiasTracking") << " [vertex position] median = " << med << " cm"; - - // In high multiplicity events, fit around most probable position - if (tracks.size() > thePeakFindThresh) { - // Find maximum bin - TH1F hmax("hmax", "hmax", thePeakFindBinning * 2.0 * thePeakFindMaxZ, -1.0 * thePeakFindMaxZ, thePeakFindMaxZ); - - for (std::vector::const_iterator track = tracks.begin(); track != tracks.end(); track++) - if (fabs((*track)->vz()) < thePeakFindMaxZ) - hmax.Fill((*track)->vz()); - - int maxBin = hmax.GetMaximumBin(); - - LogTrace("MinBiasTracking") << " [vertex position] most prob = " << hmax.GetBinCenter(maxBin) << " cm"; - - // Find 3-bin weighted average - float num = 0.0, denom = 0.0; - for (int i = -1; i <= 1; i++) { - num += hmax.GetBinContent(maxBin + i) * hmax.GetBinCenter(maxBin + i); - denom += hmax.GetBinContent(maxBin + i); - } - - if (denom == 0) { - reco::Vertex::Error err; - err(2, 2) = 0.1 * 0.1; - reco::Vertex ver(reco::Vertex::Point(0, 0, 99999.), err, 0, 0, 1); - vertices->push_back(ver); - ev.put(std::move(vertices)); - return; - } - - float nBinAvg = num / denom; - - // Center fit at 3-bin weighted average around max bin - med = nBinAvg; - - LogTrace("MinBiasTracking") << " [vertex position] 3-bin weighted average = " << nBinAvg << " cm"; - } - - // Bin vz-values around most probable value (or median) for fitting - TH1F histo("histo", "histo", theFitBinning * 2.0 * theFitMaxZ, -1.0 * theFitMaxZ, theFitMaxZ); - histo.Sumw2(); - - for (std::vector::const_iterator track = tracks.begin(); track != tracks.end(); track++) - if (fabs((*track)->vz() - med) < theFitMaxZ) - histo.Fill((*track)->vz() - med); - - LogTrace("MinBiasTracking") << " [vertex position] most prob for fit = " - << med + histo.GetBinCenter(histo.GetMaximumBin()) << " cm"; - - // If there are very few entries, don't do the fit - if (histo.GetEntries() <= theFitThreshold) { - LogTrace("MinBiasTracking") << " [vertex position] Fewer than" << theFitThreshold - << " entries in fit histogram. Returning median."; - - reco::Vertex::Error err; - err(2, 2) = 0.1 * 0.1; - reco::Vertex ver(reco::Vertex::Point(0, 0, med), err, 0, 1, 1); - vertices->push_back(ver); - ev.put(std::move(vertices)); - return; - } - - // Otherwise, there are enough entries to refine the estimate with a fit - TF1 f1("f1", "[0]*exp(-0.5 * ((x-[1])/[2])^2) + [3]"); - f1.SetParameters(10., 0., 0.02, 0.002 * tracks.size()); - f1.SetParLimits(1, -0.1, 0.1); - f1.SetParLimits(2, 0.001, 0.05); - f1.SetParLimits(3, 0.0, 0.005 * tracks.size()); - - histo.Fit(&f1, "QN SERIAL"); - - LogTrace("MinBiasTracking") << " [vertex position] fitted = " << med + f1.GetParameter(1) << " +- " - << f1.GetParError(1) << " cm"; - - reco::Vertex::Error err; - err(2, 2) = f1.GetParError(1) * f1.GetParError(1); - reco::Vertex ver(reco::Vertex::Point(0, 0, med + f1.GetParameter(1)), err, 0, 1, 1); - vertices->push_back(ver); - - ev.put(std::move(vertices)); - return; -} diff --git a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.h b/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.h deleted file mode 100644 index 5476300a756f6..0000000000000 --- a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef HIPixelMedianVtxProducer_H -#define HIPixelMedianVtxProducer_H - -#include "FWCore/Framework/interface/one/EDProducer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -namespace edm { - class Event; - class EventSetup; -} // namespace edm - -class HIPixelMedianVtxProducer : public edm::one::EDProducer<> { -public: - explicit HIPixelMedianVtxProducer(const edm::ParameterSet& ps); - ~HIPixelMedianVtxProducer() override{}; - void produce(edm::Event& ev, const edm::EventSetup& es) override; - -private: - void beginJob() override{}; - - edm::EDGetTokenT theTrackCollection; - double thePtMin; - unsigned int thePeakFindThresh; - double thePeakFindMaxZ; - int thePeakFindBinning; - int theFitThreshold; - double theFitMaxZ; - int theFitBinning; -}; - -struct ComparePairs { - bool operator()(const reco::Track* t1, const reco::Track* t2) { return (t1->vz() < t2->vz()); }; -}; - -#endif diff --git a/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc b/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc deleted file mode 100644 index cc3b68587ab0f..0000000000000 --- a/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc +++ /dev/null @@ -1,114 +0,0 @@ -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/global/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" -#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Utilities/interface/EDGetToken.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "RecoTracker/PixelTrackFitting/interface/PixelTrackFilter.h" -#include "RecoHI/HiTracking/interface/HIProtoTrackFilter.h" -#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" -#include "DataFormats/Common/interface/DetSetAlgorithm.h" - -#include "DataFormats/Common/interface/DetSetVector.h" -#include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -class HIProtoTrackFilterProducer : public edm::global::EDProducer<> { -public: - explicit HIProtoTrackFilterProducer(const edm::ParameterSet& iConfig); - ~HIProtoTrackFilterProducer() override; - - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); - -private: - void produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const override; - - edm::EDGetTokenT theBeamSpotToken; - edm::EDGetTokenT theSiPixelRecHitsToken; - edm::ESGetToken theTtopoToken; - double theTIPMax; - double theChi2Max, thePtMin; - bool doVariablePtMin; -}; - -HIProtoTrackFilterProducer::HIProtoTrackFilterProducer(const edm::ParameterSet& iConfig) - : theBeamSpotToken(consumes(iConfig.getParameter("beamSpot"))), - theSiPixelRecHitsToken(consumes(iConfig.getParameter("siPixelRecHits"))), - theTtopoToken(esConsumes()), - theTIPMax(iConfig.getParameter("tipMax")), - theChi2Max(iConfig.getParameter("chi2")), - thePtMin(iConfig.getParameter("ptMin")), - doVariablePtMin(iConfig.getParameter("doVariablePtMin")) { - produces(); -} - -void HIProtoTrackFilterProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { - edm::ParameterSetDescription desc; - - desc.add("beamSpot", edm::InputTag("offlineBeamSpot")); - desc.add("siPixelRecHits", edm::InputTag("siPixelRecHits")); - desc.add("ptMin", 1.0); - desc.add("tipMax", 1.0); - desc.add("chi2", 1000); - desc.add("doVariablePtMin", true); - - descriptions.add("hiProtoTrackFilter", desc); -} - -HIProtoTrackFilterProducer::~HIProtoTrackFilterProducer() {} - -void HIProtoTrackFilterProducer::produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { - // Get the beam spot - edm::Handle bsHandle; - iEvent.getByToken(theBeamSpotToken, bsHandle); - const reco::BeamSpot* beamSpot = bsHandle.product(); - - if (beamSpot) { - edm::LogInfo("HeavyIonVertexing") << "[HIProtoTrackFilterProducer] Proto track selection based on beamspot" - << "\n (x,y,z) = (" << beamSpot->x0() << "," << beamSpot->y0() << "," - << beamSpot->z0() << ")"; - } else { - edm::EDConsumerBase::Labels labels; - labelsForToken(theBeamSpotToken, labels); - edm::LogError("HeavyIonVertexing") // this can be made a warning when operator() is fixed - << "No beamspot found with tag '" << labels.module << "'"; - } - - // Estimate multiplicity - edm::Handle recHitColl; - iEvent.getByToken(theSiPixelRecHitsToken, recHitColl); - - auto const& ttopo = iSetup.getData(theTtopoToken); - - std::vector theChosenHits; - edmNew::copyDetSetRange(*recHitColl, theChosenHits, ttopo.pxbDetIdLayerComparator(1)); - float estMult = theChosenHits.size(); - - double variablePtMin = thePtMin; - if (doVariablePtMin) { - // parameterize ptMin such that a roughly constant number of selected prototracks passed are to vertexing - float varPtCutoff = 1500; //cutoff for variable ptMin - if (estMult < varPtCutoff) { - variablePtMin = 0.075; - if (estMult > 0) - variablePtMin = (13. - (varPtCutoff / estMult)) / 12.; - if (variablePtMin < 0.075) - variablePtMin = 0.075; // don't lower the cut past 75 MeV - } - LogTrace("heavyIonHLTVertexing") << " [HIProtoTrackFilterProducer: variablePtMin: " << variablePtMin << "]"; - } - - auto impl = std::make_unique(beamSpot, theTIPMax, theChi2Max, variablePtMin); - auto prod = std::make_unique(std::move(impl)); - iEvent.put(std::move(prod)); -} - -DEFINE_FWK_MODULE(HIProtoTrackFilterProducer); diff --git a/RecoHI/HiTracking/plugins/HIProtoTrackSelector.cc b/RecoHI/HiTracking/plugins/HIProtoTrackSelector.cc deleted file mode 100644 index 558684b4ad427..0000000000000 --- a/RecoHI/HiTracking/plugins/HIProtoTrackSelector.cc +++ /dev/null @@ -1,15 +0,0 @@ -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "CommonTools/UtilAlgos/interface/ObjectSelector.h" -#include "RecoHI/HiTracking/plugins/HIProtoTrackSelector.h" - -namespace reco { - namespace modules { - - // define your producer name - typedef ObjectSelector HIProtoTrackSelection; - - // declare the module as plugin - DEFINE_FWK_MODULE(HIProtoTrackSelection); - } // namespace modules -} // namespace reco diff --git a/RecoHI/HiTracking/plugins/HIProtoTrackSelector.h b/RecoHI/HiTracking/plugins/HIProtoTrackSelector.h deleted file mode 100644 index a5d11ceec345c..0000000000000 --- a/RecoHI/HiTracking/plugins/HIProtoTrackSelector.h +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef HIProtoTrackSelection_h -#define HIProtoTrackSelection_h - -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include -#include - -/** - Selector to select prototracks that pass certain kinematic cuts based on fast vertex -**/ - -class HIProtoTrackSelector { -public: - // input collection type - typedef reco::TrackCollection collection; - - // output collection type - typedef std::vector container; - - // iterator over result collection type. - typedef container::const_iterator const_iterator; - - // constructor from parameter set configurability - HIProtoTrackSelector(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) - : vertexCollection_(iConfig.getParameter("VertexCollection")), - vertexCollectionToken_(iC.consumes(vertexCollection_)), - beamSpot_(iConfig.getParameter("beamSpotLabel")), - beamSpotToken_(iC.consumes(beamSpot_)), - ptMin_(iConfig.getParameter("ptMin")), - nSigmaZ_(iConfig.getParameter("nSigmaZ")), - minZCut_(iConfig.getParameter("minZCut")), - maxD0Significance_(iConfig.getParameter("maxD0Significance")){}; - - // select object from a collection and possibly event content - void select(edm::Handle& TCH, const edm::Event& iEvent, const edm::EventSetup& iSetup) { - selected_.clear(); - - const collection& c = *(TCH.product()); - - // Get fast reco vertex - edm::Handle vc; - iEvent.getByToken(vertexCollectionToken_, vc); - const reco::VertexCollection* vertices = vc.product(); - - math::XYZPoint vtxPoint(0.0, 0.0, 0.0); - double vzErr = 0.0; - - if (!vertices->empty()) { - vtxPoint = vertices->begin()->position(); - vzErr = vertices->begin()->zError(); - edm::LogInfo("HeavyIonVertexing") << "Select prototracks compatible with median vertex" - << "\n vz = " << vtxPoint.Z() << "\n " << nSigmaZ_ - << " vz sigmas = " << vzErr * nSigmaZ_ - << "\n cut at = " << std::max(vzErr * nSigmaZ_, minZCut_); - } - // Supress this warning, since events w/ no vertex are expected - //else { - //edm::LogError("HeavyIonVertexing") << "No vertex found in collection '" << vertexCollection_ << "'"; - //} - - // Get beamspot - reco::BeamSpot beamSpot; - edm::Handle beamSpotHandle; - iEvent.getByToken(beamSpotToken_, beamSpotHandle); - - math::XYZPoint bsPoint(0.0, 0.0, 0.0); - double bsWidth = 0.0; - - if (beamSpotHandle.isValid()) { - beamSpot = *beamSpotHandle; - bsPoint = beamSpot.position(); - bsWidth = sqrt(beamSpot.BeamWidthX() * beamSpot.BeamWidthY()); - edm::LogInfo("HeavyIonVertexing") << "Select prototracks compatible with beamspot" - << "\n (x,y,z) = (" << bsPoint.X() << "," << bsPoint.Y() << "," << bsPoint.Z() - << ")" - << "\n width = " << bsWidth - << "\n cut at d0/d0sigma = " << maxD0Significance_; - } else { - edm::LogError("HeavyIonVertexing") << "No beam spot available from '" << beamSpot_ << "\n"; - } - - // Do selection - int nSelected = 0; - int nRejected = 0; - double d0 = 0.0; - double d0sigma = 0.0; - for (reco::TrackCollection::const_iterator trk = c.begin(); trk != c.end(); ++trk) { - d0 = -1. * trk->dxy(bsPoint); - d0sigma = sqrt(trk->d0Error() * trk->d0Error() + bsWidth * bsWidth); - if (trk->pt() > ptMin_ // keep only tracks above ptMin - && fabs(d0 / d0sigma) < maxD0Significance_ // keep only tracks with D0 significance less than cut - && fabs(trk->dz(vtxPoint)) < std::max(vzErr * nSigmaZ_, minZCut_) // within minZCut, nSigmaZ of fast vertex - ) { - nSelected++; - selected_.push_back(&*trk); - } else - nRejected++; - } - - edm::LogInfo("HeavyIonVertexing") << "selected " << nSelected << " prototracks out of " << nRejected + nSelected - << "\n"; - } - - // iterators over selected objects: collection begin - const_iterator begin() const { return selected_.begin(); } - - // iterators over selected objects: collection end - const_iterator end() const { return selected_.end(); } - - // true if no object has been selected - size_t size() const { return selected_.size(); } - -private: - container selected_; - edm::InputTag vertexCollection_; - edm::EDGetTokenT vertexCollectionToken_; - edm::InputTag beamSpot_; - edm::EDGetTokenT beamSpotToken_; - double ptMin_; - double nSigmaZ_; - double minZCut_; - double maxD0Significance_; -}; - -#endif diff --git a/RecoHI/HiTracking/plugins/modules.cc b/RecoHI/HiTracking/plugins/modules.cc index 7d8b0179fa1c2..83cd96f51b8ca 100644 --- a/RecoHI/HiTracking/plugins/modules.cc +++ b/RecoHI/HiTracking/plugins/modules.cc @@ -4,16 +4,16 @@ #include "FWCore/Framework/interface/ESProducer.h" // Cluster Vertexing -#include "HIPixelClusterVtxProducer.h" -DEFINE_FWK_MODULE(HIPixelClusterVtxProducer); +//#include "HIPixelClusterVtxProducer.h" +//DEFINE_FWK_MODULE(HIPixelClusterVtxProducer); // Median Vertexing -#include "HIPixelMedianVtxProducer.h" -DEFINE_FWK_MODULE(HIPixelMedianVtxProducer); +//#include "HIPixelMedianVtxProducer.h" +//DEFINE_FWK_MODULE(HIPixelMedianVtxProducer); // Best Vertex Producer -#include "RecoHI/HiTracking/interface/HIBestVertexProducer.h" -DEFINE_FWK_MODULE(HIBestVertexProducer); +//#include "RecoHI/HiTracking/interface/HIBestVertexProducer.h" +//DEFINE_FWK_MODULE(HIBestVertexProducer); // Restricted HI tracking regions #include "HITrackingRegionProducer.h" diff --git a/RecoHI/HiTracking/python/HIBestVertexSequences_cff.py b/RecoHI/HiTracking/python/HIBestVertexSequences_cff.py deleted file mode 100644 index e7ffed4e0a687..0000000000000 --- a/RecoHI/HiTracking/python/HIBestVertexSequences_cff.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# sort by number of tracks and keep the best -hiBestAdaptiveVertex = cms.EDFilter("HIBestVertexSelection", - src = cms.InputTag("hiPixelAdaptiveVertex"), - maxNumber = cms.uint32(1) -) - -# select best of precise vertex, fast vertex, and beamspot -hiSelectedPixelVertex = cms.EDProducer("HIBestVertexProducer", - beamSpotLabel = cms.InputTag("offlineBeamSpot"), - adaptiveVertexCollection = cms.InputTag("hiBestAdaptiveVertex"), - medianVertexCollection = cms.InputTag("hiPixelMedianVertex"), - useFinalAdaptiveVertexCollection = cms.bool(False), -) - -# best vertex sequence -bestHiVertexTask = cms.Task( hiBestAdaptiveVertex , hiSelectedPixelVertex ) # vertexing run BEFORE tracking - -from RecoHI.HiTracking.HIPixelAdaptiveVertex_cfi import * -hiOfflinePrimaryVertices=hiPixelAdaptiveVertex.clone( # vertexing run AFTER tracking - TrackLabel = "hiGeneralTracks", - - TkFilterParameters = cms.PSet( - algorithm = cms.string('filterWithThreshold'), - maxNormalizedChi2 = cms.double(5.0), - minPixelLayersWithHits = cms.int32(3), #0 missing pix hit (Run 1 pixels) - minSiliconLayersWithHits = cms.int32(5), #at least 8 (3pix+5strip) hits total - maxD0Significance = cms.double(3.0), #default is 5.0 in pp; 3.0 here suppresses split vtxs - minPt = cms.double(0.0), - maxEta = cms.double(100.), - trackQuality = cms.string("any"), - numTracksThreshold = cms.int32(2) - ) -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiOfflinePrimaryVertices, - TkFilterParameters = dict (minPixelLayersWithHits = 4, minSiliconLayersWithHits = 4) - #Phase 1 requires 8 hits total, but 4 from pixels, 4 from strips now instead of 3 and 5 -) - -hiBestOfflinePrimaryVertex = cms.EDFilter("HIBestVertexSelection", - src = cms.InputTag("hiOfflinePrimaryVertices"), - maxNumber = cms.uint32(1) -) -# select best of precise vertex, fast vertex, and beamspot -hiSelectedVertex = hiSelectedPixelVertex.clone( - useFinalAdaptiveVertexCollection = True, - finalAdaptiveVertexCollection = cms.InputTag("hiBestOfflinePrimaryVertex") -) -bestFinalHiVertexTask = cms.Task(hiOfflinePrimaryVertices , hiBestOfflinePrimaryVertex , hiSelectedVertex ) diff --git a/RecoHI/HiTracking/python/HICkfTrackCandidates_cff.py b/RecoHI/HiTracking/python/HICkfTrackCandidates_cff.py deleted file mode 100644 index 31cc05b04fba0..0000000000000 --- a/RecoHI/HiTracking/python/HICkfTrackCandidates_cff.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoTracker.CkfPattern.CkfTrackCandidates_cff import * -from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedSeeds_cfi import * -MaterialPropagator.Mass = 0.139 #pion (default is muon) -OppositeMaterialPropagator.Mass = 0.139 - -#trajectory filter settings -from TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff import * -CkfBaseTrajectoryFilter_block.minimumNumberOfHits = 6 #default is 5 -CkfBaseTrajectoryFilter_block.minPt = 2.0 #default is 0.9 - -# trajectory builder settings -CkfTrajectoryBuilder.maxCand = 5 #default is 5 -CkfTrajectoryBuilder.intermediateCleaning = False #default is true -CkfTrajectoryBuilder.alwaysUseInvalidHits = False #default is true - -### primary track candidates -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiPrimTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('CkfTrajectoryBuilder')), #instead of GroupedCkfTrajectoryBuilder - src = 'hiPixelTrackSeeds', - RedundantSeedCleaner = 'none', - doSeedingRegionRebuilding = False -) - - diff --git a/RecoHI/HiTracking/python/HIInitialJetCoreClusterSplitting_cff.py b/RecoHI/HiTracking/python/HIInitialJetCoreClusterSplitting_cff.py deleted file mode 100644 index 0e5569befdb91..0000000000000 --- a/RecoHI/HiTracking/python/HIInitialJetCoreClusterSplitting_cff.py +++ /dev/null @@ -1,48 +0,0 @@ -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 = 'siPixelClustersPreSplitting', - vertices = 'hiSelectedVertexPreSplitting', - cores = 'hiJetsForCoreTrackingPreSplitting', - deltaRmax = 0.1, - ptMin = 50 -) - -from RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi import siPixelRecHits -from RecoTracker.MeasurementDet.MeasurementTrackerEventProducer_cfi import MeasurementTrackerEvent -from RecoTracker.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import * -hiInitialJetCoreClusterSplittingTask = cms.Task( - hiPixelVerticesPreSplittingTask - , hiCaloTowerForTrkPreSplitting - , hiAkPu4CaloJetsForTrkPreSplitting - , hiAkPu4CaloJetsCorrectedPreSplitting - , hiAkPu4CaloJetsSelectedPreSplitting - , hiJetsForCoreTrackingPreSplitting - , siPixelClusters - , siPixelRecHits - , MeasurementTrackerEvent - , siPixelClusterShapeCache) diff --git a/RecoHI/HiTracking/python/HIPixel3PrimTracks_cfi.py b/RecoHI/HiTracking/python/HIPixel3PrimTracks_cfi.py deleted file mode 100644 index 7be3e682abaf9..0000000000000 --- a/RecoHI/HiTracking/python/HIPixel3PrimTracks_cfi.py +++ /dev/null @@ -1,87 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -from RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi import PixelLayerQuadruplets as _PixelLayerQuadruplets - -#from RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi import * - -hiPixelLayerQuadruplets = _PixelLayerQuadruplets.clone() - -# Hit ntuplets -hiPixel3PrimTracksHitDoublets = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "PixelLayerTriplets", - trackingRegions = "hiTrackingRegionWithVertex", - maxElement = 50000000, - produceIntermediateHitDoublets = True, -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiPixel3PrimTracksHitDoublets, - seedingLayers = "hiPixelLayerQuadruplets" -) - - -hiPixel3PrimTracksHitTriplets = _pixelTripletHLTEDProducer.clone( - doublets = "hiPixel3PrimTracksHitDoublets", - maxElement = 1000000, # increase threshold for triplets in generation step (default: 100000) - produceSeedingHitSets = True, - produceIntermediateHitTriplets = True, -) - -from RecoTracker.PixelSeeding.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer -hiPixel3PrimTracksHitDoubletsCA = hiPixel3PrimTracksHitDoublets.clone( - layerPairs = [0,1,2] -) -hiPixel3PrimTracksHitQuadrupletsCA = _caHitQuadrupletEDProducer.clone( - doublets = "hiPixel3PrimTracksHitDoubletsCA", - extraHitRPhitolerance = hiPixel3PrimTracksHitTriplets.extraHitRPhitolerance, - SeedComparitorPSet = hiPixel3PrimTracksHitTriplets.SeedComparitorPSet, - maxChi2 = dict( - pt1 = 0.7, pt2 = 2, - value1 = 200, value2 = 50, - ), - useBendingCorrection = True, - fitFastCircle = True, - fitFastCircleChi2Cut = True, - CAThetaCut = 0.0012, - CAPhiCut = 0.2, -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -# Pixel tracks -hiPixel3PrimTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel triplet primary tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiPixel3PrimTracksHitTriplets", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiFilter", - # Cleaner - Cleaner = "trackCleaner" -) -trackingPhase1.toModify(hiPixel3PrimTracks, - SeedingHitSets = "hiPixel3PrimTracksHitQuadrupletsCA", -) - -hiPixel3PrimTracksTask = cms.Task( - hiTrackingRegionWithVertex , - hiPixel3PrimTracksHitDoublets , - hiPixel3PrimTracksHitTriplets , - pixelFitterByHelixProjections , - hiFilter , - hiPixel3PrimTracks -) -hiPixel3PrimTracksSequence = cms.Sequence(hiPixel3PrimTracksTask) -#phase 1 changes -hiPixel3PrimTracksTask_Phase1 = hiPixel3PrimTracksTask.copy() -hiPixel3PrimTracksTask_Phase1.replace(hiPixel3PrimTracksHitDoublets, cms.Task(hiPixelLayerQuadruplets,hiPixel3PrimTracksHitDoubletsCA) ) -hiPixel3PrimTracksTask_Phase1.replace(hiPixel3PrimTracksHitTriplets,hiPixel3PrimTracksHitQuadrupletsCA) -trackingPhase1.toReplaceWith(hiPixel3PrimTracksTask,hiPixel3PrimTracksTask_Phase1) diff --git a/RecoHI/HiTracking/python/HIPixel3ProtoTracks_cfi.py b/RecoHI/HiTracking/python/HIPixel3ProtoTracks_cfi.py deleted file mode 100644 index 869bcdca245c5..0000000000000 --- a/RecoHI/HiTracking/python/HIPixel3ProtoTracks_cfi.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelSeeding.PixelTripletHLTGenerator_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoTracker.PixelTrackFitting.pixelTrackCleanerBySharedHits_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * -from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import * - -# Hit ntuplets -hiPixel3ProtoTracksHitDoublets = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "PixelLayerTriplets", - trackingRegions = "hiTrackingRegionFromClusterVtx", - maxElement = 50000000, - produceIntermediateHitDoublets = True, -) - -hiPixel3ProtoTracksHitTriplets = _pixelTripletHLTEDProducer.clone( - doublets = "hiPixel3ProtoTracksHitDoublets", - maxElement = 100000, - produceSeedingHitSets = True, -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -# Pixel tracks -hiPixel3ProtoTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel triplet tracks for vertexing', - # Ordered Hits - SeedingHitSets = "hiPixel3ProtoTracksHitTriplets", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiProtoTrackFilter", - # Cleaner - Cleaner = "pixelTrackCleanerBySharedHits" -) - -hiPixel3ProtoTracksTask = cms.Task( - hiTrackingRegionFromClusterVtx , - hiPixel3ProtoTracksHitDoublets , - hiPixel3ProtoTracksHitTriplets , - pixelFitterByHelixProjections , - hiProtoTrackFilter , - hiPixel3ProtoTracks -) -hiPixel3ProtoTracksSequence = cms.Sequence(hiPixel3ProtoTracksTask) diff --git a/RecoHI/HiTracking/python/HIPixelClusterVertex_cfi.py b/RecoHI/HiTracking/python/HIPixelClusterVertex_cfi.py deleted file mode 100644 index d5ad62a6d4de7..0000000000000 --- a/RecoHI/HiTracking/python/HIPixelClusterVertex_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -hiPixelClusterVertex = cms.EDProducer("HIPixelClusterVtxProducer", - pixelRecHits=cms.string("siPixelRecHits"), - minZ=cms.double(-30.0), - maxZ=cms.double(30.05), - zStep=cms.double(0.1) - ) - - diff --git a/RecoHI/HiTracking/python/HIPixelMedianVertex_cfi.py b/RecoHI/HiTracking/python/HIPixelMedianVertex_cfi.py deleted file mode 100644 index 528ad1f016857..0000000000000 --- a/RecoHI/HiTracking/python/HIPixelMedianVertex_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -hiPixelMedianVertex = cms.EDProducer("HIPixelMedianVtxProducer", - TrackCollection = cms.InputTag('hiPixel3ProtoTracks'), - PtMin = cms.double(0.075), # selection already made in pixel track filter - PeakFindThreshold = cms.uint32(100), # ntrack threshold for fitting vz around peak rather than median - PeakFindMaxZ = cms.double(30.0), # vz range for peak finding histogram - PeakFindBinsPerCm = cms.int32(10), # binning of histogram - FitThreshold = cms.int32(5), # minimum number of entries to attempt vz-fit - FitMaxZ = cms.double(0.1), # vz range (around max) of peak fitting histogram - FitBinsPerCm = cms.int32(500) # binning of histogram -) - - diff --git a/RecoHI/HiTracking/python/HIPixelTripletSeeds_cff.py b/RecoHI/HiTracking/python/HIPixelTripletSeeds_cff.py deleted file mode 100644 index 897b9ca410105..0000000000000 --- a/RecoHI/HiTracking/python/HIPixelTripletSeeds_cff.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pixel track producer (with vertex) -from RecoHI.HiTracking.HIPixel3PrimTracks_cfi import * -from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import * - -# pixel seeds -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiPixelTrackSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiPixel3PrimTracks' - ) - -hiPrimSeedsTask = cms.Task( PixelLayerTriplets , hiPixel3PrimTracksTask , hiPixelTrackSeeds ) -hiPrimSeeds = cms.Sequence(hiPrimSeedsTask) diff --git a/RecoHI/HiTracking/python/HIPixelVerticesPreSplitting_cff.py b/RecoHI/HiTracking/python/HIPixelVerticesPreSplitting_cff.py deleted file mode 100644 index 2accd161f15af..0000000000000 --- a/RecoHI/HiTracking/python/HIPixelVerticesPreSplitting_cff.py +++ /dev/null @@ -1,73 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoHI.HiTracking.HIPixelVertices_cff import * - -hiPixelClusterVertexPreSplitting = hiPixelClusterVertex.clone( - pixelRecHits = "siPixelRecHitsPreSplitting" -) - -hiProtoTrackFilterPreSplitting = hiProtoTrackFilter.clone( - siPixelRecHits = "siPixelRecHitsPreSplitting" -) - -hiPixel3ProtoTracksTrackingRegionsPreSplitting = hiTrackingRegionFromClusterVtx.clone( - RegionPSet = dict( - siPixelRecHits = "siPixelRecHitsPreSplitting", - VertexCollection = "hiPixelClusterVertexPreSplitting" - ) -) - -hiPixel3PRotoTracksHitDoubletsPreSplitting = hiPixel3ProtoTracksHitDoublets.clone( - seedingLayers = "PixelLayerTripletsPreSplitting", - trackingRegions = "hiPixel3ProtoTracksTrackingRegionsPreSplitting", -) - -hiPixel3ProtoTracksHitTripletsPreSplitting = hiPixel3ProtoTracksHitTriplets.clone( - doublets = "hiPixel3PRotoTracksHitDoubletsPreSplitting" -) - -hiPixel3ProtoTracksPreSplitting = hiPixel3ProtoTracks.clone( - SeedingHitSets = "hiPixel3ProtoTracksHitTripletsPreSplitting", - Filter = "hiProtoTrackFilterPreSplitting", -) - -hiPixelMedianVertexPreSplitting = hiPixelMedianVertex.clone( - TrackCollection = 'hiPixel3ProtoTracksPreSplitting' -) - -hiSelectedProtoTracksPreSplitting = hiSelectedProtoTracks.clone( - src = "hiPixel3ProtoTracksPreSplitting", - VertexCollection = "hiPixelMedianVertexPreSplitting" -) - -hiPixelAdaptiveVertexPreSplitting = hiPixelAdaptiveVertex.clone( - TrackLabel = "hiSelectedProtoTracksPreSplitting" -) - -hiBestAdaptiveVertexPreSplitting = hiBestAdaptiveVertex.clone( - src = "hiPixelAdaptiveVertexPreSplitting" -) - -hiSelectedVertexPreSplitting = hiSelectedPixelVertex.clone( - adaptiveVertexCollection = "hiBestAdaptiveVertexPreSplitting", - medianVertexCollection = "hiPixelMedianVertexPreSplitting" -) -bestHiVertexPreSplittingTask = cms.Task( hiBestAdaptiveVertexPreSplitting , hiSelectedVertexPreSplitting ) - -PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone( - FPix = dict(HitProducer = 'siPixelRecHitsPreSplitting'), - BPix = dict(HitProducer = 'siPixelRecHitsPreSplitting') -) -hiPixelVerticesPreSplittingTask = cms.Task(hiPixelClusterVertexPreSplitting - , PixelLayerTripletsPreSplitting - , hiPixel3ProtoTracksTrackingRegionsPreSplitting - , hiPixel3PRotoTracksHitDoubletsPreSplitting - , hiPixel3ProtoTracksHitTripletsPreSplitting - , hiProtoTrackFilterPreSplitting - , pixelFitterByHelixProjections - , hiPixel3ProtoTracksPreSplitting - , hiPixelMedianVertexPreSplitting - , hiSelectedProtoTracksPreSplitting - , hiPixelAdaptiveVertexPreSplitting - , bestHiVertexPreSplittingTask ) -hiPixelVerticesPreSplitting = cms.Sequence(hiPixelVerticesPreSplittingTask) diff --git a/RecoHI/HiTracking/python/HIPixelVertices_cff.py b/RecoHI/HiTracking/python/HIPixelVertices_cff.py deleted file mode 100644 index 0e9681de1ad45..0000000000000 --- a/RecoHI/HiTracking/python/HIPixelVertices_cff.py +++ /dev/null @@ -1,28 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pixel cluster vertex finder -from RecoHI.HiTracking.HIPixelClusterVertex_cfi import * - -# pixel track producer -from RecoHI.HiTracking.HIPixel3ProtoTracks_cfi import * - -# fast vertex finding -from RecoHI.HiTracking.HIPixelMedianVertex_cfi import * - -# selected pixel tracks -from RecoHI.HiTracking.HISelectedProtoTracks_cfi import * - -# accurate vertex finding -from RecoHI.HiTracking.HIPixelAdaptiveVertex_cfi import * - -# selection of best primary vertex -from RecoHI.HiTracking.HIBestVertexSequences_cff import * - -hiPixelVerticesTask = cms.Task(hiPixelClusterVertex - , PixelLayerTriplets - , hiPixel3ProtoTracksTask - , hiPixelMedianVertex - , hiSelectedProtoTracks - , hiPixelAdaptiveVertex - , bestHiVertexTask ) -hiPixelVertices = cms.Sequence(hiPixelVerticesTask) diff --git a/RecoHI/HiTracking/python/HISelectedProtoTracks_cfi.py b/RecoHI/HiTracking/python/HISelectedProtoTracks_cfi.py deleted file mode 100644 index c72f1cb4d3bb3..0000000000000 --- a/RecoHI/HiTracking/python/HISelectedProtoTracks_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -hiSelectedProtoTracks = cms.EDFilter("HIProtoTrackSelection", - src = cms.InputTag("hiPixel3ProtoTracks"), - VertexCollection = cms.InputTag("hiPixelMedianVertex"), - beamSpotLabel = cms.InputTag("offlineBeamSpot"), - ptMin = cms.double(0.0), - nSigmaZ = cms.double(5.0), - minZCut = cms.double(0.2), - maxD0Significance = cms.double(5.0) -) diff --git a/RecoHI/HiTracking/python/HISelectedTracks_cfi.py b/RecoHI/HiTracking/python/HISelectedTracks_cfi.py deleted file mode 100644 index 09257dd05175f..0000000000000 --- a/RecoHI/HiTracking/python/HISelectedTracks_cfi.py +++ /dev/null @@ -1,72 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#from RecoHI.HiTracking.hiMultiTrackSelector_cfi import * - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src ='hiGlobalPrimTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter4', - GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'], - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiInitialStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiInitialStepTight', - preFilterName = 'hiInitialStepLoose', - useMVA = True, - minMVA = -0.77 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiInitialStep', - preFilterName = 'hiInitialStepTight', - useMVA = True, - minMVA = -0.77 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiInitialStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiInitialStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiInitialStepTight', - preFilterName = 'hiInitialStepLoose', - useMVA = False, - minMVA = -0.77 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiInitialStep', - preFilterName = 'hiInitialStepTight', - useMVA = False, - minMVA = -0.77 - - ), - ) #end of vpset -) - - - -# using the tracklist merger with one collection simply applies the quality flags -from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiSelectedTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiGlobalPrimTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiInitialStepSelector:hiInitialStep"], - copyExtras = True, - copyMVA = True, - makeReKeyedSeeds = cms.untracked.bool(False) -) - -#complete sequence -hiTracksWithQualityTask = cms.Task(hiInitialStepSelector - #* hiSelectedTracks -) diff --git a/RecoHI/HiTracking/python/HiTracking_cff.py b/RecoHI/HiTracking/python/HiTracking_cff.py deleted file mode 100644 index 49e6f9440a9f3..0000000000000 --- a/RecoHI/HiTracking/python/HiTracking_cff.py +++ /dev/null @@ -1,90 +0,0 @@ -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.hiPixelLessStep_cff import * -from RecoHI.HiTracking.hiTobTecStep_cff import * -from RecoHI.HiTracking.hiDetachedTripletStep_cff import * -from RecoHI.HiTracking.hiJetCoreRegionalStep_cff import * -from RecoHI.HiTracking.MergeTrackCollectionsHI_cff import * -from RecoHI.HiTracking.hiLowPtQuadStep_cff import * -from RecoHI.HiTracking.hiHighPtTripletStep_cff import * -from RecoHI.HiTracking.hiDetachedQuadStep_cff import * - - -from RecoHI.HiMuonAlgos.hiMuonIterativeTk_cff import * - -hiJetsForCoreTracking.cut = "pt > 100 && abs(eta) < 2.4" -hiJetCoreRegionalStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 10. -hiJetCoreRegionalStepTrajectoryFilter.minPt = 10.0 -siPixelClusters.ptMin = 100 -siPixelClusters.deltaRmax = 0.1 - -from RecoJets.JetAssociationProducers.trackExtrapolator_cfi import * -trackExtrapolator.trackSrc = "hiGeneralTracks" - -hiTracking_noRegitMuTask = cms.Task( - hiBasicTrackingTask - ,hiDetachedTripletStepTask - ,hiLowPtTripletStepTask - ,hiPixelPairStepTask - ) - -hiTracking_noRegitMu_wSplittingTask = cms.Task( - hiInitialJetCoreClusterSplittingTask - ,hiBasicTrackingTask - ,hiDetachedTripletStepTask - ,hiLowPtTripletStepTask - ,hiPixelPairStepTask - ) - -hiTracking_noRegitMu_wSplitting_Phase1Task = cms.Task( - hiInitialJetCoreClusterSplittingTask - ,hiBasicTrackingTask - ,hiLowPtQuadStepTask#New iteration - ,hiHighPtTripletStepTask#New iteration - ,hiDetachedQuadStepTask#New iteration - ,hiDetachedTripletStepTask - ,hiLowPtTripletStepTask - ,hiPixelPairStepTask #no CA seeding implemented - ,hiMixedTripletStepTask # large impact parameter tracks - ,hiPixelLessStepTask # large impact parameter tracks - ,hiTobTecStepTask # large impact parameter tracks - ) - -hiTrackingTask = cms.Task( - hiTracking_noRegitMuTask - ,hiRegitMuTrackingAndStaTask - ,hiGeneralTracks - ,bestFinalHiVertexTask - ,trackExtrapolator - ) -hiTracking = cms.Sequence(hiTrackingTask) - -hiTracking_wSplittingTask = cms.Task( - hiTracking_noRegitMu_wSplittingTask - ,hiJetCoreRegionalStepTask - ,hiRegitMuTrackingAndStaTask - ,hiGeneralTracks - ,bestFinalHiVertexTask - ,trackExtrapolator - ) -hiTracking_wSplitting = cms.Sequence(hiTracking_wSplittingTask) - -hiTracking_wSplitting_Phase1Task = cms.Task( - hiTracking_noRegitMu_wSplitting_Phase1Task - ,hiJetCoreRegionalStepTask - ,hiRegitMuTrackingAndStaTask - ,hiGeneralTracks - ,bestFinalHiVertexTask - ,trackExtrapolator - ) -hiTracking_wSplitting_Phase1 = cms.Sequence(hiTracking_wSplitting_Phase1Task) - -hiTracking_wConformalPixelTask = cms.Task( - hiTrackingTask - ,hiMergedConformalPixelTrackingTask - ) -hiTracking_wConformalPixel = cms.Sequence(hiTracking_wConformalPixelTask) diff --git a/RecoHI/HiTracking/python/HighPtTracking_PbPb_cff.py b/RecoHI/HiTracking/python/HighPtTracking_PbPb_cff.py deleted file mode 100644 index fcbb7b7b1282f..0000000000000 --- a/RecoHI/HiTracking/python/HighPtTracking_PbPb_cff.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -### common stuff -from TrackingTools.TransientTrack.TransientTrackBuilder_cfi import * #also includes global tracking geometry -from RecoTracker.TransientTrackingRecHit.TTRHBuilders_cff import * -from RecoLocalTracker.SiPixelRecHits.PixelCPEESProducers_cff import * #cluster parameter estimator producer -from RecoLocalTracker.SiPixelRecHits.SiPixelTemplateStoreESProducer_cfi import SiPixelTemplateStoreESProducer -from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import * - -### pixel primary vertices -from RecoHI.HiTracking.HIPixelVertices_cff import * - -### pixel triplet seeds with vertex constraint -from RecoHI.HiTracking.HIPixelTripletSeeds_cff import * - -### primary ckf track candidates -from RecoHI.HiTracking.HICkfTrackCandidates_cff import * - -### final track fit -from RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cff import * -hiGlobalPrimTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone( - src = 'hiPrimTrackCandidates', - AlgorithmName = 'initialStep' -) - -### track quality cuts -from RecoHI.HiTracking.HISelectedTracks_cfi import * - -### paths -hiBasicTrackingTask = cms.Task(hiPixelVerticesTask - , hiPrimSeedsTask - , hiPrimTrackCandidates - , hiGlobalPrimTracks - , hiTracksWithQualityTask - ) diff --git a/RecoHI/HiTracking/python/LowPtTracking_PbPb_cff.py b/RecoHI/HiTracking/python/LowPtTracking_PbPb_cff.py deleted file mode 100644 index 23f1928a906d7..0000000000000 --- a/RecoHI/HiTracking/python/LowPtTracking_PbPb_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoHI.HiTracking.HighPtTracking_PbPb_cff import * - -hiTrackingRegionWithVertex.RegionPSet.ptMin = 0.9 -hiTrackingRegionWithVertex.RegionPSet.originRadius = 0.1 -hiFilter.ptMin = 0.9 -CkfBaseTrajectoryFilter_block.minPt = 0.9 - - - - diff --git a/RecoHI/HiTracking/python/MergeRegitTrackCollectionsHI_cff.py b/RecoHI/HiTracking/python/MergeRegitTrackCollectionsHI_cff.py deleted file mode 100644 index 766ba040aee1d..0000000000000 --- a/RecoHI/HiTracking/python/MergeRegitTrackCollectionsHI_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiRegitTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiRegitInitialStepTracks', - 'hiRegitLowPtTripletStepTracks', - 'hiRegitPixelPairStepTracks', - 'hiRegitDetachedTripletStepTracks', - 'hiRegitMixedTripletStepTracks' - ], - hasSelector = [1,1,1,1,1], - selectedTrackQuals = ["hiRegitInitialStepSelector:hiRegitInitialStep", - "hiRegitLowPtTripletStepSelector:hiRegitLowPtTripletStep", - "hiRegitPixelPairStepSelector:hiRegitPixelPairStep", - "hiRegitDetachedTripletStepSelector:hiRegitDetachedTripletStep", - "hiRegitMixedTripletStepSelector:hiRegitMixedTripletStep" - ], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True)), # should this be False? - ), - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False) - ) diff --git a/RecoHI/HiTracking/python/MergeRegit_cff.py b/RecoHI/HiTracking/python/MergeRegit_cff.py deleted file mode 100644 index 63b38b0c2ff11..0000000000000 --- a/RecoHI/HiTracking/python/MergeRegit_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder -import RecoTracker.FinalTrackSelectors.simpleTrackListMerger_cfi -hiGeneralAndRegitTracks = RecoTracker.FinalTrackSelectors.simpleTrackListMerger_cfi.simpleTrackListMerger.clone( - TrackProducer1 = 'hiGeneralTracks', - TrackProducer2 = 'hiRegitTracks', - promoteTrackQuality = True, - copyExtras=True - ) diff --git a/RecoHI/HiTracking/python/MergeTrackCollectionsHI_cff.py b/RecoHI/HiTracking/python/MergeTrackCollectionsHI_cff.py deleted file mode 100644 index 728ec72ca1778..0000000000000 --- a/RecoHI/HiTracking/python/MergeTrackCollectionsHI_cff.py +++ /dev/null @@ -1,119 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiGeneralTracksNoRegitMu = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiGlobalPrimTracks', - 'hiDetachedTripletStepTracks', - 'hiLowPtTripletStepTracks', - 'hiPixelPairGlobalPrimTracks', - 'hiJetCoreRegionalStepTracks' - ], - hasSelector = [1,1,1,1,1], - selectedTrackQuals = ["hiInitialStepSelector:hiInitialStep", - "hiDetachedTripletStepSelector:hiDetachedTripletStep", - "hiLowPtTripletStepSelector:hiLowPtTripletStep", - "hiPixelPairStepSelector:hiPixelPairStep" - ], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3), pQual=cms.bool(True)), # should this be False? - ), - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False) - ) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiGeneralTracksNoRegitMu, - TrackProducers = ['hiGlobalPrimTracks', - 'hiLowPtQuadStepTracks', - 'hiHighPtTripletStepTracks', - 'hiDetachedQuadStepTracks', - 'hiDetachedTripletStepTracks', - 'hiLowPtTripletStepTracks', - 'hiPixelPairGlobalPrimTracks', - 'hiJetCoreRegionalStepTracks' - ], - hasSelector = [1,1,1,1,1,1,1,1], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6), pQual=cms.bool(True))), - selectedTrackQuals = ["hiInitialStepSelector:hiInitialStep", - "hiLowPtQuadStepSelector:hiLowPtQuadStep", - "hiHighPtTripletStepSelector:hiHighPtTripletStep", - "hiDetachedQuadStepSelector:hiDetachedQuadStep", - "hiDetachedTripletStepSelector:hiDetachedTripletStep", - "hiLowPtTripletStepSelector:hiLowPtTripletStep", - "hiPixelPairStepSelector:hiPixelPairStep" - ], -) - -hiGeneralTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiGlobalPrimTracks', - 'hiDetachedTripletStepTracks', - 'hiLowPtTripletStepTracks', - 'hiPixelPairGlobalPrimTracks', - 'hiJetCoreRegionalStepTracks', - 'hiRegitMuInitialStepTracks', - 'hiRegitMuPixelPairStepTracks', - 'hiRegitMuMixedTripletStepTracks', - 'hiRegitMuPixelLessStepTracks', - 'hiRegitMuDetachedTripletStepTracks', - 'hiRegitMuonSeededTracksOutIn', - 'hiRegitMuonSeededTracksInOut' - ], - hasSelector = [1,1,1,1,1,1,1,1,1,1,1,1], - selectedTrackQuals = ["hiInitialStepSelector:hiInitialStep", - "hiDetachedTripletStepSelector:hiDetachedTripletStep", - "hiLowPtTripletStepSelector:hiLowPtTripletStep", - "hiPixelPairStepSelector:hiPixelPairStep", - "hiJetCoreRegionalStepSelector:hiJetCoreRegionalStep", - "hiRegitMuInitialStepSelector:hiRegitMuInitialStepLoose", - "hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep", - "hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep", - "hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep", - "hiRegitMuDetachedTripletStepSelector:hiRegitMuDetachedTripletStep", - "hiRegitMuonSeededTracksOutInSelector:hiRegitMuonSeededTracksOutInHighPurity", - "hiRegitMuonSeededTracksInOutSelector:hiRegitMuonSeededTracksInOutHighPurity" - ], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6,7,8,9,10,11), pQual=cms.bool(True)), # should this be False? - ), - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False) -) -trackingPhase1.toModify(hiGeneralTracks, - TrackProducers = ['hiGlobalPrimTracks', - 'hiLowPtQuadStepTracks', - 'hiHighPtTripletStepTracks', - 'hiDetachedQuadStepTracks', - 'hiDetachedTripletStepTracks', - 'hiLowPtTripletStepTracks', - 'hiPixelPairGlobalPrimTracks', - 'hiMixedTripletStepTracks', - 'hiPixelLessStepTracks', - 'hiTobTecStepTracks', - 'hiJetCoreRegionalStepTracks', - 'hiRegitMuInitialStepTracks', - 'hiRegitMuPixelPairStepTracks', - 'hiRegitMuMixedTripletStepTracks', - 'hiRegitMuPixelLessStepTracks', - 'hiRegitMuDetachedTripletStepTracks', - 'hiRegitMuonSeededTracksOutIn', - 'hiRegitMuonSeededTracksInOut' - ], - hasSelector = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1], - setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), pQual=cms.bool(True))), # should this be False? - selectedTrackQuals = ["hiInitialStepSelector:hiInitialStep", - "hiLowPtQuadStepSelector:hiLowPtQuadStep", - "hiHighPtTripletStepSelector:hiHighPtTripletStep", - "hiDetachedQuadStepSelector:hiDetachedQuadStep", - "hiDetachedTripletStepSelector:hiDetachedTripletStep", - "hiLowPtTripletStepSelector:hiLowPtTripletStep", - "hiPixelPairStepSelector:hiPixelPairStep", - "hiMixedTripletStepSelector:hiMixedTripletStep", - "hiPixelLessStepSelector:hiPixelLessStep", - "hiTobTecStepSelector:hiTobTecStep", - "hiJetCoreRegionalStepSelector:hiJetCoreRegionalStep", - "hiRegitMuInitialStepSelector:hiRegitMuInitialStepLoose", - "hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep", - "hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep", - "hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep", - "hiRegitMuDetachedTripletStepSelector:hiRegitMuDetachedTripletStep", - "hiRegitMuonSeededTracksOutInSelector:hiRegitMuonSeededTracksOutInHighPurity", - "hiRegitMuonSeededTracksInOutSelector:hiRegitMuonSeededTracksInOutHighPurity" - ], -) diff --git a/RecoHI/HiTracking/python/RecoHiTracker_EventContent_cff.py b/RecoHI/HiTracking/python/RecoHiTracker_EventContent_cff.py deleted file mode 100644 index bef311d674ee8..0000000000000 --- a/RecoHI/HiTracking/python/RecoHiTracker_EventContent_cff.py +++ /dev/null @@ -1,43 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#AOD content -RecoHiTrackerAOD = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep recoTracks_hiGeneralTracks_*_*', - 'keep recoTracks_hiGeneralAndPixelTracks_*_*', - 'keep recoVertexs_hiSelectedVertex_*_*') -) - -#RECO content -RecoHiTrackerRECO = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_hiGeneralTracks_*_*', - 'keep *_hiGeneralAndPixelTracks_*_*', - 'keep recoVertexs_hiPixelMedianVertex_*_*', - 'keep recoVertexs_hiPixelAdaptiveVertex_*_*', - 'keep recoVertexs_hiSelectedPixelVertex_*_*', - 'keep recoVertexs_hiPixelClusterVertex_*_*') -) -RecoHiTrackerRECO.outputCommands.extend(RecoHiTrackerAOD.outputCommands) - -RecoHiTrackerLocalRECO = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_*_APVCM_*') -) - -#Full Event content -RecoHiTrackerFEVT = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_hiPixel3PrimTracks_*_*', - 'keep *_hiPixel3ProtoTracks_*_*', - 'keep *_hiSelectedProtoTracks_*_*', - 'keep recoVertexs_hiSelectedVertex_*_*') -) -RecoHiTrackerFEVT.outputCommands.extend(RecoHiTrackerRECO.outputCommands) - -RecoHiTrackerLocalFEVT = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_siStripZeroSuppression_BADAPVBASELINE_*', - 'keep SiStripRawDigiedmDetSetVector_siStripZeroSuppression_VirginRaw_*') -) -RecoHiTrackerLocalFEVT.outputCommands.extend(RecoHiTrackerLocalRECO.outputCommands) diff --git a/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py b/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py deleted file mode 100644 index 39a65ebf89e26..0000000000000 --- a/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py +++ /dev/null @@ -1,240 +0,0 @@ -from __future__ import absolute_import -from RecoTracker.IterativeTracking.DetachedQuadStep_cff import * -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -hiDetachedQuadStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution = cms.bool(True), - trajectories = cms.InputTag("hiHighPtTripletStepTracks"), - overrideTrkQuals = cms.InputTag("hiHighPtTripletStepSelector","hiHighPtTripletStep"), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) -) - -# SEEDING LAYERS -# Using 4 layers layerlist -hiDetachedQuadStepSeedLayers = hiPixelLayerQuadruplets.clone( - BPix = dict(skipClusters = cms.InputTag('hiDetachedQuadStepClusters')), - FPix = dict(skipClusters = cms.InputTag('hiDetachedQuadStepClusters')) -) -# SEEDS -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -hiDetachedQuadStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet = dict( - precise = True, - useMultipleScattering = False, - useFakeVertices = False, - beamSpot = "offlineBeamSpot", - useFixedError = True, - nSigmaZ = 4.0, - sigmaZVertex = 4.0, - fixedError = 0.5, - VertexCollection = "hiSelectedPixelVertex", - ptMin = 0.9,# 0.3 for pp - useFoundVertices = True, - #originHalfLength = 15.0, # 15 for pp, useTrackingRegionWithVertices, does not have this parameter. Only with BeamSpot - originRadius = 1.5 # 1.5 for pp - ) -) -hiDetachedQuadStepTracksHitDoubletsCA = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "hiDetachedQuadStepSeedLayers", - trackingRegions = "hiDetachedQuadStepTrackingRegions", - maxElement = 50000000, - produceIntermediateHitDoublets = True, - layerPairs = [0,1,2] -) - -from RecoTracker.PixelSeeding.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer -hiDetachedQuadStepTracksHitQuadrupletsCA = _caHitQuadrupletEDProducer.clone( - doublets = "hiDetachedQuadStepTracksHitDoubletsCA", - extraHitRPhitolerance = 0.0, - maxChi2 = dict( - pt1 = 0.8, pt2 = 2, - value1 = 500, value2 = 100, - ), - useBendingCorrection = True, - fitFastCircle = True, - fitFastCircleChi2Cut = True, - CAThetaCut = 0.0011, - CAPhiCut = 0, -) - -hiDetachedQuadStepPixelTracksFilter = hiFilter.clone( - nSigmaTipMaxTolerance = 0, - lipMax = 1.0, - tipMax = 1.0, - ptMin = 0.95, #seeding region is 0.3 -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -hiDetachedQuadStepPixelTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel detached tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiDetachedQuadStepTracksHitQuadrupletsCA", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiDetachedQuadStepPixelTracksFilter", - # Cleaner - Cleaner = "trackCleaner" -) - - -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiDetachedQuadStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiDetachedQuadStepPixelTracks' -) - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiDetachedQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - #maxLostHits = 1, - minimumNumberOfHits = 3,#3 for pp - minPt = 0.075,# 0.075 for pp - #constantValueForLostHitsFractionFilter = 0.701 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiDetachedQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiDetachedQuadStepChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0 -) - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiDetachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiDetachedQuadStepTrajectoryFilter'), - maxCand = 4, # 4 for pp - estimator = 'hiDetachedQuadStepChi2Est', - maxDPhiForLooperReconstruction = 2.0, # 2.0 for pp - # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius - # of the outermost Tracker barrel layer (B=3.8T) - maxPtForLooperReconstruction = 0.7, # 0.7 for pp - alwaysUseInvalidHits = False -) - -# MAKING OF TRACK CANDIDATES - -# Trajectory cleaner in default - -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiDetachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiDetachedQuadStepSeeds', - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiDetachedQuadStepTrajectoryBuilder'), - clustersToSkip = 'hiDetachedQuadStepClusters', - doSeedingRegionRebuilding = True, - useHitsSplitting = True -) - - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiDetachedQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - src = 'hiDetachedQuadStepTrackCandidates', - AlgorithmName = 'detachedQuadStep', - Fitter='FlexibleKFFittingSmoother' -) - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiDetachedQuadStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiDetachedQuadStepTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter10',#FIXME MVA for new iteration - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiDetachedQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiDetachedQuadStepTight', - preFilterName = 'hiDetachedQuadStepLoose', - applyAdaptedPVCuts = True, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiDetachedQuadStep', - preFilterName = 'hiDetachedQuadStepTight', - applyAdaptedPVCuts = True, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiDetachedQuadStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiDetachedQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiDetachedQuadStepTight', - preFilterName = 'hiDetachedQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiDetachedQuadStep', - preFilterName = 'hiDetachedQuadStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiDetachedQuadStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiDetachedQuadStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiDetachedQuadStepSelector:hiDetachedQuadStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - - -hiDetachedQuadStepTask = cms.Task(hiDetachedQuadStepClusters, - hiDetachedQuadStepSeedLayers, - hiDetachedQuadStepTrackingRegions, - hiDetachedQuadStepTracksHitDoubletsCA, - hiDetachedQuadStepTracksHitQuadrupletsCA, - pixelFitterByHelixProjections, - hiDetachedQuadStepPixelTracksFilter, - hiDetachedQuadStepPixelTracks, - hiDetachedQuadStepSeeds, - hiDetachedQuadStepTrackCandidates, - hiDetachedQuadStepTracks, - hiDetachedQuadStepSelector, - hiDetachedQuadStepQual) -hiDetachedQuadStep = cms.Sequence(hiDetachedQuadStepTask) - diff --git a/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py b/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py deleted file mode 100644 index 352982b0d7bae..0000000000000 --- a/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py +++ /dev/null @@ -1,258 +0,0 @@ -from __future__ import absolute_import -from RecoTracker.IterativeTracking.DetachedTripletStep_cff import * -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -hiDetachedTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution = cms.bool(True), - trajectories = cms.InputTag("hiGlobalPrimTracks"), - overrideTrkQuals = cms.InputTag('hiInitialStepSelector','hiInitialStep'), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) -) - - -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiDetachedTripletStepClusters, - trajectories = "hiDetachedQuadStepTracks", - overrideTrkQuals = "hiDetachedQuadStepSelector:hiDetachedQuadStep", -) - - -# SEEDING LAYERS -import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi -hiDetachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone( - BPix = dict(skipClusters = cms.InputTag('hiDetachedTripletStepClusters')), - FPix = dict(skipClusters = cms.InputTag('hiDetachedTripletStepClusters')) -) - -# SEEDS -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -hiDetachedTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict( - precise = True, - useMultipleScattering = False, - useFakeVertices = False, - beamSpot = "offlineBeamSpot", - useFixedError = True, - nSigmaZ = 4.0, - sigmaZVertex = 4.0, - fixedError = 0.5, - VertexCollection = "hiSelectedPixelVertex", - ptMin = 0.9, - useFoundVertices = True, - originRadius = 0.5 -)) -hiDetachedTripletStepTracksHitDoublets = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "hiDetachedTripletStepSeedLayers", - trackingRegions = "hiDetachedTripletStepTrackingRegions", - maxElement = 50000000, - produceIntermediateHitDoublets = True, -) -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -hiDetachedTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone( - doublets = "hiDetachedTripletStepTracksHitDoublets", - extraHitRPhitolerance = 0.0, - extraHitRZtolerance = 0.0, - maxElement = 1000000, - SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), - produceSeedingHitSets = True, -) - -from RecoTracker.PixelSeeding.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer -hiDetachedTripletStepTracksHitDoubletsCA = hiDetachedTripletStepTracksHitDoublets.clone( - layerPairs = [0,1] -) -hiDetachedTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone( - doublets = "hiDetachedTripletStepTracksHitDoubletsCA", - extraHitRPhitolerance = hiDetachedTripletStepTracksHitTriplets.extraHitRPhitolerance, - maxChi2 = dict( - pt1 = 0.8, pt2 = 2, - value1 = 300 , value2 = 10, - ), - useBendingCorrection = True, - CAThetaCut = 0.001, - CAPhiCut = 0, - CAHardPtCut = 0.2, -) - -hiDetachedTripletStepPixelTracksFilter = hiFilter.clone( - nSigmaTipMaxTolerance = 0, - lipMax = 1.0, - tipMax = 1.0, - ptMin = 0.95, -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -hiDetachedTripletStepPixelTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel detached tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiDetachedTripletStepTracksHitTriplets", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiDetachedTripletStepPixelTracksFilter", - # Cleaner - Cleaner = "trackCleaner" -) -trackingPhase1.toModify(hiDetachedTripletStepPixelTracks, - SeedingHitSets = "hiDetachedTripletStepTracksHitTripletsCA" -) - - -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiDetachedTripletStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiDetachedTripletStepPixelTracks' -) - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - maxLostHits = 1, - minimumNumberOfHits = 6, - minPt = 0.3, - constantValueForLostHitsFractionFilter = 0.701 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiDetachedTripletStepChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0 -) - - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiDetachedTripletStepTrajectoryFilter'), - maxCand = 2, - estimator = 'hiDetachedTripletStepChi2Est', - maxDPhiForLooperReconstruction = 0., - maxPtForLooperReconstruction = 0., - alwaysUseInvalidHits = False -) - -# MAKING OF TRACK CANDIDATES -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiDetachedTripletStepSeeds', - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiDetachedTripletStepTrajectoryBuilder'), - clustersToSkip = 'hiDetachedTripletStepClusters', - doSeedingRegionRebuilding = True, - useHitsSplitting = True -) - - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - src = 'hiDetachedTripletStepTrackCandidates', - AlgorithmName = 'detachedTripletStep', - Fitter = 'FlexibleKFFittingSmoother' -) - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiDetachedTripletStepTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter7', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiDetachedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiDetachedTripletStepTight', - preFilterName = 'hiDetachedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiDetachedTripletStep', - preFilterName = 'hiDetachedTripletStepTight', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiDetachedTripletStepSelector, useAnyMVA = False) -trackingPhase1.toModify(hiDetachedTripletStepSelector, trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiDetachedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiDetachedTripletStepTight', - preFilterName = 'hiDetachedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiDetachedTripletStep', - preFilterName = 'hiDetachedTripletStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiDetachedTripletStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiDetachedTripletStepSelector:hiDetachedTripletStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - - -hiDetachedTripletStepTask = cms.Task(hiDetachedTripletStepClusters, - hiDetachedTripletStepSeedLayers, - hiDetachedTripletStepTrackingRegions, - hiDetachedTripletStepTracksHitDoublets, - hiDetachedTripletStepTracksHitTriplets, - pixelFitterByHelixProjections, - hiDetachedTripletStepPixelTracksFilter, - hiDetachedTripletStepPixelTracks, - hiDetachedTripletStepSeeds, - hiDetachedTripletStepTrackCandidates, - hiDetachedTripletStepTracks, - hiDetachedTripletStepSelector, - hiDetachedTripletStepQual) -hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepTask) -hiDetachedTripletStepTask_Phase1 = hiDetachedTripletStepTask.copy() -hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitDoublets, hiDetachedTripletStepTracksHitDoubletsCA) -hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitTriplets, hiDetachedTripletStepTracksHitTripletsCA) -trackingPhase1.toReplaceWith(hiDetachedTripletStepTask, hiDetachedTripletStepTask_Phase1) diff --git a/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py deleted file mode 100644 index a7d17aabf8490..0000000000000 --- a/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py +++ /dev/null @@ -1,238 +0,0 @@ -from __future__ import absolute_import -from RecoTracker.IterativeTracking.HighPtTripletStep_cff import * -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -hiHighPtTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution = cms.bool(True), - trajectories = cms.InputTag("hiLowPtQuadStepTracks"), - overrideTrkQuals = cms.InputTag("hiLowPtQuadStepSelector","hiLowPtQuadStep"), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) -) - -# SEEDING LAYERS -# Using 3 layers layerlist -hiHighPtTripletStepSeedLayers = highPtTripletStepSeedLayers.clone( - BPix = dict(skipClusters = 'hiHighPtTripletStepClusters'), - FPix = dict(skipClusters = 'hiHighPtTripletStepClusters') -) - -# SEEDS -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -hiHighPtTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict( - precise = True, - useMultipleScattering = False, - useFakeVertices = False, - beamSpot = "offlineBeamSpot", - useFixedError = True, - nSigmaZ = 4.0, - sigmaZVertex = 4.0, - fixedError = 0.5, - VertexCollection = "hiSelectedPixelVertex", - ptMin = 0.8,#0.6 for pp - useFoundVertices = True, - originRadius = 0.02 #0.02 for pp -)) -hiHighPtTripletStepTracksHitDoubletsCA = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "hiHighPtTripletStepSeedLayers", - trackingRegions = "hiHighPtTripletStepTrackingRegions", - maxElement = 50000000, - produceIntermediateHitDoublets = True, - layerPairs = [0,1] -) - -from RecoTracker.PixelSeeding.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer -hiHighPtTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone( - doublets = "hiHighPtTripletStepTracksHitDoubletsCA", - extraHitRPhitolerance = 0.0, - SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), - maxChi2 = dict( - pt1 = 0.8, pt2 = 8, - value1 = 100, value2 = 6, - ), - useBendingCorrection = True, - CAThetaCut = 0.004, - CAPhiCut = 0.07, - CAHardPtCut = 0.3, -) - -hiHighPtTripletStepPixelTracksFilter = hiFilter.clone( - nSigmaTipMaxTolerance = 0, - lipMax = 1.0, - tipMax = 1.0, - ptMin = 1.0, #seeding region is 0.6 -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -hiHighPtTripletStepPixelTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel detached tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiHighPtTripletStepTracksHitTripletsCA", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiHighPtTripletStepPixelTracksFilter", - # Cleaner - Cleaner = "trackCleaner" -) - -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiHighPtTripletStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiHighPtTripletStepPixelTracks' -) - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiHighPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - #maxLostHits = 1, - minimumNumberOfHits = 3,#3 for pp - minPt = 0.2,# 0.2 for pp - #constantValueForLostHitsFractionFilter = 0.701 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiHighPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiHighPtTripletStepChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0# 30 for pp -) - - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiHighPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiHighPtTripletStepTrajectoryFilter'), - maxCand = 3, # 3 for pp - estimator = 'hiHighPtTripletStepChi2Est', - maxDPhiForLooperReconstruction = 2.0, # 2.0 for pp - # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius - # of the outermost Tracker barrel layer (B=3.8T) - maxPtForLooperReconstruction = 0.7, # 0.7 for pp - alwaysUseInvalidHits = False -) - -# MAKING OF TRACK CANDIDATES - -# Trajectory cleaner in default - -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiHighPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiHighPtTripletStepSeeds', - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiHighPtTripletStepTrajectoryBuilder'), - clustersToSkip = 'hiHighPtTripletStepClusters', - doSeedingRegionRebuilding = True, - useHitsSplitting = True -) - - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiHighPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - src = 'hiHighPtTripletStepTrackCandidates', - AlgorithmName = 'highPtTripletStep', - Fitter = 'FlexibleKFFittingSmoother' -) - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiHighPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiHighPtTripletStepTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter9',#FIXME MVA for new iteration - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiHighPtTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiHighPtTripletStepTight', - preFilterName = 'hiHighPtTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiHighPtTripletStep', - preFilterName = 'hiHighPtTripletStepTight', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiHighPtTripletStepSelector, useAnyMVA = False) -trackingPhase1.toModify(hiHighPtTripletStepSelector, trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiHighPtTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiHighPtTripletStepTight', - preFilterName = 'hiHighPtTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiHighPtTripletStep', - preFilterName = 'hiHighPtTripletStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiHighPtTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiHighPtTripletStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiHighPtTripletStepSelector:hiHighPtTripletStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - - -hiHighPtTripletStepTask = cms.Task(hiHighPtTripletStepClusters, - hiHighPtTripletStepSeedLayers, - hiHighPtTripletStepTrackingRegions, - hiHighPtTripletStepTracksHitDoubletsCA, - hiHighPtTripletStepTracksHitTripletsCA, - pixelFitterByHelixProjections, - hiHighPtTripletStepPixelTracksFilter, - hiHighPtTripletStepPixelTracks, - hiHighPtTripletStepSeeds, - hiHighPtTripletStepTrackCandidates, - hiHighPtTripletStepTracks, - hiHighPtTripletStepSelector, - hiHighPtTripletStepQual) -hiHighPtTripletStep = cms.Sequence(hiHighPtTripletStepTask) - diff --git a/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py b/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py deleted file mode 100644 index 40ccd6a537d1c..0000000000000 --- a/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py +++ /dev/null @@ -1,180 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This step runs over all clusters - -# run only if there are high pT jets -from RecoJets.JetProducers.TracksForJets_cff import trackRefsForJets -hiInitialStepTrackRefsForJets = trackRefsForJets.clone(src = 'hiGlobalPrimTracks') - -#change this to import Bkg substracted Heavy Ion jets: -from RecoHI.HiJetAlgos.hiCaloJetsForTrk_cff import * - -hiJetsForCoreTracking = cms.EDFilter("CandPtrSelector", src = cms.InputTag("akPu4CaloJetsSelected"), cut = cms.string("pt > 30 && abs(eta) < 2.5")) - -# care only at tracks from main PV -hiFirstStepGoodPrimaryVertices = cms.EDFilter("PrimaryVertexObjectFilter", - filterParams = cms.PSet( - minNdof = cms.double(25.0), - maxZ = cms.double(15.0), - maxRho = cms.double(2.0) - ), - src=cms.InputTag('hiSelectedPixelVertex') -) - -import RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi as _mod - -# SEEDING LAYERS -hiJetCoreRegionalStepSeedLayers = _mod.seedingLayersEDProducer.clone( - layerList = ['BPix1+BPix2+BPix3', - 'BPix1+BPix2+FPix1_pos', - 'BPix1+BPix2+FPix1_neg', - 'BPix1+FPix1_pos+FPix2_pos', - 'BPix1+FPix1_neg+FPix2_neg', - 'BPix1+BPix2+TIB1', - 'BPix1+BPix3+TIB1', - 'BPix2+BPix3+TIB1', - ], - TIB = dict( - matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"), - TTRHBuilder = cms.string('WithTrackAngle'), - clusterChargeCut = cms.PSet( - refToPSet_ = cms.string('SiStripClusterChargeCutNone') - ) - ), - BPix = dict( - useErrorsFromParam = cms.bool(True), - hitErrorRPhi = cms.double(0.0027), - hitErrorRZ = cms.double(0.006), - TTRHBuilder = cms.string('WithTrackAngle'), - HitProducer = cms.string('siPixelRecHits'), - ), - FPix = dict( - useErrorsFromParam = cms.bool(True), - hitErrorRPhi = cms.double(0.0051), - hitErrorRZ = cms.double(0.0036), - TTRHBuilder = cms.string('WithTrackAngle'), - HitProducer = cms.string('siPixelRecHits'), - ) -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiJetCoreRegionalStepSeedLayers, layerList = ['BPix1+BPix2+BPix3', - 'BPix2+BPix3+BPix4', - 'BPix1+BPix3+BPix4', - 'BPix1+BPix2+BPix4', - 'BPix2+BPix3+FPix1_pos', - 'BPix2+BPix3+FPix1_neg', - 'BPix1+BPix2+FPix1_pos', - 'BPix1+BPix2+FPix1_neg', - 'BPix2+FPix1_pos+FPix2_pos', - 'BPix2+FPix1_neg+FPix2_neg', - 'BPix1+FPix1_pos+FPix2_pos', - 'BPix1+FPix1_neg+FPix2_neg', - 'FPix1_pos+FPix2_pos+FPix3_pos', - 'FPix1_neg+FPix2_neg+FPix3_neg',#up to here, same as what is in RecoTracker/TkSeedingLayers/python/PixelLayerTriplets_cfi.py for phase 1 - 'BPix1+BPix2+TIB1',#use TIB1 to try to recover tracks w/ 2 hits missing in pix barrel - 'BPix1+BPix3+TIB1', - 'BPix1+BPix4+TIB1', - 'BPix2+BPix3+TIB1', - 'BPix2+BPix4+TIB1', - 'BPix3+BPix4+TIB1', - ] -) - -# SEEDS -import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff -hiJetCoreRegionalStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone( - RegionFactoryPSet = cms.PSet( - ComponentName = cms.string( "TauRegionalPixelSeedGenerator" ),#not so nice to depend on RecoTau... - RegionPSet = cms.PSet( - precise = cms.bool( True ), - useMultipleScattering = cms.bool(False), - useFakeVertices = cms.bool(False), - originRadius = cms.double( 0.2 ), - ptMin = cms.double( 15. ), - originHalfLength = cms.double( 0.2 ), - deltaPhiRegion = cms.double( 0.30 ), - deltaEtaRegion = cms.double( 0.30 ), - JetSrc = cms.InputTag( "hiJetsForCoreTracking" ), - vertexSrc = cms.InputTag( "hiFirstStepGoodPrimaryVertices" ), - measurementTrackerName = cms.InputTag( "MeasurementTrackerEvent" ), - howToUseMeasurementTracker = cms.string( "Never" ) - ) - ), - OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiJetCoreRegionalStepSeedLayers'), - SeedComparitorPSet = dict(ComponentName = 'none'), - SeedCreatorPSet = dict(forceKinematicWithRegionDirection = True), - ClusterCheckPSet = dict(doClusterCheck = False) -) -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiJetCoreRegionalStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - minimumNumberOfHits = 6, - minPt = 10.0 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiJetCoreRegionalStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiJetCoreRegionalStepChi2Est', - nSigma = 3.0, - MaxChi2 = 30.0 -) - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiJetCoreRegionalStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiJetCoreRegionalStepTrajectoryFilter'), - maxCand = 50, - estimator = 'hiJetCoreRegionalStepChi2Est', - maxDPhiForLooperReconstruction = 2.0, - maxPtForLooperReconstruction = 0.7, -) - -# MAKING OF TRACK CANDIDATES -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiJetCoreRegionalStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiJetCoreRegionalStepSeeds', - maxSeedsBeforeCleaning = 10000, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiJetCoreRegionalStepTrajectoryBuilder'), - NavigationSchool = 'SimpleNavigationSchool', -) - - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiJetCoreRegionalStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - AlgorithmName = 'jetCoreRegionalStep', - src = 'hiJetCoreRegionalStepTrackCandidates', - Fitter = 'FlexibleKFFittingSmoother' -) - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiJetCoreRegionalStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiJetCoreRegionalStepTracks', - vertices = "hiFirstStepGoodPrimaryVertices", - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiJetCoreRegionalStepLoose', - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiJetCoreRegionalStepTight', - preFilterName = 'hiJetCoreRegionalStepLoose', - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiJetCoreRegionalStep', - preFilterName = 'hiJetCoreRegionalStepTight', - min_nhits = 14 - ), - ) #end of vpset - ) #end of clone - -# Final sequence -hiJetCoreRegionalStepTask = cms.Task( - hiCaloJetsForTrkTask,hiJetsForCoreTracking, - hiFirstStepGoodPrimaryVertices, - hiJetCoreRegionalStepSeedLayers, - hiJetCoreRegionalStepSeeds, - hiJetCoreRegionalStepTrackCandidates, - hiJetCoreRegionalStepTracks, - hiJetCoreRegionalStepSelector) -hiJetCoreRegionalStep = cms.Sequence(hiJetCoreRegionalStepTask) diff --git a/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py b/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py deleted file mode 100644 index 380dad955b0f2..0000000000000 --- a/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py +++ /dev/null @@ -1,242 +0,0 @@ -from __future__ import absolute_import -from RecoTracker.IterativeTracking.LowPtQuadStep_cff import * -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -hiLowPtQuadStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution = cms.bool(True), - trajectories = cms.InputTag("hiGlobalPrimTracks"), - overrideTrkQuals = cms.InputTag('hiInitialStepSelector','hiInitialStep'), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) -) - -# SEEDING LAYERS -# Using 4 layers layerlist -hiLowPtQuadStepSeedLayers = hiPixelLayerQuadruplets.clone( - BPix = dict(skipClusters = cms.InputTag('hiLowPtQuadStepClusters')), - FPix = dict(skipClusters = cms.InputTag('hiLowPtQuadStepClusters')) -) - -# SEEDS -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -hiLowPtQuadStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict( - precise = True, - useMultipleScattering = False, - useFakeVertices = False, - beamSpot = "offlineBeamSpot", - useFixedError = True, - nSigmaZ = 4.0, - sigmaZVertex = 4.0, - fixedError = 0.5, - VertexCollection = "hiSelectedPixelVertex", - ptMin = 0.3,#0.2 for pp - useFoundVertices = True, - originRadius = 0.02 #0.02 for pp -)) -hiLowPtQuadStepTracksHitDoubletsCA = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "hiLowPtQuadStepSeedLayers", - trackingRegions = "hiLowPtQuadStepTrackingRegions", - maxElement = 50000000, - produceIntermediateHitDoublets = True, - layerPairs = [0,1,2] -) - -import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi -from RecoTracker.PixelSeeding.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer -hiLowPtQuadStepTracksHitQuadrupletsCA = _caHitQuadrupletEDProducer.clone( - doublets = "hiLowPtQuadStepTracksHitDoubletsCA", - extraHitRPhitolerance = 0.0, - SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), - maxChi2 = dict( - pt1 = 0.7, pt2 = 2, - value1 = 1000, value2 = 150, - ), - useBendingCorrection = True, - fitFastCircle = True, - fitFastCircleChi2Cut = True, - CAThetaCut = 0.0017, - CAPhiCut = 0.3, -) - - -hiLowPtQuadStepPixelTracksFilter = hiFilter.clone( - nSigmaTipMaxTolerance = 0, - lipMax = 1.0, - tipMax = 1.0, - ptMin = 0.4, #seeding region is 0.3 -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -hiLowPtQuadStepPixelTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel detached tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiLowPtQuadStepTracksHitQuadrupletsCA", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiLowPtQuadStepPixelTracksFilter", - # Cleaner - Cleaner = "trackCleaner" -) - - -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiLowPtQuadStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiLowPtQuadStepPixelTracks' -) - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiLowPtQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - #maxLostHits = 1, - minimumNumberOfHits = 3,#3 for pp - minPt = 0.075,# 0.075 for pp - #constantValueForLostHitsFractionFilter = 0.701 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiLowPtQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiLowPtQuadStepChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0 -) - - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiLowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiLowPtQuadStepTrajectoryFilter'), - maxCand = 4, # 4 for pp - estimator = 'hiLowPtQuadStepChi2Est', - maxDPhiForLooperReconstruction = 2.0, # 2.0 for pp - # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius - # of the outermost Tracker barrel layer (B=3.8T) - maxPtForLooperReconstruction = 0.7, # 0.7 for pp - alwaysUseInvalidHits = False -) - -# MAKING OF TRACK CANDIDATES - -# Trajectory cleaner in default - -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiLowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiLowPtQuadStepSeeds', - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiLowPtQuadStepTrajectoryBuilder'), - clustersToSkip = 'hiLowPtQuadStepClusters', - doSeedingRegionRebuilding = True, - useHitsSplitting = True -) - - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiLowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - src = 'hiLowPtQuadStepTrackCandidates', - AlgorithmName = 'lowPtQuadStep', - Fitter = 'FlexibleKFFittingSmoother' -) - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiLowPtQuadStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src ='hiLowPtQuadStepTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter8',#FIXME MVA for new iteration - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiLowPtQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiLowPtQuadStepTight', - preFilterName = 'hiLowPtQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiLowPtQuadStep', - preFilterName = 'hiLowPtQuadStepTight', - applyAdaptedPVCuts = False, - useMVA = True, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiLowPtQuadStepSelector, useAnyMVA = False) -trackingPhase1.toModify(hiLowPtQuadStepSelector, trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiLowPtQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiLowPtQuadStepTight', - preFilterName = 'hiLowPtQuadStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiLowPtQuadStep', - preFilterName = 'hiLowPtQuadStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiLowPtQuadStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiLowPtQuadStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiLowPtQuadStepSelector:hiLowPtQuadStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - - -hiLowPtQuadStepTask = cms.Task(hiLowPtQuadStepClusters, - hiLowPtQuadStepSeedLayers, - hiLowPtQuadStepTrackingRegions, - hiLowPtQuadStepTracksHitDoubletsCA, - hiLowPtQuadStepTracksHitQuadrupletsCA, - pixelFitterByHelixProjections, - hiLowPtQuadStepPixelTracksFilter, - hiLowPtQuadStepPixelTracks, - hiLowPtQuadStepSeeds, - hiLowPtQuadStepTrackCandidates, - hiLowPtQuadStepTracks, - hiLowPtQuadStepSelector, - hiLowPtQuadStepQual) -hiLowPtQuadStep = cms.Sequence(hiLowPtQuadStepTask) - diff --git a/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py deleted file mode 100644 index 114e97af85998..0000000000000 --- a/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py +++ /dev/null @@ -1,249 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -# NEW CLUSTERS (remove previously used clusters) -hiLowPtTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiDetachedTripletStepClusters"), - trajectories = cms.InputTag("hiDetachedTripletStepTracks"), - overrideTrkQuals = cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep"), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0) - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) - ) - - -# SEEDING LAYERS -import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi -hiLowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone( - BPix = dict(skipClusters = cms.InputTag('hiLowPtTripletStepClusters')), - FPix = dict(skipClusters = cms.InputTag('hiLowPtTripletStepClusters')) -) - -# SEEDS -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi -from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import * -from RecoTracker.PixelTrackFitting.pixelFitterByHelixProjections_cfi import * -from RecoHI.HiTracking.HIPixelTrackFilter_cff import * -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -hiLowPtTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict( - precise = True, - useMultipleScattering = False, - useFakeVertices = False, - beamSpot = "offlineBeamSpot", - useFixedError = False, - nSigmaZ = 4.0, - sigmaZVertex = 4.0, - fixedError = 0.2, - VertexCollection = "hiSelectedPixelVertex", - ptMin = 0.4, - useFoundVertices = True, - originRadius = 0.02 -)) -hiLowPtTripletStepTracksHitDoublets = _hitPairEDProducer.clone( - clusterCheck = "", - seedingLayers = "hiLowPtTripletStepSeedLayers", - trackingRegions = "hiLowPtTripletStepTrackingRegions", - maxElement = 50000000, - produceIntermediateHitDoublets = True, -) -import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi -hiLowPtTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone( - doublets = "hiLowPtTripletStepTracksHitDoublets", - #maxElement = 5000000, - SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), - produceSeedingHitSets = True, -) - -from RecoTracker.PixelSeeding.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer -hiLowPtTripletStepTracksHitDoubletsCA = hiLowPtTripletStepTracksHitDoublets.clone( - layerPairs = [0,1] -) -hiLowPtTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone( - doublets = "hiLowPtTripletStepTracksHitDoubletsCA", - extraHitRPhitolerance = hiLowPtTripletStepTracksHitTriplets.extraHitRPhitolerance, - SeedComparitorPSet = hiLowPtTripletStepTracksHitTriplets.SeedComparitorPSet, - maxChi2 = dict( - pt1 = 0.8, pt2 = 2, - value1 = 70 , value2 = 8, - ), - useBendingCorrection = True, - CAThetaCut = 0.002, - CAPhiCut = 0.05, -) - -hiLowPtTripletStepPixelTracksFilter = hiFilter.clone( - nSigmaLipMaxTolerance = 4.0, - nSigmaTipMaxTolerance = 4.0, - lipMax = 0, - ptMin = 0.4, -) - -import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod - -hiLowPtTripletStepPixelTracks = _mod.pixelTracks.clone( - passLabel = 'Pixel primary tracks with vertex constraint', - # Ordered Hits - SeedingHitSets = "hiLowPtTripletStepTracksHitTriplets", - # Fitter - Fitter = "pixelFitterByHelixProjections", - # Filter - Filter = "hiLowPtTripletStepPixelTracksFilter", - # Cleaner - Cleaner = "trackCleaner" -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiLowPtTripletStepPixelTracks, - SeedingHitSets = "hiLowPtTripletStepTracksHitTripletsCA" -) - - -import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi -hiLowPtTripletStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone( - InputCollection = 'hiLowPtTripletStepPixelTracks' -) - - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiLowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - maxLostHits = 1, - minimumNumberOfHits = 6, - minPt = 0.4 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiLowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiLowPtTripletStepChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0 -) - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiLowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryFilter'), - maxCand = 3, - estimator = 'hiLowPtTripletStepChi2Est', - maxDPhiForLooperReconstruction = 2.0, - # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius - # of the outermost Tracker barrel layer (with B=3.8T) - maxPtForLooperReconstruction = 0.7, -) - -# MAKING OF TRACK CANDIDATES -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiLowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiLowPtTripletStepSeeds', - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryBuilder'), - clustersToSkip = 'hiLowPtTripletStepClusters', - doSeedingRegionRebuilding = True, - useHitsSplitting = True -) - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiLowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - src = 'hiLowPtTripletStepTrackCandidates', - AlgorithmName = 'lowPtTripletStep', - Fitter='FlexibleKFFittingSmoother' -) - - - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiLowPtTripletStepTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter5', - GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'relpterr', 'nhits', 'nlayers', 'eta'], - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiLowPtTripletStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiLowPtTripletStepTight', - preFilterName = 'hiLowPtTripletStepLoose', - useMVA = True, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiLowPtTripletStep', - preFilterName = 'hiLowPtTripletStepTight', - useMVA = True, - minMVA = 0.35 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiLowPtTripletStepSelector, useAnyMVA = False) -trackingPhase1.toModify(hiLowPtTripletStepSelector, trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiLowPtTripletStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiLowPtTripletStepTight', - preFilterName = 'hiLowPtTripletStepLoose', - useMVA = False, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiLowPtTripletStep', - preFilterName = 'hiLowPtTripletStepTight', - useMVA = False, - minMVA = 0.35 - ), - ) #end of vpset -) - - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiLowPtTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiLowPtTripletStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiLowPtTripletStepSelector:hiLowPtTripletStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), - #writeOnlyTrkQuals = True -) - -# Final sequence - -hiLowPtTripletStepTask = cms.Task(hiLowPtTripletStepClusters, - hiLowPtTripletStepSeedLayers, - hiLowPtTripletStepTrackingRegions, - hiLowPtTripletStepTracksHitDoublets, - hiLowPtTripletStepTracksHitTriplets, - pixelFitterByHelixProjections, - hiLowPtTripletStepPixelTracksFilter, - hiLowPtTripletStepPixelTracks,hiLowPtTripletStepSeeds, - hiLowPtTripletStepTrackCandidates, - hiLowPtTripletStepTracks, - hiLowPtTripletStepSelector, - hiLowPtTripletStepQual - ) -hiLowPtTripletStep = cms.Sequence(hiLowPtTripletStepTask) -hiLowPtTripletStepTask_Phase1 = hiLowPtTripletStepTask.copy() -hiLowPtTripletStepTask_Phase1.replace(hiLowPtTripletStepTracksHitDoublets, hiLowPtTripletStepTracksHitDoubletsCA) -hiLowPtTripletStepTask_Phase1.replace(hiLowPtTripletStepTracksHitTriplets, hiLowPtTripletStepTracksHitTripletsCA) -trackingPhase1.toReplaceWith(hiLowPtTripletStepTask, hiLowPtTripletStepTask_Phase1) diff --git a/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py b/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py deleted file mode 100644 index 102d8be71b143..0000000000000 --- a/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py +++ /dev/null @@ -1,138 +0,0 @@ -from __future__ import absolute_import -import FWCore.ParameterSet.Config as cms -from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepSeedLayersA,mixedTripletStepSeedLayersB,mixedTripletStepHitDoubletsA,mixedTripletStepHitDoubletsB,mixedTripletStepPropagator,mixedTripletStepPropagatorOpposite,mixedTripletStepTracks,mixedTripletStepHitTripletsA,mixedTripletStepSeedsA,mixedTripletStepHitTripletsB,mixedTripletStepSeedsB,mixedTripletStepSeeds -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -#cluster remover -hiMixedTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution = cms.bool(True), - trajectories = cms.InputTag("hiPixelPairGlobalPrimTracks"), - overrideTrkQuals = cms.InputTag('hiPixelPairStepSelector','hiPixelPairStep'), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2), - maxChi2 = cms.double(9.0) - ) -) - -# SEEDING LAYERS -mixedTripletStepSeedLayersA.layerList = ['BPix1+BPix2+BPix3', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', - 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', - 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg'] -mixedTripletStepSeedLayersA.BPix.skipClusters = 'hiMixedTripletStepClusters' -mixedTripletStepSeedLayersA.FPix.skipClusters = 'hiMixedTripletStepClusters' -mixedTripletStepSeedLayersA.TEC.skipClusters = 'hiMixedTripletStepClusters' - -# TrackingRegion -from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices -hiMixedTripletStepTrackingRegionsA = _globalTrackingRegionWithVertices.clone(RegionPSet=dict( - VertexCollection = "hiSelectedPixelVertex", - fixedError = 3.75,#15.0 - ptMin = 0.4, - originRadius = 1.5, - originRScaling4BigEvts = cms.bool(True), - halfLengthScaling4BigEvts = cms.bool(False), - ptMinScaling4BigEvts = cms.bool(True), - minOriginR = 0, - minHalfLength = 0, - maxPtMin = 0.7, - scalingStartNPix = 20000, - scalingEndNPix = 35000 -)) - -# seeding -mixedTripletStepHitDoubletsA.clusterCheck = "" -mixedTripletStepHitDoubletsA.trackingRegions = "hiMixedTripletStepTrackingRegionsA" - -# SEEDING LAYERS -mixedTripletStepSeedLayersB.BPix.skipClusters = 'hiMixedTripletStepClusters' -mixedTripletStepSeedLayersB.TIB.skipClusters = 'hiMixedTripletStepClusters' - -hiMixedTripletStepTrackingRegionsB = hiMixedTripletStepTrackingRegionsA.clone(RegionPSet=dict( - originRadius = 1.0, -)) - - -# seeding -mixedTripletStepHitDoubletsB.clusterCheck = "" -mixedTripletStepHitDoubletsB.trackingRegions = "hiMixedTripletStepTrackingRegionsB" - -# QUALITY CUTS DURING TRACK BUILDING -from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryFilter -mixedTripletStepTrajectoryFilter.minimumNumberOfHits = 5 -mixedTripletStepTrajectoryFilter.minPt = 0.4 -mixedTripletStepPropagator.ptMin = 0.4 -mixedTripletStepPropagatorOpposite.ptMin = 0.4 - -# MAKING OF TRACK CANDIDATES -from RecoTracker.IterativeTracking.MixedTripletStep_cff import _mixedTripletStepTrackCandidatesCkf -mixedTripletStepTrackCandidates = _mixedTripletStepTrackCandidatesCkf.clone(clustersToSkip = 'hiMixedTripletStepClusters') - -# TRACK FITTING -hiMixedTripletStepTracks = mixedTripletStepTracks.clone() - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiMixedTripletStepTracks', - useAnyMVA = False, - GBRForestLabel = 'HIMVASelectorIter11', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiMixedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiMixedTripletStepTight', - preFilterName = 'hiMixedTripletStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiMixedTripletStep', - preFilterName = 'hiMixedTripletStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiMixedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiMixedTripletStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiMixedTripletStepSelector:hiMixedTripletStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - -hiMixedTripletStepTask = cms.Task( - hiMixedTripletStepClusters, - mixedTripletStepSeedLayersA, - hiMixedTripletStepTrackingRegionsA, - mixedTripletStepHitDoubletsA, - mixedTripletStepHitTripletsA, - mixedTripletStepSeedsA, - mixedTripletStepSeedLayersB, - hiMixedTripletStepTrackingRegionsB, - mixedTripletStepHitDoubletsB, - mixedTripletStepHitTripletsB, - mixedTripletStepSeedsB, - mixedTripletStepSeeds, - mixedTripletStepTrackCandidates, - hiMixedTripletStepTracks, - hiMixedTripletStepSelector, - hiMixedTripletStepQual) -hiMixedTripletStep = cms.Sequence(hiMixedTripletStepTask) diff --git a/RecoHI/HiTracking/python/hiMultiTrackSelector_cfi.py b/RecoHI/HiTracking/python/hiMultiTrackSelector_cfi.py deleted file mode 100644 index bf1b93a5adcc7..0000000000000 --- a/RecoHI/HiTracking/python/hiMultiTrackSelector_cfi.py +++ /dev/null @@ -1,90 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#loose -hiLooseMTS = cms.PSet( - preFilterName=cms.string(''), - name= cms.string('hiTrkLoose'), - - # vertex selection - vtxNumber = cms.int32(-1), - vertexCut = cms.string(''), - - #untracked bool copyTrajectories = true // when doing retracking before - copyTrajectories = cms.untracked.bool(True), - copyExtras = cms.untracked.bool(True), ## set to false on AOD - qualityBit = cms.string('loose'), ## set to '' or comment out if you dont want to set the - chi2n_par = cms.double(0.3), # version with 1D hits modification - chi2n_no1Dmod_par = cms.double(9999.), # normalizedChi2 < nLayers * chi2n_par - res_par = cms.vdouble(99999., 99999.), # residual parameterization (re-check in HI) - d0_par1 = cms.vdouble(9999., 0.), # parameterized nomd0E - dz_par1 = cms.vdouble(9999., 0.), - d0_par2 = cms.vdouble(0.4, 4.0), # d0E from tk.d0Error - dz_par2 = cms.vdouble(0.4, 4.0), - # Boolean indicating if adapted primary vertex compatibility cuts are to be applied. - applyAdaptedPVCuts = cms.bool(True), - - # Impact parameter absolute cuts. - max_z0 = cms.double(100), - max_d0 = cms.double(100), - nSigmaZ = cms.double(9999.), - - # Cuts on numbers of layers with hits/3D hits/lost hits. - minNumberLayers = cms.uint32(0), - minNumber3DLayers = cms.uint32(0), - maxNumberLostLayers = cms.uint32(999), - minHitsToBypassChecks = cms.uint32(999), - max_minMissHitOutOrIn = cms.int32(99), - max_lostHitFraction = cms.double(1.0), - min_eta = cms.double(-9999.), - max_eta = cms.double(9999.) , - - # Absolute cuts in case of no PV. If yes, please define also max_d0NoPV and max_z0NoPV - applyAbsCutsIfNoPV = cms.bool(False), - keepAllTracks= cms.bool(False), - - # parameters for cutting on pterror/pt and number of valid hits - max_relpterr = cms.double(0.2), - min_nhits = cms.uint32(8), - - useMVA = cms.bool(False), - minMVA = cms.double(-1) - ) - -hiTightMTS=hiLooseMTS.clone( - preFilterName ='hiTrkLoose', - min_nhits = 8, - max_relpterr = 0.075, - d0_par2 = [5.0, 0.0], - dz_par2 = [5.0, 0.0], - chi2n_no1Dmod_par = 0.25, - name = 'hiTrkTight', - qualityBit = 'tight', ## set to '' or comment out if you dont want to set the bit - keepAllTracks = True -) - -hiHighpurityMTS= hiTightMTS.clone( - name = 'hiTrkHighPurity', - preFilterName ='hiTrkTight', - min_nhits = 8, - max_relpterr = 0.05, - d0_par2 = [3.0, 0.0], - dz_par2 = [3.0, 0.0], - chi2n_no1Dmod_par = 0.15, - qualityBit = 'highPurity' ## set to '' or comment out if you dont want to set the bit -) - -#typical configuration is six selectors... something like this to -#make cloning easier. -hiMultiTrackSelector = cms.EDProducer("HIMultiTrackSelector", - src = cms.InputTag("hiGeneralTracks"), - beamspot = cms.InputTag("offlineBeamSpot"), - useVertices = cms.bool(True), - useVtxError = cms.bool(True), - vertices = cms.InputTag("hiSelectedPixelVertex"), - useAnyMVA = cms.bool(False), - GBRForestLabel = cms.string(''), - GBRForestVars = cms.vstring(), - trackSelectors = cms.VPSet( hiLooseMTS, - hiTightMTS, - hiHighpurityMTS) - ) diff --git a/RecoHI/HiTracking/python/hiPixelLessStep_cff.py b/RecoHI/HiTracking/python/hiPixelLessStep_cff.py deleted file mode 100644 index a5087b1543ff9..0000000000000 --- a/RecoHI/HiTracking/python/hiPixelLessStep_cff.py +++ /dev/null @@ -1,101 +0,0 @@ -from __future__ import absolute_import -import FWCore.ParameterSet.Config as cms -import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg -from RecoTracker.IterativeTracking.PixelLessStep_cff import pixelLessStepSeedLayers,pixelLessStepHitDoublets,pixelLessStepTracks,pixelLessStepHitTriplets,pixelLessStepSeeds -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -########################################################################## -# Large impact parameter tracking using TIB/TID/TEC stereo layer seeding # -########################################################################## - -#HIClusterRemover -from RecoHI.HiTracking.hiMixedTripletStep_cff import hiMixedTripletStepClusters -hiPixelLessStepClusters = hiMixedTripletStepClusters.clone( - trajectories = "hiMixedTripletStepTracks", - overrideTrkQuals = 'hiMixedTripletStepSelector:hiMixedTripletStep' -) -# SEEDING LAYERS -pixelLessStepSeedLayers.TIB.skipClusters = 'hiPixelLessStepClusters' -pixelLessStepSeedLayers.MTIB.skipClusters = 'hiPixelLessStepClusters' -pixelLessStepSeedLayers.TID.skipClusters = 'hiPixelLessStepClusters' -pixelLessStepSeedLayers.MTID.skipClusters = 'hiPixelLessStepClusters' -pixelLessStepSeedLayers.TEC.skipClusters = 'hiPixelLessStepClusters' -pixelLessStepSeedLayers.MTEC.skipClusters = 'hiPixelLessStepClusters' - -# TrackingRegion -from RecoHI.HiTracking.hiMixedTripletStep_cff import hiMixedTripletStepTrackingRegionsA as _hiMixedTripletStepTrackingRegionsA -hiPixelLessStepTrackingRegions = _hiMixedTripletStepTrackingRegionsA.clone(RegionPSet=dict( - fixedError = 3.0,#12.0 - ptMin = 0.7, #0.4 - originRadius = 1.0, - maxPtMin = 1.0,#0.7 -)) - -# seeding -pixelLessStepHitDoublets.clusterCheck = "" -pixelLessStepHitDoublets.trackingRegions = "hiPixelLessStepTrackingRegions" - -# QUALITY CUTS DURING TRACK BUILDING -from RecoTracker.IterativeTracking.PixelLessStep_cff import pixelLessStepTrajectoryFilter -pixelLessStepTrajectoryFilter.minimumNumberOfHits = 5 -pixelLessStepTrajectoryFilter.minPt = 0.7 - -# MAKING OF TRACK CANDIDATES -from RecoTracker.IterativeTracking.PixelLessStep_cff import _pixelLessStepTrackCandidatesCkf -pixelLessStepTrackCandidates = _pixelLessStepTrackCandidatesCkf.clone(clustersToSkip = 'hiPixelLessStepClusters') - -# TRACK FITTING -hiPixelLessStepTracks = pixelLessStepTracks.clone() - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiPixelLessStepTracks', - useAnyMVA = False, - GBRForestLabel = 'HIMVASelectorIter12', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiPixelLessStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiPixelLessStepTight', - preFilterName = 'hiPixelLessStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiPixelLessStep', - preFilterName = 'hiPixelLessStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiPixelLessStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiPixelLessStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiPixelLessStepSelector:hiPixelLessStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - -hiPixelLessStepTask = cms.Task(hiPixelLessStepClusters, - pixelLessStepSeedLayers, - hiPixelLessStepTrackingRegions, - pixelLessStepHitDoublets, - pixelLessStepHitTriplets, - pixelLessStepSeeds, - pixelLessStepTrackCandidates, - hiPixelLessStepTracks, - hiPixelLessStepSelector, - hiPixelLessStepQual - ) -hiPixelLessStep = cms.Sequence(hiPixelLessStepTask) diff --git a/RecoHI/HiTracking/python/hiPixelPairStep_cff.py b/RecoHI/HiTracking/python/hiPixelPairStep_cff.py deleted file mode 100644 index e29f0e125de77..0000000000000 --- a/RecoHI/HiTracking/python/hiPixelPairStep_cff.py +++ /dev/null @@ -1,231 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - - -# NEW CLUSTERS (remove previously used clusters) -hiPixelPairClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiLowPtTripletStepClusters"), - trajectories = cms.InputTag("hiLowPtTripletStepTracks"), - overrideTrkQuals = cms.InputTag('hiLowPtTripletStepSelector','hiLowPtTripletStep'), - TrackQuality = cms.string('highPurity'), - minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2) - ) - ) - - -# SEEDING LAYERS -import RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi -hiPixelPairSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi.PixelLayerPairs.clone( - layerList = ['BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3', - 'BPix1+FPix1_pos', 'BPix1+FPix1_neg', - 'BPix2+FPix1_pos', 'BPix2+FPix1_neg', - 'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'], - BPix = cms.PSet( - TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'), - HitProducer = cms.string('siPixelRecHits'), - skipClusters = cms.InputTag('hiPixelPairClusters') - ), - FPix = cms.PSet( - TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'), - HitProducer = cms.string('siPixelRecHits'), - skipClusters = cms.InputTag('hiPixelPairClusters') - ) -) -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiPixelPairSeedLayers, - layerList = ['BPix1+BPix4','BPix1+FPix1_pos','BPix1+FPix1_neg'] #only use first and fourth barrel layers or first barrel and first forward layer around area where BPIX2+3 are inactive -) - -# SEEDS -import RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff -hiPixelPairSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone( - RegionFactoryPSet = dict( - RegionPSet = dict( - VertexCollection = "hiSelectedPixelVertex", - ptMin = 1.0, - originRadius = 0.005, - nSigmaZ = 4.0, - # sigmaZVertex is only used when usedFixedError is True -Matt - sigmaZVertex = 4.0, - useFixedError = False - ) - ), - OrderedHitsFactoryPSet = dict( - SeedingLayers = 'hiPixelPairSeedLayers', - maxElement = 5000000 - ), - ClusterCheckPSet = dict( - MaxNumberOfPixelClusters = 5000000, - MaxNumberOfStripClusters = 50000000, - cut = "" - ), - SeedComparitorPSet = cms.PSet( - ComponentName = cms.string('PixelClusterShapeSeedComparitor'), - FilterAtHelixStage = cms.bool(True), - FilterPixelHits = cms.bool(True), - FilterStripHits = cms.bool(False), - ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'), - ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") - ) -) -#rectangular tracking region around area missing BPIX2/3 in Phase 1 -from RecoTracker.TkTrackingRegions.pointSeededTrackingRegion_cfi import pointSeededTrackingRegion as _pointSeededTrackingRegion -hiPixelPairStepTrackingRegionPhase1 = _pointSeededTrackingRegion.clone( - RegionPSet = dict( - ptMin = 0.9, - originRadius = 0.005, - mode = "VerticesSigma", - nSigmaZVertex = 4.0, - vertexCollection = "hiSelectedPixelVertex", - beamSpot = "offlineBeamSpot", - whereToUseMeasurementTracker = "Never", - deltaEta = 1.8, - deltaPhi = 0.5, - points = dict( - eta = [0.0], - phi = [3.0], - ) - ) -) - -from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer -hiPixelPairStepHitDoubletsPhase1 = _hitPairEDProducer.clone( - seedingLayers = "hiPixelPairSeedLayers", - trackingRegions = "hiPixelPairStepTrackingRegionPhase1", - clusterCheck = "", - produceSeedingHitSets = True, -) - -from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer -hiPixelPairStepSeedsPhase1 = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( - seedingHitSets = "hiPixelPairStepHitDoubletsPhase1", - SeedComparitorPSet = dict( - ComponentName = 'PixelClusterShapeSeedComparitor', - FilterAtHelixStage = cms.bool(True), - FilterPixelHits = cms.bool(True), - FilterStripHits = cms.bool(False), - ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'), - ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'), - ) -) - -# QUALITY CUTS DURING TRACK BUILDING -import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff -hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( - #maxLostHits = 0, - minimumNumberOfHits = 6, - minPt = 1.0 -) - -import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi -hiPixelPairChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( - ComponentName = 'hiPixelPairChi2Est', - nSigma = 3.0, - MaxChi2 = 9.0 -) - -# TRACK BUILDING -import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi -hiPixelPairTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiPixelPairTrajectoryFilter'), - maxCand = 3, - estimator = 'hiPixelPairChi2Est', - maxDPhiForLooperReconstruction = 2.0, - maxPtForLooperReconstruction = 0.7, -) - -# MAKING OF TRACK CANDIDATES -import RecoTracker.CkfPattern.CkfTrackCandidates_cfi -hiPixelPairTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( - src = 'hiPixelPairSeeds', - clustersToSkip = 'hiPixelPairClusters', - TrajectoryBuilderPSet = dict(refToPSet_ = 'hiPixelPairTrajectoryBuilder'), - ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = 50, - onlyPixelHitsForSeedCleaner = True, -) -trackingPhase1.toModify(hiPixelPairTrackCandidates, - src = 'hiPixelPairStepSeedsPhase1' -) - -# TRACK FITTING -import RecoTracker.TrackProducer.TrackProducer_cfi -hiPixelPairGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - AlgorithmName = 'pixelPairStep', - src = 'hiPixelPairTrackCandidates', - Fitter = 'FlexibleKFFittingSmoother' -) - - - - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiPixelPairGlobalPrimTracks', - useAnyMVA = True, - GBRForestLabel = 'HIMVASelectorIter6', - GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'], - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiPixelPairStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiPixelPairStepTight', - preFilterName = 'hiPixelPairStepLoose', - useMVA = True, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiPixelPairStep', - preFilterName = 'hiPixelPairStepTight', - useMVA = True, - minMVA = 0.77 - ), - ) #end of vpset -) #end of clone -from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 -trackingPhase1.toModify(hiPixelPairStepSelector, - useAnyMVA = False, - trackSelectors= cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiPixelPairStepLoose', - useMVA = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiPixelPairStepTight', - preFilterName = 'hiPixelPairStepLoose', - useMVA = False, - minMVA = -0.58 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiPixelPairStep', - preFilterName = 'hiPixelPairStepTight', - useMVA = False, - minMVA = 0.77 - ), - ) #end of vpset -) - -# Final sequence -hiPixelPairStepTask = cms.Task(hiPixelPairClusters, - hiPixelPairSeedLayers, - hiPixelPairSeeds, - hiPixelPairTrackCandidates, - hiPixelPairGlobalPrimTracks, - hiPixelPairStepSelector) -hiPixelPairStep = cms.Sequence(hiPixelPairStepTask) -hiPixelPairStep_Phase1 = hiPixelPairStepTask.copy() -hiPixelPairStep_Phase1.replace(hiPixelPairSeeds, cms.Task(hiPixelPairStepTrackingRegionPhase1,hiPixelPairStepHitDoubletsPhase1,hiPixelPairStepSeedsPhase1) ) -trackingPhase1.toReplaceWith(hiPixelPairStepTask, hiPixelPairStep_Phase1) diff --git a/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py deleted file mode 100644 index c527d1ca3cb20..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py +++ /dev/null @@ -1,109 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 3rd step: low-pT and displaced tracks from pixel triplets - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -################################### -import RecoTracker.IterativeTracking.DetachedTripletStep_cff - -# NEW CLUSTERS (remove previously used clusters) -hiRegitDetachedTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiRegitPixelPairStepClusters"), - trajectories = cms.InputTag("hiRegitPixelPairStepTracks"), - overrideTrkQuals = cms.InputTag('hiRegitPixelPairStepSelector','hiRegitPixelPairStep'), - TrackQuality = cms.string('highPurity'), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2) - ) - ) - - - -# SEEDING LAYERS -hiRegitDetachedTripletStepSeedLayers = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone( - BPix = dict(skipClusters = 'hiRegitDetachedTripletStepClusters'), - FPix = dict(skipClusters = 'hiRegitDetachedTripletStepClusters') -) - -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -#import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi -# seeding -hiRegitDetachedTripletStepSeeds = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 1.2) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - OrderedHitsFactoryPSet = dict( - SeedingLayers = 'hiRegitDetachedTripletStepSeedLayers' - #GeneratorPSet = dict(SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()), - ), -) -# building: feed the new-named seeds -hiRegitDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone() -hiRegitDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiRegitDetachedTripletStepTrajectoryFilter'), - clustersToSkip = 'hiRegitDetachedTripletStepClusters' -) - -hiRegitDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff._detachedTripletStepTrackCandidatesCkf.clone( - src = 'hiRegitDetachedTripletStepSeeds', - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitDetachedTripletStepTrajectoryBuilder')), - maxNSeeds=100000 -) - -# fitting: feed new-names -hiRegitDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone( - src = 'hiRegitDetachedTripletStepTrackCandidates', - #AlgorithmName = 'jetCoreRegionalStep', - AlgorithmName = 'detachedTripletStep', -) - - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitDetachedTripletStepTracks', - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiRegitDetachedTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitDetachedTripletStepTight', - preFilterName = 'hiRegitDetachedTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitDetachedTripletStep', - preFilterName = 'hiRegitDetachedTripletStepTight', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - ) #end of vpset -) #end of clone - - -hiRegitDetachedTripletStepTask = cms.Task(hiRegitDetachedTripletStepClusters, - hiRegitDetachedTripletStepSeedLayers, - hiRegitDetachedTripletStepSeeds, - hiRegitDetachedTripletStepTrackCandidates, - hiRegitDetachedTripletStepTracks, - hiRegitDetachedTripletStepSelector - ) -hiRegitDetachedTripletStep = cms.Sequence(hiRegitDetachedTripletStepTask) diff --git a/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py b/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py deleted file mode 100644 index 6f6c16ec02445..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py +++ /dev/null @@ -1,102 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 0st step:pixel-triplet seeding, high-pT; -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -################################### -import RecoTracker.IterativeTracking.InitialStep_cff -from RecoTracker.IterativeTracking.InitialStep_cff import initialStepTrajectoryFilterShape - -################################# -# Filter on quality tracks -hiGeneralTrackFilter = cms.EDProducer("QualityFilter", - TrackQuality = cms.string('highPurity'), - recTracks = cms.InputTag("hiGeneralTracks") - ) - -# NEW CLUSTERS (remove previously used clusters) -hiRegitInitialStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiPixelPairClusters"), - trajectories = cms.InputTag("hiGeneralTrackFilter"), - TrackQuality = cms.string('highPurity'), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - ) - ) - - - -# seeding -hiRegitInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 1.2) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - skipClusters = cms.InputTag('hiRegitInitialStepClusters') -) -# building: feed the new-named seeds -hiRegitInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone() - - -hiRegitInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiRegitInitialStepTrajectoryFilter'), - clustersToSkip = 'hiRegitInitialStepClusters' -) - -# track candidates -hiRegitInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff._initialStepTrackCandidatesCkf.clone( - src = 'hiRegitInitialStepSeeds', - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitInitialStepTrajectoryBuilder')), - maxNSeeds = 100000 -) - -# fitting: feed new-names -hiRegitInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone( - src = 'hiRegitInitialStepTrackCandidates', - AlgorithmName = 'initialStep' -) - - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitInitialStepTracks', - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiRegitInitialStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitInitialStepTight', - preFilterName = 'hiRegitInitialStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitInitialStep', - preFilterName = 'hiRegitInitialStepTight', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - ) #end of vpset -) #end of clone - - -hiRegitInitialStepTask = cms.Task(hiGeneralTrackFilter, - hiRegitInitialStepClusters, - hiRegitInitialStepSeeds, - hiRegitInitialStepTrackCandidates, - hiRegitInitialStepTracks, - hiRegitInitialStepSelector) -hiRegitInitialStep = cms.Sequence(hiRegitInitialStepTask) diff --git a/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py deleted file mode 100644 index 1835c15e315d0..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py +++ /dev/null @@ -1,115 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 1st step:pixel-triplet seeding, lower-pT; - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -################################### -import RecoTracker.IterativeTracking.LowPtTripletStep_cff - - -# NEW CLUSTERS (remove previously used clusters) -hiRegitLowPtTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiRegitInitialStepClusters"), - trajectories = cms.InputTag("hiRegitInitialStepTracks"), - overrideTrkQuals = cms.InputTag('hiRegitInitialStepSelector','hiRegitInitialStep'), - TrackQuality = cms.string('highPurity'), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2) - ) - ) - - -# SEEDING LAYERS -hiRegitLowPtTripletStepSeedLayers = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepSeedLayers.clone( - BPix = dict(skipClusters = 'hiRegitLowPtTripletStepClusters'), - FPix = dict(skipClusters = 'hiRegitLowPtTripletStepClusters') -) - -from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * -import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi -# seeds -hiRegitLowPtTripletStepSeeds = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepSeeds.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 0.4) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - OrderedHitsFactoryPSet = dict( - SeedingLayers = 'hiRegitLowPtTripletStepSeedLayers', - GeneratorPSet = dict ( - SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone() - ), - ), -) - -# building: feed the new-named seeds -hiRegitLowPtTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepStandardTrajectoryFilter.clone() - - -hiRegitLowPtTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiRegitLowPtTripletStepTrajectoryFilter'), - clustersToSkip = 'hiRegitLowPtTripletStepClusters', -) - -# track candidates -hiRegitLowPtTripletStepTrackCandidates = RecoTracker.IterativeTracking.LowPtTripletStep_cff._lowPtTripletStepTrackCandidatesCkf.clone( - src = 'hiRegitLowPtTripletStepSeeds', - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitLowPtTripletStepTrajectoryBuilder')), - maxNSeeds = 100000 -) - -# fitting: feed new-names -hiRegitLowPtTripletStepTracks = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepTracks.clone( - src = 'hiRegitLowPtTripletStepTrackCandidates', - #AlgorithmName = 'pixelLessStep' - AlgorithmName = 'lowPtTripletStep' -) - - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitLowPtTripletStepTracks', - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiRegitLowPtTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitLowPtTripletStepTight', - preFilterName = 'hiRegitLowPtTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitLowPtTripletStep', - preFilterName = 'hiRegitLowPtTripletStepTight', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - ) #end of vpset -) #end of clone - - -hiRegitLowPtTripletStepTask = cms.Task(hiRegitLowPtTripletStepClusters, - hiRegitLowPtTripletStepSeedLayers, - hiRegitLowPtTripletStepSeeds, - hiRegitLowPtTripletStepTrackCandidates, - hiRegitLowPtTripletStepTracks, - hiRegitLowPtTripletStepSelector) -hiRegitLowPtTripletStep = cms.Sequence(hiRegitLowPtTripletStepTask) - - diff --git a/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py deleted file mode 100644 index 96f685b992d9a..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py +++ /dev/null @@ -1,132 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 4th step: large impact parameter tracking using mixed-triplet seeding - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -################################### -import RecoTracker.IterativeTracking.MixedTripletStep_cff -from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryBuilder - -# NEW CLUSTERS (remove previously used clusters) -hiRegitMixedTripletStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiRegitDetachedTripletStepClusters"), - trajectories = cms.InputTag("hiRegitDetachedTripletStepTracks"), - overrideTrkQuals = cms.InputTag('hiRegitDetachedTripletStepSelector','hiRegitDetachedTripletStep'), - TrackQuality = cms.string('highPurity'), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2) - ) - ) - - - -# SEEDING LAYERS A -hiRegitMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone( - BPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'), - FPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'), - TEC = dict(skipClusters = 'hiRegitMixedTripletStepClusters'), - layerList = ['BPix1+BPix2+BPix3', - 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', - 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', - 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', - 'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg'] -) -# SEEDS A -hiRegitMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 1.0) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiRegitMixedTripletStepSeedLayersA'), -) -# SEEDING LAYERS B -hiRegitMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone( - BPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'), - TIB = dict(skipClusters = 'hiRegitMixedTripletStepClusters'), - layerList = ['BPix2+BPix3+TIB1','BPix2+BPix3+TIB2'] -) -hiRegitMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsB.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 1.0) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiRegitMixedTripletStepSeedLayersB'), -) -# combine seeds -hiRegitMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone( - seedCollections = ['hiRegitMixedTripletStepSeedsA', - 'hiRegitMixedTripletStepSeedsB' - ], -) - -# track building -hiRegitMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone() - -hiRegitMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiRegitMixedTripletStepTrajectoryFilter'), - clustersToSkip = 'hiRegitMixedTripletStepClusters', -) - -hiRegitMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff._mixedTripletStepTrackCandidatesCkf.clone( - src = 'hiRegitMixedTripletStepSeeds', - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitMixedTripletStepTrajectoryBuilder')), - maxNSeeds = 100000 - ) - -# fitting: feed new-names -hiRegitMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone( - src = 'hiRegitMixedTripletStepTrackCandidates', - #AlgorithmName = 'conversionStep', - AlgorithmName = 'mixedTripletStep', -) - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitMixedTripletStepTracks', - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiRegitMixedTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitMixedTripletStepTight', - preFilterName = 'hiRegitMixedTripletStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitMixedTripletStep', - preFilterName = 'hiRegitMixedTripletStepTight', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - ) #end of vpset -) #end of clone - -hiRegitMixedTripletStepTask = cms.Task(hiRegitMixedTripletStepClusters, - hiRegitMixedTripletStepSeedLayersA, - hiRegitMixedTripletStepSeedsA, - hiRegitMixedTripletStepSeedLayersB, - hiRegitMixedTripletStepSeedsB, - hiRegitMixedTripletStepSeeds, - hiRegitMixedTripletStepTrackCandidates, - hiRegitMixedTripletStepTracks, - hiRegitMixedTripletStepSelector - ) -hiRegitMixedTripletStep = cms.Sequence(hiRegitMixedTripletStepTask) diff --git a/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py b/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py deleted file mode 100644 index bcd00efb09abd..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py +++ /dev/null @@ -1,105 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -################################################################################### -# pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) -################################### 2nd step: pixel pairs - -from RecoHI.HiTracking.HITrackingRegionProducer_cfi import * - -################################### -import RecoTracker.IterativeTracking.PixelPairStep_cff -from RecoTracker.IterativeTracking.PixelPairStep_cff import pixelPairStepTrajectoryBuilder,pixelPairStepTrajectoryFilter,pixelPairStepTrajectoryFilterBase,pixelPairStepTrajectoryFilterInOut,pixelPairStepTrajectoryFilterShape - -# NEW CLUSTERS (remove previously used clusters) -hiRegitPixelPairStepClusters = cms.EDProducer("HITrackClusterRemover", - clusterLessSolution= cms.bool(True), - oldClusterRemovalInfo = cms.InputTag("hiRegitLowPtTripletStepClusters"), - trajectories = cms.InputTag("hiRegitLowPtTripletStepTracks"), - overrideTrkQuals = cms.InputTag('hiRegitLowPtTripletStepSelector','hiRegitLowPtTripletStep'), - TrackQuality = cms.string('highPurity'), - pixelClusters = cms.InputTag("siPixelClusters"), - stripClusters = cms.InputTag("siStripClusters"), - Common = cms.PSet( - maxChi2 = cms.double(9.0), - ), - Strip = cms.PSet( - maxChi2 = cms.double(9.0), - #Yen-Jie's mod to preserve merged clusters - maxSize = cms.uint32(2) - ) - ) - - -# SEEDING LAYERS -hiRegitPixelPairStepSeedLayers = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedLayers.clone( - BPix = dict(skipClusters = 'hiRegitPixelPairStepClusters'), - FPix = dict(skipClusters = 'hiRegitPixelPairStepClusters') -) - - -# seeding -hiRegitPixelPairStepSeeds = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeeds.clone( - RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone( - RegionPSet = dict(ptMin = 1.2) - ), - ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips - OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiRegitPixelPairStepSeedLayers'), -) - -# building: feed the new-named seeds -hiRegitPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone() - -hiRegitPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone( - trajectoryFilter = dict(refToPSet_ = 'hiRegitPixelPairStepTrajectoryFilter'), - clustersToSkip = 'hiRegitPixelPairStepClusters', -) - -# trackign candidate -hiRegitPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff._pixelPairStepTrackCandidatesCkf.clone( - src = 'hiRegitPixelPairStepSeeds', - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitPixelPairStepTrajectoryBuilder')), - maxNSeeds = 100000 -) - -# fitting: feed new-names -hiRegitPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone( - src = 'hiRegitPixelPairStepTrackCandidates', - AlgorithmName = 'pixelPairStep', -) - - -# Track selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiRegitPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiRegitPixelPairStepTracks', - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiRegitPixelPairStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiRegitPixelPairStepTight', - preFilterName = 'hiRegitPixelPairStepLoose', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiRegitPixelPairStep', - preFilterName = 'hiRegitPixelPairStepTight', - d0_par2 = [9999.0, 0.0], - dz_par2 = [9999.0, 0.0], - applyAdaptedPVCuts = False - ), - ) #end of vpset -) #end of clone - -hiRegitPixelPairStepTask = cms.Task(hiRegitPixelPairStepClusters, - hiRegitPixelPairStepSeedLayers, - hiRegitPixelPairStepSeeds, - hiRegitPixelPairStepTrackCandidates, - hiRegitPixelPairStepTracks, - hiRegitPixelPairStepSelector) -hiRegitPixelPairStep = cms.Sequence(hiRegitPixelPairStepTask) diff --git a/RecoHI/HiTracking/python/hiRegitTracking_cff.py b/RecoHI/HiTracking/python/hiRegitTracking_cff.py deleted file mode 100644 index 97c26d97b63f7..0000000000000 --- a/RecoHI/HiTracking/python/hiRegitTracking_cff.py +++ /dev/null @@ -1,49 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoHI.HiTracking.hiRegitInitialStep_cff import * -from RecoHI.HiTracking.hiRegitLowPtTripletStep_cff import * -from RecoHI.HiTracking.hiRegitPixelPairStep_cff import * -from RecoHI.HiTracking.hiRegitDetachedTripletStep_cff import * -from RecoHI.HiTracking.hiRegitMixedTripletStep_cff import * - -from RecoHI.HiTracking.MergeRegitTrackCollectionsHI_cff import * - -hiRegitTrackingTask = cms.Task( - hiRegitInitialStepTask - ,hiRegitLowPtTripletStepTask - ,hiRegitPixelPairStepTask - ,hiRegitDetachedTripletStepTask - ,hiRegitMixedTripletStepTask - ,hiRegitTracks - ) -hiRegitTracking = cms.Sequence(hiRegitTrackingTask) - -# Define region around jet - -hiRegitInitialStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.02 -hiRegitLowPtTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.02 -hiRegitPixelPairStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.015 -hiRegitDetachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.5 -hiRegitMixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.5 -hiRegitMixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.5 - -hiRegitInitialStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 0.02 -hiRegitLowPtTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 0.02 -hiRegitPixelPairStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 0.015 -hiRegitDetachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 1.5 -hiRegitMixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 0.5 -hiRegitMixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 0.5 - -hiRegitInitialStepSeeds.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitInitialStepSeeds.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 -hiRegitLowPtTripletStepSeeds.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitLowPtTripletStepSeeds.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 -hiRegitPixelPairStepSeeds.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitPixelPairStepSeeds.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 -hiRegitDetachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitDetachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 -hiRegitMixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitMixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 -hiRegitMixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.deltaPhiRegion = 0.4 -hiRegitMixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.deltaEtaRegion = 0.4 - diff --git a/RecoHI/HiTracking/python/hiTobTecStep_cff.py b/RecoHI/HiTracking/python/hiTobTecStep_cff.py deleted file mode 100644 index 5d0cfd49caa2c..0000000000000 --- a/RecoHI/HiTracking/python/hiTobTecStep_cff.py +++ /dev/null @@ -1,117 +0,0 @@ -from __future__ import absolute_import -import FWCore.ParameterSet.Config as cms -import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg -from RecoTracker.IterativeTracking.TobTecStep_cff import tobTecStepSeedLayersPair,tobTecStepSeedLayersTripl,tobTecStepHitDoubletsPair,tobTecStepHitDoubletsTripl,tobTecStepHitTripletsTripl,tobTecStepTracks,tobTecStepSeedsPair,tobTecStepSeedsTripl,tobTecStepSeeds,tobTecStepTrajectoryBuilder,tobTecStepInOutTrajectoryFilter,tobTecStepClusterShapeHitFilter,tobTecStepTrajectoryCleanerBySharedHits,tobTecStepChi2Est,tobTecFlexibleKFFittingSmoother,tobTecStepFitterSmoother,tobTecStepRKTrajectorySmoother,tobTecStepRKTrajectoryFitter,tobTecStepFitterSmootherForLoopers,tobTecStepRKTrajectorySmootherForLoopers,tobTecStepRKTrajectoryFitterForLoopers -from .HIPixelTripletSeeds_cff import * -from .HIPixel3PrimTracks_cfi import * - -####################################################################### -# Very large impact parameter tracking using TOB + TEC ring 5 seeding # -####################################################################### -from RecoHI.HiTracking.hiPixelLessStep_cff import hiPixelLessStepClusters -hiTobTecStepClusters = hiPixelLessStepClusters.clone( - trajectories = "hiPixelLessStepTracks", - overrideTrkQuals = 'hiPixelLessStepSelector:hiPixelLessStep' -) -# TRIPLET SEEDING LAYERS -tobTecStepSeedLayersTripl.TOB.skipClusters = 'hiTobTecStepClusters' -tobTecStepSeedLayersTripl.MTOB.skipClusters = 'hiTobTecStepClusters' -tobTecStepSeedLayersTripl.MTEC.skipClusters = 'hiTobTecStepClusters' - -# Triplet TrackingRegion -from RecoHI.HiTracking.hiMixedTripletStep_cff import hiMixedTripletStepTrackingRegionsA as _hiMixedTripletStepTrackingRegionsA -hiTobTecStepTrackingRegionsTripl = _hiMixedTripletStepTrackingRegionsA.clone(RegionPSet=dict( - fixedError = 5.0,#20.0 - ptMin = 0.9,#0.55 - originRadius = 3.5, - maxPtMin = 1.2,#0.85 -)) - -# Triplet seeding -tobTecStepHitDoubletsTripl.clusterCheck = "" -tobTecStepHitDoubletsTripl.trackingRegions = "hiTobTecStepTrackingRegionsTripl" - -tobTecStepSeedLayersPair.TOB.skipClusters = 'hiTobTecStepClusters' -tobTecStepSeedLayersPair.TEC.skipClusters = 'hiTobTecStepClusters' - -# Pair TrackingRegion -hiTobTecStepTrackingRegionsPair = hiTobTecStepTrackingRegionsTripl.clone(RegionPSet=dict( - fixedError = 7.5,#30.0 - originRadius = 6.0, - maxPtMin = 1.5,#0.9 -)) - -# Pair seeds -tobTecStepHitDoubletsPair.clusterCheck = "" -tobTecStepHitDoubletsPair.trackingRegions = "hiTobTecStepTrackingRegionsPair" - - -# QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps) -from RecoTracker.IterativeTracking.TobTecStep_cff import tobTecStepTrajectoryFilter -tobTecStepTrajectoryFilter.minimumNumberOfHits = 5 -tobTecStepTrajectoryFilter.minPt = 0.85 - -# MAKING OF TRACK CANDIDATES -from RecoTracker.IterativeTracking.TobTecStep_cff import _tobTecStepTrackCandidatesCkf -tobTecStepTrackCandidates = _tobTecStepTrackCandidatesCkf.clone(clustersToSkip = 'hiTobTecStepClusters') - -# TRACK FITTING -hiTobTecStepTracks = tobTecStepTracks.clone() - -# Final selection -import RecoHI.HiTracking.hiMultiTrackSelector_cfi -hiTobTecStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( - src = 'hiTobTecStepTracks', - useAnyMVA = False, - GBRForestLabel = 'HIMVASelectorIter13', - GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'], - trackSelectors = cms.VPSet( - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( - name = 'hiTobTecStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - ), #end of pset - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( - name = 'hiTobTecStepTight', - preFilterName = 'hiTobTecStepLoose', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.2 - ), - RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( - name = 'hiTobTecStep', - preFilterName = 'hiTobTecStepTight', - applyAdaptedPVCuts = False, - useMVA = False, - minMVA = -0.09 - ), - ) #end of vpset -) #end of clone - -import RecoTracker.FinalTrackSelectors.trackListMerger_cfi -hiTobTecStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( - TrackProducers = ['hiTobTecStepTracks'], - hasSelector = [1], - selectedTrackQuals = ["hiTobTecStepSelector:hiTobTecStep"], - copyExtras = True, - makeReKeyedSeeds = cms.untracked.bool(False), -) - - -hiTobTecStepTask = cms.Task(hiTobTecStepClusters, - tobTecStepSeedLayersTripl, - hiTobTecStepTrackingRegionsTripl, - tobTecStepHitDoubletsTripl, - tobTecStepHitTripletsTripl, - tobTecStepSeedsTripl, - tobTecStepSeedLayersPair, - hiTobTecStepTrackingRegionsPair, - tobTecStepHitDoubletsPair, - tobTecStepSeedsPair, - tobTecStepSeeds, - tobTecStepTrackCandidates, - hiTobTecStepTracks, - hiTobTecStepSelector, - hiTobTecStepQual - ) -hiTobTecStep = cms.Sequence(hiTobTecStepTask) diff --git a/RecoHI/HiTracking/src/HIProtoTrackFilter.cc b/RecoHI/HiTracking/src/HIProtoTrackFilter.cc deleted file mode 100644 index b2dd58de1af33..0000000000000 --- a/RecoHI/HiTracking/src/HIProtoTrackFilter.cc +++ /dev/null @@ -1,37 +0,0 @@ -#include "RecoHI/HiTracking/interface/HIProtoTrackFilter.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackBase.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -using namespace std; -using namespace edm; - -/*****************************************************************************/ -HIProtoTrackFilter::HIProtoTrackFilter(const reco::BeamSpot* beamSpot, double tipMax, double chi2Max, double ptMin) - : theTIPMax(tipMax), theChi2Max(chi2Max), thePtMin(ptMin), theBeamSpot(beamSpot) {} - -/*****************************************************************************/ -HIProtoTrackFilter::~HIProtoTrackFilter() {} - -/*****************************************************************************/ -bool HIProtoTrackFilter::operator()(const reco::Track* track, const PixelTrackFilterBase::Hits& recHits) const { - if (!track) - return false; - - if (track->chi2() > theChi2Max || track->pt() < thePtMin) - return false; - - math::XYZPoint vtxPoint(0.0, 0.0, 0.0); - - if (theBeamSpot) - vtxPoint = theBeamSpot->position(); - - double d0 = 0.0; - d0 = -1. * track->dxy(vtxPoint); - - if (theTIPMax > 0 && fabs(d0) > theTIPMax) - return false; - - return true; -}