3 |
|
#include <stdexcept> |
4 |
|
|
5 |
|
#include "TrkUpgradeAnalysis/VHbb/interface/VHbbCandidateCuts.h" |
6 |
+ |
#include "TrkUpgradeAnalysis/VHbb/interface/VHbbCandidateVariables.h" |
7 |
|
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbCandidate.h" |
8 |
|
|
9 |
|
trkupgradeanalysis::VHbbCandidateCutSet::VHbbCandidateCutSet() : |
18 |
|
{ |
19 |
|
delete *iCut; |
20 |
|
} |
21 |
+ |
|
22 |
+ |
for( std::vector<trkupgradeanalysis::variables::VHbbCandidateVariable*>::iterator iAdditionalVariable=additionalVariables_.begin(); iAdditionalVariable!=additionalVariables_.end(); ++iAdditionalVariable ) |
23 |
+ |
{ |
24 |
+ |
delete *iAdditionalVariable; |
25 |
+ |
} |
26 |
|
} |
27 |
|
|
28 |
|
size_t trkupgradeanalysis::VHbbCandidateCutSet::numberOfCuts() const |
71 |
|
if( cutPassed == false ) allCutsPassed_=false; |
72 |
|
} |
73 |
|
|
74 |
+ |
// Fill the additional variables |
75 |
+ |
for( std::vector<trkupgradeanalysis::variables::VHbbCandidateVariable*>::const_iterator iVariable=additionalVariables_.begin(); iVariable!=additionalVariables_.end(); ++iVariable ) |
76 |
+ |
{ |
77 |
+ |
(*iVariable)->set( vhbbCandidate ); |
78 |
+ |
} |
79 |
+ |
|
80 |
+ |
return allCutsPassed_; |
81 |
+ |
} |
82 |
+ |
|
83 |
+ |
bool trkupgradeanalysis::VHbbCandidateCutSet::applyCuts( const trkupgradeanalysis::tools::NTupleRow& ntupleRow ) |
84 |
+ |
{ |
85 |
+ |
allCutsPassed_=true; // Start off assuming this is true then change it if not. |
86 |
+ |
std::vector<trkupgradeanalysis::IBasicVHbbCandidateCut*>::const_iterator iCut; |
87 |
+ |
std::vector<bool>::iterator iCutPassed; |
88 |
+ |
for( iCut=basicCuts_.begin(), iCutPassed=cutsPassed_.begin(); iCut != basicCuts_.end() && iCutPassed != cutsPassed_.end(); ++iCut, ++iCutPassed ) |
89 |
+ |
{ |
90 |
+ |
bool cutPassed=( *iCut)->applyCut( ntupleRow ); |
91 |
+ |
*iCutPassed=cutPassed; |
92 |
+ |
if( cutPassed == false ) allCutsPassed_=false; |
93 |
+ |
} |
94 |
+ |
|
95 |
+ |
// Fill the additional variables |
96 |
+ |
for( std::vector<trkupgradeanalysis::variables::VHbbCandidateVariable*>::const_iterator iVariable=additionalVariables_.begin(); iVariable!=additionalVariables_.end(); ++iVariable ) |
97 |
+ |
{ |
98 |
+ |
(*iVariable)->set( ntupleRow ); |
99 |
+ |
} |
100 |
+ |
|
101 |
|
return allCutsPassed_; |
102 |
|
} |
103 |
|
|
106 |
|
return name_; |
107 |
|
} |
108 |
|
|
109 |
+ |
size_t trkupgradeanalysis::VHbbCandidateCutSet::numberOfAdditionalVariables() |
110 |
+ |
{ |
111 |
+ |
return additionalVariables_.size(); |
112 |
+ |
} |
113 |
+ |
|
114 |
+ |
trkupgradeanalysis::IHistogramVariable& trkupgradeanalysis::VHbbCandidateCutSet::additionalVariableAt( size_t position ) |
115 |
+ |
{ |
116 |
+ |
// Use the "at" method rather than array subscripts so that an exception is thrown if it's out of bounds |
117 |
+ |
return *additionalVariables_.at(position); |
118 |
+ |
} |
119 |
+ |
|
120 |
+ |
|
121 |
+ |
|
122 |
+ |
trkupgradeanalysis::AllVariables::AllVariables() |
123 |
+ |
{ |
124 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::MuonPixelHits(true) ); // True means check first muon |
125 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::MuonPixelHits(false) ); // False means check second muon |
126 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::CandidateType ); |
127 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiLeptonMass ); |
128 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::HiggsCandidatePt ); |
129 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::VectorBosonCandidatePt ); |
130 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DeltaPhiVH ); |
131 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::HighestCSV ); |
132 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::LowestCSV ); |
133 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
134 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
135 |
+ |
|
136 |
+ |
name_="AllVariables"; |
137 |
+ |
} |
138 |
+ |
|
139 |
+ |
trkupgradeanalysis::ParameterisedZmumu::ParameterisedZmumu( float higherCSVCut, float lowerCSVCut, float lowerZMassCut, float upperZMassCut, float lowerHMassCut, float upperHMassCut, bool requireTrigger, bool requireDoubleTrigger, int numberOfAdditionalJetsCut ) |
140 |
+ |
{ |
141 |
+ |
using namespace trkupgradeanalysis::cuts; |
142 |
+ |
using namespace trkupgradeanalysis::variables; |
143 |
+ |
|
144 |
+ |
if( requireTrigger || requireDoubleTrigger ) |
145 |
+ |
{ |
146 |
+ |
// Emulate HLT trigger requirements by requiring 3 or more pixel hits in the muons |
147 |
+ |
if( requireDoubleTrigger ) basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( LowestMuonPixelHits(), GreaterThan( 2 ) ) ); |
148 |
+ |
else basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HighestMuonPixelHits(), GreaterThan( 2 ) ) ); |
149 |
+ |
} |
150 |
+ |
|
151 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( CandidateType(), Equals( VHbbCandidate::Zmumu, 0.01 ) ) ); |
152 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DiLeptonMass(), Within( lowerZMassCut, upperZMassCut ) ) ); |
153 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HiggsCandidatePt(), GreaterThan( 100 ) ) ); |
154 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( VectorBosonCandidatePt(), GreaterThan( 100 ) ) ); |
155 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HighestCSV(), GreaterThan( higherCSVCut ) ) ); |
156 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( LowestCSV(), GreaterThan( lowerCSVCut ) ) ); |
157 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DeltaPhiVH(), GreaterThan( 2.9 ) ) ); |
158 |
+ |
|
159 |
+ |
if( numberOfAdditionalJetsCut>=0 ) basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( NumberOfAdditionalJets(), LessThanOrEqual(numberOfAdditionalJetsCut) ) ); |
160 |
+ |
else additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
161 |
+ |
|
162 |
+ |
if( lowerHMassCut>0 && upperHMassCut> 0 ) basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DiJetMass(), Within( lowerHMassCut, upperHMassCut ) ) ); |
163 |
+ |
else additionalVariables_.push_back( new DiJetMass ); |
164 |
+ |
|
165 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
166 |
+ |
|
167 |
+ |
std::stringstream floatToStringConversion; |
168 |
+ |
floatToStringConversion << "FullSelectionZmumu_higherCSVCut=" << higherCSVCut << "_lowerCSVCut=" << lowerCSVCut << "_lowerZMassCut=" << lowerZMassCut << "_upperZMassCut=" << upperZMassCut; |
169 |
+ |
if( requireTrigger || requireDoubleTrigger ) |
170 |
+ |
{ |
171 |
+ |
if( requireDoubleTrigger ) floatToStringConversion << "_withDoubleTrigger"; |
172 |
+ |
else floatToStringConversion << "_withSingleTrigger"; |
173 |
+ |
} |
174 |
+ |
name_=floatToStringConversion.str(); |
175 |
+ |
} |
176 |
+ |
|
177 |
+ |
trkupgradeanalysis::FullSelectionZmumu::FullSelectionZmumu( float higherCSVCut, float lowerCSVCut, float centralZMass, bool requireTrigger, bool requireDoubleTrigger ) |
178 |
+ |
: ParameterisedZmumu( higherCSVCut, lowerCSVCut, centralZMass-16, centralZMass+14, -1, -1, -1, requireTrigger, requireDoubleTrigger) |
179 |
+ |
{ |
180 |
+ |
// No operation besides the initialiser list |
181 |
+ |
} |
182 |
+ |
|
183 |
+ |
trkupgradeanalysis::ParameterisedZee::ParameterisedZee( float higherCSVCut, float lowerCSVCut, float lowerZMassCut, float upperZMassCut, float lowerHMassCut, float upperHMassCut, int numberOfAdditionalJetsCut ) |
184 |
+ |
{ |
185 |
+ |
using namespace trkupgradeanalysis::cuts; |
186 |
+ |
using namespace trkupgradeanalysis::variables; |
187 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( CandidateType(), Equals( VHbbCandidate::Zee, 0.01 ) ) ); |
188 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DiLeptonMass(), Within( lowerZMassCut, upperZMassCut ) ) ); |
189 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HiggsCandidatePt(), GreaterThan( 100 ) ) ); |
190 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( VectorBosonCandidatePt(), GreaterThan( 100 ) ) ); |
191 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HighestCSV(), GreaterThan( higherCSVCut ) ) ); |
192 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( LowestCSV(), GreaterThan( lowerCSVCut ) ) ); |
193 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DeltaPhiVH(), GreaterThan( 2.9 ) ) ); |
194 |
+ |
|
195 |
+ |
if( numberOfAdditionalJetsCut>=0 ) basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( NumberOfAdditionalJets(), LessThanOrEqual(numberOfAdditionalJetsCut) ) ); |
196 |
+ |
else additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
197 |
+ |
|
198 |
+ |
if( lowerHMassCut>0 && upperHMassCut> 0 ) basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DiJetMass(), Within( lowerHMassCut, upperHMassCut ) ) ); |
199 |
+ |
else additionalVariables_.push_back( new DiJetMass ); |
200 |
+ |
|
201 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
202 |
+ |
|
203 |
+ |
std::stringstream floatToStringConversion; |
204 |
+ |
floatToStringConversion << "FullSelectionZee_higherCSVCut=" << higherCSVCut << "_lowerCSVCut=" << lowerCSVCut << "_lowerZMassCut=" << lowerZMassCut << "_upperZMassCut=" << upperZMassCut; |
205 |
+ |
name_=floatToStringConversion.str(); |
206 |
+ |
} |
207 |
+ |
|
208 |
+ |
trkupgradeanalysis::FullSelectionZee::FullSelectionZee( float higherCSVCut, float lowerCSVCut, float centralZMass ) |
209 |
+ |
{ |
210 |
+ |
using namespace trkupgradeanalysis::cuts; |
211 |
+ |
using namespace trkupgradeanalysis::variables; |
212 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( CandidateType(), Equals( VHbbCandidate::Zee, 0.01 ) ) ); |
213 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DiLeptonMass(), Within( centralZMass-16, centralZMass+14 ) ) ); |
214 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HiggsCandidatePt(), GreaterThan( 100 ) ) ); |
215 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( VectorBosonCandidatePt(), GreaterThan( 100 ) ) ); |
216 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( DeltaPhiVH(), GreaterThan( 2.9 ) ) ); |
217 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( HighestCSV(), GreaterThan( higherCSVCut ) ) ); |
218 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CutOnVariable( LowestCSV(), GreaterThan( lowerCSVCut ) ) ); |
219 |
|
|
220 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
221 |
|
|
222 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
223 |
+ |
additionalVariables_.push_back( new DiJetMass ); |
224 |
|
|
225 |
+ |
std::stringstream floatToStringConversion; |
226 |
+ |
floatToStringConversion << "FullSelectionZee_higherCSVCut=" << higherCSVCut << "_lowerCSVCut=" << lowerCSVCut << "_centralZMass=" << centralZMass; |
227 |
+ |
name_=floatToStringConversion.str(); |
228 |
+ |
} |
229 |
|
|
230 |
< |
trkupgradeanalysis::SignalSelectionZee::SignalSelectionZee( float mass ) |
230 |
> |
trkupgradeanalysis::SignalSelectionZee::SignalSelectionZee( float centralMass ) |
231 |
|
{ |
232 |
|
using namespace trkupgradeanalysis::cuts; |
233 |
|
// These lines are from the code |
237 |
|
// result.add( new DoubleBTagCut( 0.5 ) ); |
238 |
|
// result.add( new SingleBTagCut( CSVT ) ); |
239 |
|
// result.add( new AdditionalJetsCut( 2 ) ); // < 2 |
240 |
< |
// result.add( new DiJetMassMinCut( mass - 15. - 5. ) ); |
241 |
< |
// result.add( new DiJetMassMaxCut( mass + 15. - 5. ) ); |
240 |
> |
// result.add( new DiJetMassMinCut( centralMass - 15. - 5. ) ); |
241 |
> |
// result.add( new DiJetMassMaxCut( centralMass + 15. - 5. ) ); |
242 |
|
// These extra cuts are from the paper |
243 |
|
// basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
244 |
|
// basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThanOrEqual( 105 ) ) ); |
245 |
|
// basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 0, GreaterThan( 20 ) ) ); |
246 |
|
// basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 1, GreaterThan( 20 ) ) ); |
247 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVH( GreaterThan( 2.9 ) ) ); |
247 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
248 |
|
|
249 |
|
|
250 |
|
// This first set aren't listed in the paper as separate cuts, so they must come under |
258 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
259 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
260 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
261 |
< |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVH( GreaterThan( 2.9 ) ) ); |
262 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
263 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( GreaterThan( mass-20 ) ) ); |
264 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( LessThanOrEqual( mass+10 ) ) ); |
265 |
< |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( mass-20, mass+10 ) ) ); |
261 |
> |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
262 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
263 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( GreaterThan( centralMass-20 ) ) ); |
264 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( LessThanOrEqual( centralMass+10 ) ) ); |
265 |
> |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
266 |
|
|
267 |
|
|
268 |
|
cutsPassed_.resize( basicCuts_.size() ); |
269 |
|
|
270 |
|
std::stringstream floatToStringConversion; |
271 |
< |
floatToStringConversion << "SignalSelectionZee_mass=" << mass; |
271 |
> |
floatToStringConversion << "SignalSelectionZee_centralMass=" << centralMass; |
272 |
|
name_=floatToStringConversion.str(); |
273 |
|
} |
274 |
|
|
275 |
+ |
trkupgradeanalysis::SignalSelectionZee::SignalSelectionZee( float lowerMass, float upperMass ) |
276 |
+ |
{ |
277 |
+ |
using namespace trkupgradeanalysis::cuts; |
278 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zee ) ); |
279 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
280 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
281 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
282 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
283 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
284 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
285 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
286 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
287 |
+ |
|
288 |
+ |
|
289 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
290 |
+ |
|
291 |
+ |
std::stringstream floatToStringConversion; |
292 |
+ |
floatToStringConversion << "SignalSelectionZee_massBetween" << lowerMass << "And" << upperMass; |
293 |
+ |
name_=floatToStringConversion.str(); |
294 |
+ |
} |
295 |
|
|
296 |
|
|
297 |
< |
trkupgradeanalysis::SignalSelectionZmumu::SignalSelectionZmumu( float mass ) |
297 |
> |
trkupgradeanalysis::SignalSelectionZmumu::SignalSelectionZmumu( float centralMass ) |
298 |
|
{ |
299 |
|
using namespace trkupgradeanalysis::cuts; |
300 |
|
|
305 |
|
// result.add( new DoubleBTagCut( 0.5 ) ); |
306 |
|
// result.add( new SingleBTagCut( CSVT ) ); |
307 |
|
// result.add( new AdditionalJetsCut( 2 ) ); // < 2 |
308 |
< |
// result.add( new DiJetMassMinCut( mass - 15. - 5. ) ); |
309 |
< |
// result.add( new DiJetMassMaxCut( mass + 15. - 5. ) ); |
308 |
> |
// result.add( new DiJetMassMinCut( centralMass - 15. - 5. ) ); |
309 |
> |
// result.add( new DiJetMassMaxCut( centralMass + 15. - 5. ) ); |
310 |
|
// These lines I added from the cuts listed in the paper |
311 |
|
// basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
312 |
|
// basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThanOrEqual( 105 ) ) ); |
313 |
|
// basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 0, GreaterThan( 20 ) ) ); |
314 |
|
// basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 1, GreaterThan( 20 ) ) ); |
315 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVH( GreaterThan( 2.9 ) ) ); |
315 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
316 |
|
|
317 |
|
|
318 |
|
// This first set aren't listed in the paper as separate cuts, so they must come under |
326 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
327 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
328 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
329 |
< |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVH( GreaterThan( 2.9 ) ) ); |
330 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
331 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( GreaterThan( mass-20 ) ) ); |
332 |
< |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( LessThanOrEqual( mass+10 ) ) ); |
333 |
< |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( mass-20, mass+10 ) ) ); |
329 |
> |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
330 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
331 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( GreaterThan( centralMass-20 ) ) ); |
332 |
> |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( LessThanOrEqual( centralMass+10 ) ) ); |
333 |
> |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
334 |
|
|
335 |
|
cutsPassed_.resize( basicCuts_.size() ); |
336 |
|
|
337 |
|
std::stringstream floatToStringConversion; |
338 |
< |
floatToStringConversion << "SignalSelectionZmumu_mass=" << mass; |
338 |
> |
floatToStringConversion << "SignalSelectionZmumu_centralMass=" << centralMass; |
339 |
|
name_=floatToStringConversion.str(); |
340 |
|
} |
341 |
|
|
342 |
+ |
trkupgradeanalysis::SignalSelectionZmumu::SignalSelectionZmumu( float lowerMass, float upperMass ) |
343 |
+ |
{ |
344 |
+ |
using namespace trkupgradeanalysis::cuts; |
345 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
346 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
347 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
348 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
349 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
350 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
351 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
352 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
353 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
354 |
|
|
355 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
356 |
+ |
|
357 |
+ |
std::stringstream floatToStringConversion; |
358 |
+ |
floatToStringConversion << "SignalSelectionZmumu_massBetween" << lowerMass << "And" << upperMass; |
359 |
+ |
name_=floatToStringConversion.str(); |
360 |
+ |
} |
361 |
+ |
|
362 |
+ |
trkupgradeanalysis::InitialSignalSelectionZee::InitialSignalSelectionZee() |
363 |
+ |
{ |
364 |
+ |
using namespace trkupgradeanalysis::cuts; |
365 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zee ) ); |
366 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
367 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
368 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
369 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
370 |
+ |
|
371 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
372 |
+ |
|
373 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
374 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
375 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::HighestCSV ); |
376 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::LowestCSV ); |
377 |
+ |
|
378 |
+ |
name_="InitialSignalSelectionZee"; |
379 |
+ |
} |
380 |
+ |
|
381 |
+ |
trkupgradeanalysis::InitialSignalSelectionZmumu::InitialSignalSelectionZmumu() |
382 |
+ |
{ |
383 |
+ |
using namespace trkupgradeanalysis::cuts; |
384 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
385 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
386 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
387 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
388 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
389 |
+ |
|
390 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
391 |
+ |
|
392 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
393 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
394 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::HighestCSV ); |
395 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::LowestCSV ); |
396 |
+ |
|
397 |
+ |
name_="InitialSignalSelectionZmumu"; |
398 |
+ |
} |
399 |
|
|
400 |
|
trkupgradeanalysis::SignalSelectionZmumuWithoutAdditionalJetsCut::SignalSelectionZmumuWithoutAdditionalJetsCut( float mass ) |
401 |
|
{ |
407 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
408 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
409 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
410 |
< |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVH( GreaterThan( 2.9 ) ) ); |
410 |
> |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
411 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( mass-20, mass+10 ) ) ); |
412 |
|
|
413 |
|
cutsPassed_.resize( basicCuts_.size() ); |
418 |
|
} |
419 |
|
|
420 |
|
|
421 |
+ |
trkupgradeanalysis::SignalSelectionZmumuWithCSVCutsSwitched::SignalSelectionZmumuWithCSVCutsSwitched( float centralMass ) |
422 |
+ |
{ |
423 |
+ |
using namespace trkupgradeanalysis::cuts; |
424 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
425 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
426 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
427 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
428 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
429 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
430 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
431 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
432 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
433 |
+ |
|
434 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
435 |
+ |
|
436 |
+ |
std::stringstream floatToStringConversion; |
437 |
+ |
floatToStringConversion << "SignalSelectionZmumuWithCSVCutsSwitched_centralMass=" << centralMass; |
438 |
+ |
name_=floatToStringConversion.str(); |
439 |
+ |
} |
440 |
+ |
|
441 |
+ |
trkupgradeanalysis::SignalSelectionZmumuWithCSVCutsSwitched::SignalSelectionZmumuWithCSVCutsSwitched( float lowerMass, float upperMass ) |
442 |
+ |
{ |
443 |
+ |
using namespace trkupgradeanalysis::cuts; |
444 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
445 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
446 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
447 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
448 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
449 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.5, 2 ) ); |
450 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
451 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
452 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
453 |
+ |
|
454 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
455 |
+ |
|
456 |
+ |
std::stringstream floatToStringConversion; |
457 |
+ |
floatToStringConversion << "SignalSelectionZmumuWithCSVCutsSwitched_massBetween" << lowerMass << "And" << upperMass; |
458 |
+ |
name_=floatToStringConversion.str(); |
459 |
+ |
} |
460 |
+ |
|
461 |
+ |
|
462 |
+ |
|
463 |
+ |
trkupgradeanalysis::SignalSelectionStdGeom50PUZmumu::SignalSelectionStdGeom50PUZmumu( float centralMass ) |
464 |
+ |
{ |
465 |
+ |
using namespace trkupgradeanalysis::cuts; |
466 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
467 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
468 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
469 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
470 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.717621, 2 ) ); |
471 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.395486, 2 ) ); |
472 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
473 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
474 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
475 |
+ |
|
476 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
477 |
+ |
|
478 |
+ |
std::stringstream floatToStringConversion; |
479 |
+ |
floatToStringConversion << "SignalSelectionStdGeom50PUZmumu_centralMass=" << centralMass; |
480 |
+ |
name_=floatToStringConversion.str(); |
481 |
+ |
} |
482 |
+ |
|
483 |
+ |
trkupgradeanalysis::SignalSelectionStdGeom50PUZmumu::SignalSelectionStdGeom50PUZmumu( float lowerMass, float upperMass ) |
484 |
+ |
{ |
485 |
+ |
using namespace trkupgradeanalysis::cuts; |
486 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
487 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
488 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
489 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
490 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.717621, 2 ) ); |
491 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.395486, 2 ) ); |
492 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
493 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
494 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
495 |
+ |
|
496 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
497 |
+ |
|
498 |
+ |
std::stringstream floatToStringConversion; |
499 |
+ |
floatToStringConversion << "SignalSelectionStdGeom50PUZmumu_massBetween" << lowerMass << "And" << upperMass; |
500 |
+ |
name_=floatToStringConversion.str(); |
501 |
+ |
} |
502 |
+ |
|
503 |
+ |
|
504 |
+ |
trkupgradeanalysis::SignalSelectionPhase150PUZmumu::SignalSelectionPhase150PUZmumu( float centralMass ) |
505 |
+ |
{ |
506 |
+ |
using namespace trkupgradeanalysis::cuts; |
507 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
508 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
509 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
510 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
511 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.776769, 2 ) ); |
512 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.536104, 2 ) ); |
513 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
514 |
+ |
// basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
515 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
516 |
+ |
|
517 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
518 |
+ |
|
519 |
+ |
std::stringstream floatToStringConversion; |
520 |
+ |
floatToStringConversion << "SignalSelectionPhase150PUZmumu_centralMass=" << centralMass; |
521 |
+ |
name_=floatToStringConversion.str(); |
522 |
+ |
} |
523 |
+ |
|
524 |
+ |
trkupgradeanalysis::SignalSelectionPhase150PUZmumu::SignalSelectionPhase150PUZmumu( float lowerMass, float upperMass ) |
525 |
+ |
{ |
526 |
+ |
using namespace trkupgradeanalysis::cuts; |
527 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
528 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
529 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
530 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
531 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.776769, 2 ) ); |
532 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.536104, 2 ) ); |
533 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
534 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
535 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
536 |
+ |
|
537 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
538 |
+ |
|
539 |
+ |
std::stringstream floatToStringConversion; |
540 |
+ |
floatToStringConversion << "SignalSelectionPhase150PUZmumu_massBetween" << lowerMass << "And" << upperMass; |
541 |
+ |
name_=floatToStringConversion.str(); |
542 |
+ |
} |
543 |
+ |
|
544 |
+ |
|
545 |
+ |
|
546 |
+ |
trkupgradeanalysis::SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut::SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut( float centralMass ) |
547 |
+ |
{ |
548 |
+ |
using namespace trkupgradeanalysis::cuts; |
549 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
550 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
551 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
552 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
553 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.717621, 2 ) ); |
554 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.395486, 2 ) ); |
555 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
556 |
+ |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
557 |
+ |
|
558 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
559 |
+ |
|
560 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
561 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
562 |
+ |
|
563 |
+ |
std::stringstream floatToStringConversion; |
564 |
+ |
floatToStringConversion << "SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut_centralMass=" << centralMass; |
565 |
+ |
name_=floatToStringConversion.str(); |
566 |
+ |
} |
567 |
+ |
|
568 |
+ |
trkupgradeanalysis::SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut::SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut( float lowerMass, float upperMass ) |
569 |
+ |
{ |
570 |
+ |
using namespace trkupgradeanalysis::cuts; |
571 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
572 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
573 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
574 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
575 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.717621, 2 ) ); |
576 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.395486, 2 ) ); |
577 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
578 |
+ |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
579 |
+ |
|
580 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
581 |
|
|
582 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
583 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
584 |
+ |
|
585 |
+ |
std::stringstream floatToStringConversion; |
586 |
+ |
floatToStringConversion << "SignalSelectionStdGeom50PUZmumuWithoutAdditionalJetsCut_massBetween" << lowerMass << "And" << upperMass; |
587 |
+ |
name_=floatToStringConversion.str(); |
588 |
+ |
} |
589 |
+ |
|
590 |
+ |
|
591 |
+ |
trkupgradeanalysis::SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut::SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut( float centralMass ) |
592 |
+ |
{ |
593 |
+ |
using namespace trkupgradeanalysis::cuts; |
594 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
595 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
596 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
597 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
598 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.776769, 2 ) ); |
599 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.536104, 2 ) ); |
600 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
601 |
+ |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( centralMass-20, centralMass+10 ) ) ); |
602 |
+ |
|
603 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
604 |
+ |
|
605 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
606 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
607 |
+ |
|
608 |
+ |
std::stringstream floatToStringConversion; |
609 |
+ |
floatToStringConversion << "SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut_centralMass=" << centralMass; |
610 |
+ |
name_=floatToStringConversion.str(); |
611 |
+ |
} |
612 |
+ |
|
613 |
+ |
trkupgradeanalysis::SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut::SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut( float lowerMass, float upperMass ) |
614 |
+ |
{ |
615 |
+ |
using namespace trkupgradeanalysis::cuts; |
616 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CandidateTypeEquals( VHbbCandidate::Zmumu ) ); |
617 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( Within( 75, 105 ) ) ); |
618 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
619 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
620 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.776769, 2 ) ); |
621 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAllJetsGreaterThan( 0.536104, 2 ) ); |
622 |
+ |
basicCuts_.push_back( new trkupgradeanalysis::DeltaPhiVHCut( GreaterThan( 2.9 ) ) ); |
623 |
+ |
// basicCuts_.push_back( new trkupgradeanalysis::MassOfHiggsBoson( Within( lowerMass, upperMass ) ) ); |
624 |
+ |
|
625 |
+ |
cutsPassed_.resize( basicCuts_.size() ); |
626 |
+ |
|
627 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::NumberOfAdditionalJets ); |
628 |
+ |
additionalVariables_.push_back( new trkupgradeanalysis::variables::DiJetMass ); |
629 |
+ |
|
630 |
+ |
std::stringstream floatToStringConversion; |
631 |
+ |
floatToStringConversion << "SignalSelectionPhase150PUZmumuWithoutAdditionalJetsCut_massBetween" << lowerMass << "And" << upperMass; |
632 |
+ |
name_=floatToStringConversion.str(); |
633 |
+ |
} |
634 |
|
|
635 |
|
|
636 |
|
trkupgradeanalysis::SignalSelectionWen::SignalSelectionWen( float mass ) |
647 |
|
// result.add( new SingleBTagCut( CSVT ) ); |
648 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
649 |
|
// result.add( new AdditionalJetsCut( 1 ) ); // < 1 |
650 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 1 ) ) ); |
650 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 1 ) ) ); |
651 |
|
// result.add( new AdditionalLeptonsCut( 1 ) ); // < 1 |
652 |
|
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalLeptons( LessThan( 1 ) ) ); |
653 |
|
// result.add( new METCut( 30 ) ); |
680 |
|
// result.add( new SingleBTagCut( CSVT ) ); |
681 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
682 |
|
// result.add( new AdditionalJetsCut( 1 ) ); // < 1 |
683 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 1 ) ) ); |
683 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 1 ) ) ); |
684 |
|
// result.add( new AdditionalLeptonsCut( 1 ) ); // < 1 |
685 |
|
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalLeptons( LessThan( 1 ) ) ); |
686 |
|
// result.add( new DiJetMassMinCut( mass - 15. ) ); |
706 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 1, GreaterThan( 30 ) ) ); |
707 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 30 ) ) ); |
708 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 30 ) ) ); |
709 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
709 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
710 |
|
basicCuts_.push_back( new trkupgradeanalysis::METSigma( GreaterThan( 2.5 ) ) ); |
711 |
|
cutsPassed_.resize( basicCuts_.size() ); |
712 |
|
|
724 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 150 ) ) ); |
725 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 150 ) ) ); |
726 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 150 ) ) ); |
727 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
727 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
728 |
|
basicCuts_.push_back( new trkupgradeanalysis::METSigma( GreaterThan( 2.5 ) ) ); |
729 |
|
cutsPassed_.resize( basicCuts_.size() ); |
730 |
|
|
740 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 1, GreaterThan( 20 ) ) ); |
741 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
742 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
743 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
743 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
744 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
745 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThan( 105 ) ) ); |
746 |
|
cutsPassed_.resize( basicCuts_.size() ); |
757 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfJetN( 1, GreaterThan( 20 ) ) ); |
758 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfHiggs( GreaterThan( 100 ) ) ); |
759 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
760 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
760 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
761 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
762 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThan( 105 ) ) ); |
763 |
|
cutsPassed_.resize( basicCuts_.size() ); |
776 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
777 |
|
// require that at least one of the first two jets (jets 0 and 1) b-tag is greater than 0.898 |
778 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
779 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( GreaterThan( 1 ) ) ); |
779 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( GreaterThan( 1 ) ) ); |
780 |
|
cutsPassed_.resize( basicCuts_.size() ); |
781 |
|
|
782 |
|
name_="TTbarRegionHWmun"; |
794 |
|
basicCuts_.push_back( new trkupgradeanalysis::PtOfVectorBoson( GreaterThan( 100 ) ) ); |
795 |
|
// require that at least one of the first two jets (jets 0 and 1) b-tag is greater than 0.898 |
796 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
797 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( GreaterThan( 1 ) ) ); |
797 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( GreaterThan( 1 ) ) ); |
798 |
|
cutsPassed_.resize( basicCuts_.size() ); |
799 |
|
|
800 |
|
name_="TTbarRegionHWen"; |
845 |
|
// Add V.Mt(VHbbCandidate::Wmun) < 120 |
846 |
|
// Add V.Mt(VHbbCandidate::Wmun) > 40 |
847 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
848 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( Equals( 0 ) ) ); |
848 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( Equals( 0 ) ) ); |
849 |
|
basicCuts_.push_back( new trkupgradeanalysis::METSigma( GreaterThan( 2.5 ) ) ); |
850 |
|
cutsPassed_.resize( basicCuts_.size() ); |
851 |
|
|
867 |
|
// Add V.Mt(VHbbCandidate::Wmun) > 40 |
868 |
|
// require that at least one of the first two jets (jets 0 and 1) b-tag is greater than 0.898 |
869 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
870 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( Equals( 0 ) ) ); |
870 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( Equals( 0 ) ) ); |
871 |
|
basicCuts_.push_back( new trkupgradeanalysis::METSigma( GreaterThan( 2.5 ) ) ); |
872 |
|
cutsPassed_.resize( basicCuts_.size() ); |
873 |
|
|
884 |
|
// Add ( H.p4.M() < 90 || H.p4.M() > 145) |
885 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
886 |
|
// Add TMath::Abs( Geom::deltaPhi(H.p4.Phi(), V.p4.Phi()) ) > 2.9 |
887 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
887 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
888 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
889 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThan( 105 ) ) ); |
890 |
|
cutsPassed_.resize( basicCuts_.size() ); |
902 |
|
// Add ( H.p4.M() < 90 || H.p4.M() > 145) |
903 |
|
basicCuts_.push_back( new trkupgradeanalysis::CSVOfAnyJetGreaterThan( 0.898, 2 ) ); |
904 |
|
// Add TMath::Abs( Geom::deltaPhi(H.p4.Phi(), V.p4.Phi()) ) > 2.9 |
905 |
< |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJets( LessThan( 2 ) ) ); |
905 |
> |
basicCuts_.push_back( new trkupgradeanalysis::NumberOfAdditionalJetsCut( LessThan( 2 ) ) ); |
906 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( GreaterThan( 75 ) ) ); |
907 |
|
basicCuts_.push_back( new trkupgradeanalysis::MassOfVectorBoson( LessThan( 105 ) ) ); |
908 |
|
cutsPassed_.resize( basicCuts_.size() ); |