1015 def create_optimisation_and_validation_path(self):
1016 """
1017 Create a path to validate the trained filters.
1018 """
1019 path = basf2.create_path()
1020
1021
1022 file_list = [fname for fname in self.get_all_input_file_names()
1023 if "generated_mc_N" in fname and "optimisation" in fname and fname.endswith(".root")]
1024 path.add_module("RootInput", inputFileNames=file_list)
1025
1026 path.add_module("Gearbox")
1027 path.add_module("Geometry")
1028 path.add_module("SetupGenfitExtrapolation")
1029
1030 add_hit_preparation_modules(path, components=["SVD"])
1031
1032 add_track_finding(path, reco_tracks="CDCRecoTracks", components=["CDC"], prune_temporary_tracks=False)
1033
1034 fbdt_state_filter_string = create_fbdt_option_string(self.fast_bdt_option_state_filter)
1035 fbdt_result_filter_string = create_fbdt_option_string(self.fast_bdt_option_result_filter)
1036
1037
1038 iov = [0, 0, 0, -1]
1040 f"trk_CDCToSVDSpacePointStateFilter_1_Parameter{fbdt_state_filter_string}",
1041 iov,
1042 f"trk_CDCToSVDSpacePointStateFilter_1{fbdt_state_filter_string}",
1043 self.state_filter_cut)
1044
1046 f"trk_CDCToSVDSpacePointStateFilter_2_Parameter{fbdt_state_filter_string}",
1047 iov,
1048 f"trk_CDCToSVDSpacePointStateFilter_2{fbdt_state_filter_string}",
1049 self.state_filter_cut)
1050
1052 f"trk_CDCToSVDSpacePointStateFilter_3_Parameter{fbdt_state_filter_string}",
1053 iov,
1054 f"trk_CDCToSVDSpacePointStateFilter_3{fbdt_state_filter_string}",
1055 self.state_filter_cut)
1056
1058 f"trk_CDCToSVDSpacePointResultFilter_Parameter{fbdt_result_filter_string}",
1059 iov,
1060 f"trk_CDCToSVDSpacePointResultFilter{fbdt_result_filter_string}",
1061 self.result_filter_cut)
1062
1063 basf2.conditions.prepend_testing_payloads("localdb/database.txt")
1064 first_high_filter_parameters = {"DBPayloadName": f"trk_CDCToSVDSpacePointStateFilter_1_Parameter{fbdt_state_filter_string}",
1065 "direction": "backward"}
1066 second_high_filter_parameters = {
1067 "DBPayloadName": f"trk_CDCToSVDSpacePointStateFilter_2_Parameter{fbdt_state_filter_string}"}
1068 third_high_filter_parameters = {"DBPayloadName": f"trk_CDCToSVDSpacePointStateFilter_3_Parameter{fbdt_state_filter_string}"}
1069 filter_parameters = {"DBPayloadName": f"trk_CDCToSVDSpacePointResultFilter_Parameter{fbdt_result_filter_string}"}
1070
1071 path.add_module("CDCToSVDSpacePointCKF",
1072
1073 inputRecoTrackStoreArrayName="CDCRecoTracks",
1074 outputRecoTrackStoreArrayName="VXDRecoTracks",
1075 outputRelationRecoTrackStoreArrayName="CDCRecoTracks",
1076
1077 relationCheckForDirection="backward",
1078 reverseSeed=False,
1079 writeOutDirection="backward",
1080
1081 firstHighFilter="mva_with_direction_check",
1082 firstHighFilterParameters=first_high_filter_parameters,
1083 firstHighUseNStates=self.use_n_best_states,
1084
1085 advanceHighFilter="advance",
1086 advanceHighFilterParameters={"direction": "backward"},
1087
1088 secondHighFilter="mva",
1089 secondHighFilterParameters=second_high_filter_parameters,
1090 secondHighUseNStates=self.use_n_best_states,
1091
1092 updateHighFilter="fit",
1093
1094 thirdHighFilter="mva",
1095 thirdHighFilterParameters=third_high_filter_parameters,
1096 thirdHighUseNStates=self.use_n_best_states,
1097
1098 filter="mva",
1099 filterParameters=filter_parameters,
1100 useBestNInSeed=self.use_n_best_results,
1101
1102 exportTracks=True,
1103 enableOverlapResolving=True)
1104
1105 path.add_module('RelatedTracksCombiner',
1106 VXDRecoTracksStoreArrayName="VXDRecoTracks",
1107 CDCRecoTracksStoreArrayName="CDCRecoTracks",
1108 recoTracksStoreArrayName="RecoTracks")
1109
1110 path.add_module('TrackFinderMCTruthRecoTracks',
1111 RecoTracksStoreArrayName="MCRecoTracks",
1112 WhichParticles=[],
1113 UsePXDHits=True,
1114 UseSVDHits=True,
1115 UseCDCHits=True)
1116
1117 path.add_module("MCRecoTracksMatcher", UsePXDHits=False, UseSVDHits=True, UseCDCHits=True,
1118 mcRecoTracksStoreArrayName="MCRecoTracks",
1119 prRecoTracksStoreArrayName="RecoTracks")
1120
1121 path.add_module(
1122 CombinedTrackingValidationModule(
1123 output_file_name=self.get_output_file_name(
1124 f"cdc_to_svd_spacepoint_ckf_validation{fbdt_state_filter_string}{fbdt_result_filter_string}.root"),
1125 reco_tracks_name="RecoTracks",
1126 mc_reco_tracks_name="MCRecoTracks",
1127 name="",
1128 contact="",
1129 expert_level=200))
1130
1131 return path
1132