With new version we have now also opportunity to generate rectangular part of the squared Dalitz plot with same efficiency.
Shuffle part of the code in EvtThreeBodyPhsp model which went from invariant masses squared to momenta of daughters to avoid duplication of the code and to allow reuse of it in EvtSqDalitz.
Improvement of EvtFlatSqDalitz model
Details
Updated FlatSqDalitz model as well as changes to EvtThreeBodyPhsp were validated using test already in repository or new one added here.
Diff Detail
- Repository
- rEVTGEN evtgen
- Branch
- kreps_FlatSqDalitzTest
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 104 Build 104: arc lint + arc unit
Event Timeline
src/EvtGenModels/EvtFlatSqDalitz.cpp | ||
---|---|---|
97 | Perhaps reduce some of the code here by introducing variables we can reuse and add functions that calculate equivalent expressions: | |
test/evtgenlhc_test1.cc | ||
5785 | Different line tab indentations here (and later on); maybe just a browser viewer issue? | |
5800 | We could reuse variables here to make the expression more easier to read. |
src/EvtGenBase/EvtGenKine.cpp | ||
---|---|---|
361–370 | Have cross-checked all the expressions with LauKinematics and they agree. I think it would be helpful to pre-calculate, e.g. I think also for a small efficiency gain it is better to pre-calculate: Similarly, it should be better to divide by (p1mag * p2mag) rather than do the / p1mag / p2mag. | |
src/EvtGenModels/EvtFlatSqDalitz.cpp | ||
96–108 | Looking at LauKinematics:: updateSqDPMassSquares, this part looks maybe a bit more complicated than it needs to be. | |
test/evtgenlhc_test1.cc | ||
5785 | Looks to be a genuine difference - please run clang-format on all C++ files when preparing the next revision. | |
5800 | Yes, I think this could be simplified along the lines of how c12 is calculated in LauKinematics::calcHelicities |
I did run test after all changes and the distribution is still nicely flat. I think it should be ready to go.
src/EvtGenBase/EvtGenKine.cpp | ||
---|---|---|
361–370 | All should be implemented here. | |
src/EvtGenModels/EvtFlatSqDalitz.cpp | ||
96–108 | I strongly suspect that what I did was basically the same just dumped to a single expression, but I appreciate that it was not very transparent and easy to understand. The new version should fix that. | |
test/evtgenlhc_test1.cc | ||
5800 | I changed to use the same way as is done in Laura++ as it is more transparent compared to the original one. |