This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
2015:groups:tools:lhaad:proposal2 [2015/06/18 15:46] nishita.desai |
2015:groups:tools:lhaad:proposal2 [2015/06/22 15:36] (current) daniel.schmeier |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | + | Modifications: | |
| - | Part I: Preamble (define detector objects, variables) | + | (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 | 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 first block below automatically converts to | + | 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> | <code autoreconf> | ||
| - | <analysis name="ATLAS-2014-XXX" publication="JHEP11(2014)118" cme="8.0" lumi="20.0" description="Details about analysis"> | + | <info name="analysis" id="ATLAS-2014-XXX" publication="JHEP11(2014)118" sqrtS="8.0" lumi="20.0" description="Details about analysis"> |
| </code> | </code> | ||
| - | There are five types of pre-defined blocks -- detectorobj (defines reconstructed objects), function (defines functions that act on these), cut (blocks of cuts), SR (contains all cuts for a particular signal region) and results (for giving numbers). Besides this, the user can define whatever they want -- e.g. here, "analysis" gives extra info, and "hist" gives a way to provide tables. | + | 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 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. | + | For presenting results, we need two more blocks, e.g. |
| + | - **results** (for expected, observed, S95, etc.) | ||
| + | - **table** (for providing digitised histograms etc.) | ||
| - | When a block inherits the properties of other blocks (e.g. medium electron inherits from loose), the names of those can be added after the name of the current block. | + | 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. |
| - | + | ||
| - | <code autoconf> | + | |
| - | detectorobj elec_m elec_l | + | |
| - | </code> | + | |
| + | ====== Part I: Preamble (define detector objects, variables) ====== | ||
| <code autoconf> | <code autoconf> | ||
| - | analysis | + | info analysis |
| # Details about experiment | # Details about experiment | ||
| - | name ATLAS-2014-XXX | + | id 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 38: | 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 description: takes 2 arguments; 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 80: | 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 89: | 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.e. mt(lep.1,met) |
| - | # of detectorobj and (2) the index in that list. E.g. pt(jet2) = | + | arg1 detectorobj |
| - | # pt(jets,2); pt(elec_tight,1) = pt(elec_t,1) In 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 | ||
| 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 | |
| - | MCsamples | + | return float |
| - | # 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 | + | |
| </code> | </code> | ||
| - | PART 2: uses the objects defined above to define the signal regions | + | ====== PART 2: uses the objects defined above to define the signal regions ====== |
| <code autoconf> | <code autoconf> | ||
| Line 189: | Line 188: | ||
| code _link_to_code | code _link_to_code | ||
| doc _link_to_doc | doc _link_to_doc | ||
| - | end cut | ||
| cut preselect | cut preselect | ||
| # Pre-selection cuts | # Pre-selection cuts | ||
| eff 0.95 | eff 0.95 | ||
| - | trigger trigger_e.OR.trigger_mu.OR.trigger_met | + | trigger e_trigger.OR.mu_trigger.OR.met_trigger |
| - | cut pt(lep(1))>25 | + | select lep.1.pt>25 |
| - | cut size(lep)=1 | + | reject lep.size>1 |
| - | cut size(jet)>2 | + | select jet.size>2 |
| - | cut met>100 | + | select met>100 |
| - | end preselect | + | |
| - | SR tN_diag | + | cut tN_diag |
| - | cut preselect | + | contains preselect |
| - | cut size(jet)>4 | + | select jet.size>4 |
| - | cut pt(jet,1)>60 | + | select jet.1.pt>60 |
| - | cut pt(jet,2)>60 | + | select jet.2.pt>60 |
| - | cut pt(jet,3)>40 | + | select jet.3.pt>40 |
| - | cut pt(jet,4)>25 | + | select jet.4.pt>25 |
| - | cut mt(lep(1),met)>=60 | + | select mt(lep.1,met)>=60 |
| - | cut m(hadtop)>=130 | + | select m(hadtop)>=130 |
| - | cut m(hadtop)<=205 | + | select m(hadtop)<=205 |
| - | cut size(tau)=0 | + | reject size(tau)>0 |
| - | cut deltaR(bjet(1),lep(1))<2.5 | + | select deltaR(bjet.1,lep.1)<2.5 |
| - | cut metBYsqrtHT>5 | + | select metBYsqrtHT>5 |
| - | cut delPhi(jet(1),met)>0.8 | + | select delPhi(jet.1,met)>0.8 |
| - | cut delPhi(jet(2),met)>0.8 | + | select delPhi(jet.2,met)>0.8 |
| - | end SR | + | |
| </code> | </code> | ||
| - | Part 3: Present results of the analysis. Give numbers, exclusions, digitised histograms, link to plots, etc. | + | ====== 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> | <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 234: | Line 240: | ||
| obs | obs | ||
| s95 | s95 | ||
| - | hist data1 | + | table data1 |
| - | end result tN_diag | + | |
| - | hist data1 | + | table data1 |
| # Not real data in example; could be used to provide histograms/tables/likelihoods | # Not real data in example; could be used to provide histograms/tables/likelihoods | ||
| bins nn | bins nn | ||
| Line 244: | Line 249: | ||
| 2.0 1.0 1.0 | 2.0 1.0 1.0 | ||
| 3.0 10.0 1.0 | 3.0 10.0 1.0 | ||
| - | 4.0 15.0 1.0 | + | 4.0 15.0 1.0 |
| - | end hist data1 | + | |
| - | + | ||
| </code> | </code> | ||