184 |
|
|
185 |
|
//Transverse Higgs mass |
186 |
|
Double_t JetTools::MtHiggs(const ParticleOArr * leptons, |
187 |
< |
const Met *met, int nsel){ |
187 |
> |
const Met *met, double metFraction[2], int nsel){ |
188 |
|
if(leptons->Entries() < 2) return -999.0; |
189 |
|
|
190 |
|
double mtHiggs = -999.0; |
230 |
|
mll = dilepton->Mass(); |
231 |
|
mnu = 0.0; |
232 |
|
} |
233 |
< |
else if(nsel == 4){ // Use the formula from hep-ph:1006.4998 |
233 |
> |
else if(nsel == 4){ // Use of Mt mass and replacing mnu using the met optimal |
234 |
> |
enell = TMath::Sqrt(dilepton->Pt()*dilepton->Pt() + dilepton->Mt()*dilepton->Mt()); |
235 |
> |
enenn = TMath::Sqrt(met->Pt() *met->Pt() + 0.0*0.0); |
236 |
> |
enex = dilepton->Px() + met->Px(); |
237 |
> |
eney = dilepton->Py() + met->Py(); |
238 |
> |
mll = dilepton->Mass(); |
239 |
> |
double metAuxPx[2] = {met->Px() * metFraction[0], |
240 |
> |
met->Px() * (1.0 - metFraction[0])}; |
241 |
> |
double metAuxPy[2] = {met->Py() * metFraction[1], |
242 |
> |
met->Py() * (1.0 - metFraction[1])}; |
243 |
> |
double ene = TMath::Sqrt(metAuxPx[0]*metAuxPx[0]+metAuxPy[0]*metAuxPy[0]) + |
244 |
> |
TMath::Sqrt(metAuxPx[1]*metAuxPx[1]+metAuxPy[1]*metAuxPy[1]); |
245 |
> |
double px = metAuxPx[0] + metAuxPx[1]; |
246 |
> |
double py = metAuxPy[0] + metAuxPy[1]; |
247 |
> |
mnu = TMath::Sqrt(ene*ene - px*px - py*py); |
248 |
> |
} |
249 |
> |
else if(nsel == 5){ // Using the optimal met value |
250 |
> |
double metAuxPx[2] = {met->Px() * metFraction[0], |
251 |
> |
met->Px() * (1.0 - metFraction[0])}; |
252 |
> |
double metAuxPy[2] = {met->Py() * metFraction[1], |
253 |
> |
met->Py() * (1.0 - metFraction[1])}; |
254 |
> |
double ene = leptons->At(0)->Pt() + leptons->At(1)->Pt() + |
255 |
> |
TMath::Sqrt(metAuxPx[0]*metAuxPx[0]+metAuxPy[0]*metAuxPy[0]) + |
256 |
> |
TMath::Sqrt(metAuxPx[1]*metAuxPx[1]+metAuxPy[1]*metAuxPy[1]); |
257 |
> |
double px = leptons->At(0)->Px() + leptons->At(1)->Px() + |
258 |
> |
metAuxPx[0] + metAuxPx[1]; |
259 |
> |
double py = leptons->At(0)->Py() + leptons->At(1)->Py() + |
260 |
> |
metAuxPy[0] + metAuxPy[1]; |
261 |
> |
mtHiggs = ene*ene - px*px - py*py; |
262 |
> |
} |
263 |
> |
else if(nsel == 6){ // Use the formula from hep-ph:1006.4998 |
264 |
|
mtHiggs = 2*leptons->At(0)->Pt()*leptons->At(0)->Pt() + 2*leptons->At(1)->Pt()*leptons->At(1)->Pt() + 3 * ( |
265 |
|
leptons->At(0)->Pt()*leptons->At(1)->Pt() + met->Pt()*(leptons->At(0)->Pt()+leptons->At(1)->Pt()) |
266 |
|
- met->Px()*dilepton->Px() - met->Py()*dilepton->Py() |
267 |
|
- leptons->At(0)->Px()*leptons->At(1)->Px() - leptons->At(0)->Py()*leptons->At(1)->Py()); |
268 |
|
} |
269 |
|
|
270 |
< |
if(nsel >= 0 && nsel <= 3){ |
270 |
> |
if(nsel >= 0 && nsel <= 4){ |
271 |
|
mtHiggs = mll*mll + mnu*mnu + 2.0*(enell*enenn - enex*enex - eney*eney); |
272 |
|
} |
273 |
|
if(mtHiggs <= 0) mtHiggs = 0.0; |