O2-DQ User Interface 1.0.0
Loading...
Searching...
No Matches
TableReader Class Reference
Inheritance diagram for TableReader:

Public Member Functions

def __init__ (self, parserTableReader=argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description="Example Usage: ./runTableReader.py <yourConfig.json> --arg value",), helperOptions=HelperOptions(), dplAodReader=DplAodReader())
 
def addArguments (self)
 
def mergeArgs (self)
 
def parseArgs (self)
 

Public Attributes

 dplAodReader
 
 helperOptions
 
 parserTableReader
 

Detailed Description

Class for Interface -> tableReader.cxx Task -> Configurable, Process Functions

Args:
    object (parser_args() object): tableReader.cxx Interface

Definition at line 35 of file tableReader.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  parserTableReader = argparse.ArgumentParser(             formatter_class = argparse.ArgumentDefaultsHelpFormatter,             description = "Example Usage: ./runTableReader.py <yourConfig.json> --arg value",             ),
  helperOptions = HelperOptions(),
  dplAodReader = DplAodReader() 
)

Definition at line 44 of file tableReader.py.

49 ):
50 super(TableReader, self).__init__()
51 self.parserTableReader = parserTableReader
52 self.helperOptions = helperOptions
53 self.dplAodReader = dplAodReader
54 self.parserTableReader.register("action", "none", NoAction)
55 self.parserTableReader.register("action", "store_choice", ChoicesAction)
56

Member Function Documentation

◆ addArguments()

def addArguments (   self)
This function allows to add arguments for parser_args() function

Definition at line 57 of file tableReader.py.

57 def addArguments(self):
58 """
59 This function allows to add arguments for parser_args() function
60 """
61
62 readerPath = "configs/readerConfiguration_reducedEvent.json"
63 writerPath = "configs/writerConfiguration_dileptons.json"
64
65 # Predefined Selections
66 analysisSelections = {
67 "eventSelection": "Run event selection on DQ skimmed events",
68 "muonSelection": "Run muon selection on DQ skimmed muons",
69 "trackSelection": "Run barrel track selection on DQ skimmed tracks",
70 "eventMixing": "Run mixing on skimmed tracks based muon and track selections",
71 "eventMixingVn": "Run vn mixing on skimmed tracks based muon and track selections",
72 "sameEventPairing": "Run same event pairing selection on DQ skimmed data",
73 "dileptonHadron": "Run dilepton-hadron pairing, using skimmed data",
74 }
75 analysisSelectionsList = []
76 for k, v in analysisSelections.items():
77 analysisSelectionsList.append(k)
78
79 sameEventPairingProcessSelections = {
80 "JpsiToEE": "Run electron-electron pairing, with skimmed tracks",
81 "JpsiToMuMu": "Run muon-muon pairing, with skimmed muons",
82 "JpsiToMuMuVertexing": "Run muon-muon pairing and vertexing, with skimmed muons",
83 "VnJpsiToEE": "Run barrel-barrel vn mixing on skimmed tracks",
84 "VnJpsiToMuMu": "Run muon-muon vn mixing on skimmed tracks",
85 "ElectronMuon": "Run electron-muon pairing, with skimmed tracks/muons",
86 "All": "Run all types of pairing, with skimmed tracks/muons",
87 }
88 sameEventPairingProcessSelectionsList = []
89 for k, v in sameEventPairingProcessSelections.items():
90 sameEventPairingProcessSelectionsList.append(k)
91
92 booleanSelections = ["true", "false"]
93
94 mixingSelections = {
95 "Barrel": "Run barrel-barrel mixing on skimmed tracks",
96 "Muon": "Run muon-muon mixing on skimmed muons",
97 "BarrelMuon": "Run barrel-muon mixing on skimmed tracks/muons",
98 "BarrelVn": "Run barrel-barrel vn mixing on skimmed tracks",
99 "MuonVn": "Run muon-muon vn mixing on skimmed tracks",
100 }
101 mixingSelectionsList = []
102 for k, v in mixingSelections.items():
103 mixingSelectionsList.append(k)
104
105 # init for get DQ libraries
106 allAnalysisCuts, allMCSignals, allSels, allMixing = DQLibGetter.getAnalysisSelections(self)
107
108 # Interface
109
110 # analysis task selections
111 groupAnalysisSelections = self.parserTableReader.add_argument_group(
112 title = "Data processor options: analysis-event-selection, analysis-muon-selection, analysis-track-selection, analysis-event-mixing, analysis-dilepton-hadron"
113 )
114 groupAnalysisSelections.add_argument(
115 "--analysis", help = "Skimmed process selections for Data Analysis", action = "store", nargs = "*", type = str,
116 metavar = "ANALYSIS", choices = analysisSelectionsList,
117 ).completer = ChoicesCompleterList(analysisSelectionsList)
118
119 for key, value in analysisSelections.items():
120 groupAnalysisSelections.add_argument(key, help = value, action = "none")
121
122 # same event pairing process function selection
123 groupProcessSEPSelections = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-same-event-pairing")
124 groupProcessSEPSelections.add_argument(
125 "--process", help = "Skimmed process selections for analysis-same-event-pairing task", action = "store", nargs = "*",
126 type = str, metavar = "PROCESS", choices = sameEventPairingProcessSelectionsList,
127 ).completer = ChoicesCompleterList(sameEventPairingProcessSelectionsList)
128 groupProcess = self.parserTableReader.add_argument_group(
129 title = "Choice List for analysis-same-event-pairing task Process options (when a value added to parameter, processSkimmed value is converted from false to true)"
130 )
131
132 for key, value in sameEventPairingProcessSelections.items():
133 groupProcess.add_argument(key, help = value, action = "none")
134
135 # analysis-event-mixing
136 groupAnalysisEventMixing = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-event-mixing")
137 groupAnalysisEventMixing.add_argument(
138 "--mixing", help = "Skimmed process selections for Event Mixing manually", nargs = "*", action = "store", type = str,
139 choices = mixingSelectionsList,
140 ).completer = ChoicesCompleterList(mixingSelectionsList)
141
142 # cfg for QA
143 groupQASelections = self.parserTableReader.add_argument_group(
144 title = "Data processor options: analysis-event-selection, analysis-muon-selection, analysis-track-selection, analysis-event-mixing"
145 )
146 groupQASelections.add_argument(
147 "--cfgQA", help = "If true, fill QA histograms", action = "store", type = str.lower, choices = booleanSelections,
148 ).completer = ChoicesCompleter(booleanSelections)
149
150 # analysis-event-selection
151 groupAnalysisEventSelection = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-event-selection")
152 groupAnalysisEventSelection.add_argument(
153 "--cfgMixingVars", help = "Mixing configs separated by a space", nargs = "*", action = "store", type = str,
154 metavar = "CFGMIXINGVARS", choices = allMixing,
155 ).completer = ChoicesCompleterList(allMixing)
156 groupAnalysisEventSelection.add_argument(
157 "--cfgEventCuts", help = "Space separated list of event cuts", nargs = "*", action = "store", type = str,
158 metavar = "CFGEVENTCUTS", choices = allAnalysisCuts,
159 ).completer = ChoicesCompleterList(allAnalysisCuts)
160
161 # analysis-muon-selection
162 groupAnalysisMuonSelection = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-muon-selection")
163 groupAnalysisMuonSelection.add_argument(
164 "--cfgMuonCuts", help = "Space separated list of muon cuts", nargs = "*", action = "store", type = str, metavar = "CFGMUONCUTS",
165 choices = allAnalysisCuts,
166 ).completer = ChoicesCompleterList(allAnalysisCuts)
167
168 # analysis-track-selection
169 groupAnalysisTrackSelection = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-track-selection")
170 groupAnalysisTrackSelection.add_argument(
171 "--cfgTrackCuts", help = "Space separated list of barrel track cuts", nargs = "*", action = "store", type = str,
172 metavar = "CFGTRACKCUTS", choices = allAnalysisCuts,
173 ).completer = ChoicesCompleterList(allAnalysisCuts)
174
175 # analysis-dilepton-hadron
176 groupAnalysisDileptonHadron = self.parserTableReader.add_argument_group(title = "Data processor options: analysis-dilepton-hadron")
177 groupAnalysisDileptonHadron.add_argument(
178 "--cfgLeptonCuts", help = "Space separated list of barrel track cuts", nargs = "*", action = "store", type = str,
179 metavar = "CFGLEPTONCUTS", choices = allAnalysisCuts,
180 ).completer = ChoicesCompleterList(allAnalysisCuts)
181
182 # Aod Writer - Reader configs
183 groupDPLReader = self.parserTableReader.add_argument_group(
184 title = "Data processor options: internal-dpl-aod-reader, internal-dpl-aod-writer"
185 )
186 groupDPLReader.add_argument(
187 "--reader",
188 help = "Reader config JSON with path. For Standart Analysis use as default, for dilepton analysis change to dilepton JSON config file",
189 action = "store", default = readerPath, type = str
190 )
191 groupDPLReader.add_argument(
192 "--writer", help = "Argument for producing dileptonAOD.root. Set false for disable", action = "store", default = writerPath,
193 type = str
194 )
195

◆ mergeArgs()

def mergeArgs (   self)
This function allows to merge parser_args argument information from different classes

Definition at line 206 of file tableReader.py.

206 def mergeArgs(self):
207 """
208 This function allows to merge parser_args argument information from different classes
209 """
210
211 self.helperOptions.parserHelperOptions = self.parserTableReader
212 self.helperOptions.addArguments()
213
214 self.dplAodReader.parserDplAodReader = self.parserTableReader
215 self.dplAodReader.addArguments()
216
217 self.addArguments()

◆ parseArgs()

def parseArgs (   self)
This function allows to save the obtained arguments to the parser_args() function

Returns:
    Namespace: returns parse_args()

Definition at line 196 of file tableReader.py.

196 def parseArgs(self):
197 """
198 This function allows to save the obtained arguments to the parser_args() function
199
200 Returns:
201 Namespace: returns parse_args()
202 """
203 argcomplete.autocomplete(self.parserTableReader, always_complete_options = False)
204 return self.parserTableReader.parse_args()
205

Member Data Documentation

◆ dplAodReader

dplAodReader

Definition at line 53 of file tableReader.py.

◆ helperOptions

helperOptions

Definition at line 52 of file tableReader.py.

◆ parserTableReader

parserTableReader

Definition at line 51 of file tableReader.py.


The documentation for this class was generated from the following file: