User Tools

Site Tools


root:root

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
root:root [2017/07/11 11:17] iwnroot:root [2017/09/07 18:46] (current) iwn
Line 2: Line 2:
  
 ''ROOT'' is a framework based on ''C++'' that is specialized in processing data in High Energy Physics. Some of its central classes are ''ROOT'' is a framework based on ''C++'' that is specialized in processing data in High Energy Physics. Some of its central classes are
-  * ''TTree'' to store data; typically variables are stored in branches for each entry/event (e.g. a proton-proton collision), +  * ''[[https://root.cern.ch/doc/master/classTTree.html|TTree]]'' to store data; typically variables are stored in branches for each entry/event (e.g. a proton-proton collision), 
-  * ''TH1F'', ''TH1D'', ... to make histograms, +  * ''[[https://root.cern.ch/doc/master/classTH1.html|TH1]]'' to make histograms, 
-  * ''TLorentzVector'' to make a four-vectors that you can boost, or add together with simply ''+'', +  * ''[[https://root.cern.ch/doc/master/classTLorentzVector.html|TLorentzVector]]'' to make a four-vectors that you can boost, or add together with simply ''+'', 
-  * ''TBrowser'' to browse ''ROOT'' files containing trees, histograms, ...+  * ''[[https://root.cern.ch/doc/master/classTBrowser.html|TBrowser]]'' to browse ''ROOT'' files containing trees, histograms, ...
 Once installed, you can use its extensive libraries in your ''C++'' code or in the ''ROOT'' command line. If you don't like ''C++'' or pointers, it is also possible to use ''ROOT'' in ''python'', a.k.a. ''pyROOT''. This is definitely a good choice for doing simple things, such as making plots. Once installed, you can use its extensive libraries in your ''C++'' code or in the ''ROOT'' command line. If you don't like ''C++'' or pointers, it is also possible to use ''ROOT'' in ''python'', a.k.a. ''pyROOT''. This is definitely a good choice for doing simple things, such as making plots.
  
Line 14: Line 14:
   * [[https://www.nevis.columbia.edu/~seligman/root-class/|ROOT tutorial by Dr. Seligman]] is very nice; it covers the all basics of ''ROOT'' in both ''C++'' and ''python'' and teaches how to use the reference manual to solve problems by yourself.   * [[https://www.nevis.columbia.edu/~seligman/root-class/|ROOT tutorial by Dr. Seligman]] is very nice; it covers the all basics of ''ROOT'' in both ''C++'' and ''python'' and teaches how to use the reference manual to solve problems by yourself.
   * [[https://indico.desy.de/getFile.py/access?contribId=2&resId=0&materialId=slides&confId=11460|These introductory slides to ROOT]] also covers ''ROOT'' in both ''C++'' and ''python'', and is shorter. It uses these [[http://www.desy.de/~clseitz/Students/TeraScale/|files]].   * [[https://indico.desy.de/getFile.py/access?contribId=2&resId=0&materialId=slides&confId=11460|These introductory slides to ROOT]] also covers ''ROOT'' in both ''C++'' and ''python'', and is shorter. It uses these [[http://www.desy.de/~clseitz/Students/TeraScale/|files]].
-  * [[https://root.cern.ch/root/html/tutorials/|The official ROOT examples]] (which should also be available on your machine in ''$ROOTSYS/tutorials/'' after installation of ''root''). +  * [[https://root.cern.ch/root/html/tutorials/|The official ROOT examples]] and [[https://root.cern/doc/master/group__Tutorials.html|tutorials]] (which should also be available on your machine in ''$ROOTSYS/tutorials/'' after installation of ''root''). 
-  * [[https://root.cern.ch/root/html/ClassIndex.html|The reference manual]] (a.k.a. class index) lists all available classes and their methods, which is really useful to keep handy. +  * [[https://root.cern.ch/root/html/ClassIndex.html|The official ROOT reference manual]] (a.k.a. class index) lists all available classes and their methods, which is really useful to keep handy. 
-  * [[https://root.cern.ch/root/htmldoc/guides/users-guide/ROOTUsersGuide.html|The official ROOT user guide]].+  * [[https://root.cern.ch/root/htmldoc/guides/users-guide/ROOTUsersGuide.html|The official ROOT user guide]] ([[https://root.cern.ch/root-user-guides-and-manuals|index of older versions]]).
   * [[root:pyROOT|Some useful pyROOT examples]]:   * [[root:pyROOT|Some useful pyROOT examples]]:
     * [[root:pyroot_TTree|handling TTree trees]],     * [[root:pyroot_TTree|handling TTree trees]],
     * [[root:pyroot_TH1|handling TH1 histograms]],     * [[root:pyroot_TH1|handling TH1 histograms]],
-    * [[root:pyroot_TFile|handling TFile files]].+    * [[root:pyroot_TFile|handling TFile files and TDirectory directories]], 
 +    * [[https://github.com/clelange/roofit|RooFit]] and [[https://github.com/clelange/roostats|RooStats]] tutorials, [[https://www.nikhef.nl/~vcroft/GettingStartedWithRooFit.html|RooFit manual]]. 
 +  * [[root:fit|More on fitting in ROOT]]. 
   * [[https://wiki.physik.uzh.ch/lhcb/root:root|Some useful and advanced examples made by the LHCb group]].   * [[https://wiki.physik.uzh.ch/lhcb/root:root|Some useful and advanced examples made by the LHCb group]].
 +
 +<wrap tip>__Protip__</wrap>: to quickly open root files in ''ROOT'''s ''TBrowser'', use this predefined function, together with [[computing:TBrowse|this macro]]: <WRAP lo><code>function TBrowse { root -l "$@" ~/macros/myMacro.C; }</code></WRAP>
root/root.1499764656.txt.gz · Last modified: 2017/07/11 11:17 by iwn