Skip to content

Bugfix for HA2018 and HA2025 Pion Absorption#503

Open
mking99456 wants to merge 2 commits into
GENIE-MC:masterfrom
mking99456:GENIE-MC_bugfix_mking_pionabs
Open

Bugfix for HA2018 and HA2025 Pion Absorption#503
mking99456 wants to merge 2 commits into
GENIE-MC:masterfrom
mking99456:GENIE-MC_bugfix_mking_pionabs

Conversation

@mking99456

Copy link
Copy Markdown

Bugfix: For pion absorption in HA2018 and HA2025, I add the pion mass to the final state energy budget for the multinucleon absorption mechanism.

…state energy budget for the multinucleon absorption mechanism

@nusense nusense left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

No review here about the physics, just a couple of comments about the code implementation.

double probKE = p->P4()->E() -probM;
double clusKE = probKE * (1./5.);
double probEAvail;
if ( pdgc==kPdgPiP || pdgc==kPdgPi0 || pdgc==kPdgPiM) probEAvail = p->P4()->E() + BE_correction_per_nucleon*5; //pion probe -- includes mass, BE correction for 4 nucleons

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You might consider the use of genie::pdg::IsPion(pgdc) from Framework/ParticleData/PDGUtils.h here and elsewhere.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Good call -- I'll update that

TLorentzVector clusP4(pP3,clusKE); //no mass
double BE_correction_per_nucleon = .005; //GeV
probM -= BE_correction_per_nucleon*5; // BE correction
TVector3 pP3 = p->P4()->Vect() * (1./5.);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The indent for this line seems borked. Potentially due to use of tabs perhaps.

if ( pdgc==kPdgPiP || pdgc==kPdgPi0 || pdgc==kPdgPiM) probEAvail = p->P4()->E() + probBE; //pion probe -- includes mass, BE correction for 4 nucleons
else probEAvail = p->P4()->E() - (probM - probBE); //proton or neutron probe -- does not include mass
double clusKE = probEAvail; // + np*0.9383 + nn*.9396;
TLorentzVector clusP4(pP3,clusKE); //no mass is correct

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Another weird indent. Also you might want to re-word "no mass is correct" -- I assume it means "using no mass here is correct"

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I'll go in and fix the indents. I can update the comment, but I will note that for my bugfix, I did not change the line with the comment as written (I think I only changed the indentation on that line by accident).

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.

2 participants