O2-DQ User Interface 1.0.0
Loading...
Searching...
No Matches
v0selector.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# PYTHON_ARGCOMPLETE_OK
3# -*- coding: utf-8 -*-
4
5# Copyright 2019-2020 CERN and copyright holders of ALICE O2.
6# See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
7# All rights not expressly granted are reserved.
8#
9# This software is distributed under the terms of the GNU General Public
10# License v3 (GPL Version 3), copied verbatim in the file "COPYING".
11#
12# In applying this license CERN does not waive the privileges and immunities
13# granted to it by virtue of its status as an Intergovernmental Organization
14# or submit itself to any jurisdiction.
15
16# \Author: ionut.cristian.arsene@cern.ch
17# \Interface: cevat.batuhan.tolon@cern.ch
18
19# Orginal Task: https://github.com/AliceO2Group/O2Physics/blob/master/PWGDQ/Tasks/v0selector.cxx
20
21import argparse
22
23from extramodules.actionHandler import NoAction
24from extramodules.actionHandler import ChoicesAction
25from extramodules.helperOptions import HelperOptions
26from extramodules.converters import O2Converters
27import argcomplete
28from argcomplete.completers import ChoicesCompleter
29
30from commondeps.centralityTable import CentralityTable
31from commondeps.eventSelection import EventSelectionTask
32from commondeps.multiplicityTable import MultiplicityTable
33from commondeps.pidTOFBase import TofEventTime
34from commondeps.pidTOFBeta import TofPidBeta
35from commondeps.pidTPCTOFFull import TpcTofPidFull
36from commondeps.trackPropagation import TrackPropagation
37from commondeps.trackselection import TrackSelectionTask
38from commondeps.dplAodReader import DplAodReader
39
40
41class V0selector(object):
42
43 """
44 Class for Interface -> v0selector.cxx Task -> Configurable, Process Functions
45
46 Args:
47 object (parser_args() object): v0selector.cxx Interface
48 """
49
51 self, parserV0selector = argparse.ArgumentParser(
52 formatter_class = argparse.ArgumentDefaultsHelpFormatter,
53 description = "Example Usage: ./runV0selector.py <yourConfig.json> --arg value"
54 ), eventSelection = EventSelectionTask(), centralityTable = CentralityTable(), multiplicityTable = MultiplicityTable(),
55 tofEventTime = TofEventTime(), tofPidBeta = TofPidBeta(), tpcTofPidFull = TpcTofPidFull(), trackPropagation = TrackPropagation(),
56 trackSelection = TrackSelectionTask(), helperOptions = HelperOptions(), o2Converters = O2Converters(), dplAodReader = DplAodReader()
57 ):
58 super(V0selector, self).__init__()
59 self.parserV0selector = parserV0selector
60 self.eventSelection = eventSelection
61 self.centralityTable = centralityTable
62 self.multiplicityTable = multiplicityTable
63 self.tofEventTime = tofEventTime
64 self.tofPidBeta = tofPidBeta
65 self.tpcTofPidFull = tpcTofPidFull
66 self.trackPropagation = trackPropagation
67 self.trackSelection = trackSelection
68 self.helperOptions = helperOptions
69 self.o2Converters = o2Converters
70 self.dplAodReader = dplAodReader
71 self.parserV0selector.register("action", "none", NoAction)
72 self.parserV0selector.register("action", "store_choice", ChoicesAction)
73
74 def addArguments(self):
75 """
76 This function allows to add arguments for parser_args() function
77 """
78
79 # Interface
80 groupV0Selector = self.parserV0selector.add_argument_group(title = "Data processor options: v0-selector")
81 groupV0Selector.add_argument("--d_bz_input", help = "bz field in kG, -999 is automatic", action = "store", type = str)
82 groupV0Selector.add_argument("--v0cospa", help = "v0cospa", action = "store", type = str)
83 groupV0Selector.add_argument("--dcav0dau", help = "DCA V0 Daughters", action = "store", type = str)
84 groupV0Selector.add_argument("--v0Rmin", help = "v0Rmin", action = "store", type = str)
85 groupV0Selector.add_argument("--v0Rmax", help = "v0Rmax", action = "store", type = str)
86 groupV0Selector.add_argument("--dcamin", help = "dcamin", action = "store", type = str)
87 groupV0Selector.add_argument("--dcamax", help = "dcamax", action = "store", type = str)
88 groupV0Selector.add_argument("--mincrossedrows", help = "Min crossed rows", action = "store", type = str)
89 groupV0Selector.add_argument("--maxchi2tpc", help = "max chi2/NclsTPC", action = "store", type = str)
90
91 def parseArgs(self):
92 """
93 This function allows to save the obtained arguments to the parser_args() function
94
95 Returns:
96 Namespace: returns parse_args()
97 """
98
99 argcomplete.autocomplete(self.parserV0selector, always_complete_options = False)
100 return self.parserV0selector.parse_args()
101
102 def mergeArgs(self):
103 """
104 This function allows to merge parser_args argument information from different classes
105 """
106
107 self.eventSelection.parserEventSelectionTask = self.parserV0selector
109
110 self.centralityTable.parserCentralityTable = self.parserV0selector
112
113 self.multiplicityTable.parserMultiplicityTable = self.parserV0selector
115
116 self.tofEventTime.parserTofEventTime = self.parserV0selector
118
119 self.tofPidBeta.parserTofPidBeta = self.parserV0selector
121
122 self.tpcTofPidFull.parserTpcTofPidFull = self.parserV0selector
124
125 self.trackPropagation.parserTrackPropagation = self.parserV0selector
127
128 self.trackSelection.parserTrackSelectionTask = self.parserV0selector
130
131 self.helperOptions.parserHelperOptions = self.parserV0selector
133
134 # self.o2Converters.parserO2Converters = self.parserV0selector
135 # self.o2Converters.addArguments()
136
137 self.dplAodReader.parserDplAodReader = self.parserV0selector
139
140 self.addArguments()
def addArguments(self)
Definition: v0selector.py:74
def __init__(self, parserV0selector=argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description="Example Usage: ./runV0selector.py <yourConfig.json> --arg value"), eventSelection=EventSelectionTask(), centralityTable=CentralityTable(), multiplicityTable=MultiplicityTable(), tofEventTime=TofEventTime(), tofPidBeta=TofPidBeta(), tpcTofPidFull=TpcTofPidFull(), trackPropagation=TrackPropagation(), trackSelection=TrackSelectionTask(), helperOptions=HelperOptions(), o2Converters=O2Converters(), dplAodReader=DplAodReader())
Definition: v0selector.py:57