Difference between revisions of "Moller sim dictionary"

From Hall A Wiki
Jump to: navigation, search
(List of variables)
 
(112 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, diffXS, totXS
+
* ion, process, creator  
* rate
+
* diffXS, totXS, rate
  
 
== List of variables ==
 
== List of variables ==
{| border="1" align="center" width="1000"
+
 
 +
{| 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="350" border="1"
+
{| align="center" width="400" border="1"
 
|+
 
|+
! scope="col" | Variable  
+
! scope="col" | Variable  
! scope="col" | ee  
+
! scope="col" | ee  
! scope="col" | ep  
+
! scope="col" | ep  
! scope="col" | ine  
+
! scope="col" | ine  
! scope="col" | Description
+
! 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
|
+
|-
+
| kineE
+
|
+
|
+
|
+
|
+
|-
+
| kineE0
+
|
+
|
+
|
+
|
+
 
|-
 
|-
 
| type
 
| 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
 
| volume
|
+
| O
|
+
| O
|
+
| O
|
+
| Defined in tracking; value comes from hit information
 +
| Volume number; <span style="color:#FF0000">needs work</span>
 
|-
 
|-
 
| rate
 
| rate
|
+
| O
|
+
| O
|
+
| O
|
+
| Defined in generator
 +
| Rate (Hz/&mu;A), needs to be normalized to number thrown
 
|-
 
|-
 
| track
 
| track
|
+
| O
|
+
| O
|
+
| O
|
+
| Defined in tracking; value comes from hit information
 +
| Primaries are track = 1 (also 2, in case of mollers)
 
|-
 
|-
 
| event  
 
| event  
|
+
| O
|
+
| O
|
+
| O
|
+
| Defined in tracking GetEventID()
 +
| Currently the two moller tracks have the same event number
 
|}
 
|}
 
|
 
|
{| align="center" width="350" border="1"
+
{| align="center" width="400" border="1"
 
|+
 
|+
 
! scope="col"  | Variable  
 
! scope="col"  | Variable  
Line 110: Line 120:
 
!  scope="col" | ep  
 
!  scope="col" | ep  
 
!  scope="col" | ine  
 
!  scope="col" | ine  
 +
! scope="col" | Defined in...
 
!  scope="col" | Description  
 
!  scope="col" | Description  
 +
|-
 +
| 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
 +
| 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"
|-
+
| theta0
+
|
+
|
+
|
+
|
+
|-
+
| theta1
+
|
+
|
+
|
+
|
+
|-
+
 
| theta2
 
| theta2
|
+
| O
|
+
| O
|
+
| O
|
+
 
|}
 
|}
 
|
 
|
{| align="center" width="350" border="1"
+
{| align="center" width="400" border="1"
 
|+
 
|+
 
! scope="col"  | Variable  
 
! scope="col"  | Variable  
 
! scope="col"  | ee  
 
! scope="col"  | ee  
! scope="col" | ep  
+
! scope="col" | ep  
! scope="col" | ine  
+
! scope="col" | ine  
! scope="col" | Description   
+
! scope="col" | Defined in...
|-
+
! scope="col" | Description   
 +
|- style="background: #F2CECE; color: black"
 
| ion
 
| 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
 
|
 
|
 
|
 
|
Line 281: 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 [[Teleconferences]]
+
 
<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



Variable ee ep ine Defined in... Description
x O O O Defined in tracking; value comes from hit information Positions at detector (mm)
y O O O
z O O O
x0 O O O Set in generator; value comes from hit information Positions at vertex (mm)
y0 O O O
z0 O O O
type O O O Defined in tracking; from hit information, but integer value defined in MollerDetectorSD Particle number
e- = 0
e+ = 1
p = 2
p = 3
photon = 4
all others = 5
volume O O O Defined in tracking; value comes from hit information Volume number; needs work
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
Variable ee ep ine Defined in... Description
kineE O O O Defined in generator and MollerDetectorSD; value comes from hit information Momentum direction and energy (MeV) at detector
px O O O
py O O O
pz O O O
kineE0 O O O Defined in generator and MollerAnalysis.cc vertex energy (MeV)
px0 X X X Defined in generator and MollerDetectorSD?; value comes from generator? Momentum direction before the vertex?
py0 X X X
pz0 X X X
theta0 X X X
kineE1 O O O Defined in generator and MollerAnalysis.cc; value for primaries from generator? vertex energy (MeV)
px1 O O O Defined in generator; value comes from generator? Momentum directions at vertex
py1 O O O
pz1 O O O
theta1 O O O
kineE2 O O O Defined in generator and MollerAnalysis.cc; value for primaries from generator? vertex energy (MeV); only valid for second moller track...
px2 O O O Defined in generator and MollerDetectorSD?; value comes from generator? Momentum directions at vertex
py2 O O O
pz2 O O O
theta2 O O O
Variable ee ep ine Defined in... Description
ion X O O Defined in MollerDetectorHit.hh; value comes from MollerDetectorSD - boolean?
ev_num O O O defined in MollerAnalysis.cc as a counter off by 1 from event
process X X X defined in MollerAnalysis.cc, Defined in generator and MollerDetectorSD, MollerSteppingVerbose actually "splitProcess"; from tracking as originProcess->GetProcessName() or stepProcess->GetProcessName()
creator O O O defined in MollerDetectorSD, MollerSteppingVerbose actually "creatorProcess"; from tracking as originProcess->GetProcessName()
hit O O O
kineE_org O O O
theta_org O O O
diffXS X X X
totXS O O O



Notes

  1. For mollers, the number thrown is 2x the number specified; this will be changed in future versions...
  2. 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?
  3. 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.
  4. 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???
  5. SetMomentum, 0, 1, 2 defined in MollerAnalysis.hh, MollerDetectorHit, RootAnalysis.hh
  6. 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