Difference between revisions of "Moller sim dictionary"
From Hall A Wiki
(→List of variables) |
|||
(132 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 10: | Line 14: | ||
* type, volume, event, ev_num, hit, track | * type, volume, event, ev_num, hit, track | ||
− | * ion, process, creator | + | * ion, process, creator |
− | + | * diffXS, totXS, rate | |
== List of variables == | == List of variables == | ||
− | {| | + | {| 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" | ||
| | | | ||
+ | {| align="center" width="400" border="1" | ||
+ | |+ | ||
+ | ! scope="col" | Variable | ||
+ | ! scope="col" | ee | ||
+ | ! scope="col" | ep | ||
+ | ! scope="col" | ine | ||
+ | ! scope="col" | Defined in... | ||
+ | ! scope="col" | Description | ||
|- | |- | ||
| x | | x | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | | | + | | rowspan="3" | Defined in tracking; value comes from hit information |
+ | | rowspan="3" | Positions at <b>detector</b> (mm) | ||
|- | |- | ||
| y | | y | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| z | | z | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| x0 | | x0 | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | | | + | | rowspan="3" | Set in generator; value comes from hit information |
+ | | rowspan="3" | Positions at <b>vertex</b> (mm) | ||
|- | |- | ||
| y0 | | y0 | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| z0 | | z0 | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | |- | ||
+ | | type | ||
+ | | 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 | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | | Defined in tracking; value comes from hit information | ||
+ | | Volume number; <span style="color:#FF0000">needs work</span> | ||
+ | |- | ||
+ | | rate | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | | Defined in generator | ||
+ | | Rate (Hz/μA), needs to be normalized to number thrown | ||
+ | |- | ||
+ | | track | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | | Defined in tracking; value comes from hit information | ||
+ | | Primaries are track = 1 (also 2, in case of mollers) | ||
+ | |- | ||
+ | | event | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | | Defined in tracking GetEventID() | ||
+ | | Currently the two moller tracks have the same event number | ||
+ | |} | ||
| | | | ||
− | | | + | {| align="center" width="400" border="1" |
− | | | + | |+ |
− | | | + | ! scope="col" | Variable |
+ | ! scope="col" | ee | ||
+ | ! scope="col" | ep | ||
+ | ! scope="col" | ine | ||
+ | ! scope="col" | Defined in... | ||
+ | ! scope="col" | Description | ||
|- | |- | ||
| kineE | | kineE | ||
− | | | + | | 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 | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| py | | py | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| pz | | pz | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
|- | |- | ||
| kineE0 | | kineE0 | ||
− | | | + | | 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 |
− | | | + | | 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 |
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz0 | | pz0 | ||
− | | | + | | X |
− | | | + | | X |
− | | | + | | X |
− | | | + | |- style="background: #F2CECE; color: black" |
− | |- | + | | theta0 |
+ | | X | ||
+ | | X | ||
+ | | X | ||
+ | |- style="background: #F2CECE; color: black" | ||
| kineE1 | | kineE1 | ||
− | | | + | | 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 |
− | | | + | | 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 |
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz1 | | pz1 | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | | | + | |- style="background: #F2CECE; color: black" |
− | |- | + | | theta1 |
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | |- style="background: #F2CECE; color: black" | ||
| kineE2 | | kineE2 | ||
− | | | + | | 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 |
− | | | + | | 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 |
− | + | |- style="background: #F2CECE; color: black" | |
− | |- | + | |
| pz2 | | pz2 | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | |- style="background: #F2CECE; color: black" | ||
+ | | theta2 | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
+ | |} | ||
| | | | ||
− | + | {| 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 | ||
+ | | X | ||
+ | | 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 |
− | | | + | | 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 |
− | | | + | | 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 |
− | | | + | | 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 | ||
+ | | O | ||
| | | | ||
| | | | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | + | ||
− | |- | + | |
| kineE_org | | kineE_org | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
| | | | ||
| | | | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | + | ||
− | |- | + | |
| theta_org | | theta_org | ||
+ | | O | ||
+ | | O | ||
+ | | O | ||
| | | | ||
| | | | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |- | + | |
| diffXS | | diffXS | ||
+ | | X | ||
+ | | X | ||
+ | | X | ||
| | | | ||
| | | | ||
− | + | |- style="background: #F2CECE; color: black" | |
− | + | ||
− | |- | + | |
| totXS | | totXS | ||
− | | | + | | O |
− | | | + | | O |
− | | | + | | O |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
| | | | ||
| | | | ||
|} | |} | ||
− | + | |} | |
<br><br> | <br><br> | ||
== 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 [ | + | |
<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