forked from KIT-CMS/TauAnalysis-CROWN
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fastmtt.py
51 lines (45 loc) · 1.26 KB
/
fastmtt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from __future__ import annotations # needed for type annotations in > python 3.7
from typing import List, Union
from .producers import pairquantities as pairquantities
from .quantities import output as q
from code_generation.friend_trees import FriendTreeConfiguration
def build_config(
era: str,
sample: str,
scopes: List[str],
shifts: List[str],
available_sample_types: List[str],
available_eras: List[str],
available_scopes: List[str],
quantities_map: Union[str, None] = None,
):
configuration = FriendTreeConfiguration(
era,
sample,
scopes,
shifts,
available_sample_types,
available_eras,
available_scopes,
quantities_map,
)
configuration.add_producers(
["mt", "et", "tt", "em"],
[pairquantities.FastMTTQuantities],
)
configuration.add_outputs(
["mt", "et", "tt", "em"],
[
q.m_fastmtt,
q.pt_fastmtt,
q.eta_fastmtt,
q.phi_fastmtt,
],
)
#########################
# Finalize and validate the configuration
#########################
configuration.optimize()
configuration.validate()
configuration.report()
return configuration.expanded_configuration()