13 <contact>software-tracking@belle2.org</contact>
14 <output>matching_validation.root</output>
15 <input>EvtGenSim.root</input>
16 <description>This module generates events for the validation using the full tracking with a tabular output.</description>
20 from ROOT
import Belle2
31 Harvester module to extract the information, if a MCTrack was found by the CDC
32 and/or the VXD tracking reconstruction.
39 HarvestingModule.__init__(self, foreach=
"MCRecoTracks", output_file_name=output_file_name)
52 Extract the information.
54 this_best_track_cdc = self.
mc_track_matcher_cdcmc_track_matcher_cdc.getAnyChargeMatchedPRRecoTrack(mc_track)
55 this_best_track_vxd = self.
mc_track_matcher_vxdmc_track_matcher_vxd.getAnyChargeMatchedPRRecoTrack(mc_track)
58 mc_particle = mc_track.getRelated(
"MCParticles")
61 "vxd_was_found": bool(this_best_track_vxd),
62 "cdc_was_found": bool(this_best_track_cdc),
63 "cdc_has_related":
False,
64 "vxd_has_related":
False,
65 "both_related":
False,
68 if this_best_track_vxd
and this_best_track_cdc:
69 return_dict[
"both_related"] = this_best_track_cdc.getRelated(
"VXDRecoTracks") == this_best_track_vxd
71 if this_best_track_vxd:
72 return_dict[
"vxd_has_related"] = bool(this_best_track_vxd.getRelated(
"CDCRecoTracks"))
73 if this_best_track_cdc:
74 return_dict[
"cdc_has_related"] = bool(this_best_track_cdc.getRelated(
"VXDRecoTracks"))
76 return_dict.update(peel_reco_track_hit_content(mc_track))
77 return_dict.update(peel_mc_particle(mc_particle))
79 return_dict.update(dict(
80 is_matched=self.
mc_track_matchermc_track_matcher.isAnyChargeMatchedMCRecoTrack(mc_track),
81 is_merged=self.
mc_track_matchermc_track_matcher.isAnyChargeMergedMCRecoTrack(mc_track),
82 is_missing=self.
mc_track_matchermc_track_matcher.isMissingMCRecoTrack(mc_track),
83 hit_efficiency=self.
mc_track_matchermc_track_matcher.getRelatedEfficiency(mc_track),
86 return_dict.update(dict(
97 save_tree = refiners.SaveTreeRefiner()
101 path = basf2.create_path()
104 path.add_module(
'RootInput', inputFileName=
'../EvtGenSim.root')
105 path.add_module(
"Gearbox")
108 tracking.add_tracking_reconstruction(path, prune_temporary_tracks=
False, components=[
"SVD",
"CDC"])
109 path.add_module(
"FittedTracksStorer", inputRecoTracksStoreArrayName=
"RecoTracks",
110 outputRecoTracksStoreArrayName=
"FittedRecoTracks")
114 "MCRecoTracksMatcher",
118 mcRecoTracksStoreArrayName=
"MCRecoTracks",
119 prRecoTracksStoreArrayName=
"CDCRecoTracks")
121 "MCRecoTracksMatcher",
125 mcRecoTracksStoreArrayName=
"MCRecoTracks",
126 prRecoTracksStoreArrayName=
"SVDRecoTracks")
129 "MCRecoTracksMatcher",
133 mcRecoTracksStoreArrayName=
"MCRecoTracks",
134 prRecoTracksStoreArrayName=
"FittedRecoTracks")
139 path.add_module(
"ProgressBar")
141 print(basf2.statistics)
144 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)