Deletions are marked like this. | Additions are marked like this. |
Line 55: | Line 55: |
}}} === join === Wait current analysis to finish. This function need when you are using macro. {{{ void join(); // ex. push("ridf/0001.ridf", 10000);start();join();ht(2); |
Contents
- Global Variables
- Commands for Analysis Management
-
Commands for Histogram Management
- fetch
- hstore
- hdel
- ls
- lv (only for AnaFile user)
- lc (only for AnaFile user)
- ht, htp, hn, hb
- hht, hhtp, hhn, hhb
- shn, shb
- lg, ln, lgx, lgy, lgz, lnx, lny, lnz
- size
- cd, cdn, cdb
- zone
- xval (gui), yval (gui), xyval (gui)
- zoom, zoom (gui), unzoom
- hsta
- xsta (gui), xysta (gui)
- cpro (gui)
- fit, fitp, fite, fitg, fitl, figa, xfitp (gui), xfite (gui), xfitg (gui), xfitl (gui)
- hcut (only for AnaFile user)
- cdraw (only for AnaFile user)
- chbin
- pfx, pfy
- prx, pry
- slx, sly
- bnx, bny
- blow (gui), blowxyz, blowx, blowy, blowz
- scale, add, multiply, divide
- mami
- update
- raisewindow
- wait
- watch
Global Variables
gH1
Pointer of last histogram which was drawn. This make easy to use ROOT native command of current histogram.
TH1* gH1; // ex. std::cout << gH1->GetName() << std::endl;
Commands for Analysis Management
book
Register "analoop" and "anafile" to TArtAnaLoopManager. If you want to usr your own analoop class or not to use anafile, please contact to Tanaka@Tokyo Institute of Technology
void book(TArtAnaLoop* analoop, const char* anafilename = 0); // ex. book(new TArtAnaLoopUser, "ana/user.ana");
push
Add RIDF file to stack. Check stack by status() command.
void push(const char* filename, int eventnumber = -1); void push(int sid = 0, int eventnumber = -1); // ex. // push("ridf/run0001.ridf"); //offline // push(); //online // push(1); //online, sid (shared memory ID) = 1
pop
Remove RIDF file from stack. Check stack by status() command.
void pop(int i); // ex. pop(1)
start
Start analysis. Construct() of TArtAnaLoop will be called for the first time.
void start();
stop
Stop analysis. You can resume by start() command.
void stop();
next
Skip remaining event of current RIDF file and go to next RIDF file.
void next();
join
Wait current analysis to finish. This function need when you are using macro.
void join(); // ex. push("ridf/0001.ridf", 10000);start();join();ht(2);
end
End current analysis. Destruct() of TArtAnaLoop will be called.
void end();
clear
Clear all histograms and destruct TArtAnaLoopManager.
void clear();
status
Print status of current Analysis.
void status();
Commands for Histogram Management
fetch
Read all TH1 object in file(filename) to current ROOT directory.
void fetch(char* filename); // ex. fetch("root/hist.root");
hstore
Write all TH1 object in current ROOT directory to file(filename)
void hstore(char* filename); // ex. hstore("ridf/hist2.root");
hdel
Delete TH1 objects in current ROOT directory.
void hdel(); // delete all void hdel(int id); //delete by id void hdel(int idstart, int idend); //delete hist between idstart and idend // ex. hdel(2,4);
ls
Show list of hist in current directory.
void ls();
lv (only for AnaFile user)
Show list of EAnalyser and EWNum.
void lv();
lc (only for AnaFile user)
Show list of Cut.
void lc();
ht, htp, hn, hb
Move to next pad and ...
void ht(int id, Option_t* option = ""); // draw hist by id. You can use draw option like "same". void ht(int idstart, int idend); // draw hist from idstart to idend. void htp(); // draw current hist. void hn(); // draw next hist. void hb(); // draw previous hist. // ex. hn(); ht(3,"same");
hht, hhtp, hhn, hhb
Not Moving version of ht, htp, hn, hb.
(same as above command)
shn, shb
Sequential hn(hb). Draw next(previous) hist until type "q".
void shn(); void shb();
lg, ln, lgx, lgy, lgz, lnx, lny, lnz
Set/Unset log scale
void lg(); //do lgx, lgy, and lgz void ln(); //do lnx, lny, and lnz void lgx(); //set xaxis of all pad to logscale void lgy(); //set yaxis of all pad to logscale void lgz(); //set zaxis of all pad to logscale void lgx(Int_t subpadnumber); //set xaxis of pad at subpadnumber to logscale void lgy(Int_t subpadnumber); //set xaxis of pad at subpadnumber to logscale void lgz(Int_t subpadnumber); //set xaxis of pad at subpadnumber to logscale void lnx(); //unset lgx of all pad void lny(); //unset lgy of all pad void lnz(); //unset lgz of all pad void lnx(Int_t subpadnumber); //unset lgx of supadnumber void lny(Int_t subpadnumber); //unset lgy of supadnumber void lnz(Int_t subpadnumber); //unset lgz of supadnumber
size
Change size of canvas.
void size(UInt_t ww, UInt_t wh); // ex. size(600,600);
cd, cdn, cdb
cd to...
void cd(Int_t subpadnumber = 0); // subpadnumber(0 is assigned to root canvas) void cdn(); // next subpad void cdb(); // previous subpad
zone
Divide canvas(not gPad).
void zone(Int_t nx = 1, Int_t ny = 1, Float_t xmargin = 0.01, Float_t ymargin = 0.01, Int_t color = 0);
xval (gui), yval (gui), xyval (gui)
Print values where you click.
Double_t xval(); // only x-axis value Double_t yval(); // only y-axis value void xyval(); // both x- and y-axis value
zoom, zoom (gui), unzoom
zoom and unzoom
void zoom(double firstx, double lastx, double firsty = 0, double lasty = -1, double firstz = 0, double lastz = -1); void zoom(); void unzoom();
hsta
Print statics of current hist.
void hsta();
xsta (gui), xysta (gui)
Print statics of selected region
void xsta(); void xysta();
cpro (gui)
Cut out selected region of TH2
void cpro();
fit, fitp, fite, fitg, fitl, figa, xfitp (gui), xfite (gui), xfitg (gui), xfitl (gui)
Fit(p:polynomial, e:exponential g:gaussian, l:landau). General fit can be done by fit()(see ROOT Manual). You can access to fitting result via TFitResultPtr.
TFitResultPtr fit(const char* formula, Option_t* option = "S", Option_t* goption = "", Double_t xmin = 0, Double_t xmax = 0); TFitResultPtr fitp(int n = 1, Double_t xmin = 0, Double_t xmax = 0, Option_t* option = "S", Option_t* goption = ""); TFitResultPtr fite(Double_t xmin = 0, Double_t xmax = 0, Option_t* option = "S", Option_t* goption = ""); TFitResultPtr fitg(Double_t xmin = 0, Double_t xmax = 0, Option_t* option = "S", Option_t* goption = ""); TFitResultPtr fitl(Double_t xmin = 0, Double_t xmax = 0, Option_t* option = "S", Option_t* goption = ""); void figa(); // auto fit by gaussian. TFitResultPtr xfitp(int n = 1); TFitResultPtr xfite(); TFitResultPtr xfitg(); TFitResultPtr xfitl();
hcut (only for AnaFile user)
Create a graphical cut(same as TCutG) and write into file.
TCutG* hcut(int id = 0, const char* filename = 0, const char* cutname = 0); // ex. hcut(1001, "my.cut", "t_gate");
cdraw (only for AnaFile user)
Draw cut region to current pad(current version support only hcut). "id" could find by "lc" command.
void cdraw(int id); // ex. cdraw(1001);
chbin
Change bin.
void chbin(Int_t ngroupx, Int_t ngroupy = 1, Int_t ngroupz = 1); // ex. chbin(2);
pfx, pfy
profile of hist.
void pfx(); void pfy();
prx, pry
projection of hist
void prx(); void pry();
slx, sly
slice of hist
void slx(Int_t num); void sly(Int_t num); // ex. sly(16);
bnx, bny
projection bins between first and last
void bnx(double firsty, double lasty, Option_t* option = ""); void bny(double firstx, double lastx, Option_t* option = ""); // ex. bnx(100,200);
blow (gui), blowxyz, blowx, blowy, blowz
blow hist.
void blow(); void blowxyz(double firstx = 0, double lastx = -1, double firsty = 0, double lasty = -1, double firstz = 0, double lastz = -1); void blowx(double firstx = 0, double lastx = -1); void blowy(double firsty = 0, double lasty = -1); void blowz(double firstz = 0, double lastz = -1); // ex. blowx(100, 300);
scale, add, multiply, divide
operations on histograms
void scale(Double_t c); //scale by factor c void add(Int_t id1, Int_t id2, Double_t c1=1, Double_t c2=1); // add between two hist void sub(Int_t id1, Int_t id2, Double_t c1=1, Double_t c2=1); // sub between two hist void multiply(Int_t id1, Int_t id2, Double_t c1=1, Double_t c2=1); // multiply between two hist void divide(Int_t id1, Int_t id2, Double_t c1=1, Double_t c2=1); // divide between two hist // ex. add(1, 3, 1.3, 0.8);
mami
change min and max.
void mami(double min, double max); // ex. mami(100,1000);
print current canvas to file.
void print(char* filename = "", Option_t* option = ""); // ex. print("temp.eps");
update
Update canvas. Use in your macros.
void update();
raisewindow
Raise Window. Use in your macros.
void raisewindow();
wait
Press ENTER to continue. Use in your macros.
void wait();
watch
like UNIX command
void watch(const char* command, UInt_t milliSec = 1000, Int_t num = 3); // ex. ht(1); watch("hn();update();", 1000, 10);