User Tools

Site Tools


2015:groups:tools:lhaad:proposal2

Differences

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

Link to this comparison view

Next revision
Previous revision
2015:groups:tools:lhaad:proposal2 [2015/06/18 15:21]
nishita.desai created
2015:groups:tools:lhaad:proposal2 [2015/06/22 15:36] (current)
daniel.schmeier
Line 1: Line 1:
 +Modifications:​
 +(19-Jun)
 +  - Removed end blocks
 +  - Added function arguments (e.g arg1, arg2,..)
 +  - Renamed SR to CUT
 +  - Inheritance explicitly defined by key '​contains'​
 +  - Changed cut language to select/​reject
 +  - Added new info block "​units"​
 +
 +The idea is to write a plain text file that can be read easily into
 +xml if needed (and hence universally readable). ​ The name of the block become sthe xml tag.  Anything that follows is turned into attributes. e.g. "name ATLAS" inside the block becomes <​experiment name="​ATLAS">​. ​ Anything inside the block starting with "#"​ is added as a comment, i.e. the block 
 +<code autoconf>​
 +info analysis
 +  # Details about experiment ​
 +  id ATLAS-2014-XXX
 +  publication JHEP11(2014)118
 +  sqrtS 8.0
 +  lumi 20.0
 +</​code>​
 +converts to
 +<code autoreconf>​
 +<info name="​analysis"​ id="​ATLAS-2014-XXX"​ publication="​JHEP11(2014)118"​ sqrtS="​8.0"​ lumi="​20.0"​ description="​Details about analysis">​
 +</​code>​
 +
 +There are five types of pre-defined blocks:
 +  - **detectorobj** (defines reconstructed objects)
 +  - **function** (defines functions that act on these) ​
 +  - **cut** (blocks of cuts) 
 +  - **binning** (following Daniel'​s idea, for complex descriptions of orthogonal signal regions)
 +  - **info** (for meta information chosen by the implementer,​ e.g. information about publication,​ conf-notes, theory papers used for interpretation,​ benchmarks, etc.)
 +
 +For presenting results, we need two more blocks, e.g.
 +  - **results** (for expected, observed, S95, etc.)
 +  - **table** (for providing digitised histograms etc.)
 +
 +For any block, a link to code or external documentation can be provided. ​ We can also include a MCsamples block to document the programs used to generate signal and background samples.
 +
 +====== Part I: Preamble (define detector objects, variables) ======
 +
 <code autoconf>​ <code autoconf>​
-# The idea is to write a plain text file that can be read easily into 
-# xml (and hence universally readable). ​ The name of the block becomes 
-# the xml tag.  Anything that follows is turned into 
-# attibutes. e.g. "name ATLAS" inside the block becomes <​experiment 
-# name="​ATLAS">​. ​ Anything inside the block starting with "#"​ becomes 
-# a comment, i.e. the first block below becomes <​analysis 
-# name="​ATLAS"​ analysis="​ATLAS-2014-XXX"​ cme="​8.0"​ lumi="​20.0"​ 
-# description="​Details about analysis">​ 
-# DETECTOROBJ:​ JET, ELEC, MUON, MET  
-# BASE-VARIABLES:​ PX, PY, PZ, E, PT, ETA, PHI, BETA 
-# USER-DEFINED VARS: MT(), MT2(), DPHIJMET(J, MET) 
  
-analysis+info analysis
   # Details about experiment ​   # Details about experiment ​
-  ​name ATLAS +  ​id ATLAS-2014-XXX
-  analysis ​ATLAS-2014-XXX+
   publication JHEP11(2014)118   publication JHEP11(2014)118
-  ​cme 8.0+  ​sqrtS 8.0
   lumi 20.0   lumi 20.0
-end anslysis+   
 +info units 
 +  energy GeV 
 +  length mm 
 +  xsec pb 
 +  # If using function repository, need to clarify if phi is between 0-2pi or -pi to pi.
  
 detectorobj jet detectorobj jet
Line 29: Line 61:
   ptmin 20   ptmin 20
   etamax 2.5   etamax 2.5
-  pileup_sub _link_ 
   # Can provide code and/or link to writeup with details of implementation   # Can provide code and/or link to writeup with details of implementation
-  code _code_link +  code _code_link 
-  doc _link_to_file_with_details  +  doc _link_to_file_with_details 
-end detectorobj jet+  doc _link_to_doc_about_pilup_removal
  
-function isolation ​2 +function isolation  
-  # Human readable descripttion: ​returns (sum of pT in cone of 0.1 around+  # Takes 2 arguments -- object, conesize; ​returns (sum of pT in cone of 0.1 around
   # electron)/​(pt of lepton) takes in lepton and conesize   # electron)/​(pt of lepton) takes in lepton and conesize
-  code _code_link+  ​arg1 detectorobj 
 +  arg2 float 
 +  return float 
 +  ​code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end function 
  
-function overlap_removal ​2 +function overlap_removal  
-  # takes in jet list and lepton, ​calculates based on recipe +  # takes in jet list and lepton, ​reduces them to non-overlapping objects 
-  code _code_link+  arg1 detectorobj-list 
 +  arg2 detectorobj-list 
 +  code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end function ovelap_removal 
  
 detectorobj elec_l detectorobj elec_l
   # Can provide code and/or link to writeup with details of implementation   # Can provide code and/or link to writeup with details of implementation
   cut isolation<​0.1   cut isolation<​0.1
-  cut overlap_removal=true +  cut overlap_removal 
-  code _code_link+  code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end detectorobj elec_l 
  
-detectorobj elec_m ​elec_l+detectorobj elec_m ​
   # electron-medium inherits from loose.   # electron-medium inherits from loose.
   # Can provide code and/or link to writeup with details of implementation   # Can provide code and/or link to writeup with details of implementation
-  code _code_link+  ​contains elec_l 
 +  ​code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end detoctorobj elect_t 
  
-detectorobj lep elec_m mu_m+detectorobj lep 
   # lep inherits from medium electrons or muons   # lep inherits from medium electrons or muons
-end detectorobj+  contains elec_m  
 +  contains mu_m
  
 detectorobj met detectorobj met
Line 71: Line 105:
   code _code_link   code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end detectorobj met 
  
-trigger e_trig+cut e_trigger
   # Human readable info   # Human readable info
   # Each signal analysis will need atleast one trigger to be satisfied   # Each signal analysis will need atleast one trigger to be satisfied
Line 80: Line 113:
   code _code_link   code _code_link
   doc _link_to_file_with_details    doc _link_to_file_with_details
-end trigger e_trig 
  
-trigger m_trig+cut mu_trigger
   # human readable info   # human readable info
   eff 0.8   eff 0.8
   code _code_link   code _code_link
   doc _link_to_file_with_details   doc _link_to_file_with_details
-end trigger m_trig 
  
-trigger met_trig+cut met_trigger
   # human readable info   # human readable info
   eff 0.8       eff 0.8    
   code _code_link   code _code_link
   doc _link_to_file_with_details   doc _link_to_file_with_details
-end trigger met_trig 
  
-function ​pt 2 +function ​mt 
-  # p_T is a function (wrapper) that takes two inputs (1) name of list +  # mT requires one lepton ​and met i.emt(lep.1,met
-  # of detectorobj ​and (2) the index in that list E.gpt(jet2) = +  ​arg1 detectorobj 
-  # pt(jets,2); pt(elec_tight,​1) = pt(elec_t,1In principle, all +  ​arg2 detectorobj 
-  ​# common p(), eta(), phi() etc. need not be explicitly defined, this +  return float
-  ​# is just an example+
   code _code_link   code _code_link
   doc _link_to_file_with_details   doc _link_to_file_with_details
-end function pt 
  
-function mt 2 
-  # mT requires one lepton and met i.e. mt(lep(1),​met) 
-  code _code_link 
-  doc _link_to_file_with_details 
-end function mt 
- 
-function mt2 3 
-  code _code_link 
-  doc _link_to_file_with_details 
-end function mt2 
  
-function b-tag 1+function b-tag 
   # takes in a jet and returns whether it is b-tagged   # takes in a jet and returns whether it is b-tagged
 +  arg1 detectorobj
 +  return bool
   eff 0.7   eff 0.7
   code _code_link   code _code_link
   doc _link_to_file_with_details   doc _link_to_file_with_details
-end function b-tag  ​ 
  
-function select ​2+function select ​
   # select(listname,​ criterion)   # select(listname,​ criterion)
   # e.g. select(jet, b-tag) returns number of objects (i.e. jets) give   # e.g. select(jet, b-tag) returns number of objects (i.e. jets) give
   # true for the test (i.e. b-tag). ​ Should be made a global function like pT?   # true for the test (i.e. b-tag). ​ Should be made a global function like pT?
 +  arg1 detectorobj-list
 +  arg2 function
 +  return int
   code _code_link   code _code_link
   doc _link_to_file_with_details   doc _link_to_file_with_details
-end function select 
- 
-MCsamples 
-  # Human readable info regarding what programs were used to make what 
-  # sample suggested format: Signal program extra details (extras are 
-  # stored in description for xml 
-  signal Sherpa1.4.1 stop-pair 
-  background POWHEG ttbar mtop = 172.5 NLO 
-  doc _link_to_file_with_details 
-end MCsamples 
- 
-cut cleaning 
-  # List of preselection cuts: Give human readable descriptions (for 
-  # your collaborators) and efficiency for theorists 
-  code _link_to_code 
-  doc _link_to_doc 
-end cut 
- 
-cut preselect 
-  # Pre-selection cuts 
-  eff 0.95 
-  trigger trigger_e.OR.trigger_mu.OR.trigger_met 
-  cut pt(lep(1))>​25 
-  cut size(lep)=1 
-  cut size(jet)>​2 
-  cut met>100 
-end preselect 
  
 detectorobj hadtop detectorobj hadtop
   # Define hadtop ​   # Define hadtop ​
-end detectorobj hadtop 
  
-function deltaR ​2+function deltaR ​
   # takes in two objects; returns deltaR   # takes in two objects; returns deltaR
-end function deltaR+  arg1 detectorobj 
 +  arg2 detectorobj 
 +  return float
  
-detectorobj bjet 
-  # 
-  eff 0.7 
-  code _code_ 
-  doc _doc_link_ 
-end detectorobj bjet 
  
 function HT function HT
   code _code_   code _code_
   doc _doc_link_   doc _doc_link_
-end function HT 
  
 function metBYsqrtHT function metBYsqrtHT
   # returns MET/​sqrt(HT) ​   # returns MET/​sqrt(HT) ​
-end function metBYsqrtHT+  return float
  
-function delPhi ​2+function delPhi ​
   # returns minimum delta phi between objects   # returns minimum delta phi between objects
-end function delPhi+  arg1 detectorobj 
 +  arg2 detectorobj 
 +  return float
  
 +</​code>​
  
-SR tN_diag +====== PART 2: uses the objects defined above to define the signal regions ====== 
-  cut preselect + 
-  ​cut size(jet)>4 +<code autoconf>​ 
-  cut pt(jet,1)>60 + 
-  ​cut pt(jet,2)>60 +cut cleaning 
-  ​cut pt(jet,3)>40 +  ​# List of preselection cuts: Give human readable descriptions (for 
-  ​cut pt(jet,4)>25 +  # your experimental collaborators) and efficiency for theorists (if applicable) 
-  ​cut mt(lep(1),​met)>​=60 +  code _link_to_code 
-  ​cut m(hadtop)>​=130 +  doc _link_to_doc 
-  ​cut m(hadtop)<​=205 + 
-  ​cut size(tau)=+cut preselect 
-  ​cut deltaR(bjet(1),lep(1))<2.5 +  ​# Pre-selection cuts 
-  ​cut metBYsqrtHT>​5 +  eff 0.95 
-  ​cut delPhi(jet(1),​met)>​0.8 +  trigger e_trigger.OR.mu_trigger.OR.met_trigger 
-  ​cut delPhi(jet(2),​met)>​0.8 +  select lep.1.pt>​25 
-  ​hist SHAPE_SR1 +  reject lep.size>1 
-end SR+  select ​jet.size>2 
 +  ​select met>​100 
 + 
 + 
 +cut tN_diag 
 +  contains preselect 
 +  select ​jet.size>​4 
 +  select jet.1.pt>60 
 +  ​select ​jet.2.pt>60 
 +  ​select ​jet.3.pt>40 
 +  ​select ​jet.4.pt>25 
 +  ​select ​mt(lep.1,​met)>​=60 
 +  ​select ​m(hadtop)>​=130 
 +  ​select ​m(hadtop)<​=205 
 +  ​reject ​size(tau)>
 +  ​select ​deltaR(bjet.1,lep.1)<2.5 
 +  ​select ​metBYsqrtHT>​5 
 +  ​select ​delPhi(jet.1,​met)>​0.8 
 +  ​select ​delPhi(jet.2,​met)>​0.8 
 + 
 +</​code>​ 
 + 
 +====== Part 3: Present results of the analysis. ​ Give numbers, exclusions, digitised histograms, link to plots, etc. ====== 
 + 
 +We need to think about information that is absolutely necessary for validation and whether to put it in the same kind of info block (which are currently entirely optional). 
 + 
 +<code autoconf>​ 
 + 
 +info MCsamples 
 +  # Human readable info regarding what programs were used to make what 
 +  # sample suggested format: Signal program extra details (extras are 
 +  # stored in description for xml 
 +  signal Sherpa1.4.1 stop-pair 
 +  background POWHEG ttbar mtop = 172.5 NLO 
 +  doc _link_to_file_with_details
  
 result tN_diag result tN_diag
Line 214: Line 240:
   obs   obs
   s95   s95
-  ​hist SHAPE1 +  ​table data1
-  hist SHAPE2 +
-end result tN_diag+
  
 +table data1
 +  # Not real data in example; could be used to provide histograms/​tables/​likelihoods
 +  bins nn
 +  data xlabel ylabel yerr 
 +   1.0 2.0 1.0
 +   2.0 1.0 1.0
 +   3.0 10.0 1.0
 +   4.0 15.0 1.0    ​
 </​code>​ </​code>​
2015/groups/tools/lhaad/proposal2.1434633671.txt.gz · Last modified: 2015/06/18 15:21 by nishita.desai