GENIE-MC / Generator

The popular GENIE Generator product is used by nearly all accelerator neutrino experiments and it plays a key role in the exploitation of neutrino data. The Generator implements a modern software framework and it includes state-of-the-art physics modules. It captures the latest results of the GENIE global analysis of neutrino scattering data and includes several tunes that were produced using the proprietary Comparisons and Tuning products. The GENIE physics model is universal and comprehensive: It handles all neutrinos and targets, and all processes relevant from MeV to PeV energy scales. The Generator includes several tools (flux drivers, detector geometry navigators, specialized event generation apps, event reweighting engines) to simulate complex experimental setups in full detail and to support generator-related analysis tasks.
http://www.genie-mc.org
43 stars 92 forks source link

FATAL GEVGDriver : [n] <GEVGDriver.cxx::CreateXSecSumSpline (455)> : You haven't loaded any splines!! #57

Open PetrilloAtWork opened 5 years ago

PetrilloAtWork commented 5 years ago

My experiment has finally jumped from GENIE v2 to v3. With that, our event generation broke. The story develops with GENIE complaining that

INFO Pythia6Decay : [n] <PythiaDecayer.cxx::InhibitDecay (236)> : Switching OFF ALL decay channels for particle = 4222
INFO Pythia6Decay : [n] <PythiaDecayer.cxx::InhibitDecay (236)> : Switching OFF ALL decay channels for particle = 431
FATAL GEVGDriver : [n] <GEVGDriver.cxx::CreateXSecSumSpline (455)> : You haven't loaded any splines!! 
NOTICE ReinSehgalResTF : [s] <Integrate (106)> : XSec[RES/P33(1232)/free] (Ev = 0.01 GeV) = 0 x 1E-38 cm^2
NOTICE ReinSehgalResTF : [s] <Integrate (106)> : XSec[RES/P33(1232)/free] (Ev = 0.01 GeV) = 0 x 1E-38 cm^2

then would slowly follow to list a number of interactions and energies with zero cross section (as in the last two lines of the excerpt above). Finally, some minutes later Vegas library would give merciful death to the process. It turns out, the Pythia-related messages are there to stay, and the problem is that the cross section spline file does not contain some of the elements that our detector description includes.

My request in this issue is: the error message needs to be clearer than that. As it is, it is just misleading.

candreop commented 5 years ago

Hi Gianluca - not sure I understand why you refer to the PYTHIA printout at all. It is just an INFO level mesg produced at initialisation. Neither GENIE or PYTHIA complains there. The first important mesg is marked as FATAL. It says that no spline was loaded. This is probably factually correct. Given that GENIE uses many GEVGDriver instances, one for each initial state in your setup, the one instance that produced the FATAL mesg could not find any spline (for the initial state it was configured for). Yes, maybe you loaded splines for different initial states, but it doesn’t know how to access those either (because it shouldn’t). What error mesg would you like to see? We can make sure it is printed out. More informative messages are probably there already but are probably filtered out by the message thresholds you used. We provide several Messenger.xml configurations (some more verbose than others) and stream thresholds can be lowered manually too.

PetrilloAtWork commented 5 years ago

Thank you for explaining a bit of what it is happening under the hood. I believe Pythia is likely a red herring there, but I could not be completely sure. When I see that message, I think that no spline at all has been loaded... because literally that's what it says. Is it possible to have the GEVGDriver message mention which initial state it is configured with? I suppose the initial state includes the nucleus, and that would have given me the right hint. While I do not really understand RES/P33(1232)/free, I feel the information about the nature of the nucleus is not there. Or maybe better: is it possible to emit an error message when a spline that is required is not found? I suppose that might be already happening in the messages I don't see. I am accessing GENIE via a wrapper of a wrapper, and I felt discouraged while attempting to figure out how to play along well with the system to adopt a different message configuration. This part is a wrapper issue, not GENIE's.

PetrilloAtWork commented 5 years ago

Excerpt I could get after I finally learned how to change a bit of the verbosity via the wrappers (Thanks Robert!!):

 ---- Creating a GEVGDriver object configured for init-state: nu-pdg:-12;tgt-pdg:1000410930; ----

1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Init (117)> : Initializing unphysical event mask (bits: 15 -> 0) : 1111111111111111
1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::SetEventGeneratorList (351)> : Setting event generator list: Default+CCMEC+NCMEC
1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Configure (156)> : 
**********************************************************************************************************************************************
  Configuring event generation driver for initial state: `nu-pdg:-12;tgt-pdg:1000410930;' using event generator list: `Default+CCMEC+NCMEC'.  
**********************************************************************************************************************************************
1567204796 WARN GEVGDriver : [n] <GEVGDriver.cxx::UseSplines (567)> : *** At least a spline (algorithm: genie::NievesQELCCPXSec/Dipole, interaction: nu:-12;tgt:1000410930;N:2212;proc:Weak[CC],QES; doesn't exist. Reverting back to not using splines
1567204796 NOTICE GMCJDriver : [n] <GMCJDriver.cxx::PopulateEventGenDriverPool (624)> : 

 ---- Creating a GEVGDriver object configured for init-state: nu-pdg:-12;tgt-pdg:1000420960; ----

1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Init (117)> : Initializing unphysical event mask (bits: 15 -> 0) : 1111111111111111
1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::SetEventGeneratorList (351)> : Setting event generator list: Default+CCMEC+NCMEC
1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Configure (156)> : 
**********************************************************************************************************************************************
  Configuring event generation driver for initial state: `nu-pdg:-12;tgt-pdg:1000420960;' using event generator list: `Default+CCMEC+NCMEC'.  
**********************************************************************************************************************************************
1567204796 WARN GEVGDriver : [n] <GEVGDriver.cxx::UseSplines (567)> : *** At least a spline (algorithm: genie::NievesQELCCPXSec/Dipole, interaction: nu:-12;tgt:1000420960;N:2212;proc:Weak[CC],QES; doesn't exist. Reverting back to not using splines
1567204796 NOTICE GMCJDriver : [n] <GMCJDriver.cxx::PopulateEventGenDriverPool (624)> : 

Provided that one has the patience of reading through, these messages are spelling out what is happening and why. So yes, the printout at higher levels is enough.

I would still like a "FATAL" level message to be less misleading, though.

nusense commented 5 years ago

With GENIE v3 tunes you should be simply using "Default" for the EventGeneratorList. The +CCMEC+NCMEC is a v2 precursor to v3 tunes.

On Aug 30, 2019 15:50, Gianluca Petrillo notifications@github.com wrote:

Excerpt I could get after I finally learned how to change a bit of the verbosity via the wrappers (Thanks Robert!!):

---- Creating a GEVGDriver object configured for init-state: nu-pdg:-12;tgt-pdg:1000410930; ----

1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Init (117)> : Initializing unphysical event mask (bits: 15 -> 0) : 1111111111111111 1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::SetEventGeneratorList (351)> : Setting event generator list: Default+CCMEC+NCMEC 1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Configure (156)> :


Configuring event generation driver for initial state: nu-pdg:-12;tgt-pdg:1000410930;' using event generator list:Default+CCMEC+NCMEC'.


1567204796 WARN GEVGDriver : [n] <GEVGDriver.cxx::UseSplines (567)> : *** At least a spline (algorithm: genie::NievesQELCCPXSec/Dipole, interaction: nu:-12;tgt:1000410930;N:2212;proc:Weak[CC],QES; doesn't exist. Reverting back to not using splines 1567204796 NOTICE GMCJDriver : [n] <GMCJDriver.cxx::PopulateEventGenDriverPool (624)> :

---- Creating a GEVGDriver object configured for init-state: nu-pdg:-12;tgt-pdg:1000420960; ----

1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Init (117)> : Initializing unphysical event mask (bits: 15 -> 0) : 1111111111111111 1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::SetEventGeneratorList (351)> : Setting event generator list: Default+CCMEC+NCMEC 1567204796 NOTICE GEVGDriver : [n] <GEVGDriver.cxx::Configure (156)> :


Configuring event generation driver for initial state: nu-pdg:-12;tgt-pdg:1000420960;' using event generator list:Default+CCMEC+NCMEC'.


1567204796 WARN GEVGDriver : [n] <GEVGDriver.cxx::UseSplines (567)> : *** At least a spline (algorithm: genie::NievesQELCCPXSec/Dipole, interaction: nu:-12;tgt:1000420960;N:2212;proc:Weak[CC],QES; doesn't exist. Reverting back to not using splines 1567204796 NOTICE GMCJDriver : [n] <GMCJDriver.cxx::PopulateEventGenDriverPool (624)> :

Provided that one has the patience of reading through, these messages are spelling out what is happening and why. So yes, the printout at higher levels is enough.

I would still like a "FATAL" level message to be less misleading, though.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_GENIE-2DMC_Generator_issues_57-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DABUURYWP7RGWYGRC3K3UKUTQHGP2DA5CNFSM4ISPX5IKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5S6NDY-23issuecomment-2D526771855&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=m-HXyHJ8kCwT6sbzoSlYdcpu3Z4Noqd50sLaf0Gm5RY&m=w-4WdCmZ31HoNXEYonS6ghNrIp_-NoX9b3wKXMnw2ps&s=vxgTXK_iDZharYRA83iC3-INWzwIWm5Eid17Hoxa07w&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ABUURYQNS62NUSDUIWOOTILQHGP2DANCNFSM4ISPX5IA&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=m-HXyHJ8kCwT6sbzoSlYdcpu3Z4Noqd50sLaf0Gm5RY&m=w-4WdCmZ31HoNXEYonS6ghNrIp_-NoX9b3wKXMnw2ps&s=sn6YG0BAXhqBXhHrDuAbcDOuqsTmjkB06zERvLT8sqk&e=.