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

# 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     ##########################################################################
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