Difference between revisions of "Moller sim dictionary"
From Hall A Wiki
(88 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Summary == | == Summary == | ||
− | + | ||
+ | The ROOT tree variables filled in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d9/dcc/a00102_source.html MollerAnalysis.hh] in AddData , which is called from [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc]. <br> | ||
+ | The values are defined all over the place! <br> | ||
+ | I am trying to catalog exactly where, and decide whether they should be defined differently... <br><br> | ||
* x, y, z | * x, y, z | ||
Line 15: | Line 18: | ||
== List of variables == | == List of variables == | ||
− | |||
− | |||
− | {| border="0" align="center" width=" | + | {| align="left" width="1200" border="0" |
+ | |- | ||
+ | | O | ||
+ | | used for this generator | ||
+ | |- | ||
+ | | X | ||
+ | | not used for this generator (seems to always be 0 or -1) | ||
+ | |- | ||
+ | | style="background: #F2CECE; color: black" | | ||
+ | | means I don't trust the definition of this variable in the tree yet | ||
+ | |} | ||
+ | <br><br> | ||
+ | |||
+ | {| border="0" align="center" width="1400" | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
− | {| align="center" width=" | + | {| align="center" width="400" border="1" |
|+ | |+ | ||
! scope="col" | Variable | ! scope="col" | Variable | ||
Line 27: | Line 41: | ||
! scope="col" | ep | ! scope="col" | ep | ||
! scope="col" | ine | ! scope="col" | ine | ||
− | ! scope="col" | Defined in | + | ! scope="col" | Defined in... |
! scope="col" | Description | ! scope="col" | Description | ||
|- | |- | ||
Line 34: | Line 48: | ||
| O | | O | ||
| O | | O | ||
− | | rowspan="3" | hit information | + | | rowspan="3" | Defined in tracking; value comes from hit information |
− | | rowspan="3" | Positions at <b>detector</b> | + | | rowspan="3" | Positions at <b>detector</b> (mm) |
|- | |- | ||
| y | | y | ||
Line 51: | Line 65: | ||
| O | | O | ||
| O | | O | ||
− | | rowspan="3" | hit information | + | | rowspan="3" | Set in generator; value comes from hit information |
− | | rowspan="3" | Positions at <b>vertex</b> | + | | rowspan="3" | Positions at <b>vertex</b> (mm) |
|- | |- | ||
| y0 | | y0 | ||
Line 68: | Line 82: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in tracking; from hit information, but integer value defined in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD] |
+ | | Particle number <br> e- = 0<br> e+ = 1<br> p = 2<br> <span style="text-decoration: overline">p</span> = 3<br> photon = 4<br> all others = 5 | ||
|- | |- | ||
| volume | | volume | ||
Line 74: | Line 89: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in tracking; value comes from hit information |
+ | | Volume number; <span style="color:#FF0000">needs work</span> | ||
|- | |- | ||
| rate | | rate | ||
Line 80: | Line 96: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in generator |
+ | | Rate (Hz/μA), needs to be normalized to number thrown | ||
|- | |- | ||
| track | | track | ||
Line 86: | Line 103: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in tracking; value comes from hit information |
+ | | Primaries are track = 1 (also 2, in case of mollers) | ||
|- | |- | ||
| event | | event | ||
Line 92: | Line 110: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in tracking GetEventID() |
+ | | Currently the two moller tracks have the same event number | ||
|} | |} | ||
| | | | ||
− | {| align="center" width=" | + | {| align="center" width="400" border="1" |
|+ | |+ | ||
! scope="col" | Variable | ! scope="col" | Variable | ||
Line 101: | Line 120: | ||
! scope="col" | ep | ! scope="col" | ep | ||
! scope="col" | ine | ! scope="col" | ine | ||
+ | ! scope="col" | Defined in... | ||
! scope="col" | Description | ! scope="col" | Description | ||
|- | |- | ||
Line 107: | Line 127: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | rowspan="4" | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD]; value comes from hit information |
+ | | rowspan="4" | Momentum direction and energy (MeV) at <b>detector</b> | ||
|- | |- | ||
| px | | px | ||
Line 113: | Line 134: | ||
| O | | O | ||
| O | | O | ||
− | |||
|- | |- | ||
| py | | py | ||
Line 119: | Line 139: | ||
| O | | O | ||
| O | | O | ||
− | |||
|- | |- | ||
| pz | | pz | ||
Line 125: | Line 144: | ||
| O | | O | ||
| O | | O | ||
− | |||
|- | |- | ||
| kineE0 | | kineE0 | ||
Line 131: | Line 149: | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc] |
− | |- | + | | <b>vertex</b> energy (MeV) |
+ | |- style="background: #F2CECE; color: black" | ||
| px0 | | px0 | ||
| X | | X | ||
| X | | X | ||
| X | | X | ||
− | | | + | | rowspan="4" | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD]?; value comes from generator? |
− | |- | + | | rowspan="4" | Momentum direction <b>before the vertex?</b> |
+ | |- style="background: #F2CECE; color: black" | ||
| py0 | | py0 | ||
| X | | X | ||
| X | | X | ||
| X | | X | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz0 | | pz0 | ||
| X | | X | ||
| X | | X | ||
| X | | X | ||
− | | | + | |- style="background: #F2CECE; color: black" |
− | |- | + | | theta0 |
+ | | X | ||
+ | | X | ||
+ | | X | ||
+ | |- style="background: #F2CECE; color: black" | ||
| kineE1 | | kineE1 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc]; value for primaries from generator? |
− | |- | + | | <b>vertex</b> energy (MeV) |
+ | |- style="background: #F2CECE; color: black" | ||
| px1 | | px1 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | rowspan="4" | Defined in generator; value comes from generator? |
− | |- | + | | rowspan="4" | Momentum directions at <b>vertex</b> |
+ | |- style="background: #F2CECE; color: black" | ||
| py1 | | py1 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz1 | | pz1 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | |- style="background: #F2CECE; color: black" |
− | |- | + | | theta1 |
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | |- style="background: #F2CECE; color: black" | ||
| kineE2 | | kineE2 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc]; value for primaries from generator? |
− | |- | + | | <b>vertex</b> energy (MeV); only valid for second moller track... |
+ | |- style="background: #F2CECE; color: black" | ||
| px2 | | px2 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | rowspan="4" | Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD]?; value comes from generator? |
− | |- | + | | rowspan="4" | Momentum directions at <b>vertex</b> |
+ | |- style="background: #F2CECE; color: black" | ||
| py2 | | py2 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz2 | | pz2 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |- | + | |
| theta2 | | theta2 | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | |||
|} | |} | ||
| | | | ||
− | {| align="center" width=" | + | {| align="center" width="400" border="1" |
|+ | |+ | ||
! scope="col" | Variable | ! scope="col" | Variable | ||
! scope="col" | ee | ! scope="col" | ee | ||
− | ! | + | ! scope="col" | ep |
− | ! | + | ! scope="col" | ine |
− | ! | + | ! scope="col" | Defined in... |
− | |- | + | ! scope="col" | Description |
+ | |- style="background: #F2CECE; color: black" | ||
| ion | | ion | ||
| X | | X | ||
| O | | O | ||
| O | | O | ||
+ | | Defined in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d81/a00110_source.html MollerDetectorHit.hh]; value comes from [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD] - boolean? | ||
| | | | ||
− | |- | + | |- style="background: #F2CECE; color: black" |
| ev_num | | ev_num | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | defined in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc] as a counter |
− | |- | + | | off by 1 from event |
+ | |- style="background: #F2CECE; color: black" | ||
| process | | process | ||
| X | | X | ||
| X | | X | ||
| X | | X | ||
− | | | + | | defined in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d4/d3a/a00101_source.html MollerAnalysis.cc], Defined in generator and [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD], [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d7/dce/a00143.html MollerSteppingVerbose] |
− | |- | + | | actually "splitProcess"; from tracking as originProcess->GetProcessName() or stepProcess->GetProcessName() |
+ | |- style="background: #F2CECE; color: black" | ||
| creator | | creator | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
− | | | + | | defined in [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d3/d00/a00113_source.html MollerDetectorSD], [https://hallaweb.jlab.org/12GeV/Moller/doxygen/mollersim/html/d7/dce/a00143.html MollerSteppingVerbose] |
− | |- | + | | actually "creatorProcess"; from tracking as originProcess->GetProcessName() |
+ | |- style="background: #F2CECE; color: black" | ||
| hit | | hit | ||
| O | | O | ||
Line 255: | Line 275: | ||
| O | | O | ||
| | | | ||
− | |- | + | | |
+ | |- style="background: #F2CECE; color: black" | ||
| kineE_org | | kineE_org | ||
| O | | O | ||
Line 261: | Line 282: | ||
| O | | O | ||
| | | | ||
− | |- | + | | |
+ | |- style="background: #F2CECE; color: black" | ||
| theta_org | | theta_org | ||
| O | | O | ||
Line 267: | Line 289: | ||
| O | | O | ||
| | | | ||
− | |- | + | | |
+ | |- style="background: #F2CECE; color: black" | ||
| diffXS | | diffXS | ||
| X | | X | ||
Line 273: | Line 296: | ||
| X | | X | ||
| | | | ||
− | |- | + | | |
+ | |- style="background: #F2CECE; color: black" | ||
| totXS | | totXS | ||
| O | | O | ||
| O | | O | ||
| O | | O | ||
+ | | | ||
| | | | ||
|} | |} | ||
Line 284: | Line 309: | ||
== Notes == | == Notes == | ||
− | + | # For mollers, the number thrown is 2x the number specified; this will be changed in future versions... | |
+ | # When secondaries are tracked, is second moller electron always track==2? Or are secondaries from first electron sometimes? Can we (should we) record secondaries from two moller electrons separately somehow? | ||
+ | # Vertex momenta are set in generators, then again in MollerAnalysis (to zero?) and then in MollerDetectorSD... but I think it should only be set in generator. The MollerDetectorSD definition is what sets the momentum2 for the elastic eps and inelastics to the vertexMomentum, which is from track info (fTrack->GetVertexMomentumDirection()). Momentum0 is the "pre-vertex" momentum (all in z direction) in all cases. | ||
+ | # kineE is defined as a double in MollerDetectorSD as fTrack->GetKineticEnergy(), but the tree variable is aHit->GetKineticEnergy. kineE0 is defined in MollerDetectorSD as GetVertexKineticEnergy(), then in MollerSteppingVerbose as thePrePoint->GetKineticEnergy(), and in MollerAnalysis as fTrack->GetVertexKineticEnergy() (this is what goes to the tree?). kineE2 is set to kineE0 in MollerDetectorSD, so has non-zero values even for ep and ine processes. kineE0, 1 and px,y,z 0,1 have definitions in MollerAnalysis.cc from thePostPoint() in the case of ionization??? | ||
+ | # SetMomentum, 0, 1, 2 defined in MollerAnalysis.hh, MollerDetectorHit, RootAnalysis.hh | ||
+ | # Something weird about the SetMomenta in RootAnalysis.hh - E0, p0 defined twice instead of E0, p0, p1, p2? | ||
<br><br> Return to [https://hallaweb.jlab.org/wiki/index.php/MOLLER_Simulations#Simulation Simulation Projects] | <br><br> Return to [https://hallaweb.jlab.org/wiki/index.php/MOLLER_Simulations#Simulation Simulation Projects] | ||
<br> Return to [[MOLLER at 11 GeV E09-005]] | <br> Return to [[MOLLER at 11 GeV E09-005]] |
Latest revision as of 10:34, 30 November 2012
Summary
The ROOT tree variables filled in MollerAnalysis.hh in AddData , which is called from MollerAnalysis.cc.
The values are defined all over the place!
I am trying to catalog exactly where, and decide whether they should be defined differently...
- x, y, z
- x0, y0, z0
- kineE, px, py, pz
- kineE0, px0, py0, pz0, theta0
- kineE1, px1, py1, pz1, theta1
- kineE2, px2, py2, pz2, theta2
- kineE_org, theta_org
- type, volume, event, ev_num, hit, track
- ion, process, creator
- diffXS, totXS, rate
List of variables
O | used for this generator |
X | not used for this generator (seems to always be 0 or -1) |
means I don't trust the definition of this variable in the tree yet |
|
|
|
Notes
- For mollers, the number thrown is 2x the number specified; this will be changed in future versions...
- When secondaries are tracked, is second moller electron always track==2? Or are secondaries from first electron sometimes? Can we (should we) record secondaries from two moller electrons separately somehow?
- Vertex momenta are set in generators, then again in MollerAnalysis (to zero?) and then in MollerDetectorSD... but I think it should only be set in generator. The MollerDetectorSD definition is what sets the momentum2 for the elastic eps and inelastics to the vertexMomentum, which is from track info (fTrack->GetVertexMomentumDirection()). Momentum0 is the "pre-vertex" momentum (all in z direction) in all cases.
- kineE is defined as a double in MollerDetectorSD as fTrack->GetKineticEnergy(), but the tree variable is aHit->GetKineticEnergy. kineE0 is defined in MollerDetectorSD as GetVertexKineticEnergy(), then in MollerSteppingVerbose as thePrePoint->GetKineticEnergy(), and in MollerAnalysis as fTrack->GetVertexKineticEnergy() (this is what goes to the tree?). kineE2 is set to kineE0 in MollerDetectorSD, so has non-zero values even for ep and ine processes. kineE0, 1 and px,y,z 0,1 have definitions in MollerAnalysis.cc from thePostPoint() in the case of ionization???
- SetMomentum, 0, 1, 2 defined in MollerAnalysis.hh, MollerDetectorHit, RootAnalysis.hh
- Something weird about the SetMomenta in RootAnalysis.hh - E0, p0 defined twice instead of E0, p0, p1, p2?
Return to Simulation Projects
Return to MOLLER at 11 GeV E09-005