11# Dummy code to call and cache compilation of all C-bindings
2- # The numeric values doesn 't make sense and are used only to select correct dispatch
2+ # The numeric values don 't make sense and are used only to select correct dispatch
33
4- using JetReconstruction
4+ using JetReconstruction: PseudoJet, RecoStrategy, JetAlgorithm
55using JetReconstruction. C_JetReconstruction: jetreconstruction_PseudoJet_init,
66 C_ClusterSequence,
77 jetreconstruction_ClusterSequence_free_members_,
@@ -10,34 +10,52 @@ using JetReconstruction.C_JetReconstruction: jetreconstruction_PseudoJet_init,
1010 jetreconstruction_jet_reconstruct,
1111 jetreconstruction_inclusive_jets,
1212 jetreconstruction_exclusive_jets_njets,
13- jetreconstruction_exclusive_jets_dcut
13+ jetreconstruction_exclusive_jets_dcut,
14+ StatusCode
1415
15- pseudoJets_len = Csize_t (2 )
16- pseudoJets_ptr = Ptr {PseudoJet} (Libc. malloc (pseudoJets_len * sizeof (PseudoJet)))
16+ function assert_ok (ret_val)
17+ @assert StatusCode. T (ret_val) == StatusCode. OK
18+ end
1719
18- jetreconstruction_PseudoJet_init (pseudoJets_ptr, 0.0 , 1.0 , 2.0 , 3.0 )
19- jetreconstruction_PseudoJet_init (pseudoJets_ptr + sizeof (PseudoJet), 1.0 , 2.0 , 3.0 , 4.0 )
20-
21- strategy = RecoStrategy. Best
22- algorithm = JetAlgorithm. CA
2320R = 2.0
21+ jets_len = Csize_t (2 )
2422
25- clustersequence_ptr = Ptr {C_ClusterSequence{PseudoJet}} (Libc. malloc (sizeof (C_ClusterSequence{PseudoJet})))
26- jetreconstruction_jet_reconstruct (pseudoJets_ptr, pseudoJets_len, algorithm, R,
27- RecoStrategy. Best,
28- clustersequence_ptr)
23+ # ## pp jets ###
2924
25+ jets_ptr = Ptr {PseudoJet} (Libc. malloc (jets_len * sizeof (PseudoJet)))
26+ @assert jets_ptr != C_NULL
27+ clustersequence_ptr = Ptr {C_ClusterSequence{PseudoJet}} (Libc. malloc (sizeof (C_ClusterSequence{PseudoJet})))
28+ @assert clustersequence_ptr != C_NULL
3029results_ptr = Ptr {C_JetsResult{PseudoJet}} (Libc. malloc (sizeof (C_JetsResult{PseudoJet})))
31- jetreconstruction_exclusive_jets_njets (clustersequence_ptr, Csize_t (2 ), results_ptr)
32- jetreconstruction_JetsResult_free_members_ (results_ptr)
33-
34- jetreconstruction_exclusive_jets_dcut (clustersequence_ptr, 1.0 , results_ptr)
35- jetreconstruction_JetsResult_free_members_ (results_ptr)
36-
37- jetreconstruction_inclusive_jets (clustersequence_ptr, 0.0 , results_ptr)
38- jetreconstruction_JetsResult_free_members_ (results_ptr)
39-
40- jetreconstruction_ClusterSequence_free_members_ (clustersequence_ptr)
41- Libc. free (pseudoJets_ptr)
30+ @assert results_ptr != C_NULL
31+
32+ assert_ok (jetreconstruction_PseudoJet_init (jets_ptr, 0.0 , 1.0 , 2.0 , 3.0 ))
33+ assert_ok (jetreconstruction_PseudoJet_init (jets_ptr + sizeof (PseudoJet), 1.0 , 2.0 , 3.0 ,
34+ 4.0 ))
35+
36+ for algorithm in [JetAlgorithm. AntiKt, JetAlgorithm. CA, JetAlgorithm. Kt]
37+ for strategy in [RecoStrategy. N2Plain, RecoStrategy. N2Tiled, RecoStrategy. Best]
38+ assert_ok (jetreconstruction_jet_reconstruct (jets_ptr, jets_len, algorithm, R,
39+ strategy,
40+ clustersequence_ptr))
41+
42+ assert_ok (jetreconstruction_inclusive_jets (clustersequence_ptr, 0.0 , results_ptr))
43+ jetreconstruction_JetsResult_free_members_ (results_ptr)
44+
45+ if algorithm != JetAlgorithm. AntiKt
46+ assert_ok (jetreconstruction_exclusive_jets_njets (clustersequence_ptr,
47+ Csize_t (2 ),
48+ results_ptr))
49+ jetreconstruction_JetsResult_free_members_ (results_ptr)
50+
51+ assert_ok (jetreconstruction_exclusive_jets_dcut (clustersequence_ptr, 1.0 ,
52+ results_ptr))
53+ jetreconstruction_JetsResult_free_members_ (results_ptr)
54+
55+ jetreconstruction_ClusterSequence_free_members_ (clustersequence_ptr)
56+ end
57+ end
58+ end
59+ Libc. free (jets_ptr)
4260Libc. free (clustersequence_ptr)
4361Libc. free (results_ptr)
0 commit comments