Esempio n. 1
0
def calculateEfficiency(deltaR=-1, eThr=-1):
    nMatches = 0
    nTotal = 0
    eventCounter = 0
    print 'Efficiency analysis:'
    for event in file.dataTree:
        #Tell us about the progress
        eventCounter += 1
        if (eventCounter % 1000 == 0):
            sys.stdout.write('\rprocessing event %7d ==> %6.2f%% done.' %
                             (eventCounter, eventCounter /
                              float(tree.GetEntriesFast()) * 100))
            sys.stdout.flush()
        l1DataVector = event.l1MuonData
        genDataVector = event.genMuonData
        for genObject in genDataVector:
            l1Match = findBestL1Match(genObject, l1DataVector, 0.3)
            if l1Match != None:
                nTotal += 1
                hoMatch = findBestHoMatch(l1Match, event.hoRecHitData, deltaR,
                                          eThr)
                if (hoMatch != None):
                    nMatches += 1
    print
    print 'Done.'
    return nMatches, nTotal, eventCounter
Esempio n. 2
0
def analyze(deltaR=-1, eThr=-1):

    deltaTimes = []
    eventCounter = 0

    header = '| Delta R = %4.3f. E Thr = %4.3fGeV |' % (deltaR, eThr)

    print len(header) * '-'
    print header
    print len(header) * '-'

    for event in file.dataTree:
        #Tell us about the progress
        eventCounter += 1
        if (eventCounter % 1000 == 0):
            sys.stdout.write('\rprocessing event %7d ==> %6.2f%% done.' %
                             (eventCounter, eventCounter /
                              float(tree.GetEntriesFast()) * 100))
            sys.stdout.flush()
        l1DataVector = event.l1MuonData
        for l1Object in l1DataVector:
            hoMatch = findBestHoMatch(l1Object, event.hoRecHitData, deltaR,
                                      eThr)
            if (hoMatch != None):
                deltaTimes.append(l1Object.bx * 25. - hoMatch.time)
    print

    histDeltaTime = getTH1D("histDeltaTimes",
                            "#DeltaTime;E_{Thr} / GeV;#DeltaTime / ns", 200,
                            -100, 100)

    for deltaTime in deltaTimes:
        histDeltaTime.Fill(deltaTime)
    canvas = TCanvas('canvasDeltaTimesEThr', 'Delta Time vs. E_{Thr}', 1200,
                     1200)
    histDeltaTime.SetStats(0)
    histDeltaTime.Draw()

    canvas.Update()

    print 'Done.'

    filenameTrunk = 'results/plots/analyzeFull-DeltaR%01d_%03d-EThr%01d_%03d_%s' % (
        int(deltaR), int(deltaR * 1000), int(eThr), int(
            eThr * 1000), options.instance)

    canvas.SaveAs(filenameTrunk + '.png')
    canvas.SaveAs(filenameTrunk + '.pdf')
    canvas.SaveAs(filenameTrunk + '.root')

    return deltaTimes, deltaR, eThr
Esempio n. 3
0
def analyze(deltaR = -1, eThr = -1):

	deltaTimes = []
	eventCounter = 0
	
	header = '| Delta R = %4.3f. E Thr = %4.3fGeV |' % (deltaR,eThr)
	
	print len(header)*'-'
	print header
	print len(header)*'-'
	
	for event in file.dataTree:
		#Tell us about the progress
		eventCounter += 1
		if(eventCounter%1000 == 0):
			sys.stdout.write( '\rprocessing event %7d ==> %6.2f%% done.' % (eventCounter,eventCounter/float(tree.GetEntriesFast())*100))
			sys.stdout.flush()
		l1DataVector = event.l1MuonData
		for l1Object in l1DataVector:
			hoMatch = findBestHoMatch(l1Object,event.hoRecHitData,deltaR,eThr)
			if(hoMatch != None):
				deltaTimes.append(l1Object.bx*25. - hoMatch.time)
	print
	
	histDeltaTime = getTH1D("histDeltaTimes","#DeltaTime;E_{Thr} / GeV;#DeltaTime / ns", 200,-100,100)
	
	for deltaTime in deltaTimes:
			histDeltaTime.Fill(deltaTime)
	canvas = TCanvas('canvasDeltaTimesEThr','Delta Time vs. E_{Thr}',1200,1200)
	histDeltaTime.SetStats(0)
	histDeltaTime.Draw()
	
	canvas.Update()
	
	print 'Done.'
	
	filenameTrunk = 'results/plots/analyzeFull-DeltaR%01d_%03d-EThr%01d_%03d_%s' % (int(deltaR),int(deltaR*1000),
												int(eThr),int(eThr*1000),options.instance)
	
	canvas.SaveAs(filenameTrunk + '.png')
	canvas.SaveAs(filenameTrunk + '.pdf')
	canvas.SaveAs(filenameTrunk + '.root')
	
	return deltaTimes,deltaR,eThr
Esempio n. 4
0
def calculateEfficiency(deltaR = -1, eThr = -1):
	nMatches = 0
	nTotal = 0
	eventCounter = 0
	print 'Efficiency analysis:'
	for event in file.dataTree:
		#Tell us about the progress
		eventCounter += 1
		if(eventCounter%1000 == 0):
			sys.stdout.write( '\rprocessing event %7d ==> %6.2f%% done.' % (eventCounter,eventCounter/float(tree.GetEntriesFast())*100))
			sys.stdout.flush()
		l1DataVector = event.l1MuonData
		genDataVector = event.genMuonData
		for genObject in genDataVector:
			l1Match = findBestL1Match(genObject, l1DataVector,0.3)
			if l1Match != None:
				nTotal += 1
				hoMatch = findBestHoMatch(l1Match,event.hoRecHitData,deltaR,eThr)
				if(hoMatch != None):
					nMatches += 1
	print
	print 'Done.'
	return nMatches, nTotal,eventCounter