Les Houches
2023 Session
-
- Use of wiki pages and slack. Wifi access/set-up.
- Important info about bus, lodging, facilities.
- Bulletins.
Wikis of Previous sessions
Les Houches Themes
(Lyrics and Music)
(Lyrics and Music)
This is an old revision of the document!
`
Develop a domain-specific language capable of describing the contents of an LHC analysis in a standard and unambiguous way.
Google doc for physics content of the language
Parsing/interpreting tools for the language:
The ADL file and the external function fMtautau are given below.
The external function [[:
info analysis title "Search for new physics in events with two soft oppositely charged leptons and missing transverse momentum in proton-proton collisions at sqrts = 13 TeV " experiment CMS id SUS-16-048 publication Phys. Lett. B 782 (2018) 440 sqrtS 13.0 lumi 35.9 arXiv 1801.01846 hepdata doi 10.1016/j.physletb.2018.05.062 object muons take Muon select pT [] 3.5 30 select abs(eta) < 2.4 # select some ID and iso - check with Delphes # e.g. select IsolationVarRhoCorr < 0.1 object electrons take Electron select pT [] 3.5 30 select abs(eta) < 2.5 # select some ID and iso - check with Delphes # select pT < 10 ? loose == 1 : tight == 1 object leptons take electrons take muons object jets take Jet select pT > 25 select abs(Eta) < 2.4 object bjets take jets select BTag == 1 object MET take MissingET define dilepton = leptons[0] + leptons[1] define dielectron = electrons[0] + electrons[1] define dimuon = muons[0] + muons[1] define HT = sum(jets.pT) define MTl1 = define MTl2 = define MTl1 = sqrt( 2*leptons[0].pT * MET*(1-cos(MET.phi - leptons[0].phi ))) define MTl2 = sqrt( 2*leptons[1].pT * MET*(1-cos(MET.phi - leptons[1].phi ))) define Mtautau = {{https://phystev.cnrs.fr/wiki/wiki:syntax#external|fMtautau}}(lepton[0], lepton[1], MET) region DileptonPreselection # This selection follows Table 1 in the paper # (for the time being, except for the isolation criteria) select size(leptons) == 2 select leptons[0].charge * leptons[1].charge == -1 select leptons[0].pT > 5 select leptons[1].pT > 5 select size(bjets) == 0 select size(electrons) == 2 or size(muons) == 2 ? mass(dilepton) [] 4 9 or mass(dilepton) [] 10.5 50 select dilepton.pT > 3 select size(muons) == 2 ? MET.pT > 125 : MET.pT > 200 select MET.pT / HT [] 0.6 1.4 select HT > 100 select MTl1 < 70 and MTl2 < 70 region CharginoDimuonPreselection # This selection follows the cutflow table in the twiki select size(muons) == 2 select muons[0].pT [] 5 30 select muons[0].charge * muons[1].charge == -1 select dimuon.pT > 3 select dimuon.mass [] 4 50 reject dimuon.mass [] 9 10.5 select MET.pT [] 125 200 select MET.pT / HT [] 0.6 1.4 select size(jets) >= 1 select HT > 100 select size(bjets) == 0 reject Mtautau [] 0 160 select MTl1 < 70 and MTl2 < 70 region StopDimuonPreselection # This selection follows the cutflow table in the twiki select size(muons) == 2 select muons[0].pT [] 5 30 select muons[0].charge * muons[1].charge == -1 select dimuon.pT > 3 select dimuon.mass [] 4 50 reject dimuon.mass [] 9 10.5 select MET.pT [] 125 200 select MET.pT / HT [] 0.6 1.4 select size(jets) >= 1 select HT > 100 select size(bjets) == 0 reject Mtautau [] 0 160
// Find m(tautau) for boosted taus with alligned decay products. // For leptons l1, l2 and neutrino(s) nu1, nu2 coming from tau1, tau2 decays, // collinearity implies p(nu1) = a * p(l1), p(nu2) = b * p(l2) // 1) Use the constraint from MET to find a and b // 2) Compute nu and tau momenta // 3) Find the ditau invariant mass // Suggested in arXiv:1401.1235 , used in CMS SUS-16-048 // Coded by S. Sekmen double fMtautau(TLorentzVector& lep1, TLorentzVector& lep2, TLorentzVector& met){ double px1 = lep1.Px(); double py1 = lep1.Py(); double px2 = lep2.Px(); double py2 = lep2.Py(); double metx = met.Px(); double mety = met.Py(); // Compute the solution of the two coupled equations: // metx = a * px1 + b * px2 // mety = a * py1 + b * py2 // for a and b: double a = (metx * py2 - mety * px2) / (px1 * py2 - py1 * px2); double b = (metx * py1 - mety * px1) / (px2 * py1 - py2 * px1); // Neutrino vectors TLorentzVector nu1, nu2; nu1.SetPxPyPzE(a*px1, a*py1, 0., sqrt(a*px1 * a*px1 + a*py1 * a*py1)); nu2.SetPxPyPzE(a*px2, a*py2, 0., sqrt(a*px2 * a*px2 + a*py2 * a*py2)); // Reconstruct the taus from leptons and neutrinos TLorentzVector tau1 = lep1 + nu1; TLorentzVector tau2 = lep2 + nu2; // Reconstruct the Z from Z --> tau tau TLorentzVector Z = tau1 + tau2; return Z.M(); }