Re: questions regarding Monte Carlo data in the class "TBLEvent"

From: Timothy Smith (tim_smith@MIT.EDU)
Date: Fri Aug 31 2001 - 15:00:45 EDT


Hello Aaron,

        I'll try to answer these too.

On Thu, 30 Aug 2001, Aaron Joseph Maschinot wrote:

>
> Hello:
>
> In the class "TBLEvent", there is a structure (appropriately called
> MonteCarlo) set up to hold Monte Carlo data.
>
> 1) Does the data within this structure hold the Monte Carlo data given to
> create the Event? That is, if I use GEANT to create some electrons and
> track their trajectories, can I then access the Monte Carlo vertex and
> momentum data by simply examining event.mc[i].MCxo, etc.? Or does this
> Monte Carlo data correspond to something else?
>

        Yes, the information in Monte Carlo structure is exactly the
        initial vertex and track parameters used by the blastMC.
        (actually there is a slight difference due to rounding when
        the parameters are "encoded" into the coda stream for the
        file "event.coda" - but the rounding is a hundred times
        smaller then the resolution of the resolution of BLAST -
        so you can ignore the difference).

> 2) If 1) is true, then why is there an ARRAY (instead of a single value)
> for the "mc" member variable located in the TBLEvent class? Am I wrong in
> thinking that each event should only have one (unique) Monte Carlo set of
> data? The mc array runs up to 5. Does this mean that for some reason we
> should expect up to 5 Monte Carlo sets of data for each event? That
> doesn't make sense to me. I do note, however, that the simpleRecon.cc
> program only ever accesses the zeroth member of this array.
>

        Each element of the array corresponds to a particle & track.
        Therefore an event with 3 particles [ for example (e,e'pn) ]
        will have;

                event.mc[0].Mp momentum of e
                event.mc[1].Mp momentum of p
                event.mc[2].Mp momentum of n

                        (actually there come in the order the generator
                        created them in)

        The variable
                event.Nmc
        tells you how many tracks/particles there are in this event.

> 3) When you examine the member function TBLEvent::ReadNext, you see a
> little section of it dedicated to reading in the Monte Carlo data from the
> coda file, I presume. However, while I see where it reads in the p,
> theta, phi, and zo values for that particular Monte Carlo data set, I do
> not see where it reads in the corresponding x0 and y0 values. Do these
> values get read in somewhere? There are variables defined to hold them in
> TBLEvent.h (namely event.mc[i].x0 and event.mc[i].yo). If these variables
> do not end up getting read into the mc[i] structure, then does that mean
> that the corresponding z0 value that IS read in is 1) the actual Monte
> Carlo z0 value or 2) the z0 corresponding to the point of closest approach
> to the z-axis of the actual Monte Carlo data set?

        The assumption is that z0 is the only vertex number really
        needed - because events should come from where the beam is.
        (see http://blast.lns.mit.edu/BlastTalk/archive/0020.html )

        Actually there is a case where this reasoning doesn't hold,
        when there is an in flight decay. But that is a special case.
>
> I hope this isn't too confusing.
>
> Thank you,
>
> Aaron
>

        I hope my answers are also not confusing.

                                Tim

____________________________________________________________________
 Timothy Paul Smith Research Scientist
 MIT Bates Lab tim_smith@mit.edu
 21 Manning Rd. tel: (617) 253-9207
 Middleton, MA 01949 fax: (617) 253-9599



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:28 EST