CMS 3D CMS Logo

ALCARECOTkAlUpsilonMuMu_cff.py
Go to the documentation of this file.
1 # AlCaReco for track based alignment using Upsilon->MuMu events
2 import FWCore.ParameterSet.Config as cms
3 
5 ALCARECOTkAlUpsilonMuMuHLT = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
6  andOr = True,
7  eventSetupPathsKey = 'TkAlUpsilonMuMu',
8  throw = False # tolerate triggers stated above, but not available
9  )
10 
11 # DCS partitions
12 # "EBp","EBm","EEp","EEm","HBHEa","HBHEb","HBHEc","HF","HO","RPC"
13 # "DT0","DTp","DTm","CSCp","CSCm","CASTOR","TIBTID","TOB","TECp","TECm"
14 # "BPIX","FPIX","ESp","ESm"
15 import DPGAnalysis.Skims.skim_detstatus_cfi
16 ALCARECOTkAlUpsilonMuMuDCSFilter = DPGAnalysis.Skims.skim_detstatus_cfi.dcsstatus.clone(
17  DetectorType = cms.vstring('TIBTID','TOB','TECp','TECm','BPIX','FPIX',
18  'DT0','DTp','DTm','CSCp','CSCm'),
19  ApplyFilter = cms.bool(True),
20  AndOr = cms.bool(True),
21  DebugOn = cms.untracked.bool(False)
22 )
23 
24 import Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi
25 ALCARECOTkAlUpsilonMuMuGoodMuons = Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi.TkAlGoodIdMuonSelector.clone()
26 ALCARECOTkAlUpsilonMuMuRelCombIsoMuons = Alignment.CommonAlignmentProducer.TkAlMuonSelectors_cfi.TkAlRelCombIsoMuonSelector.clone(
27  src = 'ALCARECOTkAlUpsilonMuMuGoodMuons',
28  cut = '(isolationR03().sumPt + isolationR03().emEt + isolationR03().hadEt)/pt < 0.3'
29 
30 )
31 
33 ALCARECOTkAlUpsilonMuMu = Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi.AlignmentTrackSelector.clone()
34 ALCARECOTkAlUpsilonMuMu.filter = True
35 
36 ALCARECOTkAlUpsilonMuMu.applyBasicCuts = True
37 ALCARECOTkAlUpsilonMuMu.ptMin = 3.
38 ALCARECOTkAlUpsilonMuMu.etaMin = -3.5
39 ALCARECOTkAlUpsilonMuMu.etaMax = 3.5
40 ALCARECOTkAlUpsilonMuMu.nHitMin = 0
41 
42 ALCARECOTkAlUpsilonMuMu.GlobalSelector.muonSource = 'ALCARECOTkAlUpsilonMuMuRelCombIsoMuons'
43 # Isolation is shifted to the muon preselection, and then applied intrinsically if applyGlobalMuonFilter = True
44 ALCARECOTkAlUpsilonMuMu.GlobalSelector.applyIsolationtest = False
45 ALCARECOTkAlUpsilonMuMu.GlobalSelector.applyGlobalMuonFilter = True
46 
47 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.applyMassrangeFilter = True
48 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.minXMass = 8.9
49 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.maxXMass = 9.9
50 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.daughterMass = 0.105
51 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.applyChargeFilter = True
52 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.charge = 0
53 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.applyAcoplanarityFilter = False
54 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.acoplanarDistance = 1
55 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.numberOfCandidates = 1
56 
57 
58 TkAlUpsilonMuMuGenMuonSelector = cms.EDFilter("GenParticleSelector",
59  src = cms.InputTag("genParticles"),
60  cut = cms.string("abs(pdgId) == 13"), # Select only muons
61  filter = cms.bool(False),
62  throwOnMissing = cms.untracked.bool(False))
63 
64 seqALCARECOTkAlUpsilonMuMu = cms.Sequence(ALCARECOTkAlUpsilonMuMuHLT+ALCARECOTkAlUpsilonMuMuDCSFilter+ALCARECOTkAlUpsilonMuMuGoodMuons+ALCARECOTkAlUpsilonMuMuRelCombIsoMuons+ALCARECOTkAlUpsilonMuMu+TkAlUpsilonMuMuGenMuonSelector)
65 
66 
67 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
68 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
69 (pp_on_XeXe_2017 | pp_on_AA).toModify(ALCARECOTkAlUpsilonMuMuHLT,
70  eventSetupPathsKey='TkAlUpsilonMuMuHI'
71 )
72 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
73 phase2_tracker.toModify(ALCARECOTkAlUpsilonMuMu, etaMin = -4, etaMax = 4)
dont throw on unknown path names