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

# User Rev Content
1 lantonel 1.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 lantonel 1.2 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 lantonel 1.1 ##########################################################################
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 lantonel 1.2 numberRequired = cms.string("== 1")
139 lantonel 1.1 )
140     WZtoMuMuMu_Selection.cuts.append(os_zpeak_cut)
141    
142     met_cut = cms.PSet (
143     inputCollection = cms.string("mets"),
144 lantonel 1.2 cutString = cms.string("pt > 50"),
145 lantonel 1.1 numberRequired = cms.string(">= 1"),
146 lantonel 1.2 alias = cms.string("met > 50")
147 lantonel 1.1 )
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 lantonel 1.2 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 lantonel 1.1 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