ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/JetTools.cc
(Generate patch)

Comparing UserCode/MitPhysics/Utils/src/JetTools.cc (file contents):
Revision 1.3 by ceballos, Fri Jul 30 20:23:31 2010 UTC vs.
Revision 1.4 by ceballos, Thu Aug 19 14:37:08 2010 UTC

# Line 184 | Line 184 | Double_t JetTools::CosineOmega(const Par
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;
# Line 230 | Line 230 | Double_t JetTools::MtHiggs(const Particl
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;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines