Project

General

Profile

Replay Output Variables » History » Version 25

Sean Jeffas, 05/11/2023 09:50 AM

1 1 Sean Jeffas
h1. Replay Output Variables
2 2 Sean Jeffas
3 18 Sean Jeffas
{{toc}}
4
5 2 Sean Jeffas
h1. Description
6
7
* One can search any working build of SBS-offline or Podd for “rVarDef” to find the location of these definitions.
8
* From the build src directory: grep -nr “rvardef*” .
9 3 Sean Jeffas
* All definitions below are recorded in the following order: { <variable extension>, <Definition>, <SBS-offline designation> }
10
11
h1. Tracking Definition
12
13 5 Sean Jeffas
* These definitions are defined in Podd. See github [https://github.com/JeffersonLab/analyzer].
14 3 Sean Jeffas
** THaSpectrometer.cxx
15 15 Sean Jeffas
* All definitions below are accesed from the tree with the prepend *bb.tr*.
16
** Ex. *bb.tr.vz*
17 6 Sean Jeffas
18 10 Sean Jeffas
h3. Track Variables
19 6 Sean Jeffas
20 11 Sean Jeffas
<pre>
21 12 Sean Jeffas
 { "tr.n",    "Number of tracks",             "GetNTracks()" },
22 8 Sean Jeffas
 { "tr.x",    "Track x coordinate (m)",       "fTracks.THaTrack.fX" },
23
 { "tr.y",    "Track x coordinate (m)",       "fTracks.THaTrack.fY" },
24
 { "tr.th",   "Tangent of track theta angle", "fTracks.THaTrack.fTheta" },
25
 { "tr.ph",   "Tangent of track phi angle",   "fTracks.THaTrack.fPhi" },
26
 { "tr.p",    "Track momentum (GeV)",         "fTracks.THaTrack.fP" },
27
 { "tr.flag", "Track status flag",            "fTracks.THaTrack.fFlag" },
28
 { "tr.chi2", "Track's chi2 from hits",       "fTracks.THaTrack.fChi2" },
29
 { "tr.ndof", "Track's NDoF",                 "fTracks.THaTrack.fNDoF" },
30
 { "tr.d_x",  "Detector x coordinate (m)",    "fTracks.THaTrack.fDX" },
31
 { "tr.d_y",  "Detector y coordinate (m)",    "fTracks.THaTrack.fDY" },
32
 { "tr.d_th", "Detector tangent of theta",    "fTracks.THaTrack.fDTheta" },
33
 { "tr.d_ph", "Detector tangent of phi",      "fTracks.THaTrack.fDPhi" },
34
 { "tr.r_x",  "Rotated x coordinate (m)",     "fTracks.THaTrack.fRX" },
35
 { "tr.r_y",  "Rotated y coordinate (m)",     "fTracks.THaTrack.fRY" },
36
 { "tr.r_th", "Rotated tangent of theta",     "fTracks.THaTrack.fRTheta" },
37
 { "tr.r_ph", "Rotated tangent of phi",       "fTracks.THaTrack.fRPhi" },
38
 { "tr.tg_y", "Target y coordinate",          "fTracks.THaTrack.fTY"},
39
 { "tr.tg_th", "Tangent of target theta angle", "fTracks.THaTrack.fTTheta"},
40
 { "tr.tg_ph", "Tangent of target phi angle",   "fTracks.THaTrack.fTPhi"},    
41
 { "tr.tg_dp", "Target delta",                "fTracks.THaTrack.fDp"},
42
 { "tr.px",    "Lab momentum x (GeV)",        "fTracks.THaTrack.GetLabPx()"},
43
 { "tr.py",    "Lab momentum y (GeV)",        "fTracks.THaTrack.GetLabPy()"},
44
 { "tr.pz",    "Lab momentum z (GeV)",        "fTracks.THaTrack.GetLabPz()"},
45
 { "tr.vx",    "Vertex x (m)",                "fTracks.THaTrack.GetVertexX()"},
46
 { "tr.vy",    "Vertex y (m)",                "fTracks.THaTrack.GetVertexY()"},
47
 { "tr.vz",    "Vertex z (m)",                "fTracks.THaTrack.GetVertexZ()"},
48
 { "tr.pathl", "Pathlength from tg to fp (m)","fTracks.THaTrack.GetPathLen()"},
49
 { "tr.time",  "Time of track@Ref Plane (s)", "fTracks.THaTrack.GetTime()"},
50
 { "tr.dtime", "uncer of time (s)",           "fTracks.THaTrack.GetdTime()"},
51
 { "tr.beta",  "Beta of track",               "fTracks.THaTrack.GetBeta()"},
52
 { "tr.dbeta", "uncertainty of beta",         "fTracks.THaTrack.GetdBeta()"},
53
 { "status",   "Bits of completed analysis stages", "fStagesDone" }
54 7 Sean Jeffas
</code></pre>
55 13 Sean Jeffas
56 25 Sean Jeffas
h1. Calorimeters, HCal and BBCal
57
58
* HCal and BBCal share the same class so their variable definitions are the same, but with a different prefix.
59
** HCal variables have the prefix *sbs.hcal.*
60
** BBCal variables have the prefix *bb.*
61
62 13 Sean Jeffas
h1. HCal Variable Definitions
63
64
* These definitions from the following source files defined in SBS-offline. See github for more information.
65
** SBSCalorimeter.cxx
66 1 Sean Jeffas
** SBSGenericDetector.cxx
67 14 Sean Jeffas
* All definitions below are accessed from the tree with the prepend *sbs.hcal*.
68
** Ex. *sbs.hcal.clus_blk.atime*
69 16 Sean Jeffas
70
h3. ADC Variables
71
72
73
<pre>
74
 { "adcrow", "Row for block in data vectors",  "fGood.ADCrow" }),
75
 { "adccol", "Col for block in data vectors",  "fGood.ADCcol" }),
76
 { "adcelemID", "Element ID for block in data vectors",  "fGood.ADCelemID" }),
77
 { "adclayer", "Layer for block in data vectors",  "fGood.ADClayer" }),
78
 { "ped", "Pedestal for block in data vectors",  "fGood.ped" }),
79
 { "a","ADC integral", "fGood.a"} );
80
 { "a_mult","ADC # hits in channel", "fGood.a_mult"} );
81
 { "a_p","ADC integral - ped", "fGood.a_p"} );
82
 { "a_c","(ADC integral - ped)*gain", "fGood.a_c"} );
83
 { "a_amp","ADC pulse amplitude", "fGood.a_amp"} );
84
 { "a_amp_p","ADC pulse amplitude -ped", "fGood.a_amp_p"} );
85
 { "a_amp_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
86
 { "a_amptrig_p","(ADC pulse amplitude -ped)*AmpToIntRatio", "fGood.a_amp_p"} );
87
 { "a_amptrig_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
88
 { "a_time","ADC pulse time", "fGood.a_time"} );
89
 { "hits.a",   "All ADC inntegrals",  "fRaw.a" });
90
 { "hits.a_amp",   "All ADC amplitudes",  "fRaw.a_amp" });
91
 { "hits.a_time",   "All ADC pulse times",  "fRaw.a_time" });
92
</code></pre>
93 17 Sean Jeffas
94
h3. ADC Waveform Variables
95
96
<pre>
97
 { "samps_idx", "Index in samples vector for given row-col module", "fGood.sidx" });
98
 { "nsamps" , "Number of samples for given row-col", "fGood.nsamps"});
99
 { "samps", "Calibrated ADC samples",  "fGood.samps" });
100
 { "samps_elemID", "Calibrated ADC samples",  "fGood.samps_elemID" });
101
</code></pre>
102 19 Sean Jeffas
103
h3. TDC Variables
104
105
<pre>
106
 { "tdcrow", "Row for block in data vectors",  "fGood.TDCrow" }),
107
 { "tdccol", "Col for block in data vectors",  "fGood.TDCcol" }),
108
 { "tdcelemID", "Element ID for block in data vectors",  "fGood.TDCelemID" }),
109
 { "tdclayer", "Layer for block in data vectors",  "fGood.TDClayer" }),
110
 { "tdc", "Calibrated TDC value", "fGood.t" });
111
 { "tdc_mult", "TDC # of hits per channel", "fGood.t_mult" });
112
 { "tdc_te", "Calibrated TDC trailing info", "fGood.t_te" });
113
 { "tdc_tot", "Time Over Threshold", "fGood.t_ToT" });
114
 { "hits.TDCelemID",   "All TDC Element ID",  "fRaw.TDCelemID" });
115
 { "hits.t",   "All TDC leading edge times",  "fRaw.t" });
116
 { "hits.t_te",   "All TDC trailing edge times",  "fRaw.t_te" });
117
 { "hits.t_tot",  "All TDC Time-over-threshold",  "fRaw.t_ToT" });
118
</code></pre>
119 20 Sean Jeffas
120
h3. Cluster Variables
121
122
<pre>
123
 { "nclus", "Number of clusters meeting threshold", "fNclus" },
124
 { "e",      "Energy (MeV) of largest cluster",    "GetE()" },
125
 { "e_c",    "Corrected Energy (MeV) of largest cluster",    "GetECorrected()" },
126
 { "atimeblk", "ADC time of highest energy block in the largest cluster", "GetAtime()" },
127
 { "tdctimeblk", "TDC time of highest energy block in the largest cluster", "GetTDCtime()" },
128
 { "eblk",   "Energy (MeV) of highest energy block in the largest cluster",    "GetEBlk()" },
129
 { "eblk_c", "Corrected Energy (MeV) of highest energy block in the largest cluster",    "GetEBlkCorrected()" },
130
 { "rowblk", "Row of block with highest energy in the largest cluster",    "GetRow()" },
131
 { "colblk", "Col of block with highest energy in the largest cluster",    "GetCol()" },
132
 { "x",      "x-position (mm) of largest cluster", "GetX()" },
133
 { "y",      "y-position (mm) of largest cluster", "GetY()" },
134
 { "nblk",   "Number of blocks in the largest cluster",    "GetNblk()" },
135
 { "idblk",  "Logic number of block with highest energy in cluster",    "GetBlkID()" },
136
</code></pre>
137
138
h3. Cluster Member Variables
139
140
<pre>
141
 { "clus.e", "Energy of cluster", "fOutclus.e"},
142
 { "clus.atime", "ADC time of cluster", "fOutclus.atime"},
143
 { "clus.tdctime", "TDC time of cluster", "fOutclus.tdctime"},
144
 { "clus.e_c","Energy calibrated of cluster", "fOutclus.e_c"},
145
 { "clus.x", "x-position of cluster", "fOutclus.x"},
146
 { "clus.y", "y-position of cluster", "fOutclus.y"},
147
 { "clus.row","block row in cluster with highest energy",    "fOutclus.row" },
148
 { "clus.col","block col in cluster with highest energy",    "fOutclus.col" },
149
 { "clus.id","block number in cluster",    "fOutclus.id" },
150
 { "clus.nblk","number of blocks in cluster",    "fOutclus.n" },
151
 { "clus.eblk", "Energy of block with highest energy in cluster", "fOutclus.blk_e"},
152
 { "clus.eblk_c","Energy calibrated of block with highest energy in cluster", "fOutclus.blk_e_c"},
153
</code></pre>
154
155
h3. "Good" Block Variables
156
157
<pre>
158
 { "goodblock.e", "Energy of good blocks", "fGoodBlocks.e"},
159
 { "goodblock.atime", "Energy of good blocks", "fGoodBlocks.ADCTime"},
160
 { "goodblock.tdctime", "Energy of good blocks", "fGoodBlocks.TDCTime"},
161
 { "goodblock.row", "Row of good blocks", "fGoodBlocks.row"},
162
 { "goodblock.col", "Col of good blocks", "fGoodBlocks.col"},
163
 { "goodblock.x", "x pos (m) of good blocks", "fGoodBlocks.x"},
164
 { "goodblock.y", "y pos (m) of good blocks", "fGoodBlocks.y"},
165
 { "goodblock.id", "Element ID of good blocks", "fGoodBlocks.id"},
166
</code></pre>
167 21 Sean Jeffas
168
h1. BBCal (Shower + PreShower) Variable Definitions
169 23 Sean Jeffas
170
* These definitions from the following source files defined in SBS-offline. See github for more information.
171
** SBSCalorimeter.cxx
172
** SBSGenericDetector.cxx
173
* All definitions below are accessed from the tree with the prepend *bb.sh.* for Shower and *bb.ps.* for PreShower
174
** Ex. *bb.sh.e*
175
176 24 Sean Jeffas
h3. ADC Variables