Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
import FWCore.ParameterSet.Config as cms

import HLTrigger.HLTfilters.hltHighLevel_cfi
# AlCaReco for track based alignment using ZMuMu events
ALCARECOTkAlHLTTracksZMuMuHLT = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
    andOr = True, ## choose logical OR between Triggerbits
    # eventSetupPathsKey = 'TkAlZMuMu',
    HLTPaths = ['HLT_*Mu*'],
    throw = False # tolerate triggers stated above, but 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
ALCARECOTkAlHLTTracksZMuMuDCSFilter = DPGAnalysis.Skims.skim_detstatus_cfi.dcsstatus.clone(
    DetectorType = cms.vstring('TIBTID','TOB','TECp','TECm','BPIX','FPIX',
                               'DT0','DTp','DTm','CSCp','CSCm'),
    ApplyFilter  = cms.bool(True),
    AndOr        = cms.bool(True),
    DebugOn      = cms.untracked.bool(False)
)

import Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi
ALCARECOTkAlHLTTracksZMuMuGoodMuons = Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi.TkAlGoodIdMuonSelector.clone(
    #    src =  cms.InputTag("hltPFMuonMerging") # TODO type cast to muon ???
)
ALCARECOTkAlHLTTracksZMuMuRelCombIsoMuons = Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi.TkAlRelCombIsoMuonSelector.clone(
    src = 'ALCARECOTkAlHLTTracksZMuMuGoodMuons'
)

import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi
ALCARECOTkAlHLTTracksZMuMu = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone()
ALCARECOTkAlHLTTracksZMuMu.src = cms.InputTag("hltMergedTracks") 
ALCARECOTkAlHLTTracksZMuMu.filter = True ##do not store empty events

ALCARECOTkAlHLTTracksZMuMu.applyBasicCuts = True
ALCARECOTkAlHLTTracksZMuMu.ptMin = 15.0 ##GeV
ALCARECOTkAlHLTTracksZMuMu.etaMin = -3.5
ALCARECOTkAlHLTTracksZMuMu.etaMax = 3.5
ALCARECOTkAlHLTTracksZMuMu.nHitMin = 0

ALCARECOTkAlHLTTracksZMuMu.GlobalSelector.muonSource = 'ALCARECOTkAlHLTTracksZMuMuRelCombIsoMuons'
# Isolation is shifted to the muon preselection, and then applied intrinsically if applyGlobalMuonFilter = True
ALCARECOTkAlHLTTracksZMuMu.GlobalSelector.applyIsolationtest = False
ALCARECOTkAlHLTTracksZMuMu.GlobalSelector.applyGlobalMuonFilter = True

ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.applyMassrangeFilter = True
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.minXMass = 65.0 ##GeV
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.maxXMass = 115.0 ##GeV
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.daughterMass = 0.105 ##GeV (Muons)
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.applyChargeFilter = True
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.charge = 0
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.applyAcoplanarityFilter = False
ALCARECOTkAlHLTTracksZMuMu.TwoBodyDecaySelector.numberOfCandidates = 1

seqALCARECOTkAlHLTTracksZMuMu = cms.Sequence(ALCARECOTkAlHLTTracksZMuMuHLT+ALCARECOTkAlHLTTracksZMuMuDCSFilter+ALCARECOTkAlHLTTracksZMuMuGoodMuons+ALCARECOTkAlHLTTracksZMuMuRelCombIsoMuons+ALCARECOTkAlHLTTracksZMuMu)