def initialize(self,config_name): """ Initialize the selection (before looping the events) @param config_name Name of the configuration to use (e.g., 'miniSL') """ self.cfg_name = config_name logging.getLogger('share/{0}.log'.format(self.cfg_name)) self.loggingLEVEL = logging.getLogger().getEffectiveLevel() # DEBUG, INFO, ERROR, etc. logging.info("") logging.critical(" -- In file 'SelectionBase.py'\n") logging.info(" ------------ ") parser_cutsfile_name = self.parser.get(self.cfg_name,'cutsfile') # default if not self.cutsfile: self.cutsfile = parser_cutsfile_name self.cuts = config.processCuts(self.cutsfile) ## We only need to load the cuts files once ## (the cuts don't change from event-to-event!) self.object_level_cuts = ObjectCuts(self.parser,self.cuts) self.event_level_cuts = EventCuts(self.parser,self.cuts) self.build_custom_objects = (self.parser.get(self.cfg_name,'new_objects')) self.btag_WP = info.btagging_WP(self.parser.get(self.cfg_name,'btag_wkpt')) return
def __init__(self,parser,cuts): """ Initialize the class by loading the config file. @param objects @param cuts """ self.ops = config.logicOperators() self.cuts = cuts self.parser = parser #cut_result = self.applyCuts() self.section = 'object_level' self.btag_WP = info.btagging_WP(self.parser.get('miniSL','btag_wkpt')) self.user_specified_cuts = [k for k in cuts[self.section].keys()] self.lepton_keys = [] self.met_keys = [] self.nu_keys = [] self.jet_keys = [] self.bjet_keys = [] self.fatjet_keys = [] self.rcjet_keys = [] self.leptonicW_keys = [] self.leptonicT_keys = [] self.hadronicT_keys = [] for k in self.user_specified_cuts: if "lepton" in k: self.lepton_keys.append(k) elif "met" in k: self.met_keys.append(k) elif "nu" in k: self.nu_keys.append(k) elif k.startswith("jet"): self.jet_keys.append(k) elif k.startswith("bjet"): self.bjet_keys.append(k) elif "fatjets" in k: self.fatjet_keys.append(k) elif "rcjet" in k: self.rcjet_keys.append(k) elif "leptonicW" in k: self.leptonicW_keys.append(k) elif "leptonicT" in k: self.leptonicT_keys.append(k) elif "hadronicT" in k: self.hadronicT_keys.append(k) return