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

In This Package:

TestUserTagging.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 '''
00003 Make some user tags (and data)
00004 
00005 nuwa.py --no-history -n 10 -o foo.root -m 'RootIOTest.TestUserTagging'
00006 '''
00007 
00008 from GaudiPython.GaudiAlgs import GaudiAlgo
00009 from GaudiPython import SUCCESS, FAILURE, Bindings, gbl
00010 import ROOT
00011 
00012 from UserTagging.UserTaggingAlg import UserTaggingAlg
00013 class MissingLink(UserTaggingAlg):
00014     
00015     def initTagList(self):
00016         'Init UserTag and UserData'
00017         tag = self.addTag('TUT', '/Event/UserTag/Testing/TUT')
00018         data = tag.addData('TestUserTagging', '/Event/UserData/TUT/TestUserTagging')
00019         data.addInt('count','anInt')
00020         data.addFloat('aFloat')
00021 
00022         # note: caching this is not the Tao Te Chao, you can instead
00023         # look them up by name.
00024         self.tag = tag
00025         self.data = data
00026         return
00027     
00028     def check(self,evt):
00029         'Check the current state of affairs and maybe record some values'
00030 
00031         if self.execNumber%3 == 1:
00032             self.tag.isTagged = False
00033             return
00034 
00035         # you can also use self.tagIt('TUT')
00036         self.tag.isTagged = True
00037         print 'Tagged exec #%d as %s'%(self.execNumber,self.tag.isTagged)
00038 
00039         self.data.set('count',self.execNumber)
00040         self.data.set('anInt',self.execNumber*self.execNumber)
00041         self.data.set('aFloat',6.9*self.execNumber)
00042         return
00043 
00044     def config(self,evt):
00045         'Override base class to avoid needing a baseHeader'
00046         if not self.tag.isTagged: return
00047 
00048         
00049         self.tag.header.setExecNumber(self.execNumber)
00050         self.data.header.setExecNumber(self.execNumber)
00051 
00052         now = gbl.TimeStamp(self.execNumber*3600,self.execNumber)
00053         self.tag.header.setTimeStamp(now)
00054         self.data.header.setTimeStamp(now)
00055 
00056         now = gbl.TimeStamp(self.execNumber*3600,self.execNumber+1)
00057         self.tag.header.setEarliest(now)
00058         self.data.header.setEarliest(now)
00059 
00060         now = gbl.TimeStamp(self.execNumber*3600,self.execNumber+2)
00061         self.tag.header.setLatest(now)
00062         self.data.header.setLatest(now)
00063 
00064         return
00065 
00066 def run(app):
00067     alg = MissingLink('MissingLink')
00068     app.addAlgorithm(alg)
00069     pass
00070         
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:58:40 2011 for RootIOTest by doxygen 1.4.7