Ntuple در سرت روت چیست
📊 Ntuple چیست؟
Ntuple در ROOT یک ساختار جدولمانند است که هر سطر آن نماینده یک رویداد (event) و هر ستون آن نماینده یک متغیر (variable) است. این ساختار برای ذخیرهسازی دادههای عددی، بهویژه در آزمایشهای فیزیک ذرات، بسیار رایج است.
🔹 ویژگیها:
-
هر متغیر در Ntuple به یک شاخه (branch) در TTree تبدیل میشود.
-
دادهها معمولاً بهصورت float یا double ذخیره میشوند.
-
برای تحلیل آماری سریع و ساده طراحی شده است.
🧰 کلاسهای مرتبط در ROOT
✅ TNtuple
کلاس کلاسیک برای ایجاد Ntuple با متغیرهای float. مثال:
TNtuple *ntuple = new TNtuple("ntuple", "Demo Ntuple", "x:y:z");
ntuple->Fill(1.0, 2.0, 3.0);
✅ RNTuple (در ROOT 7)
نسخه مدرنتر و بهینهشده از TNtuple با عملکرد بهتر، پشتیبانی از چندرشتهای (multithreading) و رابطهای قویتر برای تحلیل دادهها.
📌 تفاوت Ntuple با TTree
| ویژگی | Ntuple | TTree |
|---|---|---|
| نوع دادهها | فقط float (در TNtuple) | انواع دادهها از جمله کلاسهای C++ |
| سادگی | ساده و سریع برای تحلیل | پیچیدهتر و قابل توسعه |
| کاربرد | تحلیل سریع دادههای عددی | ذخیرهسازی ساختارهای پیچیده |
برای پروژههای ساده و تحلیلهای سریع، Ntuple انتخاب خوبی است. اما اگر بخواهی دادههای پیچیدهتر یا ساختارهای شیگرا ذخیره کنی، بهتر است از TTree استفاده کنی.