~vpec/maus/tof_calib_read

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Author: Christopher Tunnell <tunnell@hep.uchicago.edu>
#
# June 04, 2009
#

from src.GenericWorker import *
from src.oscalls import *
import src.MakeCanvas
import os, datetime

class CompareProcedures(GenericWorker):
    "Compare flag procedure and calibration procedure"

    def __init__(self, runType):
        self.runType = runType

    def ProcessStart(self):
        self.nPP = 0
        self.nPF = 0
        self.nFP = 0
        self.nFF = 0
        self.n = 0
        
    def ProcessStop(self):
        if self.n:
            print 'Total number of calibrations:              ', self.n
            print 'Pass Flag Pass Calib', self.nPP, 'or', float(self.nPP)/self.n*100, '%'
            print 'Pass Flag Fail Calib', self.nPF, 'or', float(self.nPF)/self.n*100, '%'
            print 'Fail Flag Pass Calib', self.nFP, 'or', float(self.nFP)/self.n*100, '%'
            print 'Fail Flag Fail Calib', self.nFF, 'or', float(self.nFF)/self.n*100, '%'
    
    def ProcessRegion(self, region):
        chanstat_event = None
        for event in region.GetEvents():
            if event.runType == "ChanStat":
                chanstat_event = event

        for event in region.GetEvents():
            if event.runType == self.runType:
                assert(event.data.has_key('goodRegion'))
                assert(event.data.has_key('calibratableRegion'))

                self.n += 1

                if event.data['goodRegion'] and event.data['calibratableRegion']:
                    self.nPP += 1
                elif  event.data['goodRegion'] and not event.data['calibratableRegion']:
                    self.nPF += 1
                    #if chanstat_event != None:
                    #    print region.GetHash(), chanstat_event.problems
                    #else:
                    #    print region.GetHash(), "no probs"
                    #print 'Pass ChiRms Fail Qflag', region.GetHash(), region.GetHash(1)
                elif not event.data['goodRegion'] and event.data['calibratableRegion']:
                    self.nFP += 1
                    #print 'Fail ChiRms Pass Qflag', region.GetHash(), region.GetHash(1)
                elif not event.data['goodRegion'] and not event.data['calibratableRegion']:
                    self.nFF += 1

                return