User Tools

Site Tools


2019:groups:tools:adl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2019:groups:tools:adl [2019/06/27 17:05]
sezen.sekmen [Quantifying overlaps between analysis search regions using ADLs]
2019:groups:tools:adl [2020/01/14 18:01] (current)
sezen.sekmen
Line 1: Line 1:
 ` ====== Analysis Description Language (ADL)====== ` ====== Analysis Description Language (ADL)======
- 
-// Members: **Sezen S** // 
  
 Develop a domain-specific language capable of describing the contents of an LHC analysis in a standard and unambiguous way. Develop a domain-specific language capable of describing the contents of an LHC analysis in a standard and unambiguous way.
Line 9: Line 7:
 HSF Gitter forum for discussions:​ {{https://​gitter.im/​HSF/​ADL|}} HSF Gitter forum for discussions:​ {{https://​gitter.im/​HSF/​ADL|}}
  
-**ADL-related projects in Les Houches:​** +**ADL-related projects/​discussions ​in Les Houches:​** 
-  * Estimation of overlaps in analysis using analysis descriptions (main exercise ​link ADL contribution link+  * Estimation of overlaps in analysis using analysis descriptions ([[2019:​groups:​tools:​correlations|correlations ​exercise]][[2019:​groups:​tools:​adl#​Quantifying overlaps between analysis search regions using ADLs|how to use ADLs]]
-  * Recasting tools/​methods comparison exercise with ADLs (main exercise ​link , ADL contribution link+  * Recasting tools/​methods comparison exercise with ADLs ([[2019:​groups:​tools:​recastcmp|recast comparison ​exercise]][[2019:​groups:​tools:​adl#​ADLs for recasting|ADL implementation]]
- +  ​* ​Questions for us to answer: 
-Questions for us to answer: +    * What is the ideal physics content for an ADL?  An inclusive list discussed at the [[https://​indico.cern.ch/​event/​769263/​|Fermilab ADL workshop]] is  [[https://​docs.google.com/​document/​d/​1KrSarg4_c_Ph76SI8i9_b-wBEN6V90mWNLTaZq3y85E/​edit?​usp=sharing|in this googledoc]]. You are welcome to take a look and edit. 
- +    * What is the best syntax for expressing composite particles, like Zs, tops, Higgsses, etc.?  How can we access information on the constituents?​ 
-  ​* What is the ideal physics content for an ADL?  An inclusive list discussed at the [[https://​indico.cern.ch/​event/​769263/​|Fermilab ADL workshop]] is  [[https://​docs.google.com/​document/​d/​1KrSarg4_c_Ph76SI8i9_b-wBEN6V90mWNLTaZq3y85E/​edit?​usp=sharing|in this googledoc]]. You are welcome to take a look and edit. +    * What is the minimal list of math and HEP functions/​operators we need for describing the analysis? 
-  * What is the best syntax for expressing composite particles, like Zs, tops, Higgsses, etc.?  How can we access information on the constituents?​ +    * What are some challenging analysis descriptions to try? 
-  * What is the minimal list of math and HEP functions/​operators we need for describing the analysis? +    * How can we benefit from an ADL in analysis combination / finding out non-overlapping regions?
-  * What are some challenging analysis descriptions to try? +
-  * How can we benefit from an ADL in analysis combination / finding out non-overlapping regions?+
  
 Parsing/​interpreting tools for the current ADL: Parsing/​interpreting tools for the current ADL:
Line 41: Line 37:
  
 ==== ADLs for recasting ==== ==== ADLs for recasting ====
 +
 +Members: Sezen, (Harrison, Gokhan as parser developers)
  
 The ADL file and the external function fMtautau are given below for the CMS soft dilepton analysis considered in the LH19 [[2019:​groups:​tools:​recastcmp|recasting comparison]] The ADL file and the external function fMtautau are given below for the CMS soft dilepton analysis considered in the LH19 [[2019:​groups:​tools:​recastcmp|recasting comparison]]
Line 58: Line 56:
   doi 10.1016/​j.physletb.2018.05.062   doi 10.1016/​j.physletb.2018.05.062
  
 +# ANALYSIS OBJECTS
 object muons object muons
   take Muon   take Muon
   select pT [] 3.5 30   select pT [] 3.5 30
   select abs(eta) < 2.4   select abs(eta) < 2.4
-  # select some ID and iso - check with Delphes +  # ID/iso efficiencies already folded into efficiencies provided by CMS: 
-  # e.gselect IsolationVarRhoCorr < 0.1+  # https://​twiki.cern.ch/​twiki/​bin/​view/​CMSPublic/​SUSMoriond2017ObjectsEfficiency
  
 object electrons object electrons
Line 69: Line 68:
   select pT [] 3.5 30   select pT [] 3.5 30
   select abs(eta) < 2.5   select abs(eta) < 2.5
-  # select some ID and iso - check with Delphes +  # ID/iso efficiencies already folded into efficiencies provided by CMS: 
-  # select pT < 10 ? loose == 1 tight == 1+  # https://​twiki.cern.ch/​twiki/​bin/​view/​CMSPublic/​SUSMoriond2017ObjectsEfficiency
  
 object leptons object leptons
Line 88: Line 87:
   take MissingET   take MissingET
  
 +# EVENT VARIABLES
 define dilepton = leptons[0] + leptons[1] define dilepton = leptons[0] + leptons[1]
 define dielectron = electrons[0] + electrons[1] define dielectron = electrons[0] + electrons[1]
 define dimuon = muons[0] + muons[1] define dimuon = muons[0] + muons[1]
 define HT = sum(jets.pT) define HT = sum(jets.pT)
-define MTl1 = sqrt( 2*leptons[0].pT * MET*(1-cos(MET.phi - leptons[0].phi ))) +define MTl1 = sqrt( 2*leptons[0].pT * MET.MET*(1-cos(MET.phi - leptons[0].phi ))) 
-define MTl2 = sqrt( 2*leptons[1].pT * MET*(1-cos(MET.phi - leptons[1].phi ))) +define MTl2 = sqrt( 2*leptons[1].pT * MET.MET*(1-cos(MET.phi - leptons[1].phi ))) 
-define Mtautau = {{https://​phystev.cnrs.fr/​wiki/​wiki:​syntax#​external|fMtautau}}(lepton[0], lepton[1], MET)+define Mtautau = fMtautau(leptons[0], leptons[1], MET)
  
-region DileptonPreselection +EVENT SELECTION
-  ​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 +# Dimuon selection 
-  # This selection follows the chargino ​cutflow table in the twiki+# This selection follows the cutflow table in LH recasting ​twiki 
 +# https://​phystev.cnrs.fr/​wiki/​_detail/​2019:​groups:​tools:​cms-sus-16-048_cutflow.png?​id=2019%3Agroups%3Atools%3Arecastcmp 
 +region CharginoDimuonPresel 
 +  weight xsec 0.688016
   select size(muons) == 2   select size(muons) == 2
   select muons[0].pT [] 5 30   select muons[0].pT [] 5 30
Line 118: Line 108:
   select dimuon.pT > 3    select dimuon.pT > 3 
   select dimuon.mass [] 4 50   select dimuon.mass [] 4 50
-  ​reject ​dimuon.mass ​[] 9 10.5 +  ​select ​dimuon.mass ]9 10.5 
-  select MET.pT [] 125 200 +  select MET.MET [] 125 200 
-  ​select MET.pT / HT [] 0.6 1.4+  ​weight trigger ​0.65 
 +  select size(jets) >= 0
   select size(jets) >= 1   select size(jets) >= 1
   select HT > 100   select HT > 100
 +  select (MET.MET / HT) [] 0.6 1.4
   select size(bjets) == 0   select size(bjets) == 0
-  ​reject ​Mtautau ​[] 0 160 +  ​select ​Mtautau ]0 160 
   select MTl1 < 70 and MTl2 < 70   select MTl1 < 70 and MTl2 < 70
  
-region ​StopDimuonPreselection +# Additional selections from the analysis (not included in the recast study) 
-  # This selection follows the stop cutflow table in the twiki + 
-  select size(muons) == 2 +# Dilepton preselection 
-  select muons[0].pT [] 5 30 +#region ​DileptonPresel 
-  select muons[0].charge * muons[1].charge == -1 +  ​# This selection follows Table 1 in the paper  
-  select dimuon.pT > 3  +  # (for the time being, except for the isolation criteria) 
-  select dimuon.mass [] 4 50 +#  select size(leptons) == 2 
-  reject dimuon.mass [] 9 10.5 +#  select size(electrons) == 2 or size(muons) == 2 
-  select MET.pT [] 125 200 +#  select leptons[0].charge * leptons[1].charge == -1 
-  select MET.pT / HT [] 0.6 1.4 +#  select leptons[0].pT > 5 
-  select size(jets) >= 1 +#  select leptons[1].pT > 5 
-  select HT > 100 +#  select size(bjets) == 0 
-  select size(bjets) == 0 +#  select size(electrons) == 2 or size(muons) == 2 ? mass(dilepton) [] 4 9 : mass(dilepton) [] 10.5 50 
-  reject Mtautau [] 0 160+#  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 
 + 
 +# Dielectron selection 
 +#region CharginoDielectronPresel 
 +# This selection follows the cutflow table in the twiki 
 +#  select size(electrons) == 2 
 +#  select electrons[0].pT [] 5 30 
 +#  select electrons[0].charge * electrons[1].charge == -1 
 +#  select dielectron.pT > 3  
 +#  select dielectron.mass [] 4 9 or dielectron.mass [] 10.5 50 
 +#  reject dielectron.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 
 + 
 +# Stop dimuon preselection 
 +#region StopDimuonPresel 
 +#  # 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 
 + 
 </​file>​ </​file>​
  
Line 173: Line 204:
     double b = (metx * py1 - mety * px1) / (px2 * py1 - py2 * px1);     double b = (metx * py1 - mety * px1) / (px2 * py1 - py2 * px1);
  
-    ​// Neutrino vectors+   // Neutrino vectors
     TLorentzVector nu1, nu2;     TLorentzVector nu1, nu2;
     nu1.SetPxPyPzE(a*px1,​ a*py1, 0., sqrt(a*px1 * a*px1 + a*py1 * a*py1));     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));+    nu2.SetPxPyPzE(b*px2, b*py2, 0., sqrt(b*px2 * b*px2 + b*py2 * b*py2));
  
     // Reconstruct the taus from leptons and neutrinos     // Reconstruct the taus from leptons and neutrinos
2019/groups/tools/adl.1561647932.txt.gz · Last modified: 2019/06/27 17:05 by sezen.sekmen