Skip to content

IsoPsRefl amplitude optionally reads the beam polarization (eps-vector) direclty from an input tree - #421

Merged
edbarriga merged 11 commits into
masterfrom
ilbelov_3pi_fits
Oct 20, 2026
Merged

edbarriga merged 11 commits into
masterfrom
ilbelov_3pi_fits

Conversation

@iljatt

@iljatt iljatt commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

IsoPsRefl.cc is updated together with the ancillary functions for angles calculation, histogram generation, etc.
Now, the format of eps-vector is implemented, analogously to Zlm.cc.

@iljatt
iljatt requested a review from mashephe October 14, 2026 09:39
@gluex

gluex commented Oct 14, 2026

Copy link
Copy Markdown

Build status for this pull request: FAILURE

Build log: make_ilbelov_3pi_fits.log
Build report: report_ilbelov_3pi_fits.txt

@iljatt
iljatt requested review from mashephe and removed request for mashephe October 14, 2026 09:41
@gluex

gluex commented Oct 14, 2026

Copy link
Copy Markdown

Build status for this pull request: FAILURE

Build log: make_ilbelov_3pi_fits.log
Build report: report_ilbelov_3pi_fits.txt

@gluex

gluex commented Oct 14, 2026

Copy link
Copy Markdown

Build status for this pull request: FAILURE

Build log: make_ilbelov_3pi_fits.log
Build report: report_ilbelov_3pi_fits.txt

@gluex

gluex commented Oct 14, 2026

Copy link
Copy Markdown

Test status for this pull request: SUCCESS

Summary: summary.txt
Logs: results/log

Build log: make_ilbelov_3pi_fits.log
Build report: report_ilbelov_3pi_fits.txt

@edbarriga

Copy link
Copy Markdown
Contributor

Here are my comments for the different files:

decayAngles.cc:
-I looked at how the Zlm.cc file calculates the bigPhi/phiProd (line 124). The calculation for it differs from the one implemented in this code (line 130). Zlm uses the beam P4 in the lab frame, while decayAngles uses the beam P4 (or target) in the CM frame
-I suggest using const type& value to avoid copying the TLorentzVectors and the TVector3. My understanding is that this would increase the function's performance (line 94) [doing the same for other functions in decayAngles.cc would be good too]

Iso_ps_refl.cc
-I suggest closing and deleting the pointer for the TFile manually to prevent memory leaks. Furthermore, the TFile owns the histogram polFrac_vs_E, which is declared in the header file. This means that once the TFile is closed, TH1D* polFrac_vs_E no longer points to a valid address. This can be solved by detaching the histogram from the TFile: m_polFracVsE->SetDirectory(0); . The concern is that the histogram is used later in the code (lines 140-143)
-I would also suggest supplementary comments that give insight into what the arguments beyond the sixth are expected to be. Something short, like it is done in lines 52-58
-The eps vector (line 110) can be moved inside the if statement on line 131. This is because when m_polInTree is false, the eps vector is not used

IsoPsPlotGenerator.cc
-I would strongly encourage that the arguments are parsed in the constructor before the computations. This was done for VecPsPlotGenerator.cc, and it greatly improves the efficiency of the code.
-There might be an error in the parsing. The parsing of arguments in the amplitude input is not the same as the parsing of arguments for the amplitude list. So, could you confirm that beam_polAngle is args[6] as suppose to args[7]?
-The beam X and Y components are forcibly set to 0, but this is done after the beam was used to calculate the prod angle in lines 132 -138. Should the components be 0 before they enter these calculations?

@gluex

gluex commented Oct 19, 2026

Copy link
Copy Markdown

Test status for this pull request: SUCCESS

Summary: summary.txt
Logs: results/log

Build log: make_ilbelov_3pi_fits.log
Build report: report_ilbelov_3pi_fits.txt

@iljatt

iljatt commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor Author

Thank you for the comments, Edmundo. Let me answer them.

decayAngles.cc:
-- Angles calculation here involves the beam P4 in the lab frame. The four-vectors are boosted to the Lab frame, see, for example, [line 66].
-- Now, passing arguments with const type& value is implemented everywhere.

Iso_ps_refl.cc:
-- I have fixed handling memory with closing TFile and detaching the histogram
-- Comments about reading beam polarization parameters are added
-- I left eps-vector next to the beam vector for better readability [line 120].

IsoPsPlotGenerator.cc
-- I recognize benefit from parsing the arguments the constructor before the computations, however let me postpone this optimization to further improvements. I would't be able to work on it and test it now.
-- Yes, I confirm that beam_polAngle is args[6] (and beam_polFraction is args[7], which is not used in the plotGenerator). I checked these parameters explicitly, by printing them out during the program evaluation.
-- Now, the beam X and Y components are forcibly set to 0 prior to further calculation of bigPhi (and all the rest angles) [line 133].

@edbarriga edbarriga left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes and Ilia's comments addressed my suggestions. It is ready to be merge

@edbarriga
edbarriga merged commit 8bf22b3 into master Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants