Skip to content

Commit

Permalink
Adding general track to ALCARECO for muonalign
Browse files Browse the repository at this point in the history
  • Loading branch information
Luca committed Jul 18, 2016
1 parent 8ad6418 commit f03ac4a
Show file tree
Hide file tree
Showing 14 changed files with 261 additions and 108 deletions.
Expand Up @@ -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)

Expand Up @@ -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)
Expand Down
@@ -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_*_*',
Expand All @@ -19,7 +20,10 @@
'keep L1AcceptBunchCrossings_*_*_*',
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_TriggerResults_*_*',
'keep DcsStatuss_scalersRawToDigi_*_*')
'keep *_offlineBeamSpot_*_*',
'keep *_offlinePrimaryVertices_*_*',
'keep DcsStatuss_scalersRawToDigi_*_*',
)
)

import copy
Expand Down
@@ -1,21 +1,50 @@
# AlCaReco for muon based alignment using any individual muon tracks
import FWCore.ParameterSet.Config as cms

import HLTrigger.HLTfilters.hltHighLevel_cfi
ALCARECOMuAlCalIsolatedMuHLT = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
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)
Expand Up @@ -7,7 +7,11 @@
),
outputCommands = cms.untracked.vstring(
'keep *_ALCARECOMuAlGlobalCosmicsInCollisions_*_*',
'keep *_muonCSCDigis_*_*',
'keep *_ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks_*_*', # selected general tracks
'keep *_ALCARECOMuAlGlobalCosmicsInCollisionsCombinatorialTF_*_*',
'keep *_ALCARECOMuAlGlobalCosmicsInCollisionsCosmicTF_*_*',
'keep *_ALCARECOMuAlGlobalCosmicsInCollisionsRegionalTF_*_*',
'keep *_muonCSCDigis_*_*',
'keep *_muonDTDigis_*_*',
'keep *_muonRPCDigis_*_*',
'keep *_dt1DRecHits_*_*',
Expand All @@ -16,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
Expand Down
@@ -1,4 +1,3 @@
# AlCaReco for muon alignment using global cosmic ray tracks taken during collisions
import FWCore.ParameterSet.Config as cms

# HLT
Expand All @@ -7,29 +6,64 @@
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"
# "DT0","DTp","DTm","CSCp","CSCm","CASTOR","TIBTID","TOB","TECp","TECm"
# "BPIX","FPIX","ESp","ESm"
import DPGAnalysis.Skims.skim_detstatus_cfi
ALCARECOMuAlGlobalCosmicsInCollisionsDCSFilter = 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),
DebugOn = cms.untracked.bool(False)
)

#________________________________Muon selection____________________________________
# AlCaReco selected muons for track based muon alignment
import Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi

ALCARECOMuAlGlobalCosmicsInCollisions = Alignment.CommonAlignmentProducer.AlignmentMuonSelector_cfi.AlignmentMuonSelector.clone(
src = cms.InputTag("muonsFromCosmics"),
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),
)

#________________________________Track selection____________________________________
# AlCaReco selected general tracks for track based muon alignment
import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi
ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone(
src = cms.InputTag("generalTracks"),
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 Combinatorial Track Finder tracks for track based muon alignment
# (same cuts)
ALCARECOMuAlGlobalCosmicsInCollisionsCombinatorialTF = ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks.clone(
src = 'ctfWithMaterialTracksP5',
)
# AlCaReco selected Cosmic Track Finder tracks for track based muon alignment
# (same cuts)
ALCARECOMuAlGlobalCosmicsInCollisionsCosmicTF = ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks.clone(
src = 'cosmictrackfinderP5'
)
# AlCaReco selected Regional Cosmic Tracking tracks for track based muon alignment
# (same cuts)
ALCARECOMuAlGlobalCosmicsInCollisionsRegionalTF = ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks.clone(
src = 'regionalCosmicTracks'
)

#________________________________Sequences____________________________________
seqALCARECOMuAlGlobalCosmicsInCollisions = cms.Sequence(ALCARECOMuAlGlobalCosmicsInCollisionsHLT + ALCARECOMuAlGlobalCosmicsInCollisionsDCSFilter + ALCARECOMuAlGlobalCosmicsInCollisions)

seqALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks = cms.Sequence(ALCARECOMuAlGlobalCosmicsInCollisionsGeneralTracks)
seqALCARECOMuAlGlobalCosmicsInCollisionsCombinatorialTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsInCollisionsCombinatorialTF)
seqALCARECOMuAlGlobalCosmicsInCollisionsCosmicTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsInCollisionsCosmicTF)
seqALCARECOMuAlGlobalCosmicsInCollisionsRegionalTF = cms.Sequence(ALCARECOMuAlGlobalCosmicsInCollisionsRegionalTF)
@@ -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_*_*',
Expand All @@ -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
Expand Down
@@ -1,4 +1,3 @@
# AlCaReco for muon alignment using global cosmic ray tracks
import FWCore.ParameterSet.Config as cms

# HLT
Expand All @@ -7,29 +6,59 @@
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"
# "DT0","DTp","DTm","CSCp","CSCm","CASTOR","TIBTID","TOB","TECp","TECm"
# "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)
@@ -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
Expand Down

0 comments on commit f03ac4a

Please sign in to comment.