Difference between revisions of "Moller sim dictionary"

From Hall A Wiki
Jump to: navigation, search
(Notes)
(Notes)
Line 300: Line 300:
 
# 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?
 
# 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.
 
# 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.   
+
# 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???
  
 
<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]]

Revision as of 16:55, 9 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)

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
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
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
process X X X
creator O O O
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???



Return to Simulation Projects
Return to MOLLER at 11 GeV E09-005