User Tools

Site Tools


2015:groups:tools:lhaad:proposal

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
Last revision Both sides next revision
2015:groups:tools:lhaad:proposal [2015/06/23 18:54]
nishita.desai [Open Questions/Comments]
2015:groups:tools:lhaad:proposal [2015/07/06 12:25]
daniel.schmeier
Line 3: Line 3:
 ====== Open Questions/​Comments ====== ====== Open Questions/​Comments ======
   - D: Maybe the overall description comment should start with '###'​ as in Python to distinguish from normal '#'​ comments which the parser should just ignore  ​   - D: Maybe the overall description comment should start with '###'​ as in Python to distinguish from normal '#'​ comments which the parser should just ignore  ​
-    * S: The proposal concerning '#'​ is a really tricky thing. ​I am not sure we should do this. However, at the moment I don't have a better proposal. ​+    * S: The proposal concerning '#'​ is a really tricky thing. ​How about including three single quotes like in python docstrings? or /* description*/​ like in c++
   - D: See '​detectorobj'​ description:​ A 'take external'​ selection could clearly point out those objects which have to be defined on a fundamental level in whatever program one uses   - D: See '​detectorobj'​ description:​ A 'take external'​ selection could clearly point out those objects which have to be defined on a fundamental level in whatever program one uses
   - D: What is the difference between '​doc'​ and '​code'?​ Can't the '​doc'​ contain everything, including the code?   - D: What is the difference between '​doc'​ and '​code'?​ Can't the '​doc'​ contain everything, including the code?
      * N: '​doc'​ is a link to a human-readable document. ​ '​code'​ is the name of the function/​link to the function (for when they make a library of functions).      * N: '​doc'​ is a link to a human-readable document. ​ '​code'​ is the name of the function/​link to the function (for when they make a library of functions).
   - D: What is the purpose of '​eff'​ in the cuts and what distinguishes a '​trigger'​ selection from a normal '​select'?​   - D: What is the purpose of '​eff'​ in the cuts and what distinguishes a '​trigger'​ selection from a normal '​select'?​
-     * There is no difference between '​trigger'​ and '​cut'​. ​ In the original version, one could have aribitrary xml tags, so I thought it'd be nice to have explicit names. ​ Now, everything should be a '​cut'​.+     ​* ​N: There is no difference between '​trigger'​ and '​cut'​. ​ In the original version, one could have aribitrary xml tags, so I thought it'd be nice to have explicit names. ​ Now, everything should be a '​cut'​.
      * N: The eff is an estimated efficiency for things like the trigger/​b-tagging etc. provided by the experiments. ​ We should in principle also allow inclusion of efficiency tables instead of a single number. ​      * N: The eff is an estimated efficiency for things like the trigger/​b-tagging etc. provided by the experiments. ​ We should in principle also allow inclusion of efficiency tables instead of a single number. ​
   - D: In cuts, I again would rather use '​take'​ instead of '​contains':​ if '​B'​ uses the events from A, then 'A takes the events from B' (but 'B contains the events from A, as A applies more cuts')   - D: In cuts, I again would rather use '​take'​ instead of '​contains':​ if '​B'​ uses the events from A, then 'A takes the events from B' (but 'B contains the events from A, as A applies more cuts')
Line 53: Line 53:
 info analysis info analysis
   # Details about experiment ​   # Details about experiment ​
-  id ATLAS-2014-XXX+  id SUSY-2013-15
   publication JHEP11(2014)118   publication JHEP11(2014)118
   sqrtS 8.0   sqrtS 8.0
   lumi 20.0   lumi 20.0
 +  arXiv 1407.0583
 +  hepdata https://​atlas.web.cern.ch/​Atlas/​GROUPS/​PHYSICS/​PAPERS/​SUSY-2013-15/​
 </​code>​ </​code>​
 <code autoconf>​ <code autoconf>​
Line 183: Line 185:
 ==== results ===== ==== results =====
 ==== cutflow ===== ==== cutflow =====
 +<code autoconf>​
 +info MCsamples
 +  ### All information concerning signal and background generation goes here
 +  signal Sherpa1.4.1 stop-pair
 +  background POWHEG ttbar mtop = 172.5 NLO
 +  table maasinfo
 +  doc http://​singalgenerator.generate
 +  doc _benchmark_SLHA_
 +  doc _MG5_model_files_
 + </​code>​
 ==== table ===== ==== table =====
- +<code autoconf>​ 
 +table massinfo 
 +   ​cut ​    ​pdgid ​     mass 
 +   ​tN_diag 1000022 ​   1     
 +           ​1000006 ​   700 
 +</​code>​
 ====== Examples ====== ====== Examples ======
 ==== ATLAS, 1 Lepton Stop Search ==== ==== ATLAS, 1 Lepton Stop Search ====
 [[http://​arxiv.org/​abs/​1407.0583|Link]] [[http://​arxiv.org/​abs/​1407.0583|Link]]
 +Issues:
 +  - pt-selection,​ identification,​ overlap removal, isolation are sometimes done in alternating order. This can lead to a plethora of detector-obj.
 +  - cuts can be very hard to read and even hard to parse. Maybe one could improve on that
  
 +<code autoconf>​
 +info analysis
 +  # Details about experiment ​
 +  id SUSY-2013-15
 +  publication JHEP11(2014)118
 +  sqrtS 8.0
 +  lumi 20.0
 +  arXiv 1407.0583
 +  hepdata https://​atlas.web.cern.ch/​Atlas/​GROUPS/​PHYSICS/​PAPERS/​SUSY-2013-15/​
 +  ​
 +info units
 +  energy GeV
 +  length mm
 +  xsec pb
 +</​code>​
 +
 +<code autoconf
 +function mT
 +  ### transverse mass
 +  arg1 tlorentzvector # visible particle
 +  arg2 tlorentzvector # missing energy vector
 +  arg3 float          # mass
 +  return float        # transverse mass
 +  code http://​google.de
 +  doc http://​google.de
 +  ​
 +function amT2  ​
 +  ### asymmetric stransverse mass
 +  arg1 tlorentzvector # visible particle
 +  arg2 tlorentzvector # missing energy vector
 +  arg3 float          # mass
 +  return float        # asymmetric stransverse mass
 +  code http://​google.de
 +  doc http://​google.de
 +  ​
 +function mT2tau
 +  ### Sums up activity in the vicinity of a given candidate
 +  arg1 detectorobj # a single electron, muon or photon
 +  arg2 string ​     # "​calo",​ "​tracks",​ "​eflow"​
 +  arg3 float       # dR cone to be probed
 +  arg4 ptmin       # minpt of objects to be counted
 +  arg5 bool        # divide by candidate'​s pt?
 +  return float # sum of pT of the respective surrounding objects
 +  code http://​google.de
 +  doc http://​google.de
 + 
 +function mHadTop
 +  ### Sums up activity in the vicinity of a given candidate
 +  arg1 detectorobj # a single electron, muon or photon
 +  arg2 string ​     # "​calo",​ "​tracks",​ "​eflow"​
 +  arg3 float       # dR cone to be probed
 +  arg4 ptmin       # minpt of objects to be counted
 +  arg5 bool        # divide by candidate'​s pt?
 +  return float # sum of pT of the respective surrounding objects
 +  code http://​google.de
 +  doc http://​google.de
 + 
 +function HTMissSig
 +  ### Sums up activity in the vicinity of a given candidate
 +  arg1 detectorobj # a single electron, muon or photon
 +  arg2 string ​     # "​calo",​ "​tracks",​ "​eflow"​
 +  arg3 float       # dR cone to be probed
 +  arg4 ptmin       # minpt of objects to be counted
 +  arg5 bool        # divide by candidate'​s pt?
 +  return float # sum of pT of the respective surrounding objects
 +  code http://​google.de
 +  doc http://​google.de
 +
 +function HT
 +  ### Sums up the scalar pt of the leading n objects in the given list
 +  arg1 detectorobj-list ​ # a list of objects
 +  arg2 integer ​          # the leading n objects of the list should be counted
 +  return float           # scalarHT  ​
 +  ​
 +function isBJet
 +  ### Checks if a given jet is tagged w.r.t to the given working point efficiency
 +  arg1 detectorobj # a single jet which contains btag information
 +  arg2 float       # the working point signal efficiency within [0, 1]
 +  return bool      # '​true'​ if tagged, else false
 +  code 
 +  doc
 +
 +function isTauJet
 +  ### Checks if a given jet is tagged w.r.t to the given working point efficiency
 +  arg1 detectorobj # a single jet which contains btag information
 +  arg2 string ​     # the working point, "​loose",​ "​medium",​ "​tight"​
 +  return bool      # '​true'​ if tagged, else false
 +  code 
 +  doc
 +
 +function isIdentifiedElec
 +  ### Checks if a given electron is tagged w.r.t a given ID
 +  arg1 detectorobj # a single electron which contains rec+id information
 +  arg2 string ​     # the working point, "​loose",​ "​medium",​ "​tight"​
 +  return bool      # '​true'​ if tagged, else false
 +  code 
 +  doc
 +
 +function isIdentifiedMu
 +  ### Checks if a given muon is tagged w.r.t a given ID
 +  arg1 detectorobj # a single muon which contains rec+id information
 +  arg2 string ​     # the working point, "​combined"​
 +  return bool      # '​true'​ if tagged, else false
 +  code 
 +  doc
 +  ​
 +function isIsolated
 +  ### Checks surroundings of an object ​
 +  arg1 detectorobj # electron, muon, photon
 +  arg2 string ​     # isolation test, "​tracks",​ "​calo",​ "​eflow"​
 +  arg3 float       # dR to object to count for isolation
 +  arg4 float       # ptmin of object to count for isolation
 +  arg5 bool        # if true, sum(pt) is divided by pt(cand)
 +  arg6 float       # maximum allowed value of sum(pt) or sum(pt)/​pt(cand)
 +  return bool      # '​true'​ if sum(pt) < maxval, else false
 +  code
 +  doc
 +
 +function overlaps
 +  ### Checks if the candidate overlaps with any object of the list provided
 +  arg1 detectorobj ​     # to be tested candidate
 +  arg2 detectorobj-list # to be tested potential neighbours
 +  arg3 float            # dR cone to be probed
 +  return bool           # true if any of the neighbours is closer than dR to the candidate
 +  code http://​overlap.de
 +  doc http://​overlap.de
 +</​code>​
 +  ​
 +  ​
 +<code autoconf> ​     ​
 +detectorobj jets
 +  ### clustered jets from the calorimeter cells
 +  take external
 +  algorithm anti-kt
 +  R 0.4
 +  ptmin 20
 +  etamax 2.5
 +  code http://​jets.jet
 +  doc http://​checkmate.jets.de
 +</​code>​
 +
 +detectorobj b_jets
 +  ### jets with btag
 +  take jets
 +  select isBJet(b_jets.?,​ 70)
 +  ​
 +detectorobj nob_jets
 +  ### jets without btag
 +  take jets
 +  reject isBJet(b_jets.?,​ 70)
 +  ​
 +detectorobj tau_jets_l
 +  ### jets with loose tau tag
 +  take jets
 +  reject isTauJet(tau_jets_l.?,​ "​loose"​)
 +  ​
 +detectorobj tau_jets_t
 +  ### jets with tight tau tag
 +  take tau_jets_l
 +  reject isTauJet(tau_jets_t.?,​ "​tight"​)
 +  ​
 +detectorobj elecs_rec
 +  ### reconstructed electrons
 +  take external
 +  ​
 +detectorobj elecs_l
 +  ### loosely reconstructed electrons
 +  take elecs_rec
 +  select elecs_l.?​.pt>​7
 +  select elecs_l.?​.eta>​-2.47
 +  select elecs_l.?​.eta<​2.47
 +
 +detectorobj elecs_m ​
 +  ### medium electrons
 +  take elecs_l
 +  select isIdentifiedEl(elecs_m.?,​ "​medium"​)
 +  select elecs_m.?​.pt>​10
 +  code http://​elecs.el/​medium
 +  doc http://​checkmate.elecs.el/​medium
 +  ​
 +detectorobj muons_rec
 +  ### reconstructed muons
 +  take external
 +  ​
 +detectorobj muons_l
 +  take muons_rec
 +  select isIdentifiedMu(muons_l.?,​ "​loose"​)
 +  select muons_l.?​.pt>​6
 +  select muons_l.?​.eta>​-2.4
 +  select muons_l.?​.eta<​2.4
 +  ​
 +detectorobj muons_m
 +  take muons_l
 +  select isIdentifiedMu(muons_m.?,​ "​medium"​)
 +  select muons_m.?​.pt>​10
 +
 +detectorobj nob_jets_iso
 +  ### isolated jets
 +  take nob_jets
 +  reject overlaps(nob_jets.?,​ elecs_m, 0.2)
 +
 +detectorobj elecs_t_iso
 +  ### isolated electrons
 +  take elecs_m
 +  reject overlaps(elecs_m.?,​ nob_jets, 0.4)
 +  reject overlaps(elecs_m.?,​ b_jets, 0.2)
 +  reject overlaps(elecs_m.?,​ tau_jets_t, 0.2)
 +  select elecs_t_iso.?​.pt>​25
 +  select isIdentifiedEl(elecs_t_iso.?,​ "​tight"​)  ​
 +  select isIsolated(elecs_t_iso.?,​ "​tracks",​ 0.2, 0.5, true, 0.1)
 +  ​
 +detectorobj muons_t_iso
 +  ### isolated muons
 +  take muons_m
 +  reject overlaps(muons_m.?,​ jets, 0.4)
 +  select isIsolated(muons_m.?,​ "​tracks",​ 0.2, 0.5, false, 1.8)
 +  ​
 +detectorobj leptons_l
 +  ### loose leptons
 +  take muons_l
 +  take elecs_l
 +  select leptons_l.?​.pt>​10
 +  ​
 +detectorobj leptons
 +  ### signal leptons
 +  take elecs_t_iso
 +  take muons_m_iso
 +  select leptons.?​.pt>​25
 +
 +detectorobj etmiss
 +  ### missing et
 +  take external
 +</​code>​
 +
 +<code autoconf>​
 +cut  common
 +  select leptons.n=1
 +  select leptons_l.n=1
 +  select jets.n>​=4
 +  select etmiss.pt>​100
 +
 +cut dPhi12
 +  select etmiss.dphi(jet.1)>​0.8
 +  select etmiss.dphi(jet.2)>​0.8
 + 
 +cut leadjets_60to25
 +  jets.1.pt>​60
 +  jets.2.pt>​60
 +  jets.3.pt>​40
 +  jets.4.pt>​25
 + 
 +cut leadjets_80to25
 +  jets.1.pt>​80
 +  jets.2.pt>​60
 +  jets.3.pt>​40
 +  jets.4.pt>​25
 + 
 +cut leadjets_100to25
 +  jets.1.pt>​100
 +  jets.2.pt>​80
 +  jets.3.pt>​40
 +  jets.4.pt>​25
 + 
 +cut leading_bjet  ​
 +  select isBJet(jets.1,​ 70)||isBJet(jets.2,​ 70)||isBJet(jets.3,​ 70)||isBJet(jets.4,​ 70) 
 + 
 +cut tN_diag
 +  select common
 +  select leadjets_60to25
 +  select leading_bjet
 +  select mT(leptons.1,​etmiss)>​100
 +  select mHadTop(?,?​)>​130
 +  select mHadTop(?,?​)<​205
 +  select tau_jets_t.n=0
 +  select b_jets.1.dR<​2.5 ????
 +  select etmiss.pt/​HT(jets.1,​jets.2,​jets.3,​jets.4)>​5
 +  select dPhi12
 + 
 + 
 +CUT tN_med
 +  select common
 +  select leadjets_80to25
 +  select leading_bjet
 +  select etmiss.pt>​200
 +  select mT>140
 +  select amT2>170
 +  select mHadTop>​130
 +  select mHadTop<​195
 +  select HTMissSig>​12.5
 +  select dPhi12
 + 
 + 
 +CUT tN_high
 +  select common
 +  select leadjets_80to25
 +  select leading_bjet
 +  select etmiss.pt>​320
 +  select mT>200
 +  select amT2>170
 +  select mT2tau>​120
 +  select mHadTop>​130
 +  select mHadTop<​250
 +  select dRbl<3.0
 +  select HtMissSig>​12.5
 +</​code>​
2015/groups/tools/lhaad/proposal.txt · Last modified: 2015/07/06 12:27 by daniel.schmeier