560 def postExecute(self):
561
562 runArgs=self.conf._argdict
563 prefix=runArgs['prefix']._value
564
565
566
567
568
569 listOfKeys = self._trf.dataDictionary
570
571 if 'doNoisyStrip' in runArgs['part']._value and runArgs['splitHitMap']._value == 1:
572 outInstance0 = self.conf.dataDictionary[list(self._output)[0]]
573 outTFile0 = TFile(outInstance0._value[0])
574 print (outTFile0.GetName())
575 outNentries0 = int(outTFile0.Get(
'GENERAL/events').
GetEntries())
576 outInstance0._setMetadata(outInstance0._value,{'nentries': outNentries0})
577
578 outInstance1 = self.conf.dataDictionary[list(self._output)[1]]
579 outTFile1 = TFile(outInstance1._value[0])
580 print (outTFile1.GetName())
581 outNentries1 = int(outTFile1.Get(
'GENERAL/events').
GetEntries())
582 outInstance1._setMetadata(outInstance1._value,{'nentries': outNentries1})
583
584 if ('doDeadStrip' in runArgs['part']._value or 'doDeadChip' in runArgs['part']._value or 'doQuietStrip' in runArgs['part']._value or 'doQuietChip' in runArgs['part']._value ) and runArgs['splitHitMap']._value == 1:
585 outInstance0 = self.conf.dataDictionary[list(self._output)[0]]
586 outTFile0 = TFile(outInstance0._value[0])
587 print (outTFile0.GetName())
588 outNentries0 = int(outTFile0.Get(
'GENERAL/events').
GetEntries())
589 outInstance0._setMetadata(outInstance0._value,{'nentries': outNentries0})
590
591 outInstance1 = self.conf.dataDictionary[list(self._output)[1]]
592 outTFile1 = TFile(outInstance1._value[0])
593 print (outTFile1.GetName())
594 outNentries1 = int(outTFile1.Get(
'GENERAL/events').
GetEntries())
595 outInstance1._setMetadata(outInstance1._value,{'nentries': outNentries1})
596
597 if 'doDeadStrip' in runArgs['part']._value and runArgs['splitHitMap']._value != 1:
598 pwd=os.getcwd()
599 deadFile=pwd+'/'+prefix+'.DeadStripsFile.xml'
600 deadSummary=pwd+'/'+prefix+'.DeadSummaryFile.xml'
601
602 numLinesFile = 0
603 numLinesSummary = 0
604 if os.path.exists(deadFile):
605 numLinesFile = sum(1 for line in open(deadFile))
606 if os.path.exists(deadSummary):
607 numLinesSummary = sum(1 for line in open(deadSummary))
608
609
610
611
612 if ( numLinesFile == 2 and numLinesSummary == 20 ):
613 dataDic = self._trf.dataDictionary
614 listOfKeys = []
615
616 for key in dataDic:
617 if key != 'COOL':
618 listOfKeys.append(key)
619
620 redDict = {key:dataDic[key] for key in listOfKeys}
621 self._trf._dataDictionary = redDict
622
623 if 'doDeadChip' in runArgs['part']._value and runArgs['splitHitMap']._value != 1:
624 pwd=os.getcwd()
625 deadFile=pwd+'/'+prefix+'.DeadChipsFile.xml'
626 deadSummary=pwd+'/'+prefix+'.DeadSummaryFile.xml'
627
628 numLinesFile = 0
629 numLinesSummary = 0
630 if os.path.exists(deadFile):
631 numLinesFile = sum(1 for line in open(deadFile))
632 if os.path.exists(deadSummary):
633 numLinesSummary = sum(1 for line in open(deadSummary))
634
635
636
637
638 if ( numLinesFile == 2 and numLinesSummary == 20 ):
639 dataDic = self._trf.dataDictionary
640 listOfKeys = []
641
642 for key in dataDic:
643 if key != 'COOL':
644 listOfKeys.append(key)
645
646 redDict = {key:dataDic[key] for key in listOfKeys}
647 self._trf._dataDictionary = redDict
648
649 if 'doQuietStrip' in runArgs['part']._value and runArgs['splitHitMap']._value != 1:
650 pwd=os.getcwd()
651 deadFile=pwd+'/'+prefix+'.QuietStripsFile.xml'
652 deadSummary=pwd+'/'+prefix+'.QuietSummaryFile.xml'
653
654 numLinesFile = 0
655 numLinesSummary = 0
656 if os.path.exists(deadFile):
657 numLinesFile = sum(1 for line in open(deadFile))
658 if os.path.exists(deadSummary):
659 numLinesSummary = sum(1 for line in open(deadSummary))
660
661
662
663
664 if ( numLinesFile == 2 and numLinesSummary == 20 ):
665 dataDic = self._trf.dataDictionary
666 listOfKeys = []
667
668 for key in dataDic:
669 if key != 'COOL':
670 listOfKeys.append(key)
671
672 redDict = {key:dataDic[key] for key in listOfKeys}
673 self._trf._dataDictionary = redDict
674
675 if 'doQuietChip' in runArgs['part']._value and runArgs['splitHitMap']._value != 1:
676 pwd=os.getcwd()
677 deadFile=pwd+'/'+prefix+'.QuietChipsFile.xml'
678 deadSummary=pwd+'/'+prefix+'.QuietSummaryFile.xml'
679
680 numLinesFile = 0
681 numLinesSummary = 0
682 if os.path.exists(deadFile):
683 numLinesFile = sum(1 for line in open(deadFile))
684 if os.path.exists(deadSummary):
685 numLinesSummary = sum(1 for line in open(deadSummary))
686
687
688
689
690 if ( numLinesFile == 2 and numLinesSummary == 20 ):
691 dataDic = self._trf.dataDictionary
692 listOfKeys = []
693
694 for key in dataDic:
695 if key != 'COOL':
696 listOfKeys.append(key)
697
698 redDict = {key:dataDic[key] for key in listOfKeys}
699 self._trf._dataDictionary = redDict
700
701 if prefix != '':
702 try:
703 if runArgs['splitHitMap']._value !=1 and 'COOL' in listOfKeys:
704 os.rename('mycool.db',prefix+'.mycool.db')
705 if runArgs['splitHitMap']._value == 2:
706 os.rename('SCTHitMaps.root',prefix+'.SCTHitMaps.root')
707 if 'doNoisyStrip' in runArgs['part']._value:
708 os.rename('SCTLB.root',prefix+'.SCTLB.root')
709 if ('doDeadStrip' in runArgs['part']._value or 'doDeadChip' in runArgs['part']._value or 'doQuietStrip' in runArgs['part']._value or 'doQuietChip' in runArgs['part']._value ):
710 os.rename('SCTBSErrors.root',prefix+'.SCTBSErrors.root')
711 except OSError:
712 self._echologger.warning('failed to rename DB, ROOT or LOG file.' )
713
714 super(SCTCalibExecutor, self).postExecute()
715
TGraphErrors * GetEntries(TH2F *histo)