PyLamarr
Pythonizations for the ultra-fast simulation option for the LHCb experiment
 
Loading...
Searching...
No Matches
AssignIsMuon.py
1from typing import Tuple, Optional, Union
2from dataclasses import dataclass
3
4from pydantic import validate_arguments, validator
5
6from PyLamarr import RemoteResource, Wrapper
7
8@validate_arguments
9@dataclass(frozen=True)
11 ismuoneff_table: str
12 output_table: str = "tmp_is_muon"
13 output_columns: Tuple[str, ...] = ("mcparticle_id", "ismuoneff", "is_muon")
14 make_persistent: bool = True
15
16 def query(self):
17 return f"""
18 SELECT
19 mcparticle_id AS mcparticle_id,
20 isMuonEff,
21 random_category(1-isMuonEff) AS isMuon
22 FROM {self.ismuoneff_table};
23 """
24
25
26 implements: str = "TemporaryTable"
27 @property
28 def config(self):
29 return dict(
30 output_table=self.output_table,
31 outputs=self.output_columns,
32 query=self.query(),
33 make_persistent=self.make_persistent
34 )
35