ROOT ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×(No.20)
- ¥Ð¥Ã¥¯¥¢¥Ã¥×°ìÍ÷
- º¹Ê¬ ¤òɽ¼¨
- ¸½ºß¤È¤Îº¹Ê¬ ¤òɽ¼¨
- ¥½¡¼¥¹ ¤òɽ¼¨
- ROOT ¤Ø¹Ô¤¯¡£
- 1 (2009-09-13 (Æü) 01:10:13)
- 2 (2009-09-13 (Æü) 01:13:03)
- 3 (2009-09-26 (ÅÚ) 22:13:49)
- 4 (2009-12-07 (·î) 16:31:56)
- 5 (2009-12-09 (¿å) 19:28:14)
- 6 (2009-12-10 (ÌÚ) 16:30:38)
- 7 (2009-12-15 (²Ð) 18:37:31)
- 8 (2009-12-16 (¿å) 19:26:30)
- 9 (2010-01-10 (Æü) 00:52:24)
- 10 (2010-01-10 (Æü) 22:09:07)
- 11 (2010-02-12 (¶â) 01:17:41)
- 12 (2010-04-29 (ÌÚ) 18:48:06)
- 13 (2010-05-16 (Æü) 01:12:34)
- 14 (2010-05-28 (¶â) 02:07:52)
- 15 (2010-06-05 (ÅÚ) 13:17:50)
- 16 (2010-06-23 (¿å) 18:06:49)
- 17 (2010-10-20 (¿å) 18:03:29)
- 18 (2010-10-20 (¿å) 18:03:29)
- 19 (2010-10-20 (¿å) 18:03:29)
- 20 (2011-03-01 (²Ð) 21:27:05)
- 21 (2011-03-04 (¶â) 14:26:14)
- 22 (2011-03-31 (ÌÚ) 15:34:55)
- 23 (2011-05-06 (¶â) 19:21:08)
- 24 (2011-05-17 (²Ð) 11:22:57)
- 25 (2011-05-22 (Æü) 15:22:57)
- 26 (2011-06-28 (²Ð) 23:11:08)
- 27 (2012-04-09 (·î) 22:42:16)
- 28 (2012-04-23 (·î) 23:49:14)
- 29 (2012-05-29 (²Ð) 21:07:32)
- 30 (2012-05-29 (²Ð) 21:07:32)
- 31 (2013-01-22 (²Ð) 10:53:36)
- 32 (2013-02-05 (²Ð) 21:22:34)
- 33 (2013-04-05 (¶â) 18:04:32)
- 34 (2013-04-22 (·î) 21:19:43)
- 35 (2013-05-01 (¿å) 15:48:44)
- 36 (2013-05-09 (ÌÚ) 13:11:30)
- 37 (2013-05-17 (¶â) 23:12:59)
- 38 (2013-10-22 (²Ð) 10:05:28)
- 39 (2014-11-02 (Æü) 22:37:33)
ROOT¤Î³Ð½ñ¤(ROOTÍͤÈÃçÎɤ¯¤Ê¤ê¤¿¤¤¤ó¤À¤è¡¢¸½ºß¿ʬ¤Ï¤È¤³¤¯¤é¤¤¤Î´Ø·¸) †
UsersGuide¤Ï¤³¤³¤Ë¤¢¤ê¡ª
ÊØÍø¤Ê¥¯¥¤¥Ã¥¯¥ê¥Õ¥¡¥ì¥ó¥¹¤Ï¤³¤³!
Minuit †
Minuit¤ò»È¤¦¤¿¤á¤ÎÈ÷˺Ͽ¡£ ¡¡
»ÈÍѼê½ç †
¤Þ¤ºminuit¤òÄêµÁ¡£
TMinuit minui(9);
¤³¤Î9¤ÏÊÑ¿ô¤Î¿ô¡£
¼¡¤Ë´Ø¿ô¤òÄêµÁ¤·¤Æ¤ä¤ë¡£FCN¤È¤¤¤¦¡£
¤½¤ì¤«¤é¡¢
minuit.SetFCN(function);
¤Ç´Ø¿ô¤ò¥»¥Ã¥È¡£´Ø¿ô¤Ï¥Ñ¥é¥á¡¼¥¿¤ËÂФ·¤Æ¥Õ¥£¥Ã¥Æ¥£¥ó¥°¤ÎÀµ¤·¤µ¤Î´ð½à¤È¤Ê¤ëÃÍ(¦Ö^2,Likelihood¤Ê¤É)¤òÊÖ¤¹¡£¤³¤ì¤¬ºÇ¾®²½(»þ¤ËºÇÂç²½)¤¹¤ë¤è¤¦¤Ê¥Ñ¥é¥á¡¼¥¿¤òõ¤·¡¢Îɤ¤¤È¤³¤í¤Ç¼ý«¤¹¤ë¡£¼ý«¤·¤¿»þ¤ÎÃͤʤɤϡ¢minuit.GetParameter()¤Ç¤È¤Ã¤Æ¤³¤ì¤ë¡£
¤½¤ì¤«¤é¡¢³ÆÊÑ¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò¥»¥Ã¥È¤¹¤ë¡£¤¿¤È¤¨¤Ð
minuit.DefineParameter(0, "x", 0.0, 1.0, -200.0, 200.0);
¤Ê¤é¡¢0ÈÖÌܤÎx¤È¤¤¤¦ÊÑ¿ô¤ò0.0¤ò½é´üÃͤǡ¢¥¹¥Æ¥Ã¥×¤Ï1.0¡¢ÈϰϤÏ-200.0¡Á200.¤Þ¤Ç¡¢¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ë¡£
¤â¤·ÊÑ¿ô¤ò¸ÇÄꤷ¤¿¤¤¤È¤¤Ë¤Ï¡¢
minuit.FixParameter(0);
¤È¤¹¤ì¤ÐÎɤ¤¡£0¤ÏÊÑ¿ô¤ÎÈֹ档
¼ÂºÝ¤Ë¼Â¹Ô¤¹¤ë¤È¤¤Ë¤Ï
minuit.Migrad();
¤ÇOK¡£¤³¤Î¾ì¹ç¤ÏMigrad¤È¤¤¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»È¤¦¡£Â¾¤Ë¤âMinos¤È¤«¤¤¤í¤¤¤í¤¢¤ë¤é¤·¤¤¡£
¼ý«¤ò¸«Ê¬¤±¤ë †
¥Õ¥£¥Ã¥Æ¥£¥ó¥°¤Î·ë²Ì¤Ï¡¢ËÜÅö¤ÎÃͤ˶ᤤ¤È¤³¤í¤Ë¼ý«¤¹¤ë¤Ï¤º¡£¤½¤ì¤òȽÃǤ¹¤ë¤¿¤á¤Î¤Ò¤È¤Ä¤Î´ð½à¤¬EDM(Estimated Distance to the Minimum)¤È¤¤¤¦¤â¤Î¡£¤³¤ì¤¬¤¢¤ë´ð½à¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤¿¤È¤¤Ë¼ý«¤·¤¿¤È¤ß¤Ê¤¹¡£
µÕ¤Ë¡¢¤³¤ì¤¬´ð½à¤ò¤ß¤¿¤·¤Æ¤¤¤Ê¤¤¤È¤¤Ë¤Ï¡¢¼ý«¤·¤Ê¤«¤Ã¤¿¤È¤¤¤¨¤ë¡£
µ» †
1¥¤¥Ù¥ó¥È¤º¤Ä¥Ç¡¼¥¿¤ò¤ß¤ë †
roottuple¤Ï¤¢¤ë¤±¤É¼è¤ê½Ð¤·¤¿¤¤¾ðÊ󤬥«¥Ã¥È¤È¤«¤Ç½Ð¤»¤Ê¤¯¤Æ¡¢·ë¶É1¥¤¥Ù¥ó¥È¤º¤Ä¤ß¤Æ¤¤¤¤¿¤¤¤È¤¤¬¤¢¤ë¡£
¤¿¤È¤¨¤Ðntuple.root¤Ë
nt--adc
¤È¤¤¤¦¥Ä¥ê¡¼¡¢¥Ö¥é¥ó¥Á¤¬¤¢¤ë¤È¤¤Ë¡¢adc(>200)¤Î¥Ò¥Ã¥È¿ô¤ò¤È¤ë¥Þ¥¯¥í¡£
TFile *f = new TFile("ntuple.root"); Double_t d_adc; Int_t hit_adc = 0; TTree *tr = =(TTree*)f->Get("nt"); tr->SetBranchAddress("adc" , &d_adc ); for(Int_t i = 0;i < tr->GetEntries();i++){ tr->GetEntry( i ); if( d_adc > 200){ nhit_adc++; } }
ºÇ½é¤Ëd_adc¤Î¤è¤¦¤ÊŬÅö¤ÊÊÑ¿ô¤òÄêµÁ¤·¤Æ¤ª¤¤¤Æ¡¢
TTree *tr = =(TTree*)f->Get("nt");
¤Ç¥Ä¥ê¡¼¤Î¥¢¥É¥ì¥¹¤ò¤È¤Ã¤Æ¤¤Æ¡¢
tr->SetBranchAddress("adc" , &d_adc );
¤È¤¤¤¦¤Î¤Ç¡¢nt¥Ä¥ê¡¼¤ÎÃæ¤Îadc¤È¤¤¤¦¤Î¤òd_adc¤È¤¤¤¦ÊÑ¿ô¤Ë´ØÏ¢ÉÕ¤±¤ë¡£Â¾¤Î¤â¤ß¤¿¤¤¤È¤¤Ï¤³¤Î¹Ô¤òÁý¤ä¤»¤Ð¤¤¤¤¡£
¤½¤Î¸å
for(Int_t i = 0;i < tr->GetEntries();i++){ tr->GetEntry( i ); ------ }
¤·¤Æ¤¤¤ë¤¬¡¢GetEntry¤¹¤ë¤³¤È¤Çd_adc¤ËÆþ¤ëÃͤ¬i¥¤¥Ù¥ó¥ÈÌܤÎadc¤ÎÃͤˤʤë¤Î¤Ç¡¢¤³¤ì¤ò¥ë¡¼¥×¤¹¤ë¤³¤È¤Ç¡¢1¥¤¥Ù¥ó¥È¤º¤Ä¤ß¤Æ¤¤¤±¤ë¡£
ROOT¤òC++¤È¤«¤Ç»È¤¦ †
¤³¤ÎÊý¤¬Á᤯¤ÆÊØÍø¤À¤Ã¤¿¤ê¤¹¤ë¡£¤¤¤í¤¤¤í³Ú¤À¤Ã¤¿¤ê¤â¤¹¤ë¡£
¤Ç¤â¿È¤Ë;¤ëµ»½Ñ¤À¤â¤ó¤Ç¡¢»È¤¤¤³¤Ê¤»¤Ê¤¤¡£¤½¤ó¤Êµ»½Ñ¤Ë¿¶¤ê²ó¤µ¤ì¤¿²áÄø¤ò¥á¥â¤ê¤Þ¤¹¡£
GUI¤ò¸Æ¤Ó½Ð¤·¤¿¤«¤Ã¤¿¤Î¤Ç¤¤¤í¤¤¤íÄ´¤Ù¤¿¡£
»³²¼¸¦
¤Ä¤¯¤Ð¤ÎÊý
·ë¶É¤ª¤¤Þ¤ê¤È¤·¤Æ¡¢
#include "TApplication.h" --main-- TApplication theApp("App", &argc, argv);
¤È¤¤¤¦´¶¤¸¤ÇTApplication.h¤òÆÉ¤ß¹þ¤á¤ÐÎɤ¤¤ß¤¿¤¤¡£¤Ç¤â&argc¤È¤«¤Ï²¿¤Ç¤¤¤ë¤ó¤À¤í¤¦¡£¤Ê¤ó¤È¤«¤·¤¿¤¤¡£
TGraphErrors¤ò»È¤¤¤³¤Ê¤¹ †
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"));
¤ÇÄɲ䷤Ƥ¤¤±¤ë¡£
¥°¥é¥Õ¤Î¾ðÊó¥Ü¥Ã¥¯¥¹¤ò¤¤¤¸¤¯¤ë †
¤¿¤È¤¨¤Ðfit¾ðÊó¤ò½Ð¤·¤¿¤¤¤È¤¤Ï
gStyle->SetOptFit();
¤Ç½Ð¤Æ¤¯¤ë¡¦¡¦¡¦¤¬¡¢¤½¤Î¤Þ¤Þ¤À¤È±ý¡¹¤Ë¤·¤ÆÊ¸»ú¤¬¾®¤µ¤¹¤®¤ë¤Î¤Ç¡¢Â礤µ¤òÊѤ¨¤ëÊýË¡¤Î¥á¥â¡£
¹â¤µ¤òÊѤ¨¤ë
gStyle->SetStatH(3);
Éý¤òÊѤ¨¤ë
gStyle->SetStatW(0.15);
¥Õ¥©¥ó¥È¤Î¥µ¥¤¥º¤òÊѤ¨¤ë
gStyle->SetStatFontSize(30);
¾¤Ë¤â¤¤¤í¤¤¤í¤Ç¤¤ë¤ß¤¿¤¤¡£
same¥ª¥×¥·¥ç¥ó¤ÇÄɲ䷤ƽñ¤¹þ¤à¤È¤¤Ë¤Ï"same"¤ò"sames"¤Ë¤¹¤ë¤³¤È¤Ç¡¢¾ðÊó¥Ü¥Ã¥¯¥¹¤ÏºÆÉÁ²è¤µ¤ì¤ë¡£¤³¤Î¤È¤¤Ë¡¢É½¼¨¤·¤¿¤â¤Î¤ò¥ª¥Ö¥¸¥§¥¯¥È¤Ë¸Ç¤á¤Æ¤ä¤é¤Ê¤¤¤ÈÅý·×¥Ü¥Ã¥¯¥¹¤ÏÉÁ²è¤µ¤ì¤Ê¤¤¡£
ROOT¤ÇSharedObject †
¤Þ¤º¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£¤¿¤È¤¨¤ÐŬÅö¤Ë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¤ÇÍð¿ô¤ò»È¤¦ †
¤³¤³¤ò»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¡£
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¤ËµÍ¤á¹þ¤à †
¤¿¤È¤¨¤Ð¡¢¤³¤ó¤Ê´¶¤¸¡£
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"); (¤¿¤Þ¤Ë¤³¤³¤Ç f->cd(); ¤·¤Ê¤¤¤È¤À¤á¤Ê¤È¤¤¬¤¢¤ë) TNtuple *hnew = (TNtuple*)f->FindObject("hnew"); hnew->Write(); tmproot->Close();
¿·¤·¤¯¤Ä¤¯¤Ã¤¿hnew¤Î¥Ý¥¤¥ó¥¿¤òf¤È¤¤¤¦File¤«¤éõ¤·¤Æ¤¤Æ¡¢¿·¤·¤¯ºî¤Ã¤¿tmproot¤È¤¤¤¦¤È¤³¤í¤Ëwrite¤¹¤ë¡£
Ãí°Õ
TNtuople¤Ë¤Ï°ìµ¤¤Ë14¸Ä¤Þ¤Ç¤·¤«Fill¤Ç¤¤Ê¤¤¡£¤Ê¤Î¤Ç¡¢¤½¤ì¤òͤ¨¤ë¤È¤¤Ë¤ÏÇÛÎó¤ËµÍ¤á¹þ¤ó¤Ç¤ä¤Ã¤Æ¡¢¤½¤ÎÇÛÎó¤òÅϤ¹¤·¤«¤Ê¤¤¡£ÇÛÎó¤Î·¿¤Ïfloat¤Ë¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£
Àþ¤ò°ú¤¯ †
»ÏÅÀ½ªÅÀ¤ò»ØÄꤹ¤ì¤ÐOK¡£
TLine *line = new TLine(88,0,88,-300);
¤Ç¤¤¤±¤ë¡£ ¤³¤Î¾ì¹ç¤Ï(88,0)¤«¤é(88,-300)¤Ø¤ÎľÀþ¤ò°ú¤¤¤Æ¤¤¤ë¡£
gaussʬÉÛ¤Çfit¤·¤¿¤È¤¤ÎÌÌÀѤò»»½Ð †
fitparameter¤ÎÀßÄê¤Î¤È¤¤Ëgauss¤Ç¤Ê¤¯gaussn¤ÇÄêµÁ¤¹¤ì¤Ð¡¢fitparameter0(P0)¤¬ÌÌÀѤˤʤ롣¤³¤ì¤Ï¤¿¤Àñ¤Ë¡¢fit¤¹¤ëºÝ¤ÎÊÑ¿ô¤Ë¤·¤Æ¤ª¤¯¥Ñ¥é¥á¡¼¥¿¤ò¹â¤µ¤«¤éÌÌÀѤËÊѤ¨¤¿¤À¤±¡£
ROOT´Ä¶ †
root²òÀϤòSGE¤ËÅꤲ¤ë †
¤¢¤ó¤Þ¤ê»þ´Ö¤¬¤«¤«¤ëºî¶È¤ò¤µ¤»¤ë¤È¤¤Ë¡¢¼«Ê¬¤ÎüËö¤Ç¤ä¤Ã¤Æ¤¤¤¿¤éưºî¤¬ÃÙ¤¯¤ÆÂçÊÑ¡£¤Ê¤Î¤Ç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