diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHaloOverlaps_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHaloOverlaps_cff.py index 5463fcf5372bd..8c132e6818314 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHaloOverlaps_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHaloOverlaps_cff.py @@ -24,15 +24,14 @@ filter = cms.bool(True), src = cms.InputTag("cosmicMuons"), # get cosmicMuons from global-run reconstruction minStations = cms.uint32(0), # no "energy cut" yet - minHitsPerStation = cms.uint32(4) + minHitsPerStation = cms.uint32(1) ) ALCARECOMuAlBeamHaloOverlaps = cms.EDFilter("AlignmentCSCOverlapSelectorModule", filter = cms.bool(True), src = cms.InputTag("ALCARECOMuAlBeamHaloOverlapsEnergyCut"), - minHitsPerChamber = cms.uint32(4), + minHitsPerChamber = cms.uint32(1), station = cms.int32(0) # all stations: I'll need to split it by station (8 subsamples) offline ) seqALCARECOMuAlBeamHaloOverlaps = cms.Sequence(ALCARECOMuAlBeamHaloOverlapsHLT + ALCARECOMuAlBeamHaloOverlapsDCSFilter + ALCARECOMuAlBeamHaloOverlapsEnergyCut * ALCARECOMuAlBeamHaloOverlaps) - diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHalo_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHalo_cff.py index 7ee388b86822b..86851a8bdd818 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHalo_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlBeamHalo_cff.py @@ -24,7 +24,7 @@ filter = cms.bool(True), src = cms.InputTag("cosmicMuons"), # get cosmicMuons from global-run reconstruction minStations = cms.uint32(0), # no "energy cut" yet - minHitsPerStation = cms.uint32(4) + minHitsPerStation = cms.uint32(1) ) seqALCARECOMuAlBeamHalo = cms.Sequence(ALCARECOMuAlBeamHaloHLT + ALCARECOMuAlBeamHaloDCSFilter + ALCARECOMuAlBeamHalo) diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_Output_cff.py index ca5c84dec5ec0..3f20e519bd343 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_Output_cff.py @@ -1,15 +1,16 @@ import FWCore.ParameterSet.Config as cms -# AlCaReco for muon based alignment using ZMuMu events +# AlCaReco output for track based muon alignment using muons from collisions OutALCARECOMuAlCalIsolatedMu_noDrop = cms.PSet( SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('pathALCARECOMuAlCalIsolatedMu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOMuAlCalIsolatedMu_*_*', - 'keep *_muonCSCDigis_*_*', - 'keep *_muonDTDigis_*_*', - 'keep *_muonRPCDigis_*_*', + 'keep *_ALCARECOMuAlCalIsolatedMu_*_*', # selected muons + 'keep *_ALCARECOMuAlCalIsolatedMuGeneralTracks_*_*', # selected general tracks + 'keep *_muonCSCDigis_*_*', + 'keep *_muonDTDigis_*_*', + 'keep *_muonRPCDigis_*_*', 'keep *_dt1DRecHits_*_*', 'keep *_dt2DSegments_*_*', 'keep *_dt4DSegments_*_*', @@ -19,7 +20,10 @@ 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', - 'keep DcsStatuss_scalersRawToDigi_*_*') + 'keep *_offlineBeamSpot_*_*', + 'keep *_offlinePrimaryVertices_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + ) ) import copy diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_cff.py index 90ea4aad4f1cf..e3a599dc3ef19 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlCalIsolatedMu_cff.py @@ -1,4 +1,3 @@ -# AlCaReco for muon based alignment using any individual muon tracks import FWCore.ParameterSet.Config as cms import HLTrigger.HLTfilters.hltHighLevel_cfi @@ -6,16 +5,46 @@ andOr = True, ## choose logical OR between Triggerbits eventSetupPathsKey = 'MuAlCalIsolatedMu', throw = False # tolerate triggers not available - ) +) +# DCS partitions +# "EBp","EBm","EEp","EEm","HBHEa","HBHEb","HBHEc","HF","HO","RPC" +# "DT0","DTp","DTm","CSCp","CSCm","CASTOR","TIBTID","TOB","TECp","TECm" +# "BPIX","FPIX","ESp","ESm" +import DPGAnalysis.Skims.skim_detstatus_cfi +ALCARECOMuAlCalIsolatedDCSFilter = DPGAnalysis.Skims.skim_detstatus_cfi.dcsstatus.clone( + DetectorType = cms.vstring('DT0','DTp','DTm','CSCp','CSCm'), + ApplyFilter = cms.bool(True), + AndOr = cms.bool(False), # False = at least one detector from DetectorType map above is ON + DebugOn = cms.untracked.bool(False), +) + +#________________________________Muon selection____________________________________ +# AlCaReco selected muons for track based muon alignment import Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi ALCARECOMuAlCalIsolatedMu = Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi.AlignmentMuonSelector.clone( - src = cms.InputTag("muons"), - filter = True, # not strictly necessary, but provided for symmetry with MuAlStandAloneCosmics -# DT calibration needs as many muons with DIGIs as possible, which in cosmic ray runs means standAloneMuons -# nHitMinGB = 1, # muon collections now merge globalMuons, standAlone, and trackerMuons: this stream has always assumed globalMuons - ptMin=cms.double(0.), - pMin=cms.double(10.) - ) + src = cms.InputTag("muons"), + filter = cms.bool(True), # not strictly necessary, but provided for symmetry with MuAlStandAloneCosmics + ptMin = cms.double(10.0), + pMin = cms.double(20.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), +) + +#________________________________Track selection____________________________________ +# AlCaReco selected general tracks for track based muon alignment +import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi +ALCARECOMuAlCalIsolatedMuGeneralTracks = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone( + src = cms.InputTag("generalTracks"), + filter = cms.bool(True), + ptMin = cms.double(8.0), + pMin = cms.double(18.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), + nHitMin = cms.double(7), +) + +#________________________________Sequences____________________________________ +seqALCARECOMuAlCalIsolatedMu = cms.Sequence(ALCARECOMuAlCalIsolatedMuHLT + ALCARECOMuAlCalIsolatedDCSFilter + ALCARECOMuAlCalIsolatedMu) -seqALCARECOMuAlCalIsolatedMu = cms.Sequence(ALCARECOMuAlCalIsolatedMuHLT + ALCARECOMuAlCalIsolatedMu) +seqALCARECOMuAlCalIsolatedMuGeneralTracks = cms.Sequence(ALCARECOMuAlCalIsolatedMuGeneralTracks) diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmicsInCollisions_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmicsInCollisions_Output_cff.py index c5e478651bd2a..385e376fc708d 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmicsInCollisions_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmicsInCollisions_Output_cff.py @@ -7,7 +7,8 @@ ), outputCommands = cms.untracked.vstring( 'keep *_ALCARECOMuAlGlobalCosmicsInCollisions_*_*', - 'keep *_muonCSCDigis_*_*', + 'keep *_ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks_*_*', # selected general tracks + 'keep *_muonCSCDigis_*_*', 'keep *_muonDTDigis_*_*', 'keep *_muonRPCDigis_*_*', 'keep *_dt1DRecHits_*_*', @@ -16,10 +17,14 @@ 'keep *_csc2DRecHits_*_*', 'keep *_cscSegments_*_*', 'keep *_rpcRecHits_*_*', - 'keep L1AcceptBunchCrossings_*_*_*', - 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', - 'keep *_TriggerResults_*_*', - 'keep DcsStatuss_scalersRawToDigi_*_*') + 'keep L1AcceptBunchCrossings_*_*_*', + 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', + 'keep *_TriggerResults_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + 'keep Si*Cluster*_si*Clusters_*_*', # for cosmics keep original clusters + 'keep siStripDigis_DetIdCollection_*_*', + 'keep recoMuons_muons1Leg_*_*', # save muons as timing info is needed for BP corrections in deconvolution + ) ) import copy diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_Output_cff.py index aa92c45be584f..8a4f38060d60d 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_Output_cff.py @@ -1,15 +1,17 @@ -# The following comments couldn't be translated into the new config version: - import FWCore.ParameterSet.Config as cms -# AlCaReco for muon alignment using straight (zero-field) cosmic ray tracks +# AlCaReco output for track based muon alignment using cosmic ray tracks OutALCARECOMuAlGlobalCosmics_noDrop = cms.PSet( SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('pathALCARECOMuAlGlobalCosmics') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOMuAlGlobalCosmics_*_*', - 'keep *_muonCSCDigis_*_*', + 'keep *_ALCARECOMuAlGlobalCosmics_*_*', # selected cosmic muons + 'keep *_ALCARECOMuAlGlobalCosmicsGeneralTracks_*_*', # selected general tracks + 'keep *_ALCARECOMuAlGlobalCosmicsCombinatorialTF_*_*', + 'keep *_ALCARECOMuAlGlobalCosmicsCosmicTF_*_*', + 'keep *_ALCARECOMuAlGlobalCosmicsRegionalTF_*_*', + 'keep *_muonCSCDigis_*_*', 'keep *_muonDTDigis_*_*', 'keep *_muonRPCDigis_*_*', 'keep *_dt1DRecHits_*_*', @@ -18,10 +20,14 @@ 'keep *_csc2DRecHits_*_*', 'keep *_cscSegments_*_*', 'keep *_rpcRecHits_*_*', - 'keep L1AcceptBunchCrossings_*_*_*', - 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', - 'keep *_TriggerResults_*_*', - 'keep DcsStatuss_scalersRawToDigi_*_*') + 'keep L1AcceptBunchCrossings_*_*_*', + 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', + 'keep *_TriggerResults_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + 'keep Si*Cluster*_si*Clusters_*_*', # for cosmics keep original clusters + 'keep siStripDigis_DetIdCollection_*_*', + 'keep recoMuons_muons1Leg_*_*', # save muons as timing info is needed for BP corrections in deconvolution + ) ) import copy diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_cff.py index d494fc3ce03c1..8010310b73da4 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlGlobalCosmics_cff.py @@ -1,4 +1,3 @@ -# AlCaReco for muon alignment using global cosmic ray tracks import FWCore.ParameterSet.Config as cms # HLT @@ -7,7 +6,7 @@ andOr = True, ## choose logical OR between Triggerbits eventSetupPathsKey = 'MuAlGlobalCosmics', throw = False # tolerate triggers not available - ) +) # DCS partitions # "EBp","EBm","EEp","EEm","HBHEa","HBHEb","HBHEc","HF","HO","RPC" @@ -15,21 +14,51 @@ # "BPIX","FPIX","ESp","ESm" import DPGAnalysis.Skims.skim_detstatus_cfi ALCARECOMuAlGlobalCosmicsDCSFilter = DPGAnalysis.Skims.skim_detstatus_cfi.dcsstatus.clone( - DetectorType = cms.vstring('DT0','DTp','DTm'), + DetectorType = cms.vstring('DT0','DTp','DTm',"CSCp","CSCm"), ApplyFilter = cms.bool(True), - AndOr = cms.bool(False), + AndOr = cms.bool(False), # False = at least one detector from DetectorType map above is ON DebugOn = cms.untracked.bool(False) ) +#________________________________Muon selection____________________________________ +# AlCaReco selected muons for track based muon alignment import Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi - ALCARECOMuAlGlobalCosmics = Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi.AlignmentMuonSelector.clone( - src = cms.InputTag("muons"), - filter = True, # not strictly necessary, but provided for symmetry with MuAlStandAloneCosmics - nHitMinGB = 1, - ptMin = 10.0, - etaMin = -100.0, - etaMax = 100.0 + src = cms.InputTag("muons"), + filter = cms.bool(True), # not strictly necessary, but provided for symmetry with MuAlStandAloneCosmics + ptMin = cms.double(10.0), + etaMin = cms.double(-100.0), + etaMax = cms.double(100.0), +) + +# AlCaReco selected Combinatorial Track Finder tracks for track based muon alignment +# (same cuts) +import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi +ALCARECOMuAlGlobalCosmicsCombinatorialTF = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone( + src = 'ctfWithMaterialTracksP5', + filter = cms.bool(True), + ptMin = cms.double(8.0), + etaMin = cms.double(-100.0), + etaMax = cms.double(100.0), + nHitMin = cms.double(7), + applyNHighestPt = cms.bool(True), ## select only 3 highest pT tracks + nHighestPt = cms.int32(3), ) +# AlCaReco selected Cosmic Track Finder tracks for track based muon alignment +# (same cuts) +ALCARECOMuAlGlobalCosmicsCosmicTF = ALCARECOMuAlGlobalCosmicsCombinatorialTF.clone( + src = 'cosmictrackfinderP5' +) + +# AlCaReco selected Regional Cosmic Tracking tracks for track based muon alignment +# (same cuts) +ALCARECOMuAlGlobalCosmicsRegionalTF = ALCARECOMuAlGlobalCosmicsCombinatorialTF.clone( + src = 'regionalCosmicTracks' +) + +#________________________________Sequences____________________________________ seqALCARECOMuAlGlobalCosmics = cms.Sequence(ALCARECOMuAlGlobalCosmicsHLT + ALCARECOMuAlGlobalCosmicsDCSFilter + ALCARECOMuAlGlobalCosmics) +seqALCARECOMuAlGlobalCosmicsCombinatorialTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsCombinatorialTF) +seqALCARECOMuAlGlobalCosmicsCosmicTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsCosmicTF) +seqALCARECOMuAlGlobalCosmicsRegionalTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsRegionalTF) diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_Output_cff.py index b175728954a5a..dfef070f3e4e4 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_Output_cff.py @@ -1,16 +1,29 @@ import FWCore.ParameterSet.Config as cms -# AlCaReco for muon based alignment using tracks in the CSC overlap regions +# AlCaReco output for track based muon alignment using tracks in the CSC overlap regions OutALCARECOMuAlOverlaps_noDrop = cms.PSet( SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('pathALCARECOMuAlOverlaps') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOMuAlOverlaps_*_*', + 'keep *_ALCARECOMuAlOverlaps_*_*', # selected muons through CSC overlap regions + 'keep *_ALCARECOMuAlOverlapsGeneralTracks_*_*', # selected general tracks + 'keep *_muonCSCDigis_*_*', + 'keep *_muonDTDigis_*_*', + 'keep *_muonRPCDigis_*_*', + 'keep *_dt1DRecHits_*_*', + 'keep *_dt2DSegments_*_*', + 'keep *_dt4DSegments_*_*', + 'keep *_csc2DRecHits_*_*', + 'keep *_cscSegments_*_*', + 'keep *_rpcRecHits_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', - 'keep DcsStatuss_scalersRawToDigi_*_*') + 'keep *_offlineBeamSpot_*_*', + 'keep *_offlinePrimaryVertices_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + ) ) import copy diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_cff.py index 4cc01a5f7cad1..3287f902603d1 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlOverlaps_cff.py @@ -1,4 +1,3 @@ -# AlCaReco for muon based alignment using beam-halo muons in the CSC overlap regions import FWCore.ParameterSet.Config as cms import HLTrigger.HLTfilters.hltHighLevel_cfi @@ -6,7 +5,7 @@ andOr = True, ## choose logical OR between Triggerbits eventSetupPathsKey = 'MuAlOverlaps', throw = False # tolerate triggers not available - ) +) # DCS partitions # "EBp","EBm","EEp","EEm","HBHEa","HBHEb","HBHEc","HF","HO","RPC" @@ -16,20 +15,39 @@ ALCARECOMuAlOverlapsDCSFilter = DPGAnalysis.Skims.skim_detstatus_cfi.dcsstatus.clone( DetectorType = cms.vstring('CSCp','CSCm'), ApplyFilter = cms.bool(True), - AndOr = cms.bool(False), - DebugOn = cms.untracked.bool(False) + AndOr = cms.bool(False), # False = at least one detector from DetectorType map above is ON + DebugOn = cms.untracked.bool(False), ) +#________________________________Event selection____________________________________ ALCARECOMuAlOverlaps = cms.EDFilter("AlignmentCSCOverlapSelectorModule", - filter = cms.bool(True), - src = cms.InputTag("ALCARECOMuAlOverlapsMuonSelector","StandAlone"), - minHitsPerChamber = cms.uint32(4), - station = cms.int32(0) ## all stations: the algorithm can handle multiple stations now + filter = cms.bool(True), + src = cms.InputTag("ALCARECOMuAlOverlapsMuonSelector","StandAlone"), + minHitsPerChamber = cms.uint32(1), + station = cms.int32(0) ## all stations: the algorithm can handle multiple stations now ) +#________________________________Muon selection____________________________________ +# AlCaReco selected muons for track based muon alignment import Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi ALCARECOMuAlOverlapsMuonSelector = Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi.AlignmentMuonSelector.clone( - ptMin = 3. - ) + ptMin = cms.double(3.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), +) + +#________________________________Track selection____________________________________ +# AlCaReco selected general tracks for track based muon alignment +import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi +ALCARECOMuAlOverlapsGeneralTracks = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone( + src = cms.InputTag("generalTracks"), + filter = cms.bool(True), + ptMin = cms.double(2.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), + nHitMin = cms.double(7), +) seqALCARECOMuAlOverlaps = cms.Sequence(ALCARECOMuAlOverlapsHLT+ALCARECOMuAlOverlapsDCSFilter+ALCARECOMuAlOverlapsMuonSelector*ALCARECOMuAlOverlaps) + +seqALCARECOMuAlOverlapsGeneralTracks = cms.Sequence(ALCARECOMuAlOverlapsGeneralTracks) diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_Output_cff.py index 0924e3421f020..f75980121a177 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_Output_cff.py @@ -6,7 +6,8 @@ SelectEvents = cms.vstring('pathALCARECOMuAlZMuMu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOMuAlZMuMu_*_*', + 'keep *_ALCARECOMuAlZMuMu_*_*', # selected muons + 'keep *_ALCARECOMuAlZMuMuGeneralTracks_*_*', # selected general tracks 'keep *_muonCSCDigis_*_*', 'keep *_muonDTDigis_*_*', 'keep *_muonRPCDigis_*_*', @@ -19,10 +20,12 @@ 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', - 'keep DcsStatuss_scalersRawToDigi_*_*') + 'keep *_offlineBeamSpot_*_*', + 'keep *_offlinePrimaryVertices_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + ) ) import copy OutALCARECOMuAlZMuMu = copy.deepcopy(OutALCARECOMuAlZMuMu_noDrop) OutALCARECOMuAlZMuMu.outputCommands.insert(0, "drop *") - diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_cff.py index f1f97402466df..99f865484c644 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOMuAlZMuMu_cff.py @@ -6,7 +6,7 @@ andOr = True, ## choose logical OR between Triggerbits eventSetupPathsKey = 'MuAlZMuMu', throw = False # tolerate triggers not available - ) +) # DCS partitions # "EBp","EBm","EEp","EEm","HBHEa","HBHEb","HBHEc","HF","HO","RPC" @@ -20,12 +20,32 @@ DebugOn = cms.untracked.bool(False) ) +#________________________________Muon selection____________________________________ +# AlCaReco selected muons for track based muon alignment import Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi ALCARECOMuAlZMuMu = Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi.AlignmentMuonSelector.clone( - applyMassPairFilter = True, - minMassPair = 91. - 10., - maxMassPair = 91. + 10. - ) + src = cms.InputTag("muons"), + ptMin = cms.double(5.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), + applyMassPairFilter = cms.bool(True), + minMassPair = cms.double(81.0), # 91 GeV - 10 GeV + maxMassPair = cms.double(101.0), # 91 GeV + 10 GeV +) + +#________________________________Track selection____________________________________ +# AlCaReco selected general tracks for track based muon alignment +import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi +ALCARECOMuAlZMuMuGeneralTracks = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone( + src = cms.InputTag("generalTracks"), + filter = cms.bool(True), + ptMin = cms.double(5.0), + etaMin = cms.double(-2.6), + etaMax = cms.double(2.6), + nHitMin = cms.double(7), +) +#________________________________Sequences____________________________________ seqALCARECOMuAlZMuMu = cms.Sequence(ALCARECOMuAlZMuMuHLT+ALCARECOMuAlZMuMuDCSFilter+ALCARECOMuAlZMuMu) +seqALCARECOMuAlZMuMuGeneralTracks = cms.Sequence(ALCARECOMuAlZMuMuGeneralTracks) diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 14121ef4895b9..175d3ee70e3e1 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -1088,7 +1088,7 @@ def lhegensim(fragment,howMuch): steps['RECOCOSD']=merge([{'--scenario':'cosmics', - '-s':'RAW2DIGI,L1Reco,RECO,DQM,ALCA:MuAlCalIsolatedMu+DtCalib', + '-s':'RAW2DIGI,L1Reco,RECO,DQM,ALCA:MuAlGlobalCosmics+DtCalib', '--datatier':'RECO,DQMIO', # no miniAOD for cosmics '--eventcontent':'RECO,DQM', '--customise':'Configuration/DataProcessing/RecoTLR.customiseCosmicData' @@ -1193,8 +1193,8 @@ def lhegensim(fragment,howMuch): steps['RECOPROD1']=merge([{ '-s' : 'RAW2DIGI,L1Reco,RECO,EI', '--datatier' : 'GEN-SIM-RECO,AODSIM', '--eventcontent' : 'RECOSIM,AODSIM'},step3Defaults]) #steps['RECOPRODUP15']=merge([{ '-s':'RAW2DIGI,L1Reco,RECO,EI,DQM:DQMOfflinePOGMC','--datatier':'AODSIM,DQMIO','--eventcontent':'AODSIM,DQM'},step3Up2015Defaults]) steps['RECOPRODUP15']=merge([{ '-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,DQM:DQMOfflinePOGMC','--datatier':'AODSIM,MINIAODSIM,DQMIO','--eventcontent':'AODSIM,MINIAODSIM,DQM'},step3Up2015Defaults]) -steps['RECOCOS']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu,DQM','--scenario':'cosmics'},stCond,step3Defaults]) -steps['RECOHAL']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu,DQM','--scenario':'cosmics'},step3Up2015Hal]) +steps['RECOCOS']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlGlobalCosmics,DQM','--scenario':'cosmics'},stCond,step3Defaults]) +steps['RECOHAL']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlBeamHalo+MuAlBeamHaloOverlaps,DQM','--scenario':'cosmics'},step3Up2015Hal]) steps['RECOCOS_UP15']=merge([{'--conditions':'auto:run2_mc_cosmics','-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu,DQM','--scenario':'cosmics'},step3Up2015Hal]) steps['RECOMIN']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,ALCA:SiStripCalZeroBias+SiStripCalMinBias,VALIDATION,DQM'},stCond,step3Defaults]) steps['RECOMINUP15']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,ALCA:SiStripCalZeroBias+SiStripCalMinBias,VALIDATION,DQM'},step3Up2015Defaults]) @@ -1283,8 +1283,7 @@ def lhegensim(fragment,howMuch): '--scenario':'HeavyIons'},steps['ALCAEXP']]) # step4 -step4Defaults = { - '-s' : 'ALCA:TkAlMuonIsolated+TkAlMinBias+MuAlOverlaps+EcalESAlign', +step4Defaults = { '-s' : 'ALCA:TkAlMuonIsolated+TkAlMinBias+EcalCalZElectron+EcalCalWElectron+HcalCalIsoTrk+MuAlCalIsolatedMu+MuAlZMuMu+MuAlOverlaps', '-n' : 1000, '--conditions' : 'auto:run1_mc', '--datatier' : 'ALCARECO', diff --git a/Configuration/StandardSequences/python/AlCaRecoStreams_cff.py b/Configuration/StandardSequences/python/AlCaRecoStreams_cff.py index 4e18f76d639b1..5fa3f1cd8a56d 100644 --- a/Configuration/StandardSequences/python/AlCaRecoStreams_cff.py +++ b/Configuration/StandardSequences/python/AlCaRecoStreams_cff.py @@ -174,8 +174,11 @@ pathALCARECOHcalCalIsolatedBunchFilter = cms.Path(seqALCARECOHcalCalIsolatedBunchFilter) pathALCARECOHcalCalIsolatedBunchSelector = cms.Path(seqALCARECOHcalCalIsolatedBunchSelector) pathALCARECOMuAlCalIsolatedMu = cms.Path(seqALCARECOMuAlCalIsolatedMu*ALCARECOMuAlCalIsolatedMuDQM*ALCARECODTCalibrationDQM) +pathALCARECOMuAlCalIsolatedMuGeneralTracks = cms.Path(seqALCARECOMuAlCalIsolatedMuGeneralTracks) pathALCARECOMuAlZMuMu = cms.Path(seqALCARECOMuAlZMuMu*ALCARECOMuAlZMuMuDQM) +pathALCARECOMuAlZMuMuGeneralTracks = cms.Path(seqALCARECOMuAlZMuMuGeneralTracks) pathALCARECOMuAlOverlaps = cms.Path(seqALCARECOMuAlOverlaps*ALCARECOMuAlOverlapsDQM) +pathALCARECOMuAlOverlapsGeneralTracks = cms.Path(seqALCARECOMuAlOverlapsGeneralTracks) pathALCARECORpcCalHLT = cms.Path(seqALCARECORpcCalHLT) pathALCARECODtCalib = cms.Path(seqALCARECODtCalib*ALCARECODTCalibSynchDQM) pathALCARECODtCalibCosmics = cms.Path(seqALCARECODtCalibCosmics*ALCARECODTCalibSynchCosmicsDQM) @@ -492,27 +495,27 @@ ) ALCARECOStreamMuAlCalIsolatedMu = cms.FilteredStream( - responsible = 'Javier Fernandez', + responsible = 'Luca Pernie', name = 'MuAlCalIsolatedMu', - paths = (pathALCARECOMuAlCalIsolatedMu), + paths = (pathALCARECOMuAlCalIsolatedMu,pathALCARECOMuAlCalIsolatedMuGeneralTracks), content = OutALCARECOMuAlCalIsolatedMu.outputCommands, selectEvents = OutALCARECOMuAlCalIsolatedMu.SelectEvents, dataTier = cms.untracked.string('ALCARECO') ) ALCARECOStreamMuAlZMuMu = cms.FilteredStream( - responsible = 'Javier Fernandez', + responsible = 'Luca Pernie', name = 'MuAlZMuMu', - paths = (pathALCARECOMuAlZMuMu), + paths = (pathALCARECOMuAlZMuMu,pathALCARECOMuAlZMuMuGeneralTracks), content = OutALCARECOMuAlZMuMu.outputCommands, selectEvents = OutALCARECOMuAlZMuMu.SelectEvents, dataTier = cms.untracked.string('ALCARECO') ) ALCARECOStreamMuAlOverlaps = cms.FilteredStream( - responsible = 'Jim Pivarski', + responsible = 'Luca Pernie', name = 'MuAlOverlaps', - paths = (pathALCARECOMuAlOverlaps), + paths = (pathALCARECOMuAlOverlaps,pathALCARECOMuAlOverlapsGeneralTracks), content = OutALCARECOMuAlOverlaps.outputCommands, selectEvents = OutALCARECOMuAlOverlaps.SelectEvents, dataTier = cms.untracked.string('ALCARECO') @@ -591,7 +594,7 @@ ) ALCARECOStreamMuAlGlobalCosmics = cms.FilteredStream( - responsible = 'Jim Pivarski', + responsible = 'Luca Pernie', name = 'MuAlGlobalCosmics', paths = (pathALCARECOMuAlGlobalCosmics), content = OutALCARECOMuAlGlobalCosmics.outputCommands, @@ -600,7 +603,7 @@ ) ALCARECOStreamMuAlGlobalCosmicsInCollisions = cms.FilteredStream( - responsible = 'Jim Pivarski', + responsible = 'Luca Pernie', name = 'MuAlGlobalCosmicsInCollisions', paths = (pathALCARECOMuAlGlobalCosmicsInCollisions), content = OutALCARECOMuAlGlobalCosmicsInCollisions.outputCommands, @@ -618,7 +621,7 @@ ) ALCARECOStreamMuAlBeamHalo = cms.FilteredStream( - responsible = 'Jim Pivarski', + responsible = 'Luca Pernie', name = 'MuAlBeamHalo', paths = (pathALCARECOMuAlBeamHalo), content = OutALCARECOMuAlBeamHalo.outputCommands, @@ -627,7 +630,7 @@ ) ALCARECOStreamMuAlBeamHaloOverlaps = cms.FilteredStream( - responsible = 'Jim Pivarski', + responsible = 'Luca Pernie', name = 'MuAlBeamHaloOverlaps', paths = (pathALCARECOMuAlBeamHaloOverlaps), content = OutALCARECOMuAlBeamHaloOverlaps.outputCommands,