Replay Output Variables » History » Revision 23
Revision 22 (Sean Jeffas, 05/11/2023 09:44 AM) → Revision 23/52 (Sean Jeffas, 05/11/2023 09:46 AM)
h1. Replay Output Variables
{{toc}}
h1. Description
* One can search any working build of SBS-offline or Podd for “rVarDef” to find the location of these definitions.
* From the build src directory: grep -nr “rvardef*” .
* All definitions below are recorded in the following order: { <variable extension>, <Definition>, <SBS-offline designation> }
h1. Tracking Definition
* These definitions are defined in Podd. See github [https://github.com/JeffersonLab/analyzer].
** THaSpectrometer.cxx
* All definitions below are accesed from the tree with the prepend *bb.tr*.
** Ex. *bb.tr.vz*
h3. Track Variables
<pre>
{ "tr.n", "Number of tracks", "GetNTracks()" },
{ "tr.x", "Track x coordinate (m)", "fTracks.THaTrack.fX" },
{ "tr.y", "Track x coordinate (m)", "fTracks.THaTrack.fY" },
{ "tr.th", "Tangent of track theta angle", "fTracks.THaTrack.fTheta" },
{ "tr.ph", "Tangent of track phi angle", "fTracks.THaTrack.fPhi" },
{ "tr.p", "Track momentum (GeV)", "fTracks.THaTrack.fP" },
{ "tr.flag", "Track status flag", "fTracks.THaTrack.fFlag" },
{ "tr.chi2", "Track's chi2 from hits", "fTracks.THaTrack.fChi2" },
{ "tr.ndof", "Track's NDoF", "fTracks.THaTrack.fNDoF" },
{ "tr.d_x", "Detector x coordinate (m)", "fTracks.THaTrack.fDX" },
{ "tr.d_y", "Detector y coordinate (m)", "fTracks.THaTrack.fDY" },
{ "tr.d_th", "Detector tangent of theta", "fTracks.THaTrack.fDTheta" },
{ "tr.d_ph", "Detector tangent of phi", "fTracks.THaTrack.fDPhi" },
{ "tr.r_x", "Rotated x coordinate (m)", "fTracks.THaTrack.fRX" },
{ "tr.r_y", "Rotated y coordinate (m)", "fTracks.THaTrack.fRY" },
{ "tr.r_th", "Rotated tangent of theta", "fTracks.THaTrack.fRTheta" },
{ "tr.r_ph", "Rotated tangent of phi", "fTracks.THaTrack.fRPhi" },
{ "tr.tg_y", "Target y coordinate", "fTracks.THaTrack.fTY"},
{ "tr.tg_th", "Tangent of target theta angle", "fTracks.THaTrack.fTTheta"},
{ "tr.tg_ph", "Tangent of target phi angle", "fTracks.THaTrack.fTPhi"},
{ "tr.tg_dp", "Target delta", "fTracks.THaTrack.fDp"},
{ "tr.px", "Lab momentum x (GeV)", "fTracks.THaTrack.GetLabPx()"},
{ "tr.py", "Lab momentum y (GeV)", "fTracks.THaTrack.GetLabPy()"},
{ "tr.pz", "Lab momentum z (GeV)", "fTracks.THaTrack.GetLabPz()"},
{ "tr.vx", "Vertex x (m)", "fTracks.THaTrack.GetVertexX()"},
{ "tr.vy", "Vertex y (m)", "fTracks.THaTrack.GetVertexY()"},
{ "tr.vz", "Vertex z (m)", "fTracks.THaTrack.GetVertexZ()"},
{ "tr.pathl", "Pathlength from tg to fp (m)","fTracks.THaTrack.GetPathLen()"},
{ "tr.time", "Time of track@Ref Plane (s)", "fTracks.THaTrack.GetTime()"},
{ "tr.dtime", "uncer of time (s)", "fTracks.THaTrack.GetdTime()"},
{ "tr.beta", "Beta of track", "fTracks.THaTrack.GetBeta()"},
{ "tr.dbeta", "uncertainty of beta", "fTracks.THaTrack.GetdBeta()"},
{ "status", "Bits of completed analysis stages", "fStagesDone" }
</code></pre>
h1. HCal Variable Definitions
* These definitions from the following source files defined in SBS-offline. See github for more information.
** SBSCalorimeter.cxx
** SBSGenericDetector.cxx
* All definitions below are accessed from the tree with the prepend *sbs.hcal*.
** Ex. *sbs.hcal.clus_blk.atime*
h3. ADC Variables
<pre>
{ "adcrow", "Row for block in data vectors", "fGood.ADCrow" }),
{ "adccol", "Col for block in data vectors", "fGood.ADCcol" }),
{ "adcelemID", "Element ID for block in data vectors", "fGood.ADCelemID" }),
{ "adclayer", "Layer for block in data vectors", "fGood.ADClayer" }),
{ "ped", "Pedestal for block in data vectors", "fGood.ped" }),
{ "a","ADC integral", "fGood.a"} );
{ "a_mult","ADC # hits in channel", "fGood.a_mult"} );
{ "a_p","ADC integral - ped", "fGood.a_p"} );
{ "a_c","(ADC integral - ped)*gain", "fGood.a_c"} );
{ "a_amp","ADC pulse amplitude", "fGood.a_amp"} );
{ "a_amp_p","ADC pulse amplitude -ped", "fGood.a_amp_p"} );
{ "a_amp_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
{ "a_amptrig_p","(ADC pulse amplitude -ped)*AmpToIntRatio", "fGood.a_amp_p"} );
{ "a_amptrig_c","(ADC pulse amplitude -ped)*gain*AmpToIntRatio", "fGood.a_amp_p"} );
{ "a_time","ADC pulse time", "fGood.a_time"} );
{ "hits.a", "All ADC inntegrals", "fRaw.a" });
{ "hits.a_amp", "All ADC amplitudes", "fRaw.a_amp" });
{ "hits.a_time", "All ADC pulse times", "fRaw.a_time" });
</code></pre>
h3. ADC Waveform Variables
<pre>
{ "samps_idx", "Index in samples vector for given row-col module", "fGood.sidx" });
{ "nsamps" , "Number of samples for given row-col", "fGood.nsamps"});
{ "samps", "Calibrated ADC samples", "fGood.samps" });
{ "samps_elemID", "Calibrated ADC samples", "fGood.samps_elemID" });
</code></pre>
h3. TDC Variables
<pre>
{ "tdcrow", "Row for block in data vectors", "fGood.TDCrow" }),
{ "tdccol", "Col for block in data vectors", "fGood.TDCcol" }),
{ "tdcelemID", "Element ID for block in data vectors", "fGood.TDCelemID" }),
{ "tdclayer", "Layer for block in data vectors", "fGood.TDClayer" }),
{ "tdc", "Calibrated TDC value", "fGood.t" });
{ "tdc_mult", "TDC # of hits per channel", "fGood.t_mult" });
{ "tdc_te", "Calibrated TDC trailing info", "fGood.t_te" });
{ "tdc_tot", "Time Over Threshold", "fGood.t_ToT" });
{ "hits.TDCelemID", "All TDC Element ID", "fRaw.TDCelemID" });
{ "hits.t", "All TDC leading edge times", "fRaw.t" });
{ "hits.t_te", "All TDC trailing edge times", "fRaw.t_te" });
{ "hits.t_tot", "All TDC Time-over-threshold", "fRaw.t_ToT" });
</code></pre>
h3. Cluster Variables
<pre>
{ "nclus", "Number of clusters meeting threshold", "fNclus" },
{ "e", "Energy (MeV) of largest cluster", "GetE()" },
{ "e_c", "Corrected Energy (MeV) of largest cluster", "GetECorrected()" },
{ "atimeblk", "ADC time of highest energy block in the largest cluster", "GetAtime()" },
{ "tdctimeblk", "TDC time of highest energy block in the largest cluster", "GetTDCtime()" },
{ "eblk", "Energy (MeV) of highest energy block in the largest cluster", "GetEBlk()" },
{ "eblk_c", "Corrected Energy (MeV) of highest energy block in the largest cluster", "GetEBlkCorrected()" },
{ "rowblk", "Row of block with highest energy in the largest cluster", "GetRow()" },
{ "colblk", "Col of block with highest energy in the largest cluster", "GetCol()" },
{ "x", "x-position (mm) of largest cluster", "GetX()" },
{ "y", "y-position (mm) of largest cluster", "GetY()" },
{ "nblk", "Number of blocks in the largest cluster", "GetNblk()" },
{ "idblk", "Logic number of block with highest energy in cluster", "GetBlkID()" },
</code></pre>
h3. Cluster Member Variables
<pre>
{ "clus.e", "Energy of cluster", "fOutclus.e"},
{ "clus.atime", "ADC time of cluster", "fOutclus.atime"},
{ "clus.tdctime", "TDC time of cluster", "fOutclus.tdctime"},
{ "clus.e_c","Energy calibrated of cluster", "fOutclus.e_c"},
{ "clus.x", "x-position of cluster", "fOutclus.x"},
{ "clus.y", "y-position of cluster", "fOutclus.y"},
{ "clus.row","block row in cluster with highest energy", "fOutclus.row" },
{ "clus.col","block col in cluster with highest energy", "fOutclus.col" },
{ "clus.id","block number in cluster", "fOutclus.id" },
{ "clus.nblk","number of blocks in cluster", "fOutclus.n" },
{ "clus.eblk", "Energy of block with highest energy in cluster", "fOutclus.blk_e"},
{ "clus.eblk_c","Energy calibrated of block with highest energy in cluster", "fOutclus.blk_e_c"},
</code></pre>
h3. "Good" Block Variables
<pre>
{ "goodblock.e", "Energy of good blocks", "fGoodBlocks.e"},
{ "goodblock.atime", "Energy of good blocks", "fGoodBlocks.ADCTime"},
{ "goodblock.tdctime", "Energy of good blocks", "fGoodBlocks.TDCTime"},
{ "goodblock.row", "Row of good blocks", "fGoodBlocks.row"},
{ "goodblock.col", "Col of good blocks", "fGoodBlocks.col"},
{ "goodblock.x", "x pos (m) of good blocks", "fGoodBlocks.x"},
{ "goodblock.y", "y pos (m) of good blocks", "fGoodBlocks.y"},
{ "goodblock.id", "Element ID of good blocks", "fGoodBlocks.id"},
</code></pre>
h1. BBCal (Shower + PreShower) Variable Definitions
* These definitions from the following source files defined in SBS-offline. See github for more information.
** SBSCalorimeter.cxx
** SBSGenericDetector.cxx
* All definitions below are accessed from the tree with the prepend *bb.sh.* for Shower and *bb.ps.* for PreShower
** Ex. *bb.sh.e*
h3.