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 |