Opened 14 years ago
Closed 14 years ago
#376 closed defect (fixed)
Scan over varying cuts doesn't work.
Reported by: | kilian | Owned by: | kilian |
---|---|---|---|
Priority: | P2 | Milestone: | v2.0.5 |
Component: | core | Version: | 2.0.3 |
Severity: | normal | Keywords: | |
Cc: |
Description
A construct such as
scan real ptcut = (10, 20, 30) { integrate (foo) { cuts = all Pt > ptcut [...] } }
doesnt' work; the r.h.s. of the cuts assignment is evaluated only once.
(This needs to be checked!)
Change History (8)
comment:1 Changed 14 years ago by
Priority: | P4 → P1 |
---|
comment:2 Changed 14 years ago by
Priority: | P1 → P2 |
---|
comment:3 Changed 14 years ago by
Milestone: | v2.0.4 → v2.0.5 |
---|
comment:4 Changed 14 years ago by
Confirmed this. Take the example:
model = SM process foo = e1, E1 => e2, E2 compile sqrts = 500 GeV scan real ptcut = (200,220,240) { integrate (foo) { cuts = all Pt > ptcut [e2] } }
The values for the cross sections are 215 fb, 164 and 92 fb. Only the first value of the cuts is taken in the scan loop.
comment:5 Changed 14 years ago by
Funnily, this works as intended:
model = SM process foo = e1, E1 => e2, E2 compile sqrts = 500 GeV scan real ptcut = (200,220,240) { cuts = all Pt > ptcut [e2] integrate (foo) }
comment:6 Changed 14 years ago by
Status: | new → assigned |
---|
That was a red herring.
It doesn't matter whether it's a scan or an explicit list, or where the cut assignment is located.
The real point is: in the first run, all is well, but when the results are read from file, the system doesn't notice the change of cuts and just repeats the last result over and over. It's clear why: The expression defining the cuts doesn't change, and this is used for determining whether cuts have changed. The numerical value ptcut is not part of the cut definition.
So, we learn that the MD5sum for cuts has to include the numerical values. It would also be helpful to have tags for individual runs.
comment:7 Changed 14 years ago by
I also recognized that recently that even without a scan changing the cuts is not recognized by WHIZARD and the grids are not redone.
comment:8 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
OK, the immediate fix turned out to be simple. Done in r3112.
Independently, it would be useful to store/retrieve grids for individual runs, not just one per process.
Since this is a possible bug, should be the next one.