121 def create_argument_parser(self, **kwds):
122 """Convert command-line arguments to basf2 argument list"""
123 argument_parser = super().create_argument_parser(**kwds)
124 master_argument_group = argument_parser.add_argument_group("Master arguments")
127 master_argument_group.add_argument(
130 default=argparse.SUPPRESS,
131 dest='root_input_file',
132 help='File path to the ROOT file from which the simulated events shall be loaded.'
135 master_argument_group.add_argument(
139 default=self.n_events,
141 help='Number of events to be generated',
144 master_argument_group.add_argument(
148 default=argparse.SUPPRESS,
150 help='The random number generator seed to be set before the processing starts.',
153 master_argument_group.add_argument(
157 default=argparse.SUPPRESS,
159 help='The number of parallel processes to be used for processing.',
162 master_argument_group.add_argument(
163 '--n-events-to-skip',
164 dest='n_events_to_skip',
165 default=argparse.SUPPRESS,
167 help='The number of events to skip',
170 return argument_parser
172 def create_path(self):
173 """Create and configure the basf2 path"""
174 path = super().create_path()
176 if self.random_seed is not None:
177 basf2.set_random_seed(self.random_seed)
179 environment = Belle2.Environment.Instance()
180 environment.setNumberEventsOverride(self.n_events)
182 # If there is no input file is the EventInfoSetter as master module
183 if not self.root_input_file:
184 # Master module: EventInfoSetter
185 path.add_module('EventInfoSetter',
186 evtNumList=[self.n_events],
189 skipNEvents=self.n_events_to_skip
193 # Master module: RootInput
194 path.add_module('RootInput',
195 inputFileName=self.root_input_file,
196 skipNEvents=self.n_events_to_skip)
199 path.add_module('Progress')
202 environment = Belle2.Environment.Instance()
203 environment.setNumberProcessesOverride(self.n_processes)