ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/ControlRegions/python/DoubleMuSelections.py
Revision: 1.2
Committed: Fri May 10 15:37:48 2013 UTC (11 years, 11 months ago) by lantonel
Content type: text/x-python
Branch: MAIN
CVS Tags: V02-03-02, V02-03-01, V02-03-00, V02-02-00, V02-01-01, V02-01-00, HEAD
Changes since 1.1: +27 -3 lines
Log Message:
version 2.0

File Contents

# Content
1 import FWCore.ParameterSet.Config as cms
2 import copy
3
4 ##########################################################################
5 ##### Set up control regions for use with the doubleElectron dataset #####
6 ##########################################################################
7
8 from OSUT3Analysis.ControlRegions.Preselections import *
9
10 doubleMuTriggerPath = cms.vstring("HLT_Mu17_Mu8_v")
11
12 #defining these cuts first since they will be used repeatedly
13 os_cut = cms.PSet (
14 inputCollection = cms.string("muon-muon pairs"),
15 cutString = cms.string("chargeProduct < 0"),
16 numberRequired = cms.string(">= 1")
17 )
18
19 zpeak_cut = cms.PSet (
20 inputCollection = cms.string("muon-muon pairs"),
21 cutString = cms.string("invMass > 60 & invMass < 120"),
22 numberRequired = cms.string(">= 1")
23 )
24
25 zpeak_veto = cms.PSet (
26 inputCollection = cms.string("muon-muon pairs"),
27 cutString = cms.string("invMass < 75 | invMass > 105"),
28 numberRequired = cms.string(">= 1")
29 )
30
31 ##########################################################################
32
33 ZtoMuMu_Selection = cms.PSet(
34 name = cms.string("Z to MuMu"),
35 triggers = doubleMuTriggerPath,
36 cuts = cms.VPSet ()
37 )
38 ZtoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
39 ZtoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
40 for cut in ZtoMuMu_Selection.cuts:
41 if "muons" in str(cut.inputCollection):
42 cut.numberRequired = cms.string('== 2')
43 ZtoMuMu_Selection.cuts.append(os_cut)
44 ZtoMuMu_Selection.cuts.append(zpeak_cut)
45
46 ##########################################################################
47
48 ZtoTauTautoMuMu_Selection = cms.PSet(
49 name = cms.string("Z to TauTau to MuMu"),
50 triggers = doubleMuTriggerPath,
51 cuts = cms.VPSet ()
52 )
53 ZtoTauTautoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
54 ZtoTauTautoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
55 for cut in ZtoTauTautoMuMu_Selection.cuts:
56 if "muons" in str(cut.inputCollection):
57 cut.numberRequired = cms.string('== 2')
58
59 metMT_cut = cms.PSet (
60 inputCollection = cms.string("muons"),
61 cutString = cms.string("metMT < 50"),
62 numberRequired = cms.string("== 2")
63 )
64 ZtoTauTautoMuMu_Selection.cuts.append(metMT_cut)
65
66 ztotaupeak_cut = cms.PSet (
67 inputCollection = cms.string("muon-muon pairs"),
68 cutString = cms.string("invMass > 20 & invMass < 75"),
69 numberRequired = cms.string(">= 1")
70 )
71 ZtoTauTautoMuMu_Selection.cuts.append(ztotaupeak_cut)
72
73
74 met_cut = cms.PSet (
75 inputCollection = cms.string("mets"),
76 cutString = cms.string("pt > 10"),
77 numberRequired = cms.string(">= 1"),
78 alias = cms.string("met > 10")
79 )
80 ZtoTauTautoMuMu_Selection.cuts.append(met_cut)
81
82
83 ##########################################################################
84
85 WWtoMuMu_Selection = cms.PSet(
86 name = cms.string("WW to MuMu"),
87 triggers = doubleMuTriggerPath,
88 cuts = cms.VPSet ()
89 )
90 WWtoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
91 WWtoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
92 for cut in WWtoMuMu_Selection.cuts:
93 if "muons" in str(cut.inputCollection):
94 cut.numberRequired = cms.string('== 2')
95
96 leptonpair_pt_cut = cms.PSet (
97 inputCollection = cms.string("muon-muon pairs"),
98 cutString = cms.string("pt > 45"),
99 numberRequired = cms.string(">= 1"),
100 )
101 WWtoMuMu_Selection.cuts.append(leptonpair_pt_cut)
102
103 WWtoMuMu_Selection.cuts.append(os_cut)
104
105 WWtoMuMu_Selection.cuts.append(zpeak_veto)
106
107 bjet_veto = cms.PSet (
108 inputCollection = cms.string("jets"),
109 cutString = cms.string("pt > 30 | btagCombinedSecVertex > 0.244"),
110 numberRequired = cms.string("== 0")
111 )
112 WWtoMuMu_Selection.cuts.append(bjet_veto)
113
114 met_cut = cms.PSet (
115 inputCollection = cms.string("mets"),
116 cutString = cms.string("pt > 60"),
117 numberRequired = cms.string(">= 1"),
118 alias = cms.string("met > 60")
119 )
120 WWtoMuMu_Selection.cuts.append(met_cut)
121
122 ##########################################################################
123
124 WZtoMuMuMu_Selection = cms.PSet(
125 name = cms.string("WZ to MuMuMu"),
126 triggers = doubleMuTriggerPath,
127 cuts = cms.VPSet ()
128 )
129 WZtoMuMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
130 WZtoMuMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
131 for cut in WZtoMuMuMu_Selection.cuts:
132 if "muons" in str(cut.inputCollection):
133 cut.numberRequired = cms.string('== 3')
134
135 os_zpeak_cut = cms.PSet (
136 inputCollection = cms.string("muon-muon pairs"),
137 cutString = cms.string("chargeProduct < 0 & invMass > 60 & invMass < 120"),
138 numberRequired = cms.string("== 1")
139 )
140 WZtoMuMuMu_Selection.cuts.append(os_zpeak_cut)
141
142 met_cut = cms.PSet (
143 inputCollection = cms.string("mets"),
144 cutString = cms.string("pt > 50"),
145 numberRequired = cms.string(">= 1"),
146 alias = cms.string("met > 50")
147 )
148 WZtoMuMuMu_Selection.cuts.append(met_cut)
149
150 ##########################################################################
151
152 ZZtoMuMuMuMu_Selection = cms.PSet(
153 name = cms.string("ZZ to MuMuMuMu"),
154 triggers = doubleMuTriggerPath,
155 cuts = cms.VPSet ()
156 )
157 ZZtoMuMuMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
158 ZZtoMuMuMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
159 for cut in ZZtoMuMuMuMu_Selection.cuts:
160 if "muons" in str(cut.inputCollection):
161 cut.numberRequired = cms.string('== 4')
162
163 double_os_zpeak_cut = cms.PSet (
164 inputCollection = cms.string("muon-muon pairs"),
165 cutString = cms.string("chargeProduct < 0 & invMass > 60 & invMass < 120"),
166 numberRequired = cms.string(">= 2")
167 )
168 ZZtoMuMuMuMu_Selection.cuts.append(double_os_zpeak_cut)
169
170 ##########################################################################
171
172 TTbartoMuMu_Selection = cms.PSet(
173 name = cms.string("TTbar to MuMu"),
174 triggers = doubleMuTriggerPath,
175 cuts = cms.VPSet ()
176 )
177 TTbartoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
178 TTbartoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
179 for cut in TTbartoMuMu_Selection.cuts:
180 if "muons" in str(cut.inputCollection):
181 cut.numberRequired = cms.string('== 2')
182
183 TTbartoMuMu_Selection.cuts.append(os_cut)
184
185 TTbartoMuMu_Selection.cuts.append(zpeak_veto)
186
187 invMass_cut = cms.PSet (
188 inputCollection = cms.string("muon-muon pairs"),
189 cutString = cms.string("invMass > 20"),
190 numberRequired = cms.string(">= 1")
191 )
192 TTbartoMuMu_Selection.cuts.append(invMass_cut)
193
194 jet_eta_cut = cms.PSet (
195 inputCollection = cms.string("jets"),
196 cutString = cms.string("abs(eta) < 2.4"),
197 numberRequired = cms.string(">= 2")
198 )
199 TTbartoMuMu_Selection.cuts.append(jet_eta_cut)
200
201 jet_pt_cut = cms.PSet (
202 inputCollection = cms.string("jets"),
203 cutString = cms.string("pt > 30"),
204 numberRequired = cms.string(">= 2")
205 )
206 TTbartoMuMu_Selection.cuts.append(jet_pt_cut)
207
208 btag_cut = cms.PSet (
209 inputCollection = cms.string("jets"),
210 cutString = cms.string("btagCombinedSecVertex > 0.679"),
211 numberRequired = cms.string(">= 1")
212 )
213 TTbartoMuMu_Selection.cuts.append(btag_cut)
214
215 met_cut = cms.PSet (
216 inputCollection = cms.string("mets"),
217 cutString = cms.string("pt > 60"),
218 numberRequired = cms.string(">= 1"),
219 alias = cms.string("met > 60")
220 )
221 TTbartoMuMu_Selection.cuts.append(met_cut)
222
223 ##########################################################################
224
225 QCDtoMuMu_Selection = cms.PSet(
226 name = cms.string("QCD to MuMu"),
227 triggers = doubleMuTriggerPath,
228 cuts = cms.VPSet ()
229 )
230 QCDtoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
231 QCDtoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
232 for cut in QCDtoMuMu_Selection.cuts:
233 if "muons" in str(cut.inputCollection):
234 cut.numberRequired = cms.string('== 2')
235 if "relPFdBetaIso" in str(cut.cutString) and "muons" in str(cut.inputCollection):
236 cut.cutString = cms.string('relPFdBetaIso > 0.12')
237
238 QCDtoMuMu_Selection.cuts.append(zpeak_veto)
239
240
241 ##########################################################################
242
243
244
245