Skip to content

Treat computeprop consistently #356

@namapane

Description

@namapane

@pianonick411, we have discussed this in the past, but I'm opening an issue to avoid forgetting this.

The current handling of computeprop in MELAProbHelper.py is inconsistent:

  • The variable <Name>_prop is always created if computeprop==True [here]
  • at filling stage [here], this variable is filled only if Prod==True or Dec==True

I still do not fully understand the logic of when computeprop should be legal - it looks like the elif MELA_computeprop: at L187 is now indented one level too much, because L188 should be executed if MELA_computeprop and MELA_ispm4l - right?

But even in this case, either of the following should happen:

  1. probPropVec[iCand] should be used in both cases if the "nominal" probability variable is relevant in both cases, and the result of getXPropagator is required as an additional variable to it
  2. if the "nominal" probability variable is required only if not ispm4l and would not make sense otherwise, and you decide that it makes more sense to overwrite it with the result of getXPropagator , then the variable <Name>_prop should not be booked at all in this case (it will store a meaningless value otherwise, since it is booked but not filled).
    But I think it would make more sense to always use the same variable for a given quantity, and not to change its meaning based on other flags.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions