def __init__(self, name, component, cfg): super( DiMuAnalyzer, self).__init__(component.fraction) self.name = name self.cmp = component self.cfg = cfg self.events = Events( glob.glob( self.cmp.files) ) self.triggerList = TriggerList( self.cmp.triggers ) ## if self.cmp.isMC or self.cmp.isEmbed: ## self.trigEff = TriggerEfficiency() ## self.trigEff.tauEff = None ## self.trigEff.lepEff = None ## if self.cmp.tauEffWeight is not None: ## self.trigEff.tauEff = getattr( self.trigEff, ## self.cmp.tauEffWeight ) ## if self.cmp.muEffWeight is not None: ## self.trigEff.lepEff = getattr( self.trigEff, ## self.cmp.muEffWeight ) # here create outputs ## self.regions = H2TauTauRegions( self.cfg.cuts ) ## self.output = Output( self.name, self.regions ) ## if self.cmp.name == 'DYJets': ## self.outputFakes = Output( self.name + '_Fakes', self.regions ) self.output = DiMuOutput( self.name ) self.counters = Counters() self.averages = {} self.InitHandles() self.InitCounters() self.logger = logging.getLogger(self.name) self.logger.addHandler(logging.FileHandler('/'.join([self.output.name, 'log.txt'])))
def InitOutput(self): '''Initialize histograms physics objects, counters.''' #COLIN do I really need to declare them? # declaring physics objects self.diTau = None self.triggerObject = None # declaring counters and averages self.counters = Counters() self.counters.addCounter('triggerPassed') self.counters.addCounter('exactlyOneDiTau') self.counters.addCounter('singleDiTau') self.counters.addCounter('VBF') # self.averages['triggerWeight']=Average('triggerWeight') self.averages['lepEffWeight'] = Average('lepEffWeight') self.averages['tauEffWeight'] = Average('tauEffWeight') self.averages['vertexWeight'] = Average('vertexWeight') self.averages['eventWeight'] = Average('eventWeight') self.regions = H2TauTauRegions(self.cfg.cuts) self.histoLists = {} inclusiveRegions = set() for regionName in self.regions.regionNames(): self.histoLists[regionName] = H2TauTauHistogramList('/'.join( [self.name, regionName])) incRegName = inclusiveRegionName(regionName) inclusiveRegions.add(incRegName) for regionName in inclusiveRegions: self.histoLists[regionName] = H2TauTauHistogramList('/'.join( [self.name, regionName]))
def __init__(self, name, component, cfg): '''Build a loop object. listOfFiles can be "*.root". name will be used to make the output directory''' self.name = name self.cmp = component self.cfg = cfg self.events = Events(glob.glob(self.cmp.files)) self.triggerList = TriggerList(self.cmp.triggers) if self.cmp.isMC: self.trigEff = TriggerEfficiency() self.trigEff.tauEff = None self.trigEff.lepEff = None if self.cmp.tauEffWeight is not None: self.trigEff.tauEff = getattr(self.trigEff, self.cmp.tauEffWeight) if self.cmp.muEffWeight is not None: self.trigEff.lepEff = getattr(self.trigEff, self.cmp.muEffWeight) #self.cmp.turnOnCurve = None #if self.cmp.isMC: # if self.cmp.tauTriggerTOC is not None: # self.cmp.turnOnCurve = TurnOnCurve( self.cmp.tauTriggerTOC ) self._MakeOutputDir() self.counters = Counters() self.averages = {} # self.histograms = [] self.InitHandles()
def InitCounters(self): '''Initialize histograms physics objects, counters.''' # declaring counters and averages self.counters = Counters() self.counters.addCounter('triggerPassed') self.counters.addCounter('exactlyOneDiMu') self.counters.addCounter('singleDiMu') self.counters.addCounter('VBF') # self.averages['triggerWeight']=Average('triggerWeight') ## self.averages['lepEffWeight']=Average('lepEffWeight') ## self.averages['tauEffWeight']=Average('tauEffWeight') self.averages['vertexWeight']=Average('vertexWeight') ## self.averages['generatorWeight']=Average('generatorWeight') self.averages['eventWeight']=Average('eventWeight')
def __init__(self, name, component, cfg): '''Build a loop object. listOfFiles can be "*.root". name will be used to make the output directory''' self.name = name self.cmp = component self.cfg = cfg self.events = Events(glob.glob(self.cmp.files)) self.triggerList = TriggerList(self.cmp.triggers) if self.cmp.isMC or self.cmp.isEmbed: self.trigEff = TriggerEfficiency() self.trigEff.tauEff = None self.trigEff.lepEff = None if self.cmp.tauEffWeight is not None: self.trigEff.tauEff = getattr(self.trigEff, self.cmp.tauEffWeight) if self.cmp.muEffWeight is not None: self.trigEff.lepEff = getattr(self.trigEff, self.cmp.muEffWeight) # here create outputs self.regions = H2TauTauRegions(self.cfg.cuts) self.output = Output(self.name, self.regions) if self.cmp.name == 'DYJets': self.outputFakes = Output(self.name + '_Fakes', self.regions) self.logger = logging.getLogger(self.name) self.logger.addHandler( logging.FileHandler('/'.join([self.name, 'log.txt']))) self.counters = Counters() self.averages = {} # self.histograms = [] self.InitHandles() self.InitCounters()