24from urllib.request
import Request, urlopen
27from argcomplete.completers
import ChoicesCompleter
29from extramodules.choicesCompleterList
import ChoicesCompleterList
31from extramodules.actionHandler
import NoAction
32from extramodules.actionHandler
import ChoicesAction
33from extramodules.helperOptions
import HelperOptions
34from extramodules.converters
import O2Converters
36from commondeps.eventSelection
import EventSelectionTask
37from commondeps.multiplicityTable
import MultiplicityTable
38from commondeps.pidTOFBase
import TofEventTime
39from commondeps.pidTOFBeta
import TofPidBeta
40from commondeps.pidTPCTOFFull
import TpcTofPidFull
41from commondeps.trackPropagation
import TrackPropagation
42from commondeps.trackselection
import TrackSelectionTask
43from commondeps.dplAodReader
import DplAodReader
45from extramodules.dqLibGetter
import DQLibGetter
51 Class for Interface -> filterPP.cxx Task -> Configurable, Process Functions
54 object (parser_args() object): filterPP.cxx Interface
58 self, parserDQFilterPPTask = argparse.ArgumentParser(
59 formatter_class = argparse.ArgumentDefaultsHelpFormatter,
60 description =
"Example Usage: ./runFilterPP.py <yourConfig.json> --arg value",
61 ), eventSelection = EventSelectionTask(), multiplicityTable = MultiplicityTable(), tofEventTime = TofEventTime(),
62 tofPidBeta = TofPidBeta(), tpcTofPidFull = TpcTofPidFull(), trackPropagation = TrackPropagation(),
63 trackSelection = TrackSelectionTask(), helperOptions = HelperOptions(), o2Converters = O2Converters(), dplAodReader = DplAodReader()
65 super(DQFilterPPTask, self).
__init__()
82 This function allows to add arguments for parser_args() function
87 "eventSelection":
"Run DQ event selection",
88 "barrelTrackSelection":
"Run DQ barrel track selection",
89 "muonSelection":
"Run DQ muon selection",
90 "barrelTrackSelectionTiny":
"Run DQ barrel track selection tiny",
91 "filterPPSelectionTiny":
"Run filter task tiny",
94 for k, v
in dqSelections.items():
95 dqSelectionsList.append(k)
97 booleanSelections = [
"true",
"false"]
100 allAnalysisCuts, allMCSignals, allSels, allMixing = DQLibGetter.getAnalysisSelections(self)
106 title =
"Data processor options: d-q-filter-p-p-task, d-q-event-selection-task, d-q-barrel-track-selection, d-q-muons-selection "
108 groupProcessFilterPP.add_argument(
109 "--process", help =
"DQ Tasks process Selections options", action =
"store", type = str, nargs =
"*", metavar =
"PROCESS",
110 choices = dqSelectionsList,
111 ).completer = ChoicesCompleterList(dqSelectionsList)
113 for key, value
in dqSelections.items():
114 groupProcessFilterPP.add_argument(key, help = value, action =
"none")
117 groupDQFilterPP = self.
parserDQFilterPPTask.add_argument_group(title =
"Data processor options: d-q-filter-p-p-task")
118 groupDQFilterPP.add_argument(
120 help =
"Configure Barrel Selection <track-cut>:[<pair-cut>]:<n>,[<track-cut>:[<pair-cut>]:<n>],... | example jpsiO2MCdebugCuts2::1 ",
121 action =
"store", type = str, nargs =
"*", metavar =
"CFGBARRELSELS", choices = allSels,
122 ).completer = ChoicesCompleterList(allSels)
123 groupDQFilterPP.add_argument(
124 "--cfgMuonSels", help =
"Configure Muon Selection <muon-cut>:[<pair-cut>]:<n> example muonQualityCuts:pairNoCut:1",
125 action =
"store", type = str, nargs =
"*", metavar =
"CFGMUONSELS", choices = allSels,
126 ).completer = ChoicesCompleterList(allSels)
129 groupDQEventSelection = self.
parserDQFilterPPTask.add_argument_group(title =
"Data processor options: d-q-event-selection-task")
130 groupDQEventSelection.add_argument(
131 "--cfgEventCuts", help =
"Space separated list of event cuts", nargs =
"*", action =
"store", type = str,
132 metavar =
"CFGEVENTCUTS", choices = allAnalysisCuts,
133 ).completer = ChoicesCompleterList(allAnalysisCuts)
137 title =
"Data processor options: d-q-barrel-track-selection"
139 groupDQBarrelTrackSelection.add_argument(
140 "--cfgBarrelTrackCuts", help =
"Space separated list of barrel track cuts", nargs =
"*", action =
"store", type = str,
141 metavar =
"CFGBARRELTRACKCUTS", choices = allAnalysisCuts,
142 ).completer = ChoicesCompleterList(allAnalysisCuts)
145 groupDQMuonsSelection = self.
parserDQFilterPPTask.add_argument_group(title =
"Data processor options: d-q-muons-selection")
146 groupDQMuonsSelection.add_argument(
147 "--cfgMuonsCuts", help =
"Space separated list of muon cuts in d-q muons selection", action =
"store", nargs =
"*", type = str,
148 metavar =
"CFGMUONSCUT", choices = allAnalysisCuts,
149 ).completer = ChoicesCompleterList(allAnalysisCuts)
153 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"
155 groupQASelections.add_argument(
156 "--cfgWithQA", help =
"If true, fill QA histograms", action =
"store", type = str.lower, choices = (booleanSelections),
157 ).completer = ChoicesCompleter(booleanSelections)
161 This function allows to save the obtained arguments to the parser_args() function
164 Namespace: returns parse_args()
171 This function allows to merge parser_args argument information from different classes
def __init__(self, parserDQFilterPPTask=argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description="Example Usage: ./runFilterPP.py <yourConfig.json> --arg value",), eventSelection=EventSelectionTask(), multiplicityTable=MultiplicityTable(), tofEventTime=TofEventTime(), tofPidBeta=TofPidBeta(), tpcTofPidFull=TpcTofPidFull(), trackPropagation=TrackPropagation(), trackSelection=TrackSelectionTask(), helperOptions=HelperOptions(), o2Converters=O2Converters(), dplAodReader=DplAodReader())