ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/ControlRegions/python/DoubleMuSelections.py
Revision: 1.1
Committed: Tue May 7 09:39:31 2013 UTC (12 years ago) by lantonel
Content type: text/x-python
Branch: MAIN
CVS Tags: V01-01-00, V01-00-01, V01-00-00, V00-01-00
Log Message:
first commit of control region definitions

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 ##########################################################################
67
68 WWtoMuMu_Selection = cms.PSet(
69 name = cms.string("WW to MuMu"),
70 triggers = doubleMuTriggerPath,
71 cuts = cms.VPSet ()
72 )
73 WWtoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
74 WWtoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
75 for cut in WWtoMuMu_Selection.cuts:
76 if "muons" in str(cut.inputCollection):
77 cut.numberRequired = cms.string('== 2')
78
79 leptonpair_pt_cut = cms.PSet (
80 inputCollection = cms.string("muon-muon pairs"),
81 cutString = cms.string("pt > 45"),
82 numberRequired = cms.string(">= 1"),
83 )
84 WWtoMuMu_Selection.cuts.append(leptonpair_pt_cut)
85
86 WWtoMuMu_Selection.cuts.append(os_cut)
87
88 WWtoMuMu_Selection.cuts.append(zpeak_veto)
89
90 bjet_veto = cms.PSet (
91 inputCollection = cms.string("jets"),
92 cutString = cms.string("pt > 30 | btagCombinedSecVertex > 0.244"),
93 numberRequired = cms.string("== 0")
94 )
95 WWtoMuMu_Selection.cuts.append(bjet_veto)
96
97 met_cut = cms.PSet (
98 inputCollection = cms.string("mets"),
99 cutString = cms.string("pt > 60"),
100 numberRequired = cms.string(">= 1"),
101 alias = cms.string("met > 60")
102 )
103 WWtoMuMu_Selection.cuts.append(met_cut)
104
105 ##########################################################################
106
107 WZtoMuMuMu_Selection = cms.PSet(
108 name = cms.string("WZ to MuMuMu"),
109 triggers = doubleMuTriggerPath,
110 cuts = cms.VPSet ()
111 )
112 WZtoMuMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
113 WZtoMuMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
114 for cut in WZtoMuMuMu_Selection.cuts:
115 if "muons" in str(cut.inputCollection):
116 cut.numberRequired = cms.string('== 3')
117
118 os_zpeak_cut = cms.PSet (
119 inputCollection = cms.string("muon-muon pairs"),
120 cutString = cms.string("chargeProduct < 0 & invMass > 60 & invMass < 120"),
121 numberRequired = cms.string(">= 1")
122 )
123 WZtoMuMuMu_Selection.cuts.append(os_zpeak_cut)
124
125 met_cut = cms.PSet (
126 inputCollection = cms.string("mets"),
127 cutString = cms.string("pt > 30"),
128 numberRequired = cms.string(">= 1"),
129 alias = cms.string("met > 30")
130 )
131 WZtoMuMuMu_Selection.cuts.append(met_cut)
132
133 ##########################################################################
134
135 ZZtoMuMuMuMu_Selection = cms.PSet(
136 name = cms.string("ZZ to MuMuMuMu"),
137 triggers = doubleMuTriggerPath,
138 cuts = cms.VPSet ()
139 )
140 ZZtoMuMuMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
141 ZZtoMuMuMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
142 for cut in ZZtoMuMuMuMu_Selection.cuts:
143 if "muons" in str(cut.inputCollection):
144 cut.numberRequired = cms.string('== 4')
145
146 double_os_zpeak_cut = cms.PSet (
147 inputCollection = cms.string("muon-muon pairs"),
148 cutString = cms.string("chargeProduct < 0 & invMass > 60 & invMass < 120"),
149 numberRequired = cms.string(">= 2")
150 )
151 ZZtoMuMuMuMu_Selection.cuts.append(double_os_zpeak_cut)
152
153 ##########################################################################
154
155 TTbartoMuMu_Selection = cms.PSet(
156 name = cms.string("TTbar to MuMu"),
157 triggers = doubleMuTriggerPath,
158 cuts = cms.VPSet ()
159 )
160 TTbartoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
161 TTbartoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
162 for cut in TTbartoMuMu_Selection.cuts:
163 if "muons" in str(cut.inputCollection):
164 cut.numberRequired = cms.string('== 2')
165
166 TTbartoMuMu_Selection.cuts.append(os_cut)
167
168 TTbartoMuMu_Selection.cuts.append(zpeak_veto)
169
170 jet_eta_cut = cms.PSet (
171 inputCollection = cms.string("jets"),
172 cutString = cms.string("abs(eta) < 2.4"),
173 numberRequired = cms.string(">= 2")
174 )
175 TTbartoMuMu_Selection.cuts.append(jet_eta_cut)
176
177 jet_pt_cut = cms.PSet (
178 inputCollection = cms.string("jets"),
179 cutString = cms.string("pt > 30"),
180 numberRequired = cms.string(">= 2")
181 )
182 TTbartoMuMu_Selection.cuts.append(jet_pt_cut)
183
184 btag_cut = cms.PSet (
185 inputCollection = cms.string("jets"),
186 cutString = cms.string("btagCombinedSecVertex > 0.679"),
187 numberRequired = cms.string(">= 1")
188 )
189 TTbartoMuMu_Selection.cuts.append(btag_cut)
190
191 met_cut = cms.PSet (
192 inputCollection = cms.string("mets"),
193 cutString = cms.string("pt > 60"),
194 numberRequired = cms.string(">= 1"),
195 alias = cms.string("met > 60")
196 )
197 TTbartoMuMu_Selection.cuts.append(met_cut)
198
199 ##########################################################################
200
201 QCDtoMuMu_Selection = cms.PSet(
202 name = cms.string("QCD to MuMu"),
203 triggers = doubleMuTriggerPath,
204 cuts = cms.VPSet ()
205 )
206 QCDtoMuMu_Selection.cuts.extend(copy.deepcopy(Event_Preselection.cuts))
207 QCDtoMuMu_Selection.cuts.extend(copy.deepcopy(Muon_Preselection.cuts))
208 for cut in QCDtoMuMu_Selection.cuts:
209 if "muons" in str(cut.inputCollection):
210 cut.numberRequired = cms.string('== 2')
211 if "relPFdBetaIso" in str(cut.cutString) and "muons" in str(cut.inputCollection):
212 cut.cutString = cms.string('relPFdBetaIso > 0.12')
213
214 QCDtoMuMu_Selection.cuts.append(zpeak_veto)
215
216
217 ##########################################################################
218
219
220
221