7 @peelers.format_crop_keys
8 def peel_segment2d(segment, key="{part_name}"):
9 superlayer_id = segment.getISuperLayer()
11 supercluster_id = segment.getISuperCluster()
13 trajectory2d = segment.getTrajectory2D()
14 trajectory2d_crops = peel_trajectory2d(trajectory2d, key=
"{part_name}")
18 superlayer_id=superlayer_id,
19 supercluster_id=supercluster_id,
20 stereo_kind=segment.getStereoKind(),
23 crops.update(trajectory2d_crops)
27 @peelers.format_crop_keys
28 def peel_trajectory2d(trajectory2d, key="{part_name}"):
29 chi2 = trajectory2d.getChi2()
30 ndf = trajectory2d.getNDF()
31 is_fitted = trajectory2d.isFitted()
34 curvature_estimate = trajectory2d.getCurvature()
35 curvature_variance = trajectory2d.getLocalVariance(i_curv)
41 p_value=prob(chi2, ndf),
42 curvature_estimate=curvature_estimate,
43 curvature_variance=curvature_variance,
47 @peelers.format_crop_keys
48 def peel_trajectory3d(trajectory3d, key="{part_name}"):
52 curvature_estimate = trajectory3d.getCurvatureXY()
53 curvature_variance = trajectory3d.getLocalVariance(i_curv)
55 tan_lambda_estimate = trajectory3d.getTanLambda()
56 tan_lambda_variance = trajectory3d.getLocalVariance(i_tan_lambda)
58 chi2 = trajectory3d.getChi2()
59 ndf = trajectory3d.getNDF()
64 p_value=prob(chi2, ndf),
65 curvature_estimate=curvature_estimate,
66 curvature_variance=curvature_variance,
67 tan_lambda_estimate=tan_lambda_estimate,
68 tan_lambda_variance=tan_lambda_variance,
72 @peelers.format_crop_keys
73 def peel_segment_pair(segment_pair, key="{part_name}"):
74 from_segment = segment_pair.getFromSegment()
75 to_segment = segment_pair.getToSegment()
77 from_segment_crops = peel_segment2d(from_segment, key=
"from_{part_name}")
78 to_segment_crops = peel_segment2d(to_segment, key=
"to_{part_name}")
80 sorted_superlayer_ids = sorted([from_segment_crops[
"from_superlayer_id"],
81 to_segment_crops[
"to_superlayer_id"]])
83 superlayer_id_pair = 10.0 * sorted_superlayer_ids[1] + sorted_superlayer_ids[0]
85 trajectory3d = segment_pair.getTrajectory3D()
86 trajectory3d_crops = peel_trajectory3d(trajectory3d, key=
"{part_name}")
89 superlayer_id_pair=superlayer_id_pair
92 crops.update(from_segment_crops)
93 crops.update(to_segment_crops)
94 crops.update(trajectory3d_crops)