Вопрос

Я скромный аспирант кафедры физики частиц высоких энергий.Из-за необоснованного отвращения к C/C++ и обоснованной любви к Python, я до сих пор прибегал к Python для анализа данных (просто простая вещь) и собираюсь попытаться поддержать скрипты Python с помощью ROOT-библиотек и, в частности, использовать MINUIT для некоторая минимизация параметров.

Помимо вопроса, есть ли у кого-нибудь какие-либо советы по их установке и использованию, я задавался вопросом, стоит ли вообще пытаться это сделать или просто перейти к «норме» использования C/C++, или можно ли использовать такие вещи, как pyminuit. .Или вы думаете, что я мог бы обернуть целые сценарии C/C++ в код Python, чтобы использовать мои существующие самописные методы анализа (у меня пока нет опыта работы с оболочками).Извините за неясность;Я направляюсь в великое неизвестное, которое намного перевешивает мой нынешний опыт.

Это было полезно?

Решение

Вы знаете о pyROOT, верно?

Сам никогда не пробовал, поэтому не знаю, насколько это может соответствовать вашим потребностям.

Другие советы

Наверное, стоит проверить корень.Возможно, еще не до конца созрел, но это шаг в правильном направлении.

Да, rootpy построен поверх PyROOT, но с некоторыми дополнительными функциями:

  • он подчеркивает питонический интерфейс и скрывает некоторые уродства ROOT;
  • он интегрируется с Matlibplot, у которого более широкое сообщество разработчиков и более широкое присутствие в SO, не говоря уже о более красивых сюжетах;
  • это позволяет конвертировать в HDF5 файлы, которые позволят вам делиться данными с людьми, которые не могут потратить время на установку монолитного ROOT-пакета.

К сожалению, пока вы работаете с чем-то, построенным на основе ЦИНТ (что такое PyROOT), вам все равно придется иметь дело с одним из самые уродливые части ROOT.


Другой вариант, если вам надоело возиться с PyROOT, — использовать один из пакеты, которые конвертируют ROOT напрямую в HDF5

Некоторое время назад я написал оболочку minuit (в моем примере из 1 опыта minuit ROOT кажется более надежным, чем pyminuit, и мне больше нравится вывод ROOT Minuit)

https://github.com/piti118/RTMinuit

С возможностью чтения корневых файлов numpy

https://github.com/piti118/root_numpy

И не такая уж отполированная библиотека подгонки, генерация игрушек и т. д.на основе RTMinuit и numpy

https://github.com/piti118/dist_fit

Учебные пособия и помощь включены в пакет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top