-
Notifications
You must be signed in to change notification settings - Fork 2
Step 6: computeEffeciencies
The aim of this step is to compute the selection efficiency on your signal.
The script that fills this role is computeEfficiencies.cc
. To put it in a nutshell, the selection efficiency is equal to n_sel / n_gen where:
- n_sel is the number of selected events retrieved from the
JSON
file generating in the previous step (it contains the number of signal events and its error resulting from the signal fit) ; - n_gen is the number of generated events retrieved from the
data/<analysisType>_gen.json
file ( stands for zprime or higgs).
The usage of the computeEfficiencies
executable is:
./computeEfficiencies [--pdf <nominal/JECup/JECdown>] [--pu
<nominal/JECup/JECdown>] [--jer
<nominal/JECup/JECdown>] [--jec
<nominal/JECup/JECdown>] --gen-file <filename>
[--trigger-eff <filename>] [--b-tag <int>] -m
<int> [--] [--version] [-h]
Where:
--pdf <nominal/JECup/JECdown>
PDF
--pu <nominal/JECup/JECdown>
PU
--jer <nominal/JECup/JECdown>
JER
--jec <nominal/JECup/JECdown>
JEC
--gen-file <filename>
(required) JSON file containing number of generated events for each
signal point
--trigger-eff <filename>
JSON file containing trigger efficiencies
--b-tag <int>
Number of b-tagged jets
-m <int>, --mass <int>
(required) Signal mass
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.
For example, to fit a Z' with a mass of 750 GeV associated to a large resonance, with one b-tagged jets, the command will be:
./computeEfficiencies -m 750 --b-tag 1 --gen-file data/zprime_large_gen.json --trigger-eff data/zprime_trigger_efficiencies.json
You have to redo this operation for each mass point and for each b-tagged jets number (1 and 2). Fortunately, a script is doing it automatically for you:
To run it on narrow signal datasets:
Fit> ./computeZprimeNarrowEfficiencyForAllMasses.py
To run it on large signal datasets:
Fit> ./computeZprimeLargeEfficiencyForAllMasses.py
This generates efficiencies.json
file containng the signal and trigger efficiencies and their associated error, for each mass point and each b-tagged jets number, for a given analysis UUID. It is built as follow:
{
"53df8306-9406-11e3-96c9-001e68a9d4e2" : {
"1000" : {
"1" : {
"nominal" : {
"eff_e" : 0.01514329016208649,
"eff_mu" : 0.01725231483578682,
"error_eff_e" : 0.0002701927442103624,
"error_eff_mu" : 0.0002883948618546128,
"trigger_eff_e" : 0.9592190384864807,
"trigger_eff_mu" : 0.9189236164093018,
"trigger_error_eff_e" : 0.003205575980246067,
"trigger_error_eff_mu" : 0.004375487100332975
}
}
}
}
}
where:
- first value: the UUID of your analysis ;
- second line: your mass point ;
- third line: the number of b-taged jets ;
- "nominal": indicates if your are in the nominal analysis or in the systematic study ;
- "eff_e" : signal efficiency in semi-e channel ;
- "eff_mu" : signal efficiency in semi-mu channel ;
- "error_eff_e" : error on signal efficiency in semi-e channel ;
- "error_eff_mu" : error on signal efficiency in semi-mu channel ;
- "trigger_eff_e" : trigger efficiency in semi-e channel ;
- "trigger_eff_mu" : trigger efficiency in semi-mu channel ;
- "trigger_error_eff_e" : error on trigger efficiency in semi-e channel ;
- "trigger_error_eff_mu" : error on trigger efficiency in semi-mu channel.