Belle II Software development
HarvestingValidationBaseTask Class Reference
Inheritance diagram for HarvestingValidationBaseTask:
CDCQEHarvestingValidationTask RecoTrackQEHarvestingValidationTask VXDQEHarvestingValidationTask

Public Member Functions

TrackQETeacherBaseTask teacher_task (self)
 
None add_tracking_with_quality_estimation (self, basf2.Path path)
 
def requires (self)
 
def output (self)
 
def create_path (self)
 

Static Public Attributes

b2luigi n_events_testing = b2luigi.IntParameter()
 Number of events to generate for the test data set.
 
b2luigi n_events_training = b2luigi.IntParameter()
 Number of events to generate for the training data set.
 
b2luigi experiment_number = b2luigi.IntParameter()
 Experiment number of the conditions database, e.g.
 
b2luigi process_type
 Define which kind of process shall be used.
 
b2luigi exclude_variables
 List of collected variables to not use in the training of the QE MVA classifier.
 
b2luigi fast_bdt_option
 Hyperparameter option of the FastBDT algorithm.
 
str validation_output_file_name = "harvesting_validation.root"
 Name of the "harvested" ROOT output file with variables that can be used for validation.
 
str reco_output_file_name = "reconstruction.root"
 Name of the output of the RootOutput module with reconstructed events.
 
None components = None
 Components for the MC matching and track fit creation.
 

Detailed Description

Run track reconstruction with MVA quality estimator and write out
(="harvest") a root file with variables useful for the validation.

Definition at line 1411 of file combined_quality_estimator_teacher.py.

Member Function Documentation

◆ add_tracking_with_quality_estimation()

None add_tracking_with_quality_estimation (   self,
basf2.Path  path 
)
Add modules for track reconstruction to basf2 path that are to be
validated.  Besides track finding it should include MC matching, fitted
track creation and a quality estimator module.

Reimplemented in VXDQEHarvestingValidationTask, CDCQEHarvestingValidationTask, and RecoTrackQEHarvestingValidationTask.

Definition at line 1458 of file combined_quality_estimator_teacher.py.

1458 def add_tracking_with_quality_estimation(self, path: basf2.Path) -> None:
1459 """
1460 Add modules for track reconstruction to basf2 path that are to be
1461 validated. Besides track finding it should include MC matching, fitted
1462 track creation and a quality estimator module.
1463 """
1464 raise NotImplementedError()
1465

◆ create_path()

def create_path (   self)
Create a basf2 path that uses ``add_tracking_with_quality_estimation()``
and adds the ``CombinedTrackingValidationModule`` to write out variables
for validation.

Definition at line 1501 of file combined_quality_estimator_teacher.py.

1501 def create_path(self):
1502 """
1503 Create a basf2 path that uses ``add_tracking_with_quality_estimation()``
1504 and adds the ``CombinedTrackingValidationModule`` to write out variables
1505 for validation.
1506 """
1507 # prepare track finding
1508 path = basf2.create_path()
1509 if 'USE' in self.process_type:
1510 if 'BB' in self.process_type:
1511 process = 'BBBAR'
1512 elif 'EE' in self.process_type:
1513 process = 'BHABHA'
1514 inputFileNames = ['datafiles/generated_mc_N' + str(self.n_events_testing) + '_' + process + '_test.root']
1515 else:
1516 inputFileNames = self.get_input_file_names(GenerateSimTask.output_file_name(
1517 GenerateSimTask, n_events=self.n_events_testing, random_seed=self.process_type + '_test'))
1518 path.add_module(
1519 "RootInput",
1520 inputFileNames=inputFileNames,
1521 )
1522 path.add_module("Gearbox")
1523 tracking.add_geometry_modules(path)
1524 tracking.add_hit_preparation_modules(path) # only needed for simulated hits
1525 # add track finding module that needs to be validated
1526 self.add_tracking_with_quality_estimation(path)
1527 # add modules for validation
1528 path.add_module(
1529 CombinedTrackingValidationModule(
1530 name=None,
1531 contact=None,
1532 expert_level=200,
1533 output_file_name=self.get_output_file_name(
1534 self.validation_output_file_name
1535 ),
1536 )
1537 )
1538 path.add_module(
1539 "RootOutput",
1540 outputFileName=self.get_output_file_name(self.reco_output_file_name),
1541 )
1542 return path
1543
1544

◆ output()

def output (   self)
Generate list of output files that the task should produce.
The task is considered finished if and only if the outputs all exist.

Definition at line 1493 of file combined_quality_estimator_teacher.py.

1493 def output(self):
1494 """
1495 Generate list of output files that the task should produce.
1496 The task is considered finished if and only if the outputs all exist.
1497 """
1498 yield self.add_to_output(self.validation_output_file_name)
1499 yield self.add_to_output(self.reco_output_file_name)
1500

◆ requires()

def requires (   self)
Generate list of luigi Tasks that this Task depends on.

Reimplemented in CDCQEHarvestingValidationTask, and RecoTrackQEHarvestingValidationTask.

Definition at line 1466 of file combined_quality_estimator_teacher.py.

1466 def requires(self):
1467 """
1468 Generate list of luigi Tasks that this Task depends on.
1469 """
1470 yield self.teacher_task(
1471 n_events_training=self.n_events_training,
1472 experiment_number=self.experiment_number,
1473 process_type=self.process_type,
1474 exclude_variables=self.exclude_variables,
1475 fast_bdt_option=self.fast_bdt_option,
1476 )
1477 if 'USE' in self.process_type: # USESIM and USEREC
1478 if 'BB' in self.process_type:
1479 process = 'BBBAR'
1480 elif 'EE' in self.process_type:
1481 process = 'BHABHA'
1482 yield CheckExistingFile(
1483 filename='datafiles/generated_mc_N' + str(self.n_events_testing) + '_' + process + '_test.root'
1484 )
1485 else:
1486 yield SplitNMergeSimTask(
1487 bkgfiles_dir=MasterTask.bkgfiles_by_exp[self.experiment_number],
1488 random_seed=self.process_type + '_test',
1489 n_events=self.n_events_testing,
1490 experiment_number=self.experiment_number,
1491 )
1492

◆ teacher_task()

TrackQETeacherBaseTask teacher_task (   self)
Teacher task to require to provide a quality estimator weightfile for ``add_tracking_with_quality_estimation``

Definition at line 1452 of file combined_quality_estimator_teacher.py.

1452 def teacher_task(self) -> TrackQETeacherBaseTask:
1453 """
1454 Teacher task to require to provide a quality estimator weightfile for ``add_tracking_with_quality_estimation``
1455 """
1456 raise NotImplementedError()
1457

Member Data Documentation

◆ components

None components = None
static

Components for the MC matching and track fit creation.

Definition at line 1449 of file combined_quality_estimator_teacher.py.

◆ exclude_variables

b2luigi exclude_variables
static
Initial value:
= b2luigi.ListParameter(
)

List of collected variables to not use in the training of the QE MVA classifier.

In addition to variables containing the "truth" substring, which are excluded by default.

Definition at line 1433 of file combined_quality_estimator_teacher.py.

◆ experiment_number

b2luigi experiment_number = b2luigi.IntParameter()
static

Experiment number of the conditions database, e.g.

defines simulation geometry

Definition at line 1422 of file combined_quality_estimator_teacher.py.

◆ fast_bdt_option

b2luigi fast_bdt_option
static
Initial value:
= b2luigi.ListParameter(
)

Hyperparameter option of the FastBDT algorithm.

default are the FastBDT default values.

Definition at line 1439 of file combined_quality_estimator_teacher.py.

◆ n_events_testing

b2luigi n_events_testing = b2luigi.IntParameter()
static

Number of events to generate for the test data set.

Definition at line 1418 of file combined_quality_estimator_teacher.py.

◆ n_events_training

b2luigi n_events_training = b2luigi.IntParameter()
static

Number of events to generate for the training data set.

Definition at line 1420 of file combined_quality_estimator_teacher.py.

◆ process_type

b2luigi process_type
static
Initial value:
= b2luigi.Parameter(
)

Define which kind of process shall be used.

Decide between simulating BBBAR or BHABHA, MUMU, YY, DDBAR, UUBAR, SSBAR, CCBAR, reconstructing DATA or already simulated files (USESIMBB/EE) or running on existing reconstructed files (USERECBB/EE)

Definition at line 1426 of file combined_quality_estimator_teacher.py.

◆ reco_output_file_name

str reco_output_file_name = "reconstruction.root"
static

Name of the output of the RootOutput module with reconstructed events.

Definition at line 1447 of file combined_quality_estimator_teacher.py.

◆ validation_output_file_name

str validation_output_file_name = "harvesting_validation.root"
static

Name of the "harvested" ROOT output file with variables that can be used for validation.

Definition at line 1445 of file combined_quality_estimator_teacher.py.


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