Could be a good idea actually. He seems to know the code inside out, he is very capable technically, and he is not snubbing small tasks.
If that group could be lured to take more active role in GENIE, I have no doubt they could make substantial contribution with some of the
more complex new model development work, or the comparisons. Theorists who can code efficiently in C++. Exactly what we miss!
cheers
C.
> In the meantime, we should just go ahead and invite Igor to join GENIE. He seems like a really useful and passionate user of the code. I'm only sort of half joking here...
>
> pax
> Gabe
>
>> On Feb 16, 2017, at 06:49, Costas Andreopoulos <[log in to unmask]> wrote:
>>
>> Hi GENIE
>>
>> Please see below. The first seems particularly severe, and probably explains some oddities we
>> saw when we used the configuration with the Nieves model to compare with bubble chamber data.
>>
>> cheers
>> C
>>
>> Begin forwarded message:
>>
>> From: Игорь Какорин <[log in to unmask]<mailto:[log in to unmask]>>
>> Subject: Re: CC QEL Double differential cross sections
>> Date: 12 February 2017 at 20:56:15 GMT
>> To: "Roda, Marco" <[log in to unmask]<mailto:[log in to unmask]>>
>> Cc: "[log in to unmask]<mailto:[log in to unmask]>" <[log in to unmask]<mailto:[log in to unmask]>>
>>
>> Hello Costas and Marco,
>>
>> I would like to report you about some bugs in Nieves models.
>> The first and the most important bug is that NievesQELCC can't generate event "antineutrino on hydrogen", because of the condition in the line 141 of the file QELEventGenerator.cxx:
>> 140 // Skip if not a nuclear target
>> 141 if(interaction->InitState<http://classgenie_1_1interaction.html/#aafa184d80e706dc606f7dd335c4065a0>().Tgt<http://classgenie_1_1initialstate.html/#a480a87f76cce1bdf36a6767528b6a330>().IsNucleus<http://classgenie_1_1target.html/#a1349533340e11f54fa62e6f12e4f1866>())
>>
>> The case 'not a nuclar target' is not processed at all.
>>
>> The other bugs is memory leaks. To fix them you should:
>> 1.Add the following lines in the destructor INukeHadroData::~INukeHadroData() [INukeHadroData.cxx]:
>> // p/n+p/n hA x-section splines
>> delete fXSecPp_Tot;
>> delete fXSecPp_Elas;
>> delete fXSecPp_Reac;
>> delete fXSecPn_Tot;
>> delete fXSecPn_Elas;
>> delete fXSecPn_Reac;
>> delete fXSecNn_Tot;
>> delete fXSecNn_Elas;
>> delete fXSecNn_Reac;
>>
>>
>> // K+A x-section fraction splines
>> delete fFracKA_Tot;
>> delete fFracKA_Elas;
>> delete fFracKA_Inel;
>> delete fFracKA_Abs;
>>
>> 2.Add the following lines in the destructor MECHadronTensor::~MECHadronTensor() [MECHadronTensor.cxx]:
>> vector<int>::const_iterator it=fKnownTensors.begin();
>> for( ; it!=fKnownTensors.end(); ++it)
>> {
>> MECHadronTensor::MECHadronTensorTable table = fTargetTensorTables[*it];
>> for(int tensorType = 0; tensorType <= MECHadronTensor::kMHTValenciaDeltapn; ++tensorType)
>> {
>> vector<genie::BLI2DNonUnifGrid*> Grids = table.Table[(MECHadronTensor::MECHadronTensorType_t)tensorType];
>> for (vector<genie::BLI2DNonUnifGrid*>::iterator gridit = Grids.begin() ; gridit != Grids.end(); ++gridit)
>> {
>> genie::BLI2DNonUnifGrid *hadTensorGrid = *gridit;
>> if(hadTensorGrid)
>> {
>> delete hadTensorGrid;
>> hadTensorGrid=0;
>> }
>> }
>> }
>> }
>>
>> 3.Add the line#136 in the method void QELEventGenerator::ProcessEventRecord(GHepRecord * evrec) const [QELEventGenerator.cxx] :
>> delete interaction;
>>
>> (before the lines:
>> LOG("QELEvent", pWARN)
>> << "Couldn't select a valid (pF, w, Q^2) tuple after " << iter << " iterations";
>> evrec->EventFlags()->SetBitNumber(kKineGenErr, true);
>> genie::exceptions::EVGThreadException exception;
>> exception.SetReason("Couldn't select kinematics");
>> exception.SwitchOnFastForward();
>> ).
>>
>>
>> Could you help me, please, and give an advise how to fix bug#1 correctly. I'm not an expert in Nieves model, so I don't have an idea how do it.
>>
>> And one more question, which INTRANUKE is better to use (more robust and tested) default one,2014 or 2015?
>>
>>
>> Thanks in advance!
>>
>>
>> Sincerly yours,
>> Igor Kakorin
>>
|