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, ## choose logical OR between Triggerbits
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 ##do not store empty events
35 
36 ALCARECOTkAlUpsilonMuMu.applyBasicCuts = True
37 ALCARECOTkAlUpsilonMuMu.ptMin = 3. ##GeV
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 ##GeV
49 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.maxXMass = 9.9 ##GeV
50 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.daughterMass = 0.105 ##GeV (Muons)
51 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.applyChargeFilter = True
52 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.charge = 0
53 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.applyAcoplanarityFilter = False
54 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.acoplanarDistance = 1 ##radian
55 ALCARECOTkAlUpsilonMuMu.TwoBodyDecaySelector.numberOfCandidates = 1
56 
57 seqALCARECOTkAlUpsilonMuMu = cms.Sequence(ALCARECOTkAlUpsilonMuMuHLT+ALCARECOTkAlUpsilonMuMuDCSFilter+ALCARECOTkAlUpsilonMuMuGoodMuons+ALCARECOTkAlUpsilonMuMuRelCombIsoMuons+ALCARECOTkAlUpsilonMuMu)
58 
59 ## customizations for the pp_on_AA eras
60 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
61 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
62 (pp_on_XeXe_2017 | pp_on_AA_2018).toModify(ALCARECOTkAlUpsilonMuMuHLT,
63  eventSetupPathsKey='TkAlUpsilonMuMuHI'
64  )
dont throw on unknown path names