Project

General

Profile

Replay Output Variables » History » Version 29

Sean Jeffas, 05/11/2023 09:54 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 1 Sean Jeffas
* These definitions from the following source files defined in SBS-offline. See github for more information.
62
** SBSCalorimeter.cxx
63
** SBSGenericDetector.cxx
64 27 Sean Jeffas
65 28 Sean Jeffas
h3. HCal Variable Definitions
66 27 Sean Jeffas
67 1 Sean Jeffas
* All definitions below are accessed from the tree with the prepend *sbs.hcal*.
68
** Ex. *sbs.hcal.clus_blk.atime*
69
70 28 Sean Jeffas
h3. BBCal (Shower + PreShower) Variable Definitions
71 27 Sean Jeffas
72
* All definitions below are accessed from the tree with the prepend *bb.sh.* for Shower and *bb.ps.* for PreShower
73
** Ex. *bb.sh.e*
74
75 16 Sean Jeffas
h3. ADC Variables
76
77
78
<pre>
79
 { "adcrow", "Row for block in data vectors",  "fGood.ADCrow" }),
80
 { "adccol", "Col for block in data vectors",  "fGood.ADCcol" }),
81
 { "adcelemID", "Element ID for block in data vectors",  "fGood.ADCelemID" }),
82
 { "adclayer", "Layer for block in data vectors",  "fGood.ADClayer" }),
83
 { "ped", "Pedestal for block in data vectors",  "fGood.ped" }),
84
 { "a","ADC integral", "fGood.a"} );
85
 { "a_mult","ADC # hits in channel", "fGood.a_mult"} );
86
 { "a_p","ADC integral - ped", "fGood.a_p"} );
87
 { "a_c","(ADC integral - ped)*gain", "fGood.a_c"} );
88
 { "a_amp","ADC pulse amplitude", "fGood.a_amp"} );
89
 { "a_amp_p","ADC pulse amplitude -ped", "fGood.a_amp_p"} );
90
 { "a_amp_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
91
 { "a_amptrig_p","(ADC pulse amplitude -ped)*AmpToIntRatio", "fGood.a_amp_p"} );
92
 { "a_amptrig_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
93
 { "a_time","ADC pulse time", "fGood.a_time"} );
94
 { "hits.a",   "All ADC inntegrals",  "fRaw.a" });
95
 { "hits.a_amp",   "All ADC amplitudes",  "fRaw.a_amp" });
96
 { "hits.a_time",   "All ADC pulse times",  "fRaw.a_time" });
97
</code></pre>
98 17 Sean Jeffas
99
h3. ADC Waveform Variables
100
101
<pre>
102
 { "samps_idx", "Index in samples vector for given row-col module", "fGood.sidx" });
103
 { "nsamps" , "Number of samples for given row-col", "fGood.nsamps"});
104
 { "samps", "Calibrated ADC samples",  "fGood.samps" });
105
 { "samps_elemID", "Calibrated ADC samples",  "fGood.samps_elemID" });
106
</code></pre>
107 19 Sean Jeffas
108
h3. TDC Variables
109
110
<pre>
111
 { "tdcrow", "Row for block in data vectors",  "fGood.TDCrow" }),
112
 { "tdccol", "Col for block in data vectors",  "fGood.TDCcol" }),
113
 { "tdcelemID", "Element ID for block in data vectors",  "fGood.TDCelemID" }),
114
 { "tdclayer", "Layer for block in data vectors",  "fGood.TDClayer" }),
115
 { "tdc", "Calibrated TDC value", "fGood.t" });
116
 { "tdc_mult", "TDC # of hits per channel", "fGood.t_mult" });
117
 { "tdc_te", "Calibrated TDC trailing info", "fGood.t_te" });
118
 { "tdc_tot", "Time Over Threshold", "fGood.t_ToT" });
119
 { "hits.TDCelemID",   "All TDC Element ID",  "fRaw.TDCelemID" });
120
 { "hits.t",   "All TDC leading edge times",  "fRaw.t" });
121
 { "hits.t_te",   "All TDC trailing edge times",  "fRaw.t_te" });
122
 { "hits.t_tot",  "All TDC Time-over-threshold",  "fRaw.t_ToT" });
123
</code></pre>
124 20 Sean Jeffas
125
h3. Cluster Variables
126
127
<pre>
128
 { "nclus", "Number of clusters meeting threshold", "fNclus" },
129
 { "e",      "Energy (MeV) of largest cluster",    "GetE()" },
130
 { "e_c",    "Corrected Energy (MeV) of largest cluster",    "GetECorrected()" },
131
 { "atimeblk", "ADC time of highest energy block in the largest cluster", "GetAtime()" },
132
 { "tdctimeblk", "TDC time of highest energy block in the largest cluster", "GetTDCtime()" },
133
 { "eblk",   "Energy (MeV) of highest energy block in the largest cluster",    "GetEBlk()" },
134
 { "eblk_c", "Corrected Energy (MeV) of highest energy block in the largest cluster",    "GetEBlkCorrected()" },
135
 { "rowblk", "Row of block with highest energy in the largest cluster",    "GetRow()" },
136
 { "colblk", "Col of block with highest energy in the largest cluster",    "GetCol()" },
137
 { "x",      "x-position (mm) of largest cluster", "GetX()" },
138
 { "y",      "y-position (mm) of largest cluster", "GetY()" },
139
 { "nblk",   "Number of blocks in the largest cluster",    "GetNblk()" },
140
 { "idblk",  "Logic number of block with highest energy in cluster",    "GetBlkID()" },
141
</code></pre>
142
143
h3. Cluster Member Variables
144
145
<pre>
146
 { "clus.e", "Energy of cluster", "fOutclus.e"},
147
 { "clus.atime", "ADC time of cluster", "fOutclus.atime"},
148
 { "clus.tdctime", "TDC time of cluster", "fOutclus.tdctime"},
149
 { "clus.e_c","Energy calibrated of cluster", "fOutclus.e_c"},
150
 { "clus.x", "x-position of cluster", "fOutclus.x"},
151
 { "clus.y", "y-position of cluster", "fOutclus.y"},
152
 { "clus.row","block row in cluster with highest energy",    "fOutclus.row" },
153
 { "clus.col","block col in cluster with highest energy",    "fOutclus.col" },
154
 { "clus.id","block number in cluster",    "fOutclus.id" },
155
 { "clus.nblk","number of blocks in cluster",    "fOutclus.n" },
156
 { "clus.eblk", "Energy of block with highest energy in cluster", "fOutclus.blk_e"},
157
 { "clus.eblk_c","Energy calibrated of block with highest energy in cluster", "fOutclus.blk_e_c"},
158
</code></pre>
159
160
h3. "Good" Block Variables
161
162
<pre>
163
 { "goodblock.e", "Energy of good blocks", "fGoodBlocks.e"},
164
 { "goodblock.atime", "Energy of good blocks", "fGoodBlocks.ADCTime"},
165
 { "goodblock.tdctime", "Energy of good blocks", "fGoodBlocks.TDCTime"},
166 21 Sean Jeffas
 { "goodblock.row", "Row of good blocks", "fGoodBlocks.row"},
167
 { "goodblock.col", "Col of good blocks", "fGoodBlocks.col"},
168 23 Sean Jeffas
 { "goodblock.x", "x pos (m) of good blocks", "fGoodBlocks.x"},
169
 { "goodblock.y", "y pos (m) of good blocks", "fGoodBlocks.y"},
170
 { "goodblock.id", "Element ID of good blocks", "fGoodBlocks.id"},
171
</code></pre>
172
173
174
175 29 Sean Jeffas
h1. GEM Definitions