Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
5.8 KiB

  1. #Removal of multiple cnadidates from the sample
  2. #Renata Kopecna
  3. import sys
  4. import os
  5. import argparse
  6. from RemoveMultipleCandidatesSource import *
  7. sys.path.insert(0,'/home/lhcb/kopecna/B2KstarMuMu_clean/Code/Selection/ComparisonTool')
  8. #import Utils
  9. from Utils3 import checkYearSample
  10. import ROOT
  11. '''
  12. Tool for removing multiple candidates after TMVA.
  13. Adds a branch with a boolean for each TMVA cut, whether the event should be removed or not
  14. '''
  15. class ShowArgumentsParser(argparse.ArgumentParser):
  16. def error(self, message):
  17. sys.stderr.write('error: %s\n\n' %message)
  18. parser.print_usage(sys.stderr)
  19. sys.stderr.write('\n'+self.description)
  20. sys.exit(2)
  21. if '__main__' == __name__:
  22. print ("")
  23. parser = ShowArgumentsParser(
  24. formatter_class=argparse.RawDescriptionHelpFormatter,
  25. prog=os.path.basename(sys.argv[0]),
  26. description=("""
  27. For a full list of arguments, do: 'python {0} -h'
  28. """).format(os.path.basename(sys.argv[0]))
  29. )
  30. ## add the arguments
  31. parser.add_argument("-v", "--verbose", action="store_true",help="increase output verbosity")
  32. parser.add_argument('-year', metavar='<year>', default = "2011", type = str, help="Sets the year")
  33. parser.add_argument("-Data", "--Data", action="store_true", default = False, help="Data")
  34. parser.add_argument("-MC", "--MC", action="store_true", default = False, help="MC")
  35. parser.add_argument("-TM", "--TM", action="store_true", default = False, help="TM")
  36. parser.add_argument("-TMpid", "--TMpid", action="store_true", default = False, help="TMpid")
  37. parser.add_argument("-gammaTM", "--gammaTM", action="store_true", default = False, help="gammaTM")
  38. parser.add_argument("-RefChan", "--RefChan", action="store_true", default = False, help="ReferenceChannel")
  39. parser.add_argument("-PHSP", "--PHSP", action="store_true", default = False, help="PHSP")
  40. parser.add_argument('-Run', metavar='<Run>', default = 1, type = int, help="Sets the run")
  41. parser.add_argument("-all", "--all", action="store_true", default = False, help="Run over all years")
  42. ROOT.PyConfig.IgnoreCommandLineOptions = True
  43. opts = parser.parse_args()
  44. if (opts.verbose): print ("[DEBUG]\t",opts)
  45. allYearsDict ={ 2011:1,
  46. 2012:1,
  47. 2015:2,
  48. 2016:2,
  49. 2017:2,
  50. 2018:2,
  51. }
  52. if (opts.all):
  53. for yr in allYearsDict.keys():
  54. 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)
  55. 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)
  56. #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)
  57. 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)
  58. #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)
  59. if (yr != 2015):
  60. 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)
  61. #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)
  62. 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)
  63. #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)
  64. if (yr < 2017):
  65. 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)
  66. #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)
  67. 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)
  68. #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)
  69. else:
  70. #ONLY FOR INCLUSIVE SAMPLE
  71. for yr in allYearsDict.keys():
  72. if (yr != 2015 and yr <2017):
  73. 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)
  74. 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)