ATLAS Offline Software
HNLFlags.py
Go to the documentation of this file.
1 
2 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 
4 
13 
14 __doc__ = """job flags for the RPV/LL HNL DRAW"""
15 __version__ = "0.0.1"
16 
17 from AthenaCommon.JobProperties import JobProperty
18 
19 import AthenaCommon.SystemOfUnits as Units
20 from xAODPrimitives.xAODIso import xAODIso
21 import ROOT
22 
23 from LongLivedParticleDPDMaker.PrimaryDPDFlags_RPVLLStream import jobproperties
24 primRPVLLDESDM=jobproperties.PrimaryDPDFlags_RPVLLStream
25 
26 class doHnlElMu(JobProperty):
27  # prompt electron + displace muon
28  statusOn = True
29  allowedTypes = ["bool"]
30  StoredValue = True
31 primRPVLLDESDM.add_JobProperty(doHnlElMu)
32 
33 class doHnlElEl(JobProperty):
34  # prompt electron + displace electron
35  statusOn = True
36  allowedTypes = ["bool"]
37  StoredValue = True
38 primRPVLLDESDM.add_JobProperty(doHnlElEl)
39 
40 class doHnlMuEl(JobProperty):
41  # prompt muon + displace electron
42  statusOn = True
43  allowedTypes = ["bool"]
44  StoredValue = True
45 primRPVLLDESDM.add_JobProperty(doHnlMuEl)
46 
47 class promptMuonPtThreshHnl(JobProperty):
48  # pT threshold for prompt muons
49  statusOn = True
50  allowedTypes = ["float"]
51  StoredValue = 28.*Units.GeV
52 primRPVLLDESDM.add_JobProperty(promptMuonPtThreshHnl)
53 
54 class promptElectronPtThreshHnl(JobProperty):
55  # pT threshold for prompt electrons
56  statusOn = True
57  allowedTypes = ["float"]
58  StoredValue = 28.*Units.GeV
59 primRPVLLDESDM.add_JobProperty(promptElectronPtThreshHnl)
60 
61 class displacedMuonPtThreshHnl(JobProperty):
62  # pT threshold for displaced muons
63  statusOn = True
64  allowedTypes = ["float"]
65  StoredValue = 5.*Units.GeV
66 primRPVLLDESDM.add_JobProperty(displacedMuonPtThreshHnl)
67 
68 class displacedElectronPtThreshHnl(JobProperty):
69  # pT threshold for displaced electrons
70  statusOn = True
71  allowedTypes = ["float"]
72  StoredValue = 5.*Units.GeV
73 primRPVLLDESDM.add_JobProperty(displacedElectronPtThreshHnl)
74 
75 class promptMuonIsoThreshHnl(JobProperty):
76  # isolation threshold for prompt muons
77  statusOn = True
78  allowedTypes = ["float"]
79  StoredValue = 0.05
80 primRPVLLDESDM.add_JobProperty(promptMuonIsoThreshHnl)
81 
82 class promptElectronIsoThreshHnl(JobProperty):
83  # isolation threshold for prompt electrons
84  statusOn = True
85  allowedTypes = ["float"]
86  StoredValue = 0.05
87 primRPVLLDESDM.add_JobProperty(promptElectronIsoThreshHnl)
88 
89 class displacedMuonIsoThreshHnl(JobProperty):
90  # isolation threshold for displaced muons
91  statusOn = True
92  allowedTypes = ["float"]
93  StoredValue = 9999.
94 primRPVLLDESDM.add_JobProperty(displacedMuonIsoThreshHnl)
95 
96 class displacedElectronIsoThreshHnl(JobProperty):
97  # isolation threshold for displaced electrons
98  statusOn = True
99  allowedTypes = ["float"]
100  StoredValue = 9999.
101 primRPVLLDESDM.add_JobProperty(displacedElectronIsoThreshHnl)
102 
103 class promptElectronIsoTypeHnl(JobProperty):
104  # isolation type for prompt electrons
105  statusOn = True
106  allowedTypes = ["int"]
107  StoredValue = xAODIso.ptcone30
108 primRPVLLDESDM.add_JobProperty(promptElectronIsoTypeHnl)
109 
110 class displacedElectronIsoTypeHnl(JobProperty):
111  # isolation type for displaced electrons
112  statusOn = True
113  allowedTypes = ["int"]
114  StoredValue = xAODIso.ptcone30
115 primRPVLLDESDM.add_JobProperty(displacedElectronIsoTypeHnl)
116 
117 class promptMuonTypesHnl(JobProperty):
118  # allowed types of prompt muons
119  statusOn = True
120  allowedTypes = ["list"]
121  StoredValue = [ROOT.xAOD.Muon.Combined]
122 primRPVLLDESDM.add_JobProperty(promptMuonTypesHnl)
123 
124 class displacedMuonTypesHnl(JobProperty):
125  # allowed types of displaced muons
126  statusOn = True
127  allowedTypes = ["list"]
128  StoredValue = [ROOT.xAOD.Muon.Combined,
129  ROOT.xAOD.Muon.MuonStandAlone]
130 primRPVLLDESDM.add_JobProperty(displacedMuonTypesHnl)
131 
132 class promptElectronIDHnl(JobProperty):
133  # electron identification working point for prompt electrons
134  statusOn = True
135  allowedTypes = ["str"]
136  StoredValue = "LHLoose"
137 primRPVLLDESDM.add_JobProperty(promptElectronIDHnl)
138 
139 class displacedMuonD0ThreshHnl(JobProperty):
140  # minimum |d0| threshold for displaced muons
141  statusOn = True
142  allowedTypes = ["float"]
143  StoredValue = 0.1*Units.mm
144 primRPVLLDESDM.add_JobProperty(displacedMuonD0ThreshHnl)
145 
146 class displacedElectronD0ThreshHnl(JobProperty):
147  # minimum |d0| threshold for displaced electrons
148  statusOn = True
149  allowedTypes = ["float"]
150  StoredValue = 1.0*Units.mm
151 primRPVLLDESDM.add_JobProperty(displacedElectronD0ThreshHnl)
152 
153 class doHnlMultiLeptonTriggers(JobProperty):
154  # use multi-lepton triggers in addition to single lepton triggers
155  statusOn = True
156  allowedTypes = ["bool"]
157  StoredValue = False
158 primRPVLLDESDM.add_JobProperty(doHnlMultiLeptonTriggers)
159 
160 class leptonDphiThreshHnl(JobProperty):
161  # minimum threshold for |dPhi| between prompt and displaced leptons
162  statusOn = True
163  allowedTypes = ["float"]
164  StoredValue = 0.0*Units.radian
165 primRPVLLDESDM.add_JobProperty(leptonDphiThreshHnl)
python.HNLFlags.promptElectronIsoTypeHnl
Definition: HNLFlags.py:103
python.HNLFlags.doHnlMultiLeptonTriggers
Definition: HNLFlags.py:153
SystemOfUnits
python.HNLFlags.promptMuonTypesHnl
Definition: HNLFlags.py:117
python.HNLFlags.doHnlElMu
Definition: HNLFlags.py:26
python.HNLFlags.promptElectronPtThreshHnl
Definition: HNLFlags.py:54
python.HNLFlags.promptElectronIsoThreshHnl
Definition: HNLFlags.py:82
python.HNLFlags.displacedMuonPtThreshHnl
Definition: HNLFlags.py:61
python.HNLFlags.displacedElectronD0ThreshHnl
Definition: HNLFlags.py:146
python.HNLFlags.promptMuonIsoThreshHnl
Definition: HNLFlags.py:75
python.HNLFlags.displacedElectronIsoTypeHnl
Definition: HNLFlags.py:110
python.HNLFlags.displacedMuonTypesHnl
Definition: HNLFlags.py:124
python.HNLFlags.doHnlElEl
Definition: HNLFlags.py:33
python.HNLFlags.displacedElectronPtThreshHnl
Definition: HNLFlags.py:68
python.HNLFlags.promptElectronIDHnl
Definition: HNLFlags.py:132
python.HNLFlags.displacedMuonIsoThreshHnl
Definition: HNLFlags.py:89
python.HNLFlags.displacedMuonD0ThreshHnl
Definition: HNLFlags.py:139
python.HNLFlags.doHnlMuEl
Definition: HNLFlags.py:40
python.HNLFlags.leptonDphiThreshHnl
Definition: HNLFlags.py:160
python.HNLFlags.displacedElectronIsoThreshHnl
Definition: HNLFlags.py:96
python.HNLFlags.promptMuonPtThreshHnl
Definition: HNLFlags.py:47