Guide to Monte Carlo event timing and detached vertices in HDGeant/4

From GlueXWiki
Revision as of 19:36, 20 July 2018 by Jonesrt (Talk | contribs)

Jump to: navigation, search

Photon beam timing visualization.png

Conceptual overview

Event vertex timing in the hdgeant/hdgeant4 simulation is illustrated in the figure above. The blue lines represent the planar wavefronts of the photon beam pulse structure, and the gray box represents the liquid hydrogen target. The target mid-plane at z=65cm has been defined as the simulation clock reference plane, so that the clock ticks every time a photon pulse passes through that plane. That is all you are allowed to know about the t=0 of the simulation clock. In the real experiment, you do not know a proiri which pulse contained the gamma that generated the interaction, all you know is that it was one of this discrete set within some dozen or so of the bunch that the event trigger time points to. After track vertexing, you can figure that out, but from the clock alone you cannot know anything more than this. Thus, the simulation is designed to obscure the true reference time of the interaction vertex, so that you have to work it out in the reconstruction and analysis in just the same way.

Of course, the obscuring of truth information in the simulation is not complete. If you want to cheat, you can inspect the Monte Carlo record in each simulated event and find out what the exact time was of the primary interaction vertex. Below I give an example of an event from an external Monte Carlo event generator that has been prepared for input to hdgeant/hdgeant4.

<HDDM class="s" version="1.0" xmlns="http://www.gluex.org/hddm">
  <geometry md5reconstruction="" md5simulation="" md5smear="" />
  <physicsEvent eventNo="1" runNo="42553">
    <reaction type="0" weight="0">
      <beam type="Photon">
        <momentum E="0.0143928" px="-5.79431e-08" py="1.6068e-07" pz="0.0143928" />
        <polarization Px="0.0477761" Py="-0.062995" Pz="8.95607e-07" />
      </beam>
      <vertex>
        <product decayVertex="0" id="1" mech="0" parentid="0" pdgtype="0" type="Unknown">
          <momentum E="11.6002" px="-0.00026237" py="-6.82093e-05" pz="11.6002" />
        </product>
        <origin t="0" vx="0" vy="0" vz="0" />
      </vertex>
      <vertex>
        <product decayVertex="1" id="2" mech="1447972675" parentid="1" pdgtype="-11" type="Positron">
          <momentum E="0.00367671" px="-0.000451987" py="-0.000230665" pz="0.0036055" />
        </product>
        <product decayVertex="1" id="3" mech="1447972675" parentid="1" pdgtype="11" type="Electron">
          <momentum E="0.0107161" px="0.000553506" py="-0.00110481" pz="0.0106324" />
        </product>
        <origin t="1.01" vx="-0.582" vy="0.004" vz="8.776" />
      </vertex>
      <random seed1="1078571841" seed2="1576092742" seed3="709975946" seed4="912931182" />
    </reaction>
  </physicsEvent>
</HDDM>