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

Public Member Functions

def __init__ (self, parserTableMaker=argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description="Example Usage: ./runTableMaker.py <yourConfig.json> --arg value "), eventSelection=EventSelectionTask(), centralityTable=CentralityTable(), multiplicityTable=MultiplicityTable(), tofEventTime=TofEventTime(), tofPidBeta=TofPidBeta(), tpcTofPidFull=TpcTofPidFull(), trackPropagation=TrackPropagation(), trackSelection=TrackSelectionTask(), v0selector=V0selector(), helperOptions=HelperOptions(), o2Converters=O2Converters(), dplAodReader=DplAodReader())
 
def addArguments (self)
 
def mergeArgs (self)
 
def parseArgs (self)
 

Public Attributes

 centralityTable
 
 dplAodReader
 
 eventSelection
 
 helperOptions
 
 multiplicityTable
 
 o2Converters
 
 parserTableMaker
 
 tofEventTime
 
 tofPidBeta
 
 tpcTofPidFull
 
 trackPropagation
 
 trackSelection
 
 v0selector
 

Detailed Description

Class for Interface -> tableMaker.cxx Task -> Configurable, Process Functions.
Also this class includes some filterPP and dqFlow task arguments to avoid conflicts

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

Definition at line 49 of file tableMaker.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  parserTableMaker = argparse.ArgumentParser(             formatter_class = argparse.ArgumentDefaultsHelpFormatter,             description = "Example Usage: ./runTableMaker.py <yourConfig.json> --arg value "             ),
  eventSelection = EventSelectionTask(),
  centralityTable = CentralityTable(),
  multiplicityTable = MultiplicityTable(),
  tofEventTime = TofEventTime(),
  tofPidBeta = TofPidBeta(),
  tpcTofPidFull = TpcTofPidFull(),
  trackPropagation = TrackPropagation(),
  trackSelection = TrackSelectionTask(),
  v0selector = V0selector(),
  helperOptions = HelperOptions(),
  o2Converters = O2Converters(),
  dplAodReader = DplAodReader() 
)

Definition at line 59 of file tableMaker.py.

67 ):
68 super(TableMaker, self).__init__()
69 self.parserTableMaker = parserTableMaker
70 self.eventSelection = eventSelection
71 self.centralityTable = centralityTable
72 self.multiplicityTable = multiplicityTable
73 self.tofEventTime = tofEventTime
74 self.tofPidBeta = tofPidBeta
75 self.tpcTofPidFull = tpcTofPidFull
76 self.trackPropagation = trackPropagation
77 self.trackSelection = trackSelection
78 self.v0selector = v0selector
79 self.helperOptions = helperOptions
80 self.o2Converters = o2Converters
81 self.dplAodReader = dplAodReader
82 self.parserTableMaker.register("action", "none", NoAction)
83 self.parserTableMaker.register("action", "store_choice", ChoicesAction)
84

Member Function Documentation

◆ addArguments()

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

Definition at line 85 of file tableMaker.py.

85 def addArguments(self):
86 """
87 This function allows to add arguments for parser_args() function
88 """
89
90 # Predefined Selections
91 tableMakerProcessSelections = {
92 "Full": "Build full DQ skimmed data model, w/o centrality",
93 "FullWithCov": "Build full DQ skimmed data model, w/ track and fwdtrack covariance tables",
94 "FullWithCent": "Build full DQ skimmed data model, w/ centrality",
95 "BarrelOnly": "Build barrel-only DQ skimmed data model, w/o centrality",
96 "BarrelOnlyWithCov": "Build barrel-only DQ skimmed data model, w/ track cov matrix",
97 "BarrelOnlyWithV0Bits": "Build full DQ skimmed data model, w/o centrality, w/ V0Bits",
98 "BarrelOnlyWithEventFilter": "Build full DQ skimmed data model, w/o centrality, w/ event filter",
99 "BarrelOnlyWithQvector": "Build full DQ skimmed data model, w/ centrality, w/ q vector",
100 "BarrelOnlyWithCent": "Build barrel-only DQ skimmed data model, w/ centrality",
101 "MuonOnly": "Build muon-only DQ skimmed data model",
102 "MuonOnlyWithCov": "Build muon-only DQ skimmed data model, w/ muon cov matrix",
103 "MuonOnlyWithCent": "Build muon-only DQ skimmed data model, w/ centrality",
104 "MuonOnlyWithFilter": "Build muon-only DQ skimmed data model, w/ event filter",
105 "MuonOnlyWithQvector": "Build muon-only DQ skimmed data model, w/ q vector",
106 "OnlyBCs": "Analyze the BCs to store sampled lumi",
107 }
108 tableMakerProcessSelectionsList = []
109 for k, v in tableMakerProcessSelections.items():
110 tableMakerProcessSelectionsList.append(k)
111
112 booleanSelections = ["true", "false"]
113
114 # init for get DQ libraries
115 allAnalysisCuts, allMCSignals, allSels, allMixing = DQLibGetter.getAnalysisSelections(self)
116
117 # Interface
118
119 # table-maker configurables
120 groupTableMakerConfigs = self.parserTableMaker.add_argument_group(title = "Data processor options: table-maker")
121 groupTableMakerConfigs.add_argument(
122 "--cfgEventCuts", help = "Space separated list of event cuts", nargs = "*", action = "store", type = str,
123 metavar = "CFGEVENTCUTS", choices = allAnalysisCuts,
124 ).completer = ChoicesCompleterList(allAnalysisCuts)
125 groupTableMakerConfigs.add_argument(
126 "--cfgBarrelTrackCuts", help = " Space separated list of barrel track cuts", nargs = "*", action = "store", type = str,
127 metavar = "CFGBARRELTRACKCUTS", choices = allAnalysisCuts,
128 ).completer = ChoicesCompleterList(allAnalysisCuts)
129 groupTableMakerConfigs.add_argument(
130 "--cfgMuonCuts", help = "Space separated list of muon cuts in table-maker", action = "store", nargs = "*", type = str,
131 metavar = "CFGMUONCUTS", choices = allAnalysisCuts,
132 ).completer = ChoicesCompleterList(allAnalysisCuts)
133 groupTableMakerConfigs.add_argument("--cfgBarrelLowPt", help = "Low pt cut for tracks in the barrel", action = "store", type = str)
134 groupTableMakerConfigs.add_argument("--cfgMuonLowPt", help = "Low pt cut for muons", action = "store", type = str)
135 groupTableMakerConfigs.add_argument(
136 "--cfgNoQA", help = "If true, no QA histograms", action = "store", type = str.lower, choices = booleanSelections,
137 ).completer = ChoicesCompleter(booleanSelections)
138 groupTableMakerConfigs.add_argument(
139 "--cfgDetailedQA", help = "If true, include more QA histograms (BeforeCuts classes and more)", action = "store",
140 type = str.lower, choices = booleanSelections,
141 ).completer = ChoicesCompleter(booleanSelections)
142 # groupTableMakerConfigs.add_argument("--cfgIsRun2", help="Run selection true or false", action="store", choices=["true","false"], type=str) # no need
143 groupTableMakerConfigs.add_argument("--cfgMinTpcSignal", help = "Minimum TPC signal", action = "store", type = str)
144 groupTableMakerConfigs.add_argument("--cfgMaxTpcSignal", help = "Maximum TPC signal", action = "store", type = str)
145
146 groupProcessTableMaker = self.parserTableMaker.add_argument_group(title = "Data processor options: table-maker")
147 groupProcessTableMaker.add_argument(
148 "--process", help = "Process Selection options for tableMaker/tableMakerMC Data Processing and Skimming", action = "store",
149 type = str, nargs = "*", metavar = "PROCESS", choices = tableMakerProcessSelectionsList,
150 ).completer = ChoicesCompleterList(tableMakerProcessSelectionsList)
151 for key, value in tableMakerProcessSelections.items():
152 groupProcessTableMaker.add_argument(key, help = value, action = "none")
153
154 # d-q-track barrel-task
155 groupDQTrackBarrelTask = self.parserTableMaker.add_argument_group(title = "Data processor options: d-q-track barrel-task")
156 groupDQTrackBarrelTask.add_argument(
157 "--isBarrelSelectionTiny",
158 help = "Run barrel track selection instead of normal(process func. for barrel selection must be true)", action = "store",
159 type = str.lower, choices = booleanSelections,
160 ).completer = ChoicesCompleter(booleanSelections)
161
162 # d-q muons-selection
163 groupDQMuonsSelection = self.parserTableMaker.add_argument_group(title = "Data processor options: d-q muons-selection")
164 groupDQMuonsSelection.add_argument(
165 "--cfgMuonsCuts", help = "Space separated list of ADDITIONAL muon track cuts", action = "store", nargs = "*", type = str,
166 metavar = "CFGMUONSCUT", choices = allAnalysisCuts,
167 ).completer = ChoicesCompleterList(allAnalysisCuts)
168
169 # d-q-filter-p-p-task
170 groupDQFilterPP = self.parserTableMaker.add_argument_group(title = "Data processor options: d-q-filter-p-p-task")
171 groupDQFilterPP.add_argument(
172 "--cfgBarrelSels",
173 help = "Configure Barrel Selection <track-cut>:[<pair-cut>]:<n>,[<track-cut>:[<pair-cut>]:<n>],... | example jpsiO2MCdebugCuts2::1 ",
174 action = "store", type = str, nargs = "*", metavar = "CFGBARRELSELS", choices = allSels,
175 ).completer = ChoicesCompleterList(allSels)
176 groupDQFilterPP.add_argument(
177 "--cfgMuonSels", help = "Configure Muon Selection <muon-cut>:[<pair-cut>]:<n> example muonQualityCuts:pairNoCut:1",
178 action = "store", type = str, nargs = "*", metavar = "CFGMUONSELS", choices = allSels,
179 ).completer = ChoicesCompleterList(allSels)
180 groupDQFilterPP.add_argument(
181 "--isFilterPPTiny", help = "Run filter tiny task instead of normal (processFilterPP must be true) ", action = "store",
182 type = str.lower, choices = booleanSelections,
183 ).completer = ChoicesCompleter(booleanSelections)
184
185 # analysis-qvector
186 groupAnalysisQvector = self.parserTableMaker.add_argument_group(title = "Data processor options: analysis-qvector")
187 groupAnalysisQvector.add_argument(
188 "--cfgCutPtMin", help = "Minimal pT for tracks", action = "store", type = str, metavar = "CFGCUTPTMIN",
189 )
190 groupAnalysisQvector.add_argument(
191 "--cfgCutPtMax", help = "Maximal pT for tracks", action = "store", type = str, metavar = "CFGCUTPTMAX",
192 )
193 groupAnalysisQvector.add_argument(
194 "--cfgCutEta", help = "Eta range for tracks", action = "store", type = str, metavar = "CFGCUTETA",
195 )
196 groupAnalysisQvector.add_argument(
197 "--cfgEtaLimit", help = "Eta gap separation, only if using subEvents", action = "store", type = str, metavar = "CFGETALIMIT",
198 )
199 groupAnalysisQvector.add_argument(
200 "--cfgNPow", help = "Power of weights for Q vector", action = "store", type = str, metavar = "CFGNPOW",
201 )
202 groupAnalysisQvector.add_argument("--cfgEfficiency", help = "CCDB path to efficiency object", action = "store", type = str)
203 groupAnalysisQvector.add_argument("--cfgAcceptance", help = "CCDB path to acceptance object", action = "store", type = str)
204
205 # all d-q tasks and selections
206 groupQASelections = self.parserTableMaker.add_argument_group(
207 title = "Data processor options: d-q-barrel-track-selection-task, d-q-muons-selection, d-q-event-selection-task, d-q-filter-p-p-task, analysis-qvector"
208 )
209 groupQASelections.add_argument(
210 "--cfgWithQA", help = "If true, fill QA histograms", action = "store", type = str.lower, choices = booleanSelections,
211 ).completer = ChoicesCompleter(booleanSelections)
212
213 # core part
214 groupCoreSelections = self.parserTableMaker.add_argument_group(title = "Core configurations that must be configured")
215 groupCoreSelections.add_argument("-runData", help = "Run over Data", action = "store_true", default = True)
216

◆ mergeArgs()

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

Definition at line 228 of file tableMaker.py.

228 def mergeArgs(self):
229 """
230 This function allows to merge parser_args argument information from different classes
231 """
232
233 self.eventSelection.parserEventSelectionTask = self.parserTableMaker
234 self.eventSelection.addArguments()
235
236 self.centralityTable.parserCentralityTable = self.parserTableMaker
237 self.centralityTable.addArguments()
238
239 self.multiplicityTable.parserMultiplicityTable = self.parserTableMaker
240 self.multiplicityTable.addArguments()
241
242 self.tofEventTime.parserTofEventTime = self.parserTableMaker
243 self.tofEventTime.addArguments()
244
245 self.tofPidBeta.parserTofPidBeta = self.parserTableMaker
246 self.tofPidBeta.addArguments()
247
248 self.tpcTofPidFull.parserTpcTofPidFull = self.parserTableMaker
249 self.tpcTofPidFull.addArguments()
250
251 self.trackPropagation.parserTrackPropagation = self.parserTableMaker
252 self.trackPropagation.addArguments()
253
254 self.trackSelection.parserTrackSelectionTask = self.parserTableMaker
255 self.trackSelection.addArguments()
256
257 self.v0selector.parserV0selector = self.parserTableMaker
258 self.v0selector.addArguments()
259
260 self.helperOptions.parserHelperOptions = self.parserTableMaker
261 self.helperOptions.addArguments()
262
263 # self.o2Converters.parserO2Converters = self.parserTableMaker
264 # self.o2Converters.addArguments()
265
266 self.dplAodReader.parserDplAodReader = self.parserTableMaker
267 self.dplAodReader.addArguments()
268
269 self.addArguments()
270

◆ 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 217 of file tableMaker.py.

217 def parseArgs(self):
218 """
219 This function allows to save the obtained arguments to the parser_args() function
220
221 Returns:
222 Namespace: returns parse_args()
223 """
224
225 argcomplete.autocomplete(self.parserTableMaker, always_complete_options = False)
226 return self.parserTableMaker.parse_args()
227

Member Data Documentation

◆ centralityTable

centralityTable

Definition at line 71 of file tableMaker.py.

◆ dplAodReader

dplAodReader

Definition at line 81 of file tableMaker.py.

◆ eventSelection

eventSelection

Definition at line 70 of file tableMaker.py.

◆ helperOptions

helperOptions

Definition at line 79 of file tableMaker.py.

◆ multiplicityTable

multiplicityTable

Definition at line 72 of file tableMaker.py.

◆ o2Converters

o2Converters

Definition at line 80 of file tableMaker.py.

◆ parserTableMaker

parserTableMaker

Definition at line 69 of file tableMaker.py.

◆ tofEventTime

tofEventTime

Definition at line 73 of file tableMaker.py.

◆ tofPidBeta

tofPidBeta

Definition at line 74 of file tableMaker.py.

◆ tpcTofPidFull

tpcTofPidFull

Definition at line 75 of file tableMaker.py.

◆ trackPropagation

trackPropagation

Definition at line 76 of file tableMaker.py.

◆ trackSelection

trackSelection

Definition at line 77 of file tableMaker.py.

◆ v0selector

v0selector

Definition at line 78 of file tableMaker.py.


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