#Removal of multiple cnadidates from the sample #Renata Kopecna import sys import os import argparse from RemoveMultipleCandidatesSource import * sys.path.insert(0,'/home/lhcb/kopecna/B2KstarMuMu_clean/Code/Selection/ComparisonTool') #import Utils from Utils3 import checkYearSample import ROOT ''' Tool for removing multiple candidates after TMVA. Adds a branch with a boolean for each TMVA cut, whether the event should be removed or not ''' class ShowArgumentsParser(argparse.ArgumentParser): def error(self, message): sys.stderr.write('error: %s\n\n' %message) parser.print_usage(sys.stderr) sys.stderr.write('\n'+self.description) sys.exit(2) if '__main__' == __name__: print ("") parser = ShowArgumentsParser( formatter_class=argparse.RawDescriptionHelpFormatter, prog=os.path.basename(sys.argv[0]), description=(""" For a full list of arguments, do: 'python {0} -h' """).format(os.path.basename(sys.argv[0])) ) ## add the arguments parser.add_argument("-v", "--verbose", action="store_true",help="increase output verbosity") parser.add_argument('-year', metavar='', default = "2011", type = str, help="Sets the year") parser.add_argument("-Data", "--Data", action="store_true", default = False, help="Data") parser.add_argument("-MC", "--MC", action="store_true", default = False, help="MC") parser.add_argument("-TM", "--TM", action="store_true", default = False, help="TM") parser.add_argument("-TMpid", "--TMpid", action="store_true", default = False, help="TMpid") parser.add_argument("-gammaTM", "--gammaTM", action="store_true", default = False, help="gammaTM") parser.add_argument("-RefChan", "--RefChan", action="store_true", default = False, help="ReferenceChannel") parser.add_argument("-PHSP", "--PHSP", action="store_true", default = False, help="PHSP") parser.add_argument('-Run', metavar='', default = 1, type = int, help="Sets the run") parser.add_argument("-all", "--all", action="store_true", default = False, help="Run over all years") ROOT.PyConfig.IgnoreCommandLineOptions = True opts = parser.parse_args() if (opts.verbose): print ("[DEBUG]\t",opts) allYearsDict ={ 2011:1, 2012:1, 2015:2, 2016:2, 2017:2, 2018:2, } if (opts.all): for yr in allYearsDict.keys(): isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=True, MC=False,TM=False, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=True, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=True, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=True, KshortDecaysInVelo=True,verbose=opts.verbose) isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=False, ReferenceChannel=False, PHSP=True, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=True, ReferenceChannel=False, PHSP=True, KshortDecaysInVelo=True,verbose=opts.verbose) if (yr != 2015): isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=True, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=True, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) if (yr < 2017): isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=False, gammaTM=False, ReferenceChannel=True, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=True, TMpid=False, gammaTM=False, ReferenceChannel=True, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=False, ReferenceChannel=True, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) #isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=True, ReferenceChannel=True, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) else: #ONLY FOR INCLUSIVE SAMPLE for yr in allYearsDict.keys(): if (yr != 2015 and yr <2017): isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=False, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose) isMultipleCandidate(year=yr, Run=allYearsDict[yr], Data=False, MC=True, TM=False, TMpid=True, gammaTM=False, ReferenceChannel=False, PHSP=False, KshortDecaysInVelo=True,verbose=opts.verbose)