- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
*ROOT¤Î³Ð½ñ¤(ROOTÍͤÈÃçÎɤ¯¤Ê¤ê¤¿¤¤¤ó¤À¤è[¸½ºß¤Ï¤È¤³¤¯¤é¤¤¤Î´Ø·¸]) [#p2eada52]
UsersGuide¤Ï[[¤³¤³:http://root.cern.ch/root/]]¤Ë¤¢¤ê¡ª~
ÊØÍø¤Ê¥¯¥¤¥Ã¥¯¥ê¥Õ¥¡¥ì¥ó¥¹¤Ï[[¤³¤³:http://root.cern.ch/root/html/ClassIndex.html]]!~
[[µ»>#y1665aba]]~
...[[TGraphErrors¤ò»È¤¤¤³¤Ê¤¹>#k4b36382]]~
...[[¥°¥é¥Õ¤Î¾ðÊó¥Ü¥Ã¥¯¥¹¤ò¤¤¤¸¤¯¤ë>#lccbb881]]~
...[[ROOT¤ÇSharedObject>#je1b9c37]]~
...[[ROOT¤ÇÍð¿ô¤ò»È¤¦>#ac0d6d44]]~
...[[NTuple¤ËµÍ¤á¹þ¤à>#md817886]]~
...[[Àþ¤ò°ú¤¯>#ea501c56]]~
...[[GaussʬÉÛ¤Çfit¤·¤¿¤È¤¤ÎÌÌÀѤò»»½Ð>#r0d1ed87]]~
[[ROOT´Ä¶>#u89e308a]]~
...[[root²òÀϤòSGE¤ËÅꤲ¤ë>#y72dc546]]~
*µ» [#y1665aba]
**TGraphErrors¤ò»È¤¤¤³¤Ê¤¹ [#k4b36382]
TGraphErrors¤¬¤à¤«¤Ä¤¯¤Î¤Ç¡¢¹¥¤¤Ë¤Ê¤ì¤ë¤è¤¦¤Ë³Ð½ñ¤¡£
-TGraphErrors¤Ç¥ì¥ó¥¸¤òÀßÄê~
Draw¥ª¥×¥·¥ç¥ó¤Ç"A"¤ò»È¤¨¤Ð¼«Æ°Åª¤Ë¥ì¥ó¥¸¤ò·è¤á¤Æ¤¯¤ì¤ë¤¬¡¢Ê£¿ô½Å¤Í¤¿ÅÓü¤Ë¡¢ºÇ½é¤Î¥°¥é¥Õ¤Ë°ú¤ÃÄ¥¤é¤ì¤Æ¤à¤«¤Ä¤¯Â¸ºß¤Ë¤Ê¤ë¡£~
¤½¤¦¤¤¤¦¤È¤¤Î¤¿¤á¤Ëframe¤ò»È¤¦¡£
TH1F *frame = gPad->DrawFrame(Xstrat,Ystart,Xend,Yend);
¤Ç¥ì¥ó¥¸¤ò·è¤á¤é¤ì¤ë¡£¤³¤Î¤È¤¤Ï"A"¥ª¥×¥·¥ç¥ó¤ÏÉÔÍס£~
canvas¤òʬ³ä¤·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¥Õ¥©¡¼¥«¥¹¤·¤Æ¤¤¤ëcanvas¤ËŬ±þ¤µ¤ì¤ë¡£
-TGraphErrors¤Ç¼´¤ò½ñ¤¯~
frame¤ò»È¤Ã¤Æ¤¤¤ì¤Ð
frame->GetXaxis()->SetTitle("xaxis");
¤ÇOK¡£
-¥ì¥¸¥§¥ó¥É¤òºî¤ë~
¤Æ¤«¡¢¤Ê¤ó¤Ç¥ì¥¸¥§¥ó¥É¤Ã¤Æ¤¤¤¦¤Î¤«¤Ê¡©Ä´¤Ù¤Æ¤â½Ð¤Æ¤³¤Ê¤¤¤Ç¤¹¡£¤ï¤«¤é¤ó¡£~
¤Æ¤«¡¢¤Ê¤ó¤Ç¥ì¥¸¥§¥ó¥É¤Ã¤Æ¤¤¤¦¤Î¤«¤Ê¡©Ä´¤Ù¤Æ¤â½Ð¤Æ¤³¤Ê¤¤¤Ç¤¹¡£¤ï¤«¤é¤ó¡£->¡ÖËÞÎã¡×¤Î¤³¤È¤ß¤¿¤¤¤Ç¤¹¡£~
»È¤¤Êý¤Ï
TLegend *led = new TLegend(size,"");
leg->AddEntry(graph,name,optoin(ex."apl"));
¤ÇÄɲ䷤Ƥ¤¤±¤ë¡£~
**¥°¥é¥Õ¤Î¾ðÊó¥Ü¥Ã¥¯¥¹¤ò¤¤¤¸¤¯¤ë [#lccbb881]
¤¿¤È¤¨¤Ðfit¾ðÊó¤ò½Ð¤·¤¿¤¤¤È¤¤Ï
gStyle->SetOptFit();
¤Ç½Ð¤Æ¤¯¤ë¡¦¡¦¡¦¤¬¡¢¤½¤Î¤Þ¤Þ¤À¤È±ý¡¹¤Ë¤·¤Æʸ»ú¤¬¾®¤µ¤¹¤®¤ë¤Î¤Ç¡¢Â礤µ¤òÊѤ¨¤ëÊýË¡¤Î¥á¥â¡£~
¹â¤µ¤òÊѤ¨¤ë
gStyle->SetStatH(3);
Éý¤òÊѤ¨¤ë
gStyle->SetStatW(0.15);
¥Õ¥©¥ó¥È¤Î¥µ¥¤¥º¤òÊѤ¨¤ë
gStyle->SetStatFontSize(30);
¾¤Ë¤â¤¤¤í¤¤¤í¤Ç¤¤ë¤ß¤¿¤¤¡£
**ROOT¤ÇSharedObject [#je1b9c37]
¤Þ¤º¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£¤¿¤È¤¨¤ÐŬÅö¤Ëexample.cc¤ò¼¡¤Î¤è¤¦¤Ë½ñ¤¯¡£
void aho(void){
std::cout << "aho!" << std::endl;
}
¤½¤Î¤¢¤Èroot¤òΩ¤Á¾å¤²¤Æ¡¢
>.x example.cc+
¤È¤¹¤ì¤Ð¡¢¾¡¼ê¤Ëexample_C.so¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Æ¤¯¤ì¤ë¡£¤³¤ì¤Ç´Êñ¤Ë¥À¥¤¥Ê¥ß¥Ã¥¯¤Ë´Ø¿ô¤Ê¤ó¤«¤òÆɤ߹þ¤á¤ë¡£¤¹¤²¡¼¡ª~
gcc¤Ç¤ä¤í¤¦¤È¤·¤¿¤¬¡¢ÉáÄ̤Τä¤êÊý¤Ç¤ÏÂÌÌܤߤ¿¤¤¡£¤Ç¤¤ë¤é¤·¤¤¤±¤É¡¢ËͤϺÃÀÞ¡£~
~
¤½¤Î¸åso¥Õ¥¡¥¤¥ë¤Ï»Ä¤ë¤Î¤Ç¡¢¥Þ¥¯¥í¤Ç
gSystem->Load("example_C.so");
¤È¤·¤Æ¤ä¤ì¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òÆɤ߹þ¤á¤ë¡£¤³¤ì¤Ç³Ú¡¹¥×¥í¥°¥é¥ß¥ó¥°¡£~
**ROOT¤ÇÍð¿ô¤ò»È¤¦ [#ac0d6d44]
[[¤³¤³:http://blogs.yahoo.co.jp/eguchium/31456122.html]]¤ò»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¡£~
x = gRandom->Gaus(0,3);
¤Ç¥¬¥¦¥¹Ê¬Éۤ˽¾¤¦Íð¿ô¤ò¤È¤Ã¤Æ¤³¤ì¤ë¡£°ú¿ô¤Ïmean¤Èsigma¡£¤³¤Î¼ïÎà¤Ï¤¤¤¯¤Ä¤«¤¢¤Ã¤Æ¡¢¤½¤ì¤¾¤ì°ú¿ô¤¬°ã¤¦¡£¼ïÎà¤Ï¼¡¤Î¤â¤Î¤¬¤¢¤ë¡£
Rndm() or Uniform(min,max), Gaus(mean,sigma), Exp(tau), BreitWigner(mean,sigma),
Landau(mean,sigma), Poisson(mean), Binomial(ntot,prob)
¤¬¤·¤¬¤·»È¤Ã¤Æ¤¤¤³¤¦¡£¤Á¤Ê¤ß¤Ë¡¢gRandom¤ò»È¤¦¤Ë¤Ï"TRandom.h"¤òÆɤ߹þ¤àɬÍפ¢¤ê¡£~
**NTuple¤ËµÍ¤á¹þ¤à [#md817886]
¤¿¤È¤¨¤Ð¡¢¤³¤ó¤Ê´¶¤¸¡£
TNtuple *ntuple = new TNtuple("h3","castum1","iev:z:Lmu:nphot");
for(...){
.....
ntuple->Fill(i,Z[i],peak[i],NOP[i]);
}
TNtuple¹½Â¤ÂΤòÄêµÁ¤·¤Æ¤ä¤ë¤È¤¤ËµÍ¤á¹þ¤àÍ×ÁǤÎ̾Á°¤ò»ØÄꤷ¤Æ¤ä¤Ã¤Æ¡¢¤¢¤È¤ÏµÍ¤á¹þ¤à¤À¤±¡£
¤³¤Î¾ì¹ç¤Ïh3¤È¤¤¤¦¥Ö¥é¥ó¥Á¤Ë"iev","z","Lmu","nphot"¤È¤¤¤¦¥ê¡¼¥Õ¤ò¤Ä¤±¤Æ¤ä¤Ã¤Æ¤¤¤ë¡£¤³¤¤¤Ä¤é¤Ï1¥¤¥Ù¥ó¥ÈiËè¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¾õÂ֤ǵͤá¹þ¤Þ¤ì¤Æ¤¤¤¯¡£
¥µ¥¤¥º¤òÀßÄꤷ¤¿¤ê¤·¤¿¤Û¤¦¤¬¤è¤ê¤è¤¤¡£¤¢¤È¤Ï¤³¤Î±þÍѤǤ¹¡£
~
¿·¤·¤¯ºî¤Ã¤¿ntuple¤òÊݸ¤¹¤ë¤Ë¤Ï¼¡¤Î¼ê½ç¤òƧ¤á¤ÐOK¡£
TFile *tmproot = new TFile("tmp.root","recreate");
TNtuple *hnew = (TNtuple*)f->FindObject("hnew");
hnew->Write();
tmproot->Close();
¿·¤·¤¯¤Ä¤¯¤Ã¤¿hnew¤Î¥Ý¥¤¥ó¥¿¤òf¤È¤¤¤¦File¤«¤éõ¤·¤Æ¤¤Æ¡¢¿·¤·¤¯ºî¤Ã¤¿tmproot¤È¤¤¤¦¤È¤³¤í¤Ëwrite¤¹¤ë¡£
~
~
Ãí°Õ~
TNtuople¤Ë¤Ï°ìµ¤¤Ë14¸Ä¤Þ¤Ç¤·¤«Fill¤Ç¤¤Ê¤¤¡£¤Ê¤Î¤Ç¡¢¤½¤ì¤òĶ¤¨¤ë¤È¤¤Ë¤ÏÇÛÎó¤ËµÍ¤á¹þ¤ó¤Ç¤ä¤Ã¤Æ¡¢¤½¤ÎÇÛÎó¤òÅϤ¹¤·¤«¤Ê¤¤¡£ÇÛÎó¤Î·¿¤Ïfloat¤Ë¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£~
**Àþ¤ò°ú¤¯ [#ea501c56]
»ÏÅÀ½ªÅÀ¤ò»ØÄꤹ¤ì¤ÐOK¡£
TLine *line = new TLine(88,0,88,-300);
¤Ç¤¤¤±¤ë¡£
¤³¤Î¾ì¹ç¤Ï(88,0)¤«¤é(88,-300)¤Ø¤ÎľÀþ¤ò°ú¤¤¤Æ¤¤¤ë¡£
**gaussʬÉÛ¤Çfit¤·¤¿¤È¤¤ÎÌÌÀѤò»»½Ð [#r0d1ed87]
fitparameter¤ÎÀßÄê¤Î¤È¤¤Ëgauss¤Ç¤Ê¤¯gaussn¤ÇÄêµÁ¤¹¤ì¤Ð¡¢fitparameter0(P0)¤¬ÌÌÀѤˤʤ롣¤³¤ì¤Ï¤¿¤Àñ¤Ë¡¢fit¤¹¤ëºÝ¤ÎÊÑ¿ô¤Ë¤·¤Æ¤ª¤¯¥Ñ¥é¥á¡¼¥¿¤ò¹â¤µ¤«¤éÌÌÀѤËÊѤ¨¤¿¤À¤±¡£~
*ROOT´Ä¶ [#u89e308a]
**root²òÀϤòSGE¤ËÅꤲ¤ë [#y72dc546]
¤¢¤ó¤Þ¤ê»þ´Ö¤¬¤«¤«¤ëºî¶È¤ò¤µ¤»¤ë¤È¤¤Ë¡¢¼«Ê¬¤ÎüËö¤Ç¤ä¤Ã¤Æ¤¤¤¿¤éÆ°ºî¤¬ÃÙ¤¯¤ÆÂçÊÑ¡£¤Ê¤Î¤Çbsub¤Ç¾¤Î¥Þ¥·¥ó¤Ë»Å»ö¤ò¤µ¤»¤ë¡£~
root¤Çµ¤¤ò¤Ä¤±¤ë¤³¤È¤ÏDraw¤·¤¿¤È¤¤Ë¾¡¼ê¤Ëcanva¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢
root -l -b -q aho.cc
¤Î¤è¤¦¤Ë¤¹¤ë¤È-b(¥Ð¥Ã¥Á¥¸¥ç¥Ö¥Õ¥é¥°)¤Î¸ú²Ì¤Çɽ¼¨¤µ¤ì¤Ê¤¯¤Ê¤ë¡£-q¤Ï¥Þ¥¯¥í¤ò¼Â¹Ô¤·¤¿¤é¾¡¼ê¤Ë½ªÎ»¤µ¤»¤ë°ú¿ô¤Ç¡¢¤³¤ì¤¬¤Ê¤¤¤Èjob¤¬½ª¤ï¤é¤Ê¤¤¡£~
¼Â¹Ô¥·¥§¥ë¤ÎÎã¡£~
#!/bin/csh
cd WORK_DIRECTORY
root -l -b -q ana4_jobs.cc
~