Skip to content

Commit

Permalink
Add new concurrent vertex algo (#158)
Browse files Browse the repository at this point in the history
Add a new concurrent vertex algorithm based on DBSCAN (that reuses parts of the pixel cluster algorithm).
It still needs to be tuned to reach at least the performance of current DivisiveClustering algorithm used at HLT.
  • Loading branch information
VinInn authored and fwyzard committed Nov 6, 2020
1 parent 3c9bd1b commit 94ec80e
Show file tree
Hide file tree
Showing 6 changed files with 430 additions and 335 deletions.
218 changes: 76 additions & 142 deletions DQMOffline/Configuration/python/DQMOffline_SecondStep_cff.py
Original file line number Diff line number Diff line change
@@ -1,224 +1,158 @@
import FWCore.ParameterSet.Config as cms

from CondTools.DQM.DQMReferenceHistogramRootFileEventSetupAnalyzer_cfi import *
from DQMServices.Components.DQMMessageLoggerClient_cff import *
from DQMServices.Components.DQMDcsInfoClient_cfi import *
from DQMServices.Components.DQMFastTimerServiceClient_cfi import *

from DQMOffline.Ecal.ecal_dqm_client_offline_cff import *
from DQM.EcalPreshowerMonitorClient.es_dqm_client_offline_cff import *
from DQM.SiStripMonitorClient.SiStripClientConfig_Tier0_cff import *
from DQM.SiPixelCommon.SiPixelOfflineDQM_client_cff import *
from DQM.DTMonitorClient.dtDQMOfflineClients_cff import *
from DQM.RPCMonitorClient.RPCTier0Client_cff import *
from DQM.CSCMonitorModule.csc_dqm_offlineclient_collisions_cff import *
from DQMOffline.Muon.gem_dqm_offline_client_cff import *
from DQMOffline.Hcal.HcalDQMOfflinePostProcessor_cff import *
from DQM.HcalTasks.OfflineHarvestingSequence_pp import *
from DQM.EcalPreshowerMonitorClient.es_dqm_client_offline_cff import *
from DQM.BeamMonitor.AlcaBeamMonitorClient_cff import *
from DQMServices.Components.DQMFEDIntegrityClient_cff import *
from Validation.RecoTau.DQMSequences_cfi import *
from DQMOffline.Hcal.HcalDQMOfflinePostProcessor_cff import *
from DQMOffline.L1Trigger.L1TriggerDqmOffline_cff import *
from DQM.SiTrackerPhase2.Phase2TrackerDQMHarvesting_cff import *

DQMNone = cms.Sequence()

DQMOffline_SecondStepEcal = cms.Sequence( ecal_dqm_client_offline *
es_dqm_client_offline )

DQMOffline_SecondStepTrackerStrip = cms.Sequence( SiStripOfflineDQMClient )

DQMOffline_SecondStepTrackerPixel = cms.Sequence( PixelOfflineDQMClientNoDataCertification )
from DQM.HcalTasks.OfflineHarvestingSequence_pp import *
from PhysicsTools.NanoAOD.nanoDQM_cff import *

DQMOffline_SecondStepMuonDPG = cms.Sequence( dtClients *
DQMOffline_SecondStep_PreDPG = cms.Sequence( dqmDcsInfoClient *
ecal_dqm_client_offline *
SiStripOfflineDQMClient *
PixelOfflineDQMClientNoDataCertification *
dtClients *
rpcTier0Client *
cscOfflineCollisionsClients )

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
_run3_GEM_DQMOffline_SecondStepMuonDPG = DQMOffline_SecondStepMuonDPG.copy()
_run3_GEM_DQMOffline_SecondStepMuonDPG += gemClients
run3_GEM.toReplaceWith(DQMOffline_SecondStepMuonDPG, _run3_GEM_DQMOffline_SecondStepMuonDPG)

DQMOffline_SecondStepHcal = cms.Sequence( hcalOfflineHarvesting )

DQMOffline_SecondStepHcal2 = cms.Sequence( HcalDQMOfflinePostProcessor )

DQMOffline_SecondStepFED = cms.Sequence( dqmFEDIntegrityClient )

DQMOffline_SecondStepL1T = cms.Sequence( l1TriggerDqmOfflineClient )

DQMOffline_SecondStep_PreDPG = cms.Sequence(
DQMOffline_SecondStepEcal *
DQMOffline_SecondStepTrackerStrip *
DQMOffline_SecondStepTrackerPixel *
DQMOffline_SecondStepMuonDPG *
DQMOffline_SecondStepHcal *
DQMOffline_SecondStepHcal2 *
DQMOffline_SecondStepFED *
DQMOffline_SecondStepL1T )

DQMOffline_SecondStepDPG = cms.Sequence(
cscOfflineCollisionsClients *
es_dqm_client_offline *
hcalOfflineHarvesting *
HcalDQMOfflinePostProcessor *
dqmFEDIntegrityClient *
l1TriggerDqmOfflineClient )

DQMOffline_SecondStepDPG = cms.Sequence( dqmRefHistoRootFileGetter *
DQMOffline_SecondStep_PreDPG *
DQMMessageLoggerClientSeq )


from DQM.TrackingMonitorClient.TrackingClientConfig_Tier0_cff import *
from DQMOffline.Muon.muonQualityTests_cff import *
from DQMOffline.EGamma.egammaPostProcessing_cff import *
from DQMOffline.Trigger.DQMOffline_Trigger_Client_cff import *
from DQMOffline.Trigger.DQMOffline_HLT_Client_cff import *
from DQMOffline.RecoB.dqmCollector_cff import *
from DQM.BeamMonitor.AlcaBeamMonitorClient_cff import *
from DQMOffline.JetMET.SusyPostProcessor_cff import *
from DQMOffline.JetMET.dataCertificationJetMET_cff import *
from DQM.TrackingMonitorClient.TrackingClientConfig_Tier0_cff import *
from DQM.TrackingMonitorClient.pixelTrackingEffFromHitPattern_cff import *
from DQM.SiOuterTracker.OuterTrackerClientConfig_cff import *

DQMOffline_SecondStepTracking = cms.Sequence ( TrackingOfflineDQMClient )

DQMOffline_SecondStepMUO = cms.Sequence ( muonQualityTests )

DQMOffline_SecondStepEGamma = cms.Sequence( egammaPostProcessing )

DQMOffline_SecondStepTrigger = cms.Sequence( triggerOfflineDQMClient *
hltOfflineDQMClient )

DQMOffline_SecondStepBTag = cms.Sequence( bTagCollectorSequenceDATA )

DQMOffline_SecondStepBeam = cms.Sequence( alcaBeamMonitorClient )

DQMOffline_SecondStepJetMET = cms.Sequence( SusyPostProcessorSequence )

DQMOffline_SecondStep_PrePOG = cms.Sequence( DQMOffline_SecondStepTracking *
DQMOffline_SecondStepMUO *
DQMOffline_SecondStepEGamma *
DQMOffline_SecondStepTrigger *
DQMOffline_SecondStepBTag *
DQMOffline_SecondStepBeam *
DQMOffline_SecondStepJetMET )

DQMOffline_SecondStepPOG = cms.Sequence(
DQMOffline_SecondStep_PrePOG = cms.Sequence( TrackingOfflineDQMClient *
muonQualityTests *
egammaPostProcessing *
triggerOfflineDQMClient *
hltOfflineDQMClient *
bTagCollectorSequenceDATA *
alcaBeamMonitorClient *
SusyPostProcessorSequence *
runTauEff)
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel

DQMOffline_SecondStepPOG = cms.Sequence( dqmRefHistoRootFileGetter *
DQMOffline_SecondStep_PrePOG *
DQMMessageLoggerClientSeq )


HLTMonitoringClient = cms.Sequence(trackingMonitorClientHLT * trackingForDisplacedJetMonitorClientHLT)
HLTMonitoringClientPA= cms.Sequence(trackingMonitorClientHLT * PAtrackingMonitorClientHLT)

DQMOffline_SecondStep = cms.Sequence(
DQMOffline_SecondStep = cms.Sequence( dqmRefHistoRootFileGetter *
DQMOffline_SecondStep_PreDPG *
DQMOffline_SecondStep_PrePOG *
HLTMonitoringClient *
DQMMessageLoggerClientSeq *
dqmFastTimerServiceClient)

DQMOffline_SecondStep_ExtraHLT = cms.Sequence( hltOfflineDQMClientExtra )
DQMOffline_SecondStep_ExtraHLT = cms.Sequence(
hltOfflineDQMClientExtra
)

DQMOffline_SecondStep_FakeHLT = cms.Sequence( DQMOffline_SecondStep )
DQMOffline_SecondStep_FakeHLT.remove( HLTMonitoringClient )
DQMOffline_SecondStep_FakeHLT.remove( DQMOffline_SecondStepTrigger )

DQMOffline_SecondStep_PrePOGMC = cms.Sequence( bTagCollectorSequenceDATA )

DQMOffline_SecondStepPOGMC = cms.Sequence( DQMOffline_SecondStep_PrePOGMC *
DQMOffline_SecondStepPOGMC = cms.Sequence( dqmRefHistoRootFileGetter *
DQMOffline_SecondStep_PrePOGMC *
DQMMessageLoggerClientSeq )

# Harvest
from DQMOffline.JetMET.dataCertificationJetMET_cff import *
from DQM.SiOuterTracker.OuterTrackerClientConfig_cff import *
from DQM.CTPPS.ctppsDQM_cff import *
from Validation.RecoTau.DQMSequences_cfi import *
from DQM.TrackingMonitorClient.pixelTrackingEffFromHitPattern_cff import *

DQMHarvestTrackerStrip = cms.Sequence ( SiStripOfflineDQMClient )

DQMHarvestTrackerPixel = cms.Sequence ( PixelOfflineDQMClientNoDataCertification )

DQMHarvestTrack = cms.Sequence ( TrackingOfflineDQMClient )

DQMHarvestTrigger = cms.Sequence ( triggerOfflineDQMClient *
hltOfflineDQMClient )

DQMHarvestFED = cms.Sequence ( dqmFEDIntegrityClient )

DQMHarvestBeam = cms.Sequence ( alcaBeamMonitorClient )

DQMHarvestTAU = cms.Sequence ( runTauEff )

DQMHarvestL1T = cms.Sequence( l1TriggerDqmOfflineClient )

DQMHarvestL1TEgamma = cms.Sequence( l1TriggerEgDqmOfflineClient )

DQMHarvestL1TMuon = cms.Sequence( l1TriggerMuonDqmOfflineClient )

DQMHarvestCommon = cms.Sequence( DQMMessageLoggerClientSeq *
DQMHarvestTrackerStrip *
DQMHarvestTrack *
DQMHarvestTrackerPixel *
DQMHarvestTrigger *
DQMHarvestFED *
DQMHarvestBeam *
DQMHarvestTAU *
DQMHarvestCommon = cms.Sequence( dqmRefHistoRootFileGetter *
DQMMessageLoggerClientSeq *
dqmDcsInfoClient *
SiStripOfflineDQMClient *
TrackingOfflineDQMClient *
PixelOfflineDQMClientNoDataCertification *
triggerOfflineDQMClient *
hltOfflineDQMClient *
dqmFEDIntegrityClient *
alcaBeamMonitorClient *
runTauEff *
dqmFastTimerServiceClient
)

DQMHarvestCommonFakeHLT = cms.Sequence( DQMHarvestCommon )
DQMHarvestCommonFakeHLT.remove( DQMHarvestTrigger )

DQMHarvestCommonSiStripZeroBias = cms.Sequence(
DQMHarvestCommonSiStripZeroBias = cms.Sequence(dqmRefHistoRootFileGetter *
DQMMessageLoggerClientSeq *
DQMHarvestTrackerStrip *
DQMHarvestTrack *
DQMHarvestTrackerPixel *
DQMHarvestTrigger *
DQMHarvestL1T *
DQMHarvestFED *
DQMHarvestBeam *
dqmDcsInfoClient *
SiStripOfflineDQMClient *
TrackingOfflineDQMClient *
PixelOfflineDQMClientNoDataCertification *
triggerOfflineDQMClient *
hltOfflineDQMClient *
l1TriggerDqmOfflineClient *
dqmFEDIntegrityClient *
alcaBeamMonitorClient *
runTauEff *
dqmFastTimerServiceClient
)

DQMHarvestCommonSiStripZeroBiasFakeHLT = cms.Sequence( DQMHarvestCommonSiStripZeroBias )
DQMHarvestCommonSiStripZeroBiasFakeHLT.remove( DQMHarvestTrigger )

DQMHarvestTracking = cms.Sequence( TrackingOfflineDQMClient *
dqmFastTimerServiceClient )

DQMHarvestTrackingZeroBias = cms.Sequence( TrackingOfflineDQMClientZeroBias *
dqmFastTimerServiceClient )

DQMHarvestPixelTracking = cms.Sequence( pixelTrackingEffFromHitPattern )

DQMHarvestOuterTracker = cms.Sequence(
DQMHarvestOuterTracker = cms.Sequence( dqmRefHistoRootFileGetter *
dqmDcsInfoClient *
OuterTrackerClient *
dqmFEDIntegrityClient *
DQMMessageLoggerClientSeq *
dqmFastTimerServiceClient
)
DQMHarvestTrackerPhase2 = cms.Sequence(trackerphase2DQMHarvesting)


DQMHarvestCTPPS = cms.Sequence( ctppsDQMOfflineHarvest )
DQMHarvestLumi = cms.Sequence()

DQMHarvestMuon = cms.Sequence( dtClients *
rpcTier0Client *
cscOfflineCollisionsClients *
muonQualityTests
)

_run3_GEM_DQMHarvestMuon = DQMHarvestMuon.copy()
_run3_GEM_DQMHarvestMuon += gemClients
run3_GEM.toReplaceWith(DQMHarvestMuon, _run3_GEM_DQMHarvestMuon)

DQMHarvestEcal = cms.Sequence( ecal_dqm_client_offline *
es_dqm_client_offline
)

DQMHarvestHcal = cms.Sequence( hcalOfflineHarvesting )

DQMHarvestHcal2 = cms.Sequence( HcalDQMOfflinePostProcessor )
DQMHarvestHcal = cms.Sequence(hcalOfflineHarvesting)

DQMHarvestJetMET = cms.Sequence( SusyPostProcessorSequence )

DQMHarvestEGamma = cms.Sequence( egammaPostProcessing )

DQMHarvestBTag = cms.Sequence( bTagCollectorSequenceDATA )

from PhysicsTools.NanoAOD.nanoDQM_cff import *
from Validation.RecoParticleFlow.DQMForPF_MiniAOD_cff import *

DQMHarvestMiniAOD = cms.Sequence( dataCertificationJetMETSequence * muonQualityTests_miniAOD * DQMHarvestPF )
DQMHarvestMiniAOD = cms.Sequence( dataCertificationJetMETSequence * muonQualityTests_miniAOD)
DQMHarvestNanoAOD = cms.Sequence( nanoHarvest )

# L1 trigger sequences
DQMHarvestL1TMonitoring = cms.Sequence( l1TriggerDqmOfflineClient )

DQMHarvestL1TEgamma = cms.Sequence( l1TriggerEgDqmOfflineClient )

DQMHarvestL1TMuon = cms.Sequence( l1TriggerMuonDqmOfflineClient )
Loading

0 comments on commit 94ec80e

Please sign in to comment.