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/19 16:12] nishita.desai |
2015:groups:tools:lhaad:proposal2 [2015/06/22 15:36] (current) daniel.schmeier |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| Modifications: | Modifications: | ||
| (19-Jun) | (19-Jun) | ||
| - | 1. Removed end blocks | + | - Removed end blocks |
| - | 2. Added function arguments (e.g arg1, arg2,..) | + | - Added function arguments (e.g arg1, arg2,..) |
| - | 3. Renamed SR to CUT | + | - Renamed SR to CUT |
| - | 4. Inheritance explicitly defined by key 'contains' | + | - Inheritance explicitly defined by key 'contains' |
| - | 5. Changed cut language to select/reject | + | - Changed cut language to select/reject |
| - | + | - Added new info block "units" | |
| - | + | ||
| - | Part I: Preamble (define detector objects, variables) | + | |
| 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 "**table**" gives a way to provide tables or digitised histograms. | + | 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. | 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. | ||
| - | 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. | + | ====== Part I: Preamble (define detector objects, variables) ====== |
| - | + | ||
| - | <code autoconf> | + | |
| - | detectorobj elec_m elec_l | + | |
| - | </code> | + | |
| - | + | ||
| - | + | ||
| - | So here is the schematic for implementing the first signal region in the paper: | + | |
| <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 | ||
| + | | ||
| + | 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 48: | 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 |
| + | doc _link_to_doc_about_pilup_removal | ||
| function isolation | 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 | ||
| arg1 detectorobj | arg1 detectorobj | ||
| - | arg2 conesize | + | arg2 float |
| + | return float | ||
| code _code_link | code _code_link | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| function overlap_removal | 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 |
| arg1 detectorobj-list | arg1 detectorobj-list | ||
| arg2 detectorobj-list | arg2 detectorobj-list | ||
| Line 86: | Line 100: | ||
| contains elec_m | contains elec_m | ||
| contains mu_m | contains mu_m | ||
| - | end detectorobj | ||
| detectorobj met | detectorobj met | ||
| Line 93: | Line 106: | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| - | 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 101: | Line 114: | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| - | trigger m_trig | + | cut mu_trigger |
| # human readable info | # human readable info | ||
| eff 0.8 | eff 0.8 | ||
| Line 107: | Line 120: | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| - | trigger met_trig | + | cut met_trigger |
| # human readable info | # human readable info | ||
| eff 0.8 | eff 0.8 | ||
| Line 113: | Line 126: | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| - | function pt | + | 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(jet(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 | + | |
| - | arg1 detectorobj | + | |
| code _code_link | code _code_link | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| - | function mt 2 | ||
| - | # mT requires one lepton and met i.e. mt(lep(1),met) | ||
| - | code _code_link | ||
| - | doc _link_to_file_with_details | ||
| - | function mt2 3 | + | function b-tag |
| - | code _code_link | + | |
| - | doc _link_to_file_with_details | + | |
| - | + | ||
| - | function b-tag 1 | + | |
| # 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 | ||
| Line 144: | Line 149: | ||
| arg1 detectorobj-list | arg1 detectorobj-list | ||
| arg2 function | arg2 function | ||
| + | return int | ||
| code _code_link | code _code_link | ||
| doc _link_to_file_with_details | doc _link_to_file_with_details | ||
| Line 150: | Line 156: | ||
| # Define hadtop | # Define hadtop | ||
| - | function deltaR 2 | + | function deltaR |
| # takes in two objects; returns deltaR | # takes in two objects; returns deltaR | ||
| + | arg1 detectorobj | ||
| + | arg2 detectorobj | ||
| + | return float | ||
| - | detectorobj bjet | ||
| - | # | ||
| - | eff 0.7 | ||
| - | code _code_ | ||
| - | doc _doc_link_ | ||
| function HT | function HT | ||
| Line 165: | Line 169: | ||
| function metBYsqrtHT | function metBYsqrtHT | ||
| # returns MET/sqrt(HT) | # returns MET/sqrt(HT) | ||
| + | return float | ||
| - | function delPhi 2 | + | function delPhi |
| # returns minimum delta phi between objects | # returns minimum delta phi between objects | ||
| + | arg1 detectorobj | ||
| + | arg2 detectorobj | ||
| + | return float | ||
| </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 184: | Line 192: | ||
| # 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 |
| - | select pt(lep(1))>25 | + | select lep.1.pt>25 |
| - | reject size(lep)>1 | + | reject lep.size>1 |
| - | select size(jet)>2 | + | select jet.size>2 |
| select met>100 | select met>100 | ||
| cut tN_diag | cut tN_diag | ||
| - | select preselect | + | contains preselect |
| - | select size(jet)>4 | + | select jet.size>4 |
| - | select pt(jet,1)>60 | + | select jet.1.pt>60 |
| - | select pt(jet,2)>60 | + | select jet.2.pt>60 |
| - | select pt(jet,3)>40 | + | select jet.3.pt>40 |
| - | select pt(jet,4)>25 | + | select jet.4.pt>25 |
| - | select mt(lep(1),met)>=60 | + | select mt(lep.1,met)>=60 |
| select m(hadtop)>=130 | select m(hadtop)>=130 | ||
| select m(hadtop)<=205 | select m(hadtop)<=205 | ||
| reject size(tau)>0 | reject size(tau)>0 | ||
| - | select deltaR(bjet(1),lep(1))<2.5 | + | select deltaR(bjet.1,lep.1)<2.5 |
| select metBYsqrtHT>5 | select metBYsqrtHT>5 | ||
| - | select delPhi(jet(1),met)>0.8 | + | select delPhi(jet.1,met)>0.8 |
| - | select delPhi(jet(2),met)>0.8 | + | select delPhi(jet.2,met)>0.8 |
| </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> | ||
| - | MCsamples | + | info MCsamples |
| # Human readable info regarding what programs were used to make what | # Human readable info regarding what programs were used to make what | ||
| # sample suggested format: Signal program extra details (extras are | # sample suggested format: Signal program extra details (extras are | ||