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

In This Package:

DataQuality::Tools::TesToTreeAlg Class Reference

List of all members.

Public Member Functions

def __init__
def initialize
def initGenHeader
def initSimHeader
def initSimReadoutHeader
def initReadoutHeader
def initCalibReadoutHeader
def initRecHeader
def prepareRecResults
def execute
def writeGenHeader
def writeSimHeader
def writeSimReadoutHeader
def writeReadoutHeader
def writeCalibReadoutHeader
def writeRecHeader
def finalize

Public Attributes

 HeaderList
 ForceReconResults
 firstEntry
 tesTree
 hasGen
 genTimeSec
 genTimeNanoSec
 nGenParticles
 maxGenParticles
 genPdgid
 genStatus
 genX
 genY
 genZ
 genT
 genE
 hasSim
 simTimeSec
 simTimeNanoSec
 nSimHits
 maxSimHits
 simHitSite
 simHitDet
 simHitSensId
 simHitTime
 simHitWeight
 simHitX
 simHitY
 simHitZ
 simHitRing
 simHitColumn
 simHitWavelength
 simHitType
 simStat
 hasSimRo
 nSimRo
 hasRo
 roTimeSec
 roTimeNanoSec
 hasReadout
 roSite
 roDetector
 roTriggerNumber
 roTriggerTimeSec
 roTriggerTimeNanoSec
 nRoChannels
 nRoTdcs
 nRoAdcs
 maxRoChannels
 roChanId
 roBoard
 roConnector
 nRoChanTdc
 nRoChanAdc
 roChanAdcGain
 roChanFirstTdc
 roChanPeakAdc
 maxRoTdcs
 roTdc
 roTdcChanId
 maxRoAdcs
 roAdcClock
 roAdc
 roAdcChanId
 hasCro
 croTimeSec
 croTimeNanoSec
 hasCalibReadout
 croSite
 croDetector
 croTriggerNumber
 croTriggerTimeSec
 croTriggerTimeNanoSec
 nCroChannels
 nCroTdcs
 nCroAdcs
 maxCroChannels
 croChanId
 croBoard
 croConnector
 nCroChanTdc
 nCroChanAdc
 croChanAdcGain
 croChanFirstTdc
 croChanPeakAdc
 maxCroTdcs
 croTdc
 croTdcChanId
 maxCroAdcs
 croAdcClock
 croAdc
 croAdcChanId
 hasRec
 recTimeSec
 recTimeNanoSec
 hasRecTrigger
 recResults

Detailed Description

Definition at line 31 of file Tools.py.


Member Function Documentation

def DataQuality::Tools::TesToTreeAlg::__init__ (   self,
  name 
)

Definition at line 33 of file Tools.py.

00033                            :
00034         DybPythonAlg.__init__(self,name)
00035         # List of headers in output tree
00036         self.HeaderList = ["Gen","Sim","SimReadout","Readout","CalibReadout",
00037                            "Rec"]
00038         self.ForceReconResults = ["AdSimple"]
00039         return
00040 
    def initialize(self):

def DataQuality::Tools::TesToTreeAlg::initialize (   self  ) 

Definition at line 41 of file Tools.py.

00041                         :
00042         status = DybPythonAlg.initialize(self)
00043         if status.isFailure(): return status
00044         self.info("initialize")
00045 
00046         self.firstEntry = True
00047         
00048         self.tesTree= TTree("tesTree","TES converted to ROOT Tree")
00049 
00050         if "Gen" in self.HeaderList:
00051             self.initGenHeader()
00052         if "Sim" in self.HeaderList:
00053             self.initSimHeader()
00054         if "SimReadout" in self.HeaderList:
00055             self.initSimReadoutHeader()
00056         if "Readout" in self.HeaderList:
00057             self.initReadoutHeader()
00058         if "CalibReadout" in self.HeaderList:
00059             self.initCalibReadoutHeader()
00060         if "Rec" in self.HeaderList:
00061             self.initRecHeader()
00062 
00063         self.stats['/file0/tes/tesTree'] = self.tesTree
00064         return SUCCESS
00065 
    def initGenHeader(self):

def DataQuality::Tools::TesToTreeAlg::initGenHeader (   self  ) 

Definition at line 66 of file Tools.py.

00066                            :
00067         # GenEvent Data
00068         self.hasGen = array('i',[0])
00069         self.genTimeSec = array('i',[0])
00070         self.genTimeNanoSec = array('i',[0])
00071         self.nGenParticles = array('i',[0])
00072         self.maxGenParticles = 256
00073         self.genPdgid = array('i',self.maxGenParticles*[0])
00074         self.genStatus = array('i',self.maxGenParticles*[0])
00075         self.genX = array('d',self.maxGenParticles*[0])
00076         self.genY = array('d',self.maxGenParticles*[0])
00077         self.genZ = array('d',self.maxGenParticles*[0])
00078         self.genT = array('d',self.maxGenParticles*[0])
00079         self.genE = array('d',self.maxGenParticles*[0])
00080 
00081         self.tesTree.Branch('hasGen',self.hasGen,'hasGen/I')
00082         self.tesTree.Branch('genTimeSec',self.genTimeSec,'genTimeSec/I')
00083         self.tesTree.Branch('genTimeNanoSec',self.genTimeNanoSec,
00084                             'genTimeNanoSec/I')
00085         self.tesTree.Branch('nGenParticles',self.nGenParticles,
00086                             'nGenParticles/I')
00087         self.tesTree.Branch('genPdgid',self.genPdgid,
00088                             'genPdgid[nGenParticles]/I')
00089         self.tesTree.Branch('genStatus',self.genStatus,
00090                             'genStatus[nGenParticles]/I')
00091         self.tesTree.Branch('genX',self.genX,'genX[nGenParticles]/D')
00092         self.tesTree.Branch('genY',self.genY,'genY[nGenParticles]/D')
00093         self.tesTree.Branch('genZ',self.genZ,'genZ[nGenParticles]/D')
00094         self.tesTree.Branch('genT',self.genT,'genT[nGenParticles]/D')
00095         self.tesTree.Branch('genE',self.genE,'genE[nGenParticles]/D')
00096 
    def initSimHeader(self):

def DataQuality::Tools::TesToTreeAlg::initSimHeader (   self  ) 

Definition at line 97 of file Tools.py.

00097                            :
00098         # SimEvent Data
00099         self.hasSim = array('i',[0])
00100         self.simTimeSec = array('i',[0])
00101         self.simTimeNanoSec = array('i',[0])
00102         self.nSimHits = array('i',[0])
00103         self.maxSimHits = 4096
00104         self.simHitSite = array('i',self.maxSimHits*[0])
00105         self.simHitDet = array('i',self.maxSimHits*[0])
00106         self.simHitSensId = array('i',self.maxSimHits*[0])
00107         self.simHitTime = array('d',self.maxSimHits*[0])
00108         self.simHitWeight = array('d',self.maxSimHits*[0])
00109         self.simHitX = array('d',self.maxSimHits*[0])
00110         self.simHitY = array('d',self.maxSimHits*[0])
00111         self.simHitZ = array('d',self.maxSimHits*[0])
00112         self.simHitRing = array('i',self.maxSimHits*[0])
00113         self.simHitColumn = array('i',self.maxSimHits*[0])
00114         self.simHitWavelength = array('d',self.maxSimHits*[0])
00115         self.simHitType = array('i',self.maxSimHits*[0])
00116         self.simStat = {}
00117 
00118         self.tesTree.Branch('hasSim',self.hasSim,'hasSim/I')
00119         self.tesTree.Branch('simTimeSec',self.simTimeSec,'simTimeSec/I')
00120         self.tesTree.Branch('simTimeNanoSec',self.simTimeNanoSec,
00121                             'simTimeNanoSec/I')
00122         self.tesTree.Branch('nSimHits',self.nSimHits,'nSimHits/I')
00123         self.tesTree.Branch('simHitSite',self.simHitSite,
00124                             'simHitSite[nSimHits]/I')
00125         self.tesTree.Branch('simHitDet',self.simHitDet,'simHitDet[nSimHits]/I')
00126         self.tesTree.Branch('simHitSensId',self.simHitSensId,
00127                             'simHitSensId[nSimHits]/I')
00128         self.tesTree.Branch('simHitTime',self.simHitTime,
00129                             'simHitTime[nSimHits]/D')
00130         self.tesTree.Branch('simHitWeight',self.simHitWeight,
00131                             'simHitWeight[nSimHits]/D')
00132         self.tesTree.Branch('simHitX',self.simHitX,'simHitX[nSimHits]/D')
00133         self.tesTree.Branch('simHitY',self.simHitY,'simHitY[nSimHits]/D')
00134         self.tesTree.Branch('simHitZ',self.simHitZ,'simHitZ[nSimHits]/D')
00135         self.tesTree.Branch('simHitRing',self.simHitRing,
00136                             'simHitRing[nSimHits]/I')
00137         self.tesTree.Branch('simHitColumn',self.simHitColumn,
00138                             'simHitColumn[nSimHits]/I')
00139         self.tesTree.Branch('simHitWavelength',self.simHitWavelength,
00140                             'simHitWavelength[nSimHits]/D')
00141         self.tesTree.Branch('simHitType',self.simHitType,
00142                             'simHitType[nSimHits]/I')        
00143 
    def initSimReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::initSimReadoutHeader (   self  ) 

Definition at line 144 of file Tools.py.

00144                                   :
00145         # SimReadoutEvent Data
00146         self.hasSimRo = array('i',[0])
00147         self.nSimRo = array('i',[0])
00148 
00149         self.tesTree.Branch('hasSimRo',self.hasSimRo,'hasSimRo/I')
00150         self.tesTree.Branch('nSimRo',self.nSimRo,'nSimRo/I')
00151 
    def initReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::initReadoutHeader (   self  ) 

Definition at line 152 of file Tools.py.

00152                                :
00153         # ReadoutEvent Data
00154         self.hasRo = array('i',[0])
00155         self.roTimeSec = array('i',[0])
00156         self.roTimeNanoSec = array('i',[0])
00157         self.hasReadout = array('i',[0])
00158         self.roSite = array('i',[0])
00159         self.roDetector = array('i',[0])
00160         self.roTriggerNumber = array('i',[0])
00161         self.roTriggerTimeSec = array('i',[0])
00162         self.roTriggerTimeNanoSec = array('i',[0])
00163         self.nRoChannels = array('i',[0])
00164         self.nRoTdcs = array('i',[0])
00165         self.nRoAdcs = array('i',[0])
00166         self.maxRoChannels = 512
00167         self.roChanId = array('i',self.maxRoChannels*[0])
00168         self.roBoard = array('i',self.maxRoChannels*[0])
00169         self.roConnector = array('i',self.maxRoChannels*[0])
00170         self.nRoChanTdc = array('i',self.maxRoChannels*[0])
00171         self.nRoChanAdc = array('i',self.maxRoChannels*[0])
00172         self.roChanAdcGain = array('i',self.maxRoChannels*[0])
00173         self.roChanFirstTdc = array('i',self.maxRoChannels*[0])
00174         self.roChanPeakAdc = array('i',self.maxRoChannels*[0])
00175         self.maxRoTdcs = 4096
00176         self.roTdc = array('i',self.maxRoTdcs*[0])
00177         self.roTdcChanId = array('i',self.maxRoTdcs*[0])
00178         self.maxRoAdcs = 4096
00179         self.roAdcClock = array('i',self.maxRoAdcs*[0])
00180         self.roAdc = array('i',self.maxRoAdcs*[0])
00181         self.roAdcChanId = array('i',self.maxRoAdcs*[0])
00182 
00183         self.tesTree.Branch('hasRo',self.hasRo,'hasRo/I')
00184         self.tesTree.Branch('roTimeSec',self.roTimeSec,'roTimeSec/I')
00185         self.tesTree.Branch('roTimeNanoSec',self.roTimeNanoSec,
00186                             'roTimeNanoSec/I')
00187         self.tesTree.Branch('hasReadout',self.hasReadout,'hasReadout/I')
00188         self.tesTree.Branch('roSite',self.roSite,'roSite/I')
00189         self.tesTree.Branch('roDetector',self.roDetector,'roDetector/I')
00190         self.tesTree.Branch('roTriggerNumber',self.roTriggerNumber,
00191                             'roTriggerNumber/I')
00192         self.tesTree.Branch('roTriggerTimeSec',self.roTriggerTimeSec,
00193                             'roTriggerTimeSec/I')
00194         self.tesTree.Branch('roTriggerTimeNanoSec',self.roTriggerTimeNanoSec,
00195                             'roTriggerTimeNanoSec/I')
00196         self.tesTree.Branch('nRoChannels',self.nRoChannels,'nRoChannels/I')
00197         self.tesTree.Branch('nRoTdcs',self.nRoTdcs,'nRoTdcs/I')
00198         self.tesTree.Branch('nRoAdcs',self.nRoAdcs,'nRoAdcs/I')
00199         self.tesTree.Branch('roChanId',self.roChanId,'roChanId[nRoChannels]/I')
00200         self.tesTree.Branch('roBoard',self.roBoard,'roBoard[nRoChannels]/I')
00201         self.tesTree.Branch('roConnector',self.roConnector,
00202                             'roConnector[nRoChannels]/I')
00203         self.tesTree.Branch('nRoChanTdc',self.nRoChanTdc,
00204                             'nRoChanTdc[nRoChannels]/I')
00205         self.tesTree.Branch('nRoChanAdc',self.nRoChanAdc,
00206                             'nRoChanAdc[nRoChannels]/I')
00207         self.tesTree.Branch('roChanAdcGain',self.roChanAdcGain,
00208                             'roChanAdcGain[nRoChannels]/I')
00209         self.tesTree.Branch('roChanFirstTdc',self.roChanFirstTdc,
00210                             'roChanFirstTdc[nRoChannels]/I')
00211         self.tesTree.Branch('roChanPeakAdc',self.roChanPeakAdc,
00212                             'roChanPeakAdc[nRoChannels]/I')
00213         self.tesTree.Branch('roTdc',self.roTdc,'roTdc[nRoTdcs]/I')
00214         self.tesTree.Branch('roTdcChanId',self.roTdcChanId,
00215                             'roTdcChanId[nRoTdcs]/I')
00216         self.tesTree.Branch('roAdcClock',self.roAdcClock,
00217                             'roAdcClock[nRoAdcs]/I')
00218         self.tesTree.Branch('roAdc',self.roAdc,'roAdc[nRoAdcs]/I')
00219         self.tesTree.Branch('roAdcChanId',self.roAdcChanId,
00220                             'roAdcChanId[nRoAdcs]/I')
00221 
    def initCalibReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::initCalibReadoutHeader (   self  ) 

Definition at line 222 of file Tools.py.

00222                                     :
00223         # CalibReadoutEvent Data
00224         self.hasCro = array('i',[0])
00225         self.croTimeSec = array('i',[0])
00226         self.croTimeNanoSec = array('i',[0])
00227         self.hasCalibReadout = array('i',[0])
00228         self.croSite = array('i',[0])
00229         self.croDetector = array('i',[0])
00230         self.croTriggerNumber = array('i',[0])
00231         self.croTriggerTimeSec = array('i',[0])
00232         self.croTriggerTimeNanoSec = array('i',[0])
00233         self.nCroChannels = array('i',[0])
00234         self.nCroTdcs = array('i',[0])
00235         self.nCroAdcs = array('i',[0])
00236         self.maxCroChannels = 512
00237         self.croChanId = array('i',self.maxCroChannels*[0])
00238         self.croBoard = array('i',self.maxCroChannels*[0])
00239         self.croConnector = array('i',self.maxCroChannels*[0])
00240         self.nCroChanTdc = array('i',self.maxCroChannels*[0])
00241         self.nCroChanAdc = array('i',self.maxCroChannels*[0])
00242         self.croChanAdcGain = array('i',self.maxCroChannels*[0])
00243         self.croChanFirstTdc = array('d',self.maxCroChannels*[0])
00244         self.croChanPeakAdc = array('d',self.maxCroChannels*[0])
00245         self.maxCroTdcs = 4096
00246         self.croTdc = array('d',self.maxCroTdcs*[0])
00247         self.croTdcChanId = array('i',self.maxCroTdcs*[0])
00248         self.maxCroAdcs = 4096
00249         self.croAdcClock = array('i',self.maxCroAdcs*[0])
00250         self.croAdc = array('d',self.maxCroAdcs*[0])
00251         self.croAdcChanId = array('i',self.maxCroAdcs*[0])
00252 
00253         self.tesTree.Branch('hasCro',self.hasCro,'hasCro/I')
00254         self.tesTree.Branch('croTimeSec',self.croTimeSec,'croTimeSec/I')
00255         self.tesTree.Branch('croTimeNanoSec',self.croTimeNanoSec,
00256                             'croTimeNanoSec/I')
00257         self.tesTree.Branch('hasCalibReadout',self.hasCalibReadout,
00258                             'hasCalibReadout/I')
00259         self.tesTree.Branch('croSite',self.croSite,'croSite/I')
00260         self.tesTree.Branch('croDetector',self.croDetector,'croDetector/I')
00261         self.tesTree.Branch('croTriggerNumber',self.croTriggerNumber,
00262                             'croTriggerNumber/I')
00263         self.tesTree.Branch('croTriggerTimeSec',self.croTriggerTimeSec,
00264                             'croTriggerTimeSec/I')
00265         self.tesTree.Branch('croTriggerTimeNanoSec',self.croTriggerTimeNanoSec,
00266                             'croTriggerTimeNanoSec/I')
00267         self.tesTree.Branch('nCroChannels',self.nCroChannels,'nCroChannels/I')
00268         self.tesTree.Branch('nCroTdcs',self.nCroTdcs,'nCroTdcs/I')
00269         self.tesTree.Branch('nCroAdcs',self.nCroAdcs,'nCroAdcs/I')
00270         self.tesTree.Branch('croChanId',self.croChanId,
00271                             'croChanId[nCroChannels]/I')
00272         self.tesTree.Branch('croBoard',self.croBoard,'croBoard[nCroChannels]/I')
00273         self.tesTree.Branch('croConnector',self.croConnector,
00274                             'croConnector[nCroChannels]/I')
00275         self.tesTree.Branch('nCroChanTdc',self.nCroChanTdc,
00276                             'nCroChanTdc[nCroChannels]/I')
00277         self.tesTree.Branch('nCroChanAdc',self.nCroChanAdc,
00278                             'nCroChanAdc[nCroChannels]/I')
00279         self.tesTree.Branch('croChanAdcGain',self.croChanAdcGain,
00280                             'croChanAdcGain[nCroChannels]/I')
00281         self.tesTree.Branch('croChanFirstTdc',self.croChanFirstTdc,
00282                             'croChanFirstTdc[nCroChannels]/D')
00283         self.tesTree.Branch('croChanPeakAdc',self.croChanPeakAdc,
00284                             'croChanPeakAdc[nCroChannels]/D')
00285         self.tesTree.Branch('croTdc',self.croTdc,'croTdc[nCroTdcs]/D')
00286         self.tesTree.Branch('croTdcChanId',self.croTdcChanId,
00287                             'croTdcChanId[nCroTdcs]/I')
00288         self.tesTree.Branch('croAdcClock',self.croAdcClock,
00289                             'croAdcClock[nCroAdcs]/I')
00290         self.tesTree.Branch('croAdc',self.croAdc,'croAdc[nCroAdcs]/D')
00291         self.tesTree.Branch('croAdcChanId',self.croAdcChanId,
00292                             'croAdcChanId[nCroAdcs]/I')
00293 
    def initRecHeader(self):

def DataQuality::Tools::TesToTreeAlg::initRecHeader (   self  ) 

Definition at line 294 of file Tools.py.

00294                            :
00295         # RecEvent Data
00296         self.hasRec = array('i',[0])
00297         self.recTimeSec = array('i',[0])
00298         self.recTimeNanoSec = array('i',[0])
00299         self.hasRecTrigger = array('i',[0])
00300         self.recResults = {}
00301 
00302         self.tesTree.Branch('hasRec',self.hasRec,'hasRec/I')
00303         self.tesTree.Branch('recTimeSec',self.recTimeSec,'recTimeSec/I')
00304         self.tesTree.Branch('recTimeNanoSec',self.recTimeNanoSec,
00305                             'recTimeNanoSec/I')
00306         self.tesTree.Branch('hasRecTrigger',self.hasRecTrigger,
00307                             'hasRecTrigger/I')
00308         for recName in self.ForceReconResults:
00309             self.prepareRecResults(recName)
00310 
    def prepareRecResults(self, recName):

def DataQuality::Tools::TesToTreeAlg::prepareRecResults (   self,
  recName 
)

Definition at line 311 of file Tools.py.

00311                                         :
00312         # Prepare tree branches for a particular reconstruction type
00313         recSiteName = "rec_" + recName + "_site"
00314         recDetName = "rec_" + recName + "_det"
00315         recTrigNumName = "rec_" + recName + "_trigNum"
00316         recTrigTimeSecName = "rec_" + recName + "_trigTimeSec"
00317         recTrigTimeNanoSecName = "rec_" + recName + "_trigTimeNanoSec"
00318         recEnergyName = "rec_" + recName + "_energy"
00319         recPosName = "rec_" + recName + "_position"
00320         recDirName = "rec_" + recName + "_direction"
00321         recEnergyStatName = "rec_" + recName + "_energyStatus"
00322         recPosStatName = "rec_" + recName + "_positionStatus"
00323         recDirStatName = "rec_" + recName + "_directionStatus"
00324         recEnergyQualName = "rec_" + recName + "_energyQuality"
00325         recPosQualName = "rec_" + recName + "_positionQuality"
00326         recDirQualName = "rec_" + recName + "_directionQuality"
00327         if not self.recResults.has_key(recSiteName):
00328             self.recResults[recSiteName] = array('i',[0])
00329             self.recResults[recDetName] = array('i',[0])
00330             self.recResults[recTrigNumName] = array('i',[0])
00331             self.recResults[recTrigTimeSecName] = array('i',[0])
00332             self.recResults[recTrigTimeNanoSecName] = array('i',[0])
00333             self.recResults[recEnergyName] = array('d',[0])
00334             self.recResults[recPosName] = array('d',4*[0])
00335             self.recResults[recDirName] = array('d',4*[0])
00336             self.recResults[recEnergyStatName] = array('i',[0])
00337             self.recResults[recPosStatName] = array('i',[0])
00338             self.recResults[recDirStatName] = array('i',[0])
00339             self.recResults[recEnergyQualName] = array('d',[0])
00340             self.recResults[recPosQualName] = array('d',[0])
00341             self.recResults[recDirQualName] = array('d',[0])
00342             if self.firstEntry:
00343                 self.info("     Adding reconstruction "+recName)
00344                 self.tesTree.Branch(recSiteName,
00345                                     self.recResults[recSiteName],
00346                                     "%s/I" % recSiteName)
00347                 self.tesTree.Branch(recDetName,
00348                                     self.recResults[recDetName],
00349                                     "%s/I" % recDetName)
00350                 self.tesTree.Branch(recTrigNumName,
00351                                     self.recResults[recTrigNumName],
00352                                     "%s/I" % recTrigNumName)
00353                 self.tesTree.Branch(recTrigTimeSecName,
00354                                     self.recResults[recTrigTimeSecName],
00355                                     "%s/I" % recTrigTimeSecName)
00356                 self.tesTree.Branch(recTrigTimeNanoSecName,
00357                                     self.recResults[recTrigTimeNanoSecName],
00358                                     "%s/I" % recTrigTimeNanoSecName)
00359                 self.tesTree.Branch(recEnergyName,
00360                                     self.recResults[recEnergyName],
00361                                     "%s/D" % recEnergyName)
00362                 self.tesTree.Branch(recPosName,
00363                                     self.recResults[recPosName],
00364                                     "%s[4]/D" % recPosName)
00365                 self.tesTree.Branch(recDirName,
00366                                     self.recResults[recDirName],
00367                                     "%s[4]/D" % recDirName)
00368                 self.tesTree.Branch(recEnergyStatName,
00369                                     self.recResults[recEnergyStatName],
00370                                     "%s/I" % recEnergyStatName)
00371                 self.tesTree.Branch(recPosStatName,
00372                                     self.recResults[recPosStatName],
00373                                     "%s/I" % recPosStatName)
00374                 self.tesTree.Branch(recDirStatName,
00375                                     self.recResults[recDirStatName],
00376                                     "%s/I" % recDirStatName)
00377                 self.tesTree.Branch(recEnergyQualName,
00378                                     self.recResults[recEnergyQualName],
00379                                     "%s/D" % recEnergyQualName)
00380                 self.tesTree.Branch(recPosQualName,
00381                                     self.recResults[recPosQualName],
00382                                     "%s/D" % recPosQualName)
00383                 self.tesTree.Branch(recDirQualName,
00384                                     self.recResults[recDirQualName],
00385                                     "%s/D" % recDirQualName)
00386             else:
00387                 self.warning("Cannot add "+recName+" to tree after first entry")
00388         return
00389 
    def execute(self):

def DataQuality::Tools::TesToTreeAlg::execute (   self  ) 

Definition at line 390 of file Tools.py.

00390                      :
00391         self.info("executing")
00392 
00393         if "Gen" in self.HeaderList:
00394             self.writeGenHeader()
00395         if "Sim" in self.HeaderList:
00396             self.writeSimHeader()
00397         if "SimReadout" in self.HeaderList:
00398             self.writeSimReadoutHeader()
00399         if "Readout" in self.HeaderList:
00400             self.writeReadoutHeader()
00401         if "CalibReadout" in self.HeaderList:
00402             self.writeCalibReadoutHeader()
00403         if "Rec" in self.HeaderList:
00404             self.writeRecHeader()
00405 
00406         self.tesTree.Fill()
00407         self.firstEntry = False
00408         return SUCCESS
00409 
    def writeGenHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeGenHeader (   self  ) 

Definition at line 410 of file Tools.py.

00410                             :
00411         # GenEvent Data
00412         self.hasGen[0] = 0
00413         self.genTimeSec[0] = 0
00414         self.genTimeNanoSec[0] = 0
00415         self.nGenParticles[0] = 0
00416 
00417         evt = self.evtSvc()
00418         # GenEvent Data
00419         genHdr = evt["/Event/Gen/GenHeader"]
00420         if genHdr != None:
00421             self.genTimeSec[0] = genHdr.timeStamp().GetSec()
00422             self.genTimeNanoSec[0] = genHdr.timeStamp().GetNanoSec()
00423             genEvt = genHdr.event()
00424             if genEvt != None:
00425                 self.hasGen[0] = 1
00426                 nParticles = 0
00427                 for vertex in irange(genEvt.vertices_begin(),
00428                                      genEvt.vertices_end()):
00429                     pos = vertex.position()
00430                     #localPos = self.localCoord(pos)
00431                     for particle in irange(vertex.particles_out_const_begin(),
00432                                            vertex.particles_out_const_end()):
00433                         if nParticles >= self.maxGenParticles: break
00434                         self.genPdgid[nParticles] = particle.pdg_id()
00435                         self.genStatus[nParticles] = particle.status()
00436                         self.genX[nParticles] = pos.x()
00437                         self.genY[nParticles] = pos.y()
00438                         self.genZ[nParticles] = pos.z()
00439                         self.genT[nParticles] = pos.t()
00440                         self.genE[nParticles] = particle.momentum().e()
00441                         nParticles += 1
00442                 self.nGenParticles[0] = nParticles
00443         return
00444 
    def writeSimHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeSimHeader (   self  ) 

Definition at line 445 of file Tools.py.

00445                             :
00446         # SimEvent Data
00447         self.hasSim[0] = 0
00448         self.simTimeSec[0] = 0
00449         self.simTimeNanoSec[0] = 0
00450         self.nSimHits[0] = 0
00451         for name in self.simStat.keys():
00452             self.simStat[name][0] = 0
00453 
00454         evt = self.evtSvc()
00455         # SimEvent Data
00456         simHdr = evt["/Event/Sim/SimHeader"]
00457         if simHdr != None:
00458             self.hasSim[0] = 1
00459             self.simTimeSec[0] = simHdr.timeStamp().GetSec()
00460             self.simTimeNanoSec[0] = simHdr.timeStamp().GetNanoSec()
00461             shh = simHdr.hits()
00462             if shh != None:
00463                 nHits = 0
00464                 hitCollectionMap = shh.hitCollection()
00465                 for shcPair in irange(hitCollectionMap.begin(),
00466                                       hitCollectionMap.end()):
00467                     detectorInt = shcPair.first
00468                     hitCollection = shcPair.second
00469                     hits = hitCollection.collection()
00470                     detId = Detector(detectorInt<<16)
00471                     for hit in hits:
00472                         self.simHitSite[nHits] = detId.site()
00473                         self.simHitDet[nHits] = detId.detectorId()
00474                         self.simHitSensId[nHits] = hit.sensDetId()
00475                         self.simHitTime[nHits] = hit.hitTime()
00476                         self.simHitWeight[nHits] = hit.weight()
00477                         pos = hit.localPos()
00478                         self.simHitX[nHits] = pos.x()
00479                         self.simHitY[nHits] = pos.y()
00480                         self.simHitZ[nHits] = pos.z()
00481                         if (detId.detectorId() == DetectorId.kAD1
00482                             or detId.detectorId() == DetectorId.kAD2
00483                             or detId.detectorId() == DetectorId.kAD3
00484                             or detId.detectorId() == DetectorId.kAD4):
00485                             pmtId = AdPmtSensor(hit.sensDetId())
00486                             self.simHitRing[nHits] = pmtId.ring()
00487                             self.simHitColumn[nHits] = pmtId.column()
00488                             self.simHitWavelength[nHits] = hit.wavelength()
00489                             self.simHitType[nHits] = hit.type()
00490                         else:
00491                             self.simHitRing[nHits] = 0
00492                             self.simHitColumn[nHits] = 0
00493                             self.simHitWavelength[nHits] = 0
00494                             self.simHitType[nHits] = 0
00495                         nHits += 1
00496                 self.nSimHits[0] = nHits
00497             # Particle History
00498             particleHistory = simHdr.particleHistory()
00499             if particleHistory != None:
00500                 # Currently doesn't copy particle history
00501                 pass
00502             # Unobservable Statistics
00503             statsHdr = simHdr.unobservableStatistics()
00504             if statsHdr != None:
00505                 stats = statsHdr.stats()
00506                 if self.firstEntry: self.info("Adding unobservables to tree")
00507                 for statPair in irange(stats.begin(),stats.end()):
00508                     name = statPair.first
00509                     stat = statPair.second
00510                     countName = "simUnobs_"+name+"_count"
00511                     sumName = "simUnobs_"+name+"_sum"
00512                     sqSumName = "simUnobs_"+name+"_sqSum"
00513                     if not self.simStat.has_key(countName):
00514                         self.simStat[countName] = array('d',[0])
00515                         self.simStat[sumName] = array('d',[0])
00516                         self.simStat[sqSumName] = array('d',[0])
00517                         if self.firstEntry:
00518                             self.info("     Adding "+name)
00519                             self.tesTree.Branch(countName,
00520                                                 self.simStat[countName],
00521                                                 "%s/D" % countName)
00522                             self.tesTree.Branch(sumName,self.simStat[sumName],
00523                                                 "%s/D"%sumName)
00524                             self.tesTree.Branch(sqSumName,
00525                                                 self.simStat[sqSumName],
00526                                                 "%s/D"%sqSumName)
00527                         else:
00528                             self.warning("Too late to add unobservable "+name)
00529                     self.simStat[countName][0] = stat.count()
00530                     self.simStat[sumName][0] = stat.sum()
00531                     self.simStat[sqSumName][0] = stat.squaredsum()
00532         return
00533 
    def writeSimReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeSimReadoutHeader (   self  ) 

Definition at line 534 of file Tools.py.

00534                                    :
00535         # SimReadoutEvent
00536         self.hasSimRo[0] = 0
00537         self.nSimRo[0] = 0
00538         
00539         evt = self.evtSvc()
00540         # SimReadoutEvent Data
00541         simRoHdr = evt["/Event/Sim/SimReadoutHeader"]
00542         if simRoHdr != None:
00543             self.hasSimRo[0] = 1
00544             self.nSimRo[0] = simRoHdr.readouts().size()
00545         return
00546 
00547 
    def writeReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeReadoutHeader (   self  ) 

Definition at line 548 of file Tools.py.

00548                                 :
00549         # ReadoutEvent Data
00550         self.hasRo[0] = 0
00551         self.roTimeSec[0] = 0
00552         self.roTimeNanoSec[0] = 0
00553         self.hasReadout[0] = 0
00554         self.roSite[0] = 0
00555         self.roDetector[0] = 0
00556         self.roTriggerNumber[0] = 0
00557         self.roTriggerTimeSec[0] = 0
00558         self.roTriggerTimeNanoSec[0] = 0
00559         self.nRoChannels[0] = 0
00560         self.nRoTdcs[0] = 0
00561         self.nRoAdcs[0] = 0
00562 
00563         evt = self.evtSvc()
00564         # ReadoutEvent Data
00565         roHdr = evt["/Event/Readout/ReadoutHeader"]
00566         if roHdr != None:
00567             self.hasRo[0] = 1
00568             self.roTimeSec[0] = roHdr.timeStamp().GetSec()
00569             self.roTimeNanoSec[0] = roHdr.timeStamp().GetNanoSec()
00570             readout = roHdr.readout()
00571             if readout != None:
00572                 self.hasReadout[0] = 1
00573                 self.roSite[0] = readout.detector().site()
00574                 detId = readout.detector().detectorId()
00575                 self.roDetector[0] = detId
00576                 self.roTriggerNumber[0] = readout.triggerNumber()
00577                 trigTime = readout.triggerTime()
00578                 self.roTriggerTimeSec[0] = trigTime.GetSec()
00579                 self.roTriggerTimeNanoSec[0] = trigTime.GetNanoSec()
00580                 if (detId == DetectorId.kAD1 or
00581                     detId == DetectorId.kAD2 or
00582                     detId == DetectorId.kAD3 or
00583                     detId == DetectorId.kAD4 or
00584                     detId == DetectorId.kIWS or
00585                     detId == DetectorId.kOWS or
00586                     detId == DetectorId.kUnknown):  # Catch unset detector
00587                     nRoChannels = 0
00588                     nRoTdcs = 0
00589                     nRoAdcs = 0
00590                     for channelPair in readout.channelReadout():
00591                         channel = channelPair.second
00592                         chanId = channel.channelId()
00593                         self.roChanId[nRoChannels] = chanId.fullPackedData()
00594                         self.roBoard[nRoChannels] = chanId.board()
00595                         self.roConnector[nRoChannels] = chanId.connector()
00596                         self.nRoChanTdc[nRoChannels] = channel.tdc().size()
00597                         self.nRoChanAdc[nRoChannels] = channel.adc().size()
00598                         self.roChanAdcGain[nRoChannels] = channel.adcGain()
00599                         firstTdc = 0
00600                         for tdc in channel.tdc():
00601                             self.roTdc[nRoTdcs] = tdc
00602                             self.roTdcChanId[nRoTdcs] = chanId.fullPackedData()
00603                             firstTdc = max(firstTdc, tdc)
00604                             nRoTdcs += 1
00605                         peakAdc = 0
00606                         for adcPair in irange(channel.adc().begin(),
00607                                               channel.adc().end()):
00608                             adcClock = adcPair.first
00609                             adc = adcPair.second
00610                             self.roAdcClock[nRoAdcs] = adcClock
00611                             self.roAdc[nRoAdcs] = adc
00612                             self.roAdcChanId[nRoAdcs] = chanId.fullPackedData()
00613                             peakAdc = max(peakAdc, adc)
00614                             nRoAdcs += 1
00615                         self.roChanFirstTdc[nRoChannels] = firstTdc
00616                         self.roChanPeakAdc[nRoChannels] = peakAdc
00617                         nRoChannels += 1
00618                     self.nRoChannels[0] = nRoChannels
00619                     self.nRoTdcs[0] = nRoTdcs
00620                     self.nRoAdcs[0] = nRoAdcs
00621         return
00622 
    def writeCalibReadoutHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeCalibReadoutHeader (   self  ) 

Definition at line 623 of file Tools.py.

00623                                      :
00624         # CalibReadoutEvent Data
00625         self.hasCro[0] = 0
00626         self.croTimeSec[0] = 0
00627         self.croTimeNanoSec[0] = 0
00628         self.hasCalibReadout[0] = 0
00629         self.croSite[0] = 0
00630         self.croDetector[0] = 0
00631         self.croTriggerNumber[0] = 0
00632         self.croTriggerTimeSec[0] = 0
00633         self.croTriggerTimeNanoSec[0] = 0
00634         self.nCroChannels[0] = 0
00635         self.nCroTdcs[0] = 0
00636         self.nCroAdcs[0] = 0
00637         
00638         evt = self.evtSvc()
00639         # CalibReadoutEvent Data
00640         croHdr = evt["/Event/CalibReadout/CalibReadoutHeader"]
00641         if croHdr != None:
00642             self.hasCro[0] = 1
00643             self.croTimeSec[0] = croHdr.timeStamp().GetSec()
00644             self.croTimeNanoSec[0] = croHdr.timeStamp().GetNanoSec()
00645             readout = croHdr.calibReadout()
00646             if readout != None:
00647                 self.hasCalibReadout[0] = 1
00648                 self.croSite[0] = readout.detector().site()
00649                 detId = readout.detector().detectorId()
00650                 self.croDetector[0] = detId
00651                 self.croTriggerNumber[0] = readout.triggerNumber()
00652                 trigTime = readout.triggerTime()
00653                 self.croTriggerTimeSec[0] = trigTime.GetSec()
00654                 self.croTriggerTimeNanoSec[0] = trigTime.GetNanoSec()
00655                 if (detId == DetectorId.kAD1 or
00656                     detId == DetectorId.kAD2 or
00657                     detId == DetectorId.kAD3 or
00658                     detId == DetectorId.kAD4 or
00659                     detId == DetectorId.kIWS or
00660                     detId == DetectorId.kOWS):
00661                     nCroChannels = 0
00662                     nCroTdcs = 0
00663                     nCroAdcs = 0
00664                     for channelPair in readout.channelReadout():
00665                         channel = channelPair.second
00666                         chanId = channel.channelId()
00667                         self.croChanId[nCroChannels] = chanId.fullPackedData()
00668                         self.croBoard[nCroChannels] = chanId.board()
00669                         self.croConnector[nCroChannels] = chanId.connector()
00670                         self.nCroChanTdc[nCroChannels] = channel.tdc().size()
00671                         self.nCroChanAdc[nCroChannels] = channel.adc().size()
00672                         self.croChanAdcGain[nCroChannels] = channel.adcGain()
00673                         for tdc in channel.tdc():
00674                             self.croTdc[nCroTdcs] = tdc
00675                             self.croTdcChanId[nCroTdcs]= chanId.fullPackedData()
00676                             nCroTdcs += 1
00677                         for adcPair in irange(channel.adc().begin(),
00678                                               channel.adc().end()):
00679                             adcClock = adcPair.first
00680                             adc = adcPair.second
00681                             self.croAdcClock[nCroAdcs] = adcClock
00682                             self.croAdc[nCroAdcs] = adc
00683                             self.croAdcChanId[nCroAdcs]= chanId.fullPackedData()
00684                             nCroAdcs += 1
00685                         self.croChanFirstTdc[nCroChannels] = channel.firstTdc()
00686                         self.croChanPeakAdc[nCroChannels] = channel.peakAdc()
00687                         nCroChannels += 1
00688                     self.nCroChannels[0] = nCroChannels
00689                     self.nCroTdcs[0] = nCroTdcs
00690                     self.nCroAdcs[0] = nCroAdcs
00691         return
00692 
    def writeRecHeader(self):

def DataQuality::Tools::TesToTreeAlg::writeRecHeader (   self  ) 

Definition at line 693 of file Tools.py.

00693                             :
00694         # RecEvent Data
00695         self.hasRec[0] = 0
00696         self.recTimeSec[0] = 0
00697         self.recTimeNanoSec[0] = 0
00698         self.hasRecTrigger[0] = 0
00699         for name in self.recResults.keys():
00700             for fieldIdx in range(len(self.recResults[name])):
00701                 self.recResults[name][fieldIdx] = 0
00702         
00703         evt = self.evtSvc()
00704         # RecEvent Data
00705         recHdr = evt["/Event/Rec/RecHeader"]
00706         if recHdr != None:
00707             self.hasRec[0] = 1
00708             self.recTimeSec[0] = recHdr.timeStamp().GetSec()
00709             self.recTimeNanoSec[0] = recHdr.timeStamp().GetNanoSec()
00710             for recPair in irange(recHdr.recResults().begin(),
00711                                   recHdr.recResults().end()):
00712                 self.hasRecTrigger[0] = 1
00713                 recTrigger = recPair.second
00714                 recName = recTrigger.name()
00715                 recSiteName = "rec_" + recName + "_site"
00716                 recDetName = "rec_" + recName + "_det"
00717                 recTrigNumName = "rec_" + recName + "_trigNum"
00718                 recTrigTimeSecName = "rec_" + recName + "_trigTimeSec"
00719                 recTrigTimeNanoSecName = "rec_" + recName + "_trigTimeNanoSec"
00720                 recEnergyName = "rec_" + recName + "_energy"
00721                 recPosName = "rec_" + recName + "_position"
00722                 recDirName = "rec_" + recName + "_direction"
00723                 recEnergyStatName = "rec_" + recName + "_energyStatus"
00724                 recPosStatName = "rec_" + recName + "_positionStatus"
00725                 recDirStatName = "rec_" + recName + "_directionStatus"
00726                 recEnergyQualName = "rec_" + recName + "_energyQuality"
00727                 recPosQualName = "rec_" + recName + "_positionQuality"
00728                 recDirQualName = "rec_" + recName + "_directionQuality"
00729                 if not self.recResults.has_key(recSiteName):
00730                     self.prepareRecResults(recName)
00731                 self.recResults[recSiteName][0] = recTrigger.detector().site()
00732                 self.recResults[recDetName][0] = recTrigger.detector().detectorId()
00733                 self.recResults[recTrigNumName][0] = recTrigger.triggerNumber()
00734                 self.recResults[recTrigTimeSecName][0] = recTrigger.triggerTime().GetSec()
00735                 self.recResults[recTrigTimeNanoSecName][0] = recTrigger.triggerTime().GetNanoSec()
00736                 self.recResults[recEnergyName][0] = recTrigger.energy()
00737                 self.recResults[recPosName][0] = recTrigger.position().x()
00738                 self.recResults[recPosName][1] = recTrigger.position().y()
00739                 self.recResults[recPosName][2] = recTrigger.position().z()
00740                 self.recResults[recPosName][3] = recTrigger.position().t()
00741                 self.recResults[recDirName][0] = recTrigger.direction().x()
00742                 self.recResults[recDirName][1] = recTrigger.direction().y()
00743                 self.recResults[recDirName][2] = recTrigger.direction().z()
00744                 self.recResults[recDirName][3] = recTrigger.direction().t()
00745                 self.recResults[recEnergyStatName][0] = recTrigger.energyStatus()
00746                 self.recResults[recPosStatName][0] = recTrigger.positionStatus()
00747                 self.recResults[recDirStatName][0]= recTrigger.directionStatus()
00748                 self.recResults[recEnergyQualName][0]=recTrigger.energyQuality()
00749                 self.recResults[recPosQualName][0]= recTrigger.positionQuality()
00750                 self.recResults[recDirQualName][0]=recTrigger.directionQuality()
00751         return
00752 
00753         
    def finalize(self):        

def DataQuality::Tools::TesToTreeAlg::finalize (   self  ) 

Definition at line 754 of file Tools.py.

00754                       :        
00755         self.info("finalizing")
00756         status = DybPythonAlg.finalize(self)
00757         return status
00758 


Member Data Documentation

DataQuality::Tools::TesToTreeAlg::HeaderList

Definition at line 36 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::ForceReconResults

Definition at line 38 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::firstEntry

Definition at line 46 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::tesTree

Definition at line 48 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasGen

Definition at line 68 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genTimeSec

Definition at line 69 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genTimeNanoSec

Definition at line 70 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nGenParticles

Definition at line 71 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxGenParticles

Definition at line 72 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genPdgid

Definition at line 73 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genStatus

Definition at line 74 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genX

Definition at line 75 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genY

Definition at line 76 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genZ

Definition at line 77 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genT

Definition at line 78 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::genE

Definition at line 79 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasSim

Definition at line 99 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simTimeSec

Definition at line 100 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simTimeNanoSec

Definition at line 101 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nSimHits

Definition at line 102 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxSimHits

Definition at line 103 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitSite

Definition at line 104 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitDet

Definition at line 105 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitSensId

Definition at line 106 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitTime

Definition at line 107 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitWeight

Definition at line 108 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitX

Definition at line 109 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitY

Definition at line 110 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitZ

Definition at line 111 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitRing

Definition at line 112 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitColumn

Definition at line 113 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitWavelength

Definition at line 114 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simHitType

Definition at line 115 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::simStat

Definition at line 116 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasSimRo

Definition at line 146 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nSimRo

Definition at line 147 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasRo

Definition at line 154 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTimeSec

Definition at line 155 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTimeNanoSec

Definition at line 156 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasReadout

Definition at line 157 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roSite

Definition at line 158 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roDetector

Definition at line 159 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTriggerNumber

Definition at line 160 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTriggerTimeSec

Definition at line 161 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTriggerTimeNanoSec

Definition at line 162 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nRoChannels

Definition at line 163 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nRoTdcs

Definition at line 164 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nRoAdcs

Definition at line 165 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxRoChannels

Definition at line 166 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roChanId

Definition at line 167 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roBoard

Definition at line 168 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roConnector

Definition at line 169 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nRoChanTdc

Definition at line 170 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nRoChanAdc

Definition at line 171 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roChanAdcGain

Definition at line 172 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roChanFirstTdc

Definition at line 173 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roChanPeakAdc

Definition at line 174 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxRoTdcs

Definition at line 175 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTdc

Definition at line 176 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roTdcChanId

Definition at line 177 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxRoAdcs

Definition at line 178 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roAdcClock

Definition at line 179 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roAdc

Definition at line 180 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::roAdcChanId

Definition at line 181 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasCro

Definition at line 224 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTimeSec

Definition at line 225 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTimeNanoSec

Definition at line 226 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasCalibReadout

Definition at line 227 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croSite

Definition at line 228 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croDetector

Definition at line 229 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTriggerNumber

Definition at line 230 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTriggerTimeSec

Definition at line 231 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTriggerTimeNanoSec

Definition at line 232 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nCroChannels

Definition at line 233 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nCroTdcs

Definition at line 234 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nCroAdcs

Definition at line 235 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxCroChannels

Definition at line 236 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croChanId

Definition at line 237 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croBoard

Definition at line 238 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croConnector

Definition at line 239 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nCroChanTdc

Definition at line 240 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::nCroChanAdc

Definition at line 241 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croChanAdcGain

Definition at line 242 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croChanFirstTdc

Definition at line 243 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croChanPeakAdc

Definition at line 244 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxCroTdcs

Definition at line 245 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTdc

Definition at line 246 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croTdcChanId

Definition at line 247 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::maxCroAdcs

Definition at line 248 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croAdcClock

Definition at line 249 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croAdc

Definition at line 250 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::croAdcChanId

Definition at line 251 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasRec

Definition at line 296 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::recTimeSec

Definition at line 297 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::recTimeNanoSec

Definition at line 298 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::hasRecTrigger

Definition at line 299 of file Tools.py.

DataQuality::Tools::TesToTreeAlg::recResults

Definition at line 300 of file Tools.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:33:31 2011 for DataQuality by doxygen 1.4.7