14 <contact>software-tracking@belle2.org</contact>
15 <output>matching_validation.root</output>
16 <input>EvtGenSim.root</input>
17 <description>This module generates events for the validation using the full tracking with a tabular output.</description>
21 from ROOT
import Belle2
32 Harvester module to extract the information, if a MCTrack was found by the CDC
33 and/or the VXD tracking reconstruction.
40 HarvestingModule.__init__(self, foreach=
"MCRecoTracks", output_file_name=output_file_name)
53 Extract the information.
55 this_best_track_cdc = self.
mc_track_matcher_cdcmc_track_matcher_cdc.getMatchedPRRecoTrack(mc_track)
56 this_best_track_vxd = self.
mc_track_matcher_vxdmc_track_matcher_vxd.getMatchedPRRecoTrack(mc_track)
59 mc_particle = mc_track.getRelated(
"MCParticles")
62 "vxd_was_found": bool(this_best_track_vxd),
63 "cdc_was_found": bool(this_best_track_cdc),
64 "cdc_has_related":
False,
65 "vxd_has_related":
False,
66 "both_related":
False,
69 if this_best_track_vxd
and this_best_track_cdc:
70 return_dict[
"both_related"] = this_best_track_cdc.getRelated(
"VXDRecoTracks") == this_best_track_vxd
72 if this_best_track_vxd:
73 return_dict[
"vxd_has_related"] = bool(this_best_track_vxd.getRelated(
"CDCRecoTracks"))
74 if this_best_track_cdc:
75 return_dict[
"cdc_has_related"] = bool(this_best_track_cdc.getRelated(
"VXDRecoTracks"))
77 return_dict.update(peel_reco_track_hit_content(mc_track))
78 return_dict.update(peel_mc_particle(mc_particle))
80 return_dict.update(dict(
81 is_matched=self.
mc_track_matchermc_track_matcher.isMatchedMCRecoTrack(mc_track),
82 is_merged=self.
mc_track_matchermc_track_matcher.isMergedMCRecoTrack(mc_track),
83 is_missing=self.
mc_track_matchermc_track_matcher.isMissingMCRecoTrack(mc_track),
84 hit_efficiency=self.
mc_track_matchermc_track_matcher.getRelatedEfficiency(mc_track),
87 return_dict.update(dict(
98 save_tree = refiners.SaveTreeRefiner()
102 path = basf2.create_path()
105 path.add_module(
'RootInput', inputFileName=
'../EvtGenSim.root')
106 path.add_module(
"Gearbox")
110 path.add_module(
"FittedTracksStorer", inputRecoTracksStoreArrayName=
"RecoTracks",
111 outputRecoTracksStoreArrayName=
"FittedRecoTracks")
115 "MCRecoTracksMatcher",
119 mcRecoTracksStoreArrayName=
"MCRecoTracks",
120 prRecoTracksStoreArrayName=
"CDCRecoTracks")
122 "MCRecoTracksMatcher",
126 mcRecoTracksStoreArrayName=
"MCRecoTracks",
127 prRecoTracksStoreArrayName=
"SVDRecoTracks")
130 "MCRecoTracksMatcher",
134 mcRecoTracksStoreArrayName=
"MCRecoTracks",
135 prRecoTracksStoreArrayName=
"FittedRecoTracks")
140 path.add_module(
"ProgressBar")
142 print(basf2.statistics)
145 if __name__ ==
"__main__":
Class to provide convenient methods to look up matching information between pattern recognition and M...
mc_track_matcher_vxd
matcher used for the MCTracks from the VXD
mc_track_matcher_cdc
matcher used for the MCTracks from the CDC
fitted_mc_track_matcher
matcher used for the MCTracks from fitted tracks
mc_track_matcher
matcher used for the MCTracks from both
def __init__(self, output_file_name)
def add_tracking_reconstruction(path, components=None, pruneTracks=False, skipGeometryAdding=False, mcTrackFinding=False, trackFitHypotheses=None, reco_tracks="RecoTracks", prune_temporary_tracks=True, fit_tracks=True, use_second_cdc_hits=False, skipHitPreparerAdding=False, use_svd_to_cdc_ckf=True, use_ecl_to_cdc_ckf=False, add_cdcTrack_QI=True, add_vxdTrack_QI=False, add_recoTrack_QI=False)