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!
`
Members: Sezen S
Develop a domain-specific language capable of describing the contents of an LHC analysis in a standard and unambiguous way.
HSF Gitter forum for discussions: ADL
Questions to answer for development:
Parsing/interpreting tools for the language:
The ADL file and the external function fMtautau are given below for the CMS soft dilepton analysis considered in the LH19 recasting comparison
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 = 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 chargino 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 stop 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(); }