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

In This Package:

DetectorTag.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 # zhang@caltech.edu 2011-03-04
00003 '''
00004 Usage:
00005 '''
00006 
00007 from UserTagging.UserTaggingAlg import UserTaggingAlg
00008 from UserTagging.Models import Tag
00009 from GaudiPython import SUCCESS, FAILURE
00010 from GaudiPython import gbl
00011 
00012 class DetectorTag(UserTaggingAlg):
00013     '''Different Detector Events'''
00014         
00015     # ----------------------------------------
00016     def initTagList(self):
00017         
00018         # define three detector tags for AD, WP and RPC
00019         # this algorithm only defines tags, do not save any user data
00020         # syntax: self.addTag('tagName', 'tagPath')
00021         # after this call self.tagSet.tagName will be available
00022         self.addTag('AD' , '/Event/UserTag/Detector/AD')
00023         self.addTag('WP' , '/Event/UserTag/Detector/WP')
00024         self.addTag('RPC', '/Event/UserTag/Detector/RPC')
00025         
00026         # or use Brett's preferred pythonic syntax
00027         # self.tagSet.AD  = Tag('/Event/UserTag/Detector/AD')
00028         # self.tagSet.WP  = Tag('/Event/UserTag/Detector/WP')
00029         # self.tagSet.RPC = Tag('/Event/UserTag/Detector/RPC')
00030         
00031         # trigger python to load the namespace of DetectorId
00032         gbl.DayaBay.Detector()
00033         
00034     # ----------------------------------------
00035     def check(self, evt):
00036         readoutHdr = evt["/Event/Readout/ReadoutHeader"]
00037         if not readoutHdr:
00038             self.warning('cannot find readoutHdr')
00039             return
00040         
00041         detectorId = readoutHdr.context().GetDetId()
00042         if (   detectorId == gbl.DetectorId.kAD1 
00043             or detectorId == gbl.DetectorId.kAD2
00044             or detectorId == gbl.DetectorId.kAD3
00045             or detectorId == gbl.DetectorId.kAD4):
00046             self.tagIt('AD')
00047             # or use Brett's preferred pythonic syntax
00048             # self.tagSet.AD.tagIt()
00049         elif ( detectorId == gbl.DetectorId.kIWS
00050             or detectorId == gbl.DetectorId.kOWS):
00051             self.tagIt('WP')
00052         elif (detectorId == gbl.DetectorId.kRPC):
00053             self.tagIt('RPC')
00054                    
00055 #####  Job Configuration for nuwa.py ########################################
00056 
00057 def configure(argv=[]):
00058     pass
00059 
00060 def run(app):
00061     myAlg = DetectorTag("UserTag::DetectorTag")
00062     app.addAlgorithm(myAlg)
00063     pass        
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:10:48 2011 for UserTagging by doxygen 1.4.7