# 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 L.* block R.* block PriKineL.* block SecKineP.* block CT.* #==================== LEFT HRS ================== TH1F L_dp 'Deviation from Central Momentum' L.tr.tg_dp 200 -0.1 0.1 TH1F L_tgth 'Target Theta' L.tr.tg_th 200 -0.2 0.2 TH1F L_tgph 'Target Phi' L.tr.tg_ph 200 -0.2 0.2 TH1F L_tgy 'Target Y' L.tr.tg_y 200 -0.2 0.2 #================== HRS RIGHT ===================== TH1F R_dp 'Deviation from Central Momentum' R.tr.tg_dp 200 -0.1 0.1 TH1F R_tgth 'Target Theta' R.tr.tg_th 200 -0.2 0.2 TH1F R_tgph 'Target Phi' R.tr.tg_ph 200 -0.2 0.2 TH1F R_tgy 'Target Y' R.tr.tg_y 200 -0.2 0.2 #================ Coincidence Time ========================== TH1F L_b_R 'Coincidence Time Left by Right' CT.ct_1by2 100 -0.2e-6 0.5e-6 TH1F R_b_L 'Coincidence Time Right by Left' CT.ct_2by1 100 -0.2e-6 0.5e-6 #=============== Physics =================================== TH1F Emiss 'Missing Energy' SecKineP.emiss 100 -1 1 TH1F Pmiss 'Missing Momentum' SecKineP.pmiss 100 -1 1.5 TH1F Pmiss_X 'Missing momentum X component' SecKineP.pmiss_x 100 -1 1 TH1F Pmiss_Y 'Missing momentum Y component' SecKineP.pmiss_y 100 -1 1 TH1F Pmiss_Z 'Missing momentum Z component' SecKineP.pmiss_z 100 -1 1