خطا در رسم TNtuple در root

image

خطا در رسم TNtuple در root

در این مطلب می خواهم در باره خطا در رسم TNtuple در root در MATLAB صحبت کنم. 

TNtuple یک کلاس از root است که برای رسم نمودار ها استفاده می شود. برای رسم که نمودار به صورت زیر باید کد نوشته شود.

TNtuple * ntuple1 = (TNtuple*)dir->Get("101");  

در نسخه های قدیمی ROOT برای رسم یک نمودار به صورت زیر عمل می شد.

ntuple1.Draw("Ek>>h0","","");

اگر این دستور را برای نسخه 6 ROOT استفاده کنیم با خطای زیر برخورد خواهیم کرد.

member reference type 'TNtuple *' is a pointer; did you mean to use '->'?

برای حل این مشکل باید دستور نوشته شده در بالا را به صورت زیر تغییر دهیم.

ntuple1->Draw("Ek>>h0","","");

 

با این روش خطای برنامه حذف می شود و نمودار رسم می شود و نمودار با تنظیمات انجام شده در یک پنجره باز خواهد شد. برای ذخیره پنجره از منوی فایل گزینه SAVE و سپس فرمت دلخواه را انتخاب می کنیم.