#145 closed enhancement (fixed)
Overweighting: Use ME event multiple times
Reported by: | Frank Siegert | Owned by: | Stefan Hoeche |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Unknown | Version: | 0.trunk |
Keywords: | Cc: |
Description
Instead of applying a weight>1 to an overweighted event, rather shower+hadronise the same ME event multiple times (and hit-or-miss the remaining fractional weight).
Attachments (0)
Change History (7)
comment:1 Changed 14 years ago by
Type: | defect → enhancement |
---|
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
This feature is implemented on trunk r17150. An additional event generation mode, called "PartiallyUnweighted" was added, which keeps the overweight as an additional factor in the event weight. Note that additional events from overweight have number of trials zero. This is _NOT_ a mistake! It is needed to restore the total cross section.
comment:4 Changed 14 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
The related commit in r17157 contains the following diff which breaks ME+PS (huge cut variations, even inclusive XS of Z+0,1,2 jets is suddenly >10% off, ... very clearly visible in benchmark):
Index: PHASIC++/Process/Single_Process.C =================================================================== --- PHASIC++/Process/Single_Process.C (revision 17156) +++ PHASIC++/Process/Single_Process.C (revision 17157) @@ -257,17 +257,11 @@ if (ampls.size()>2) THROW(fatal_error,"Invalid number of amplitudes"); if (p_int->InSwaped()) { - Cluster_Amplitude *ampl(ampls.back()); - if (ampls.size()>1) ampls.front()->Delete(); - ampls.clear(); msg_Debugging()<<"select 2nd.\n"; - return ampl; + return ampls.back()->Copy(); } - Cluster_Amplitude *ampl(ampls.front()); - if (ampls.size()>1) ampls.back()->Delete(); - ampls.clear(); msg_Debugging()<<"select 1st.\n"; - return ampl; + return ampls.front()->Copy(); } } PDF::Cluster_Definitions_Base* cd=p_shower->GetClusterDefinitions();
The problem goes away when reverting this change, but assuming that the commit was made for a reason, I tried to fix it with a combination of old and new, but have failed so far (crashes during integration from CoreScale). Stefan, can you take a look?
comment:5 Changed 14 years ago by
Owner: | changed from Frank Krauss to Stefan Hoeche |
---|---|
Status: | reopened → new |
comment:6 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
This should be fixed on trunk r17188. Thanks a lot Frank, for finding the problem.
make it switchable to keep Stefan's DIS friends happy.