# Analyzer output definition file used by THaOutput class. # See http://hallaweb.jlab.org/root/THaOutput.html # R. Michaels, June 2003 # Comments start with '# ' (careful, need a space after #) # # There are at present 3 places where output is defined # in the C++ analyzer, and this is one of them. # The other two are THaRun (run-dependent info) and # THaEvent (event-dependent info), which provide quantities # like run number and event number that you always need. # In this place, the "outdef" file, one can define # global variables, formulas, and histograms, as well # as cuts on histograms. The results of the formulas appear # in the tree with the formula-name given. # # Syntax of file -- by example: # # variable L.vdc.u2.nclust # variable R.s1.lt # formula targetX 1.464*BB.bpm4b.x-0.464*BB.bpm4a.x # TH1F rv1n 'R-arm vdc hits on V1' R.vdc.v1.nhit 100 0 10 # TH1F rv1w 'R-arm vdc wiremap on V1' R.vdc.v1.wire 100 0 500 # TH1F tgtx 'Target X position' targetX 100 -2 2 # TH2F t12 'Time stamps on roc1 vs roc2' D.timeroc1 D.timeroc2 # 100 0 1000 100 0 1000 # TH1F Rv1n 'R-arm VDC nhit (cut)' R.vdc.v1.nhit 100 0 10 R.vdc.v1.nhit>3 # (note, the cut R.vdc.v1.nhit appears optionally at the end, also # this variable cannot be a variable-sized array) # # # The lines are of the form # keyword rest-of-line # # where the keywords are as follows : # (the keywords are case-insensitive, the rest of the line is not) # # VARIABLE -- indicates that a global variable is to # be added to the tree. # The next string is the name of the variable. # You can see a list of variables by typing # gHaVars->Print() at the analyzer's root shell prompt. # A variable can also be an array, e.g. R.s1.lt # Then the values in the tree will be R.s1.lt.data[0], # R.s1.lt.data[1], etc, up to the array size which # is Ndata.R.s1.lt # # BLOCK -- An entire block of variables are written to the # output. E.g. "L.*" writes all Left HRS variables. # # FORMULA -- indicates a THaFormula to add to the output. # The next word will be the "name" of the formula result # in the tree. The 3rd string is the formula to evaluate. # Note, it cannot have spaces in it. # Formulas can be vectors if the arrays are fixed size. # # CUT -- Like a formula, but the data are 0 (false) or 1 (true) # # TH1F, TH2F, TH1D, TH2D -- defines histograms (1D or 2D). # The next word is the name of the object. # The following string (must be in single quotes) is # the title of the histogram. Next, the variables # or formulas names that are put into the histogram # are listed together with bin info: nbin, xlo, xhi and if 2D # the same bin info for y. Optional cuts can be specified # at the end of the line. See examples below. # # ------------------------------------ # List of the variable blocks to be written out #block BB.* block L.tr.* # block L.s1.* # block L.s2.* # block L.a1.* block L.prl1.*sum* block L.prl1.e block L.prl2.*sum* block L.prl2.e # block L.cer.* # block L.vdc.* block PriKine.* block PriKine_C.* block PriKine_He3.* block ReactPt_L.* block ReactPt_Lurb.* block ExTgtCor_L.* block ExTgtCor_Lurb.* block DL.* block rb.* block urb.* block L.gold.* begin epics HALLA:p HALLA:dpp IPM1H04A.XPOS IPM1H04A.YPOS IPM1H04B.XPOS IPM1H04B.YPOS hac_bcm_average end epics