| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

SimHistsExample::UserData::GenSimData Class Reference

List of all members.

Public Member Functions

def initTagList
def check

Public Attributes

 tag
 data
 gen
 sim

Private Member Functions

def _fill_gen
def _fill_sim

Detailed Description

Definition at line 9 of file UserData.py.


Member Function Documentation

def SimHistsExample::UserData::GenSimData::initTagList (   self  ) 

Definition at line 11 of file UserData.py.

00011                          :
00012 
00013         self.tag = self.tagSet.GenSimTag = Tag()
00014         self.data = self.tag.dataSet.GenSimData = Data('/Event/UserData/SimHistsExample/GenSim')
00015         self.gen = self.data.GenSimData.Gen
00016         self.sim = self.data.GenSimData.Sim
00017         
00018         self.gen.number = Int()
00019         self.gen.pid = IntArray()
00020         self.gen.mass = FloatArray()
00021         self.gen.energy = FloatArray()
00022         self.gen.x, self.gen.y, self.gen.z, self.gen.dx, self.gen.dy, self.gen.dz = \
00023             map (lambda x: FloatArray(), range(6))
00024 
00025         self.sim.nhits = Int()
00026         self.sim.weight = FloatArray()
00027         self.sim.detid = IntArray()
00028         self.sim.time = FloatArray()
00029 
00030         return
00031 
    def check(self,evt):

def SimHistsExample::UserData::GenSimData::check (   self,
  evt 
)

Definition at line 32 of file UserData.py.

00032                        :
00033         
00034         gh = evt['/Event/Gen/GenHeader']
00035         if not gh:
00036             self.error('No GenHeader found')
00037             return FAILURE
00038         self._fill_gen(gh)
00039 
00040         sh = evt['/Event/Sim/SimHeader']
00041         if not sh:
00042             self.error('No SimHeader found')
00043             return FAILURE
00044         self._fill_sim(sh)
00045 
00046         self.tag.tagIt()
00047 
00048         return SUCCESS
00049 
    def _fill_gen(self,gh):

def SimHistsExample::UserData::GenSimData::_fill_gen (   self,
  gh 
) [private]

Definition at line 50 of file UserData.py.

00050                           :
00051         ge = gh.event()
00052         if not ge:
00053             self.error('Failed to get a GenEvent')
00054             return FAILURE
00055 
00056         self.gen.number = ge.particles_size()
00057         for part in irange(ge.particles_begin(),ge.particles_end()):
00058             self.gen.pid.append(part.pdg_id())
00059             self.gen.mass.append(part.generated_mass())
00060             mom = part.momentum()
00061             mag = mom.mag()
00062             self.gen.energy.append(mom.e())
00063             vtx = part.production_vertex()
00064             self.gen.x.append(vtx.x())
00065             self.gen.y.append(vtx.y())
00066             self.gen.z.append(vtx.z())
00067             self.gen.dx.append(mom.x()/mag)
00068             self.gen.dy.append(mom.y()/mag)
00069             self.gen.dz.append(mom.z()/mag)
00070         return SUCCESS
00071         
    def _fill_sim(self,sh):

def SimHistsExample::UserData::GenSimData::_fill_sim (   self,
  sh 
) [private]

Definition at line 72 of file UserData.py.

00072                           :
00073         shh = sh.hits()
00074         hcmap = shh.hitCollection()
00075         for shcoll in irange(hcmap.begin(),hcmap.end()):
00076             detid = shcoll.first                # detector
00077             shcont = shcoll.second.collection() # vector<SimHit*>
00078 
00079             for hit in irange(shcont.begin(),shcont.end()):
00080 
00081                 self.sim.detid.append(detid)
00082                 self.sim.weight.append(hit.weight())
00083                 self.sim.time.append(hit.time())
00084 
00085                 continue
00086             continue
00087         self.sim.nhits = len(self.sim.detid)
00088         return SUCCESS
00089 


Member Data Documentation

SimHistsExample::UserData::GenSimData::tag

Definition at line 13 of file UserData.py.

SimHistsExample::UserData::GenSimData::data

Definition at line 14 of file UserData.py.

SimHistsExample::UserData::GenSimData::gen

Definition at line 15 of file UserData.py.

SimHistsExample::UserData::GenSimData::sim

Definition at line 16 of file UserData.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:57:28 2011 for SimHistsExample by doxygen 1.4.7