Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
ffd067f
feat: support for clas12root `clas12reader`
c-dilks Aug 31, 2025
599c3c1
feat: map creator algorithm to its created bank name
c-dilks Sep 3, 2025
1cb5cb8
feat: some improvements
c-dilks Sep 4, 2025
99101ff
fix: undefined reference to `iguana::AlgorithmFactory::s_algo_to_banks`
c-dilks Sep 5, 2025
aa284fc
feat: `iguana_ex_cpp_00_run_functions_with_banks`
c-dilks Sep 5, 2025
649b8cd
feat: more `Run` functions
c-dilks Sep 5, 2025
d31ff3f
feat: another run function
c-dilks Sep 5, 2025
85886bc
feat: `Run` functions return `bool` as event-level filter
c-dilks Sep 11, 2025
6e61955
fix: bank name
c-dilks Sep 11, 2025
3f4d81f
fix: make it easier to get created bank names from `AlgorithmSequence`
c-dilks Sep 11, 2025
d23bd92
feat: more `Run` functions
c-dilks Sep 12, 2025
438f671
feat: done with `clas12::`'s `Run` functions
c-dilks Sep 12, 2025
c3ff3b5
feat: done with all the `Run` functions
c-dilks Sep 13, 2025
94eeb73
doc: update algorithm docstrings
c-dilks Sep 17, 2025
5b21ed8
doc: better run function docstrings
c-dilks Sep 18, 2025
edece9a
doc: link to run functions in brief
c-dilks Sep 18, 2025
2ed9124
fix: update `RGAFiducialFilter`
c-dilks Oct 15, 2025
126b366
fix: implement useful `Run` function return values
c-dilks Oct 16, 2025
4fd0dd3
doc: reference for `RGAFiducialFilter`
c-dilks Oct 16, 2025
be150f5
fix: captures are actually needed
c-dilks Oct 16, 2025
b5f3a10
doc!: make created-bank tables, so users don't have to understand JSON
c-dilks Oct 16, 2025
65314a8
doc: usage flowchart
c-dilks Oct 17, 2025
a0e84a8
doc: various improvements
c-dilks Oct 17, 2025
f7addd1
fix: do not apply momentum corrections for unknown sector (#373)
c-dilks Oct 20, 2025
2db0e60
doc: clarify `GetCreatedBank` purpose
c-dilks Oct 20, 2025
a566ca5
fix: docstrings reversed
c-dilks Oct 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,9 @@ jobs:
- name: test example iguana_ex_cpp_00_run_functions.cc
run: stdbuf -o0 iguana_ex_cpp_00_run_functions test_data.hipo ${{ env.num_events }} | tee equivalence.00.cpp.txt
if: ${{ matrix.id == 'cpp' || matrix.id == 'python' }}
- name: test example iguana_ex_cpp_00_run_functions_with_banks.cc
run: stdbuf -o0 iguana_ex_cpp_00_run_functions_with_banks test_data.hipo ${{ env.num_events }}
if: ${{ matrix.id == 'cpp' || matrix.id == 'python' }}
- name: test example iguana_ex_cpp_01_action_functions.cc
run: stdbuf -o0 iguana_ex_cpp_01_action_functions test_data.hipo ${{ env.num_events }} | tee equivalence.01.cpp.txt
if: ${{ matrix.id == 'cpp' || matrix.id == 'python' }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ chameleon-tree
# overrides
!doc/gen/logo.png
!doc/gen/logo_small.png
!doc/gen/mermaid/*.png

# misc. artifacts
.DS_Store
Expand Down
5 changes: 4 additions & 1 deletion bind/python/iguana_ex_python_00_run_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,14 @@
# start the algorithms
seq.Start(banks)

# get the name of newly created banks (if you don't want to look them up in the documentation)
sector_finder_bank_name = seq.GetCreatedBankName("clas12::SectorFinder");

# get bank index, for each bank we want to use after Iguana algorithms run
# NOTE: new banks from creator algorithms are initialized by `Start`
b_config = hipo.getBanklistIndex(banks, 'RUN::config')
b_particle = hipo.getBanklistIndex(banks, 'REC::Particle')
b_sector = hipo.getBanklistIndex(banks, 'REC::Particle::Sector') # new created bank
b_sector = hipo.getBanklistIndex(banks, sector_finder_bank_name) # new created bank

# run the algorithm sequence on each event
iEvent = 0
Expand Down
25 changes: 15 additions & 10 deletions doc/gen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -285,14 +285,18 @@ TAB_SIZE = 4

ALIASES =
# algorithm properties
ALIASES += brief_algo="@brief **%Algorithm:** "
ALIASES += begin_doc_algo{2|}="\par %Algorithm Name:^^&emsp;&emsp;&emsp;`%\1`\xrefitem algo \"Algorithm Type:\" \"List of all Algorithms\" \2 \par %Algorithm Inputs and Outputs:^^<table>"
ALIASES += input_banks{1}="<tr><td>**Input Banks**</td><td>`\1`</td></tr>"
ALIASES += output_banks{1}="<tr><td>**Output Banks**</td><td>`\1`</td></tr>"
ALIASES += end_doc="</table>"
ALIASES += algo_brief{1}="@brief **%Algorithm:** \1^^@xrefitem algo \"\" \"List of Algorithms\" \1^^@link_to_run_ftn"
ALIASES += algo_type_filter="@par Type: Filter^^This algorithm will filter input bank(s).^^"
ALIASES += algo_type_transformer="@par Type: Transformer^^This algorithm will change values within input bank(s).^^"
ALIASES += algo_type_creator="@par Type: Creator^^^^- This algorithm creates new bank(s); \ref created_banks \"click here for a description of all created banks\".^^- See also the return value type of this algorithm's action functions, which may be `struct`s with the same set of variables as the created bank.^^^^"
# configuration options
ALIASES += begin_doc_config{1}="\par Configuration Options:^^YAML configuration, which includes the default option values:^^@include \1/Config.yaml ^^Table of options and descriptions:^^<table><tr><th>Name</th><th>Type</th><th>Description</th></tr>"
ALIASES += config_param{3|}="<tr><td>`\1`</td><td>`\2`</td><td>\3</td></tr>"
ALIASES += end_doc="</table>^^"
# run functions
ALIASES += run_function="@brief **Run Function:** Process an event's `hipo::bank` objects^^^^The parameter list explains which banks are input (\"in\"), output (\"out\"), or both (\"in,out\").^^"
ALIASES += link_to_run_ftn="@par Input and Output Banks:^^See @link ::Run `Run` function(s) for the banks @endlink that are processed by this algorithm.^^"
ALIASES += run_function_returns_true="@returns `true`, _i.e._, this `%Run` function does not provide an event-level filter"
# action functions
ALIASES += action_function{1}="\xrefitem action \"Function Type\" \"List of all Action Functions\" \1 \brief **Action Function:** "
ALIASES += when_to_call{1}="@note This function should be called **\1**"
Expand All @@ -307,7 +311,6 @@ ALIASES += doxygen_on="@endcond"
ALIASES += latex{1}="@f$\1@f$"
# misc
ALIASES += spacer="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
ALIASES += creator_note="This algorithm creates a new bank and its definition is found within the \link src/iguana/bankdefs/iguana.json **Iguana Bank Definitions JSON File** \endlink<ul><li>For guidance on how to read this JSON file, [see documentation on created banks](#mainpageCreatedBanks).</li><li>See also the return value type of this algorithm's action functions, which may be `struct`s with the same set of variables as the created bank.</li></ul>"

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
Expand Down Expand Up @@ -713,7 +716,7 @@ SORT_MEMBER_DOCS = YES
# this will also influence the order of the classes in the class list.
# The default value is: NO.

SORT_BRIEF_DOCS = NO
SORT_BRIEF_DOCS = YES

# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
Expand All @@ -732,7 +735,7 @@ SORT_MEMBERS_CTORS_1ST = NO
# appear in their defined order.
# The default value is: NO.

SORT_GROUP_NAMES = NO
SORT_GROUP_NAMES = YES

# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
# fully-qualified names, including namespaces. If set to NO, the class list will
Expand Down Expand Up @@ -970,6 +973,7 @@ WARN_LOGFILE =
INPUT = @top_srcdir@/src/ \
@top_builddir@/src/iguana/algorithms \
@top_builddir@/src/iguana/bankdefs \
@top_builddir@/src/iguana/bankdefs/BankDefs.md \
@top_srcdir@/bind/ \
@top_srcdir@/doc/gen/ \
@top_srcdir@/doc/gen/mainpage.md \
Expand Down Expand Up @@ -1086,7 +1090,8 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).

IMAGE_PATH = @top_srcdir@/doc/gen/logo.png
IMAGE_PATH = @top_srcdir@/doc/gen/logo.png \
@top_srcdir@/doc/gen/mermaid/flowchart_usage.png

# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
Expand Down Expand Up @@ -2545,7 +2550,7 @@ COLLABORATION_GRAPH = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.

GROUP_GRAPHS = YES
GROUP_GRAPHS = NO

# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
Expand Down
Loading