import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInLowTauPtCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary["TauPt"] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary["TauPt"] <= 50.0 and not (theEventDictionary.eventDictionary['Njets'] == 0 and theEventDictionary.eventDictionary['DeltaR'] < 2.0)): return True else: return False return False LowTauPtCategory = AnalysisCategoryDef.AnalysisCategory() LowTauPtCategory.name = 'htt_NJ_mt_LowTauPt' LowTauPtCategory.IsInCategory = IsInLowTauPtCategory LowTauPtCategory.rollingVariable = 'Njets' LowTauPtCategory.rollingBins = [0, 1, 2, 3, 4, 20] LowTauPtCategory.reconstructionVariable = 'M_sv' LowTauPtCategory.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 290.0 ] #LowTauPtCategory.reconstructionBins = [75.0,90.0,105.0,120.0,135.0,150.0,170.0,190.0,210,250.0]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInInclusiveCategory(theAnalysisCategory, theEventDictionary): isGoodEvent = False if (theEventDictionary.eventDictionary["TauPt"] > 30.0 and theEventDictionary.eventDictionary["MT"] < 50.0): isGoodEvent = True return isGoodEvent MTInclusive = AnalysisCategoryDef.AnalysisCategory() MTInclusive.name = "mtt" MTInclusive.IsInCategory = IsInInclusiveCategory MTInclusive.rollingVariable = "TauPt" MTInclusive.rollingBins = [0.0, 9000.0] MTInclusive.reconstructionVariable = "M_sv" MTInclusive.reconstructionBins = [ 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0,
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInBoostedOneJetCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and (theEventDictionary.eventDictionary['Njets'] == 1.0 or (theEventDictionary.eventDictionary['Njets'] >= 2.0 and theEventDictionary.eventDictionary['mjj'] <= 350.0)) and theEventDictionary.eventDictionary['Njets'] == 1.0): return True else: return False return False Boosted1J = AnalysisCategoryDef.AnalysisCategory() Boosted1J.name = 'mt_boosted_1J' Boosted1J.IsInCategory = IsInBoostedOneJetCategory Boosted1J.rollingVariable = 'HiggsPt' Boosted1J.rollingBins = [0.0, 60.0, 120.0, 200.0, 250.0, 300.0, 10000.0] Boosted1J.reconstructionVariable = 'M_sv' Boosted1J.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
def IsInIntermediateTauPtCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary["TauPt"] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary["TauPt"] >= 50.0 and theEventDictionary.eventDictionary["TauPt"] <= 70.0 and not (theEventDictionary.eventDictionary['Njets'] == 0 and theEventDictionary.eventDictionary['DeltaR'] < 2.0) and not (abs(theEventDictionary.eventDictionary['TauEta']) > 0.2 and abs(theEventDictionary.eventDictionary['TauEta']) < 0.3) #and theEventDictionary.eventDictionary['MET'] < 100.0 ): return True else: return False return False IntermediateTauPtCategory = AnalysisCategoryDef.AnalysisCategory() IntermediateTauPtCategory.name = 'htt_PTH_mt_IntermediateTauPt' IntermediateTauPtCategory.IsInCategory = IsInIntermediateTauPtCategory IntermediateTauPtCategory.rollingVariable = 'differentialHiggsPt' IntermediateTauPtCategory.rollingBins = [0, 45, 80, 120, 200, 350, 100000000] IntermediateTauPtCategory.reconstructionVariable = 'M_sv' IntermediateTauPtCategory.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 290.0 ] #IntermediateTauPtCategory.reconstructionBins = [75.0,90.0,105.0,120.0,135.0,150.0,170.0,190.0,210,250.0]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInVBFLowCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['Njets'] >= 2.0 and theEventDictionary.eventDictionary['mjj'] > 350.0 and theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['HiggsPt'] < 200.0 and theEventDictionary.eventDictionary['HiggsPt'] > 0.0 and (theEventDictionary.eventDictionary['M_sv'] <= 90.0 or theEventDictionary.eventDictionary['M_sv'] >= 150.0)): return True else: return False return False VBFLow = AnalysisCategoryDef.AnalysisCategory() VBFLow.name = 'mt_vbf_PTH_0_200' VBFLow.IsInCategory = IsInVBFLowCategory VBFLow.rollingVariable = 'mjj' VBFLow.rollingBins = [350.0, 700.0, 1000.0, 1500.0, 1800.0, 10000.0] VBFLow.reconstructionVariable = 'M_sv' VBFLow.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 290.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInBoostedGTETwoJetCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and (theEventDictionary.eventDictionary['Njets'] == 1.0 or (theEventDictionary.eventDictionary['Njets'] >= 2.0 and theEventDictionary.eventDictionary['mjj'] <= 350.0)) and theEventDictionary.eventDictionary['Njets'] >= 2.0): return True else: return False return False BoostedGTE2J = AnalysisCategoryDef.AnalysisCategory() BoostedGTE2J.name = 'mt_boosted_GE2J' BoostedGTE2J.IsInCategory = IsInBoostedGTETwoJetCategory BoostedGTE2J.rollingVariable = 'HiggsPt' BoostedGTE2J.rollingBins = [0.0, 60.0, 120.0, 200.0, 250.0, 300.0, 10000.0] BoostedGTE2J.reconstructionVariable = 'M_sv' BoostedGTE2J.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInZeroJetCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] == 0 and theEventDictionary.eventDictionary['DeltaR'] > 2.0): return True else: return False return False ZeroJet = AnalysisCategoryDef.AnalysisCategory() ZeroJet.name = "mt_0jet" ZeroJet.IsInCategory = IsInZeroJetCategory #ZeroJet.rollingVariable = 'HiggsPt' #ZeroJet.rollingBins = [0,45,80,120,200,350,10000] ZeroJet.rollingVariable = 'TauPt' ZeroJet.rollingBins = [30.0, 40.0, 50.0, 10000.0] ZeroJet.reconstructionVariable = 'M_sv' ZeroJet.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInTwoJetLowCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] == 2 and theEventDictionary.eventDictionary['mjj'] < 450.0): return True else: return False return False TwoJetLow = AnalysisCategoryDef.AnalysisCategory() TwoJetLow.name = "mt_2jet_low" TwoJetLow.IsInCategory = IsInTwoJetLowCategory TwoJetLow.rollingVariable = 'HiggsPt' TwoJetLow.rollingBins = [0, 45, 80, 120, 200, 350, 10000] TwoJetLow.reconstructionVariable = 'M_sv' TwoJetLow.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInTwoJetHighCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] == 2 and theEventDictionary.eventDictionary['mjj'] > 450.0): return True else: return False return False TwoJetHigh = AnalysisCategoryDef.AnalysisCategory() TwoJetHigh.name = "mt_2jet_high" TwoJetHigh.IsInCategory = IsInTwoJetHighCategory TwoJetHigh.rollingVariable = 'HiggsPt' TwoJetHigh.rollingBins = [0, 45, 80, 120, 200, 350, 10000] TwoJetHigh.reconstructionVariable = 'M_sv' TwoJetHigh.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInVBFHighCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary["Njets"] >= 2.0 and theEventDictionary.eventDictionary['mjj'] > 350.0 and theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['HiggsPt'] >= 200.0 and (theEventDictionary.eventDictionary['M_sv'] <= 90.0 or theEventDictionary.eventDictionary['M_sv'] >= 150.0)): return True else: return False return False VBFHigh = AnalysisCategoryDef.AnalysisCategory() VBFHigh.name = 'mt_vbf_PTH_GE_200' VBFHigh.IsInCategory = IsInVBFHighCategory VBFHigh.rollingVariable = 'mjj' VBFHigh.rollingBins = [350.0, 700.0, 1200.0, 10000.0] VBFHigh.reconstructionVariable = 'M_sv' VBFHigh.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 290.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInOneJetCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] == 1): return True else: return False return False OneJet = AnalysisCategoryDef.AnalysisCategory() OneJet.name = "mt_1jet" OneJet.IsInCategory = IsInOneJetCategory OneJet.rollingVariable = 'HiggsPt' OneJet.rollingBins = [0, 45, 80, 120, 200, 350, 10000] OneJet.reconstructionVariable = 'M_sv' OneJet.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInFourJetCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] >= 4): return True else: return False return False FourJet = AnalysisCategoryDef.AnalysisCategory() FourJet.name = "mt_4jet" FourJet.IsInCategory = IsInFourJetCategory FourJet.rollingVariable = 'HiggsPt' FourJet.rollingBins = [0, 45, 80, 120, 200, 350, 10000] FourJet.reconstructionVariable = 'M_sv' FourJet.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]
import ROOT import AnalysisCategories.AnalysisCategoryDef as AnalysisCategoryDef def IsInThreeJetHighCategory(theAnalysisCategory, theEventDictionary): if (theEventDictionary.eventDictionary['TauPt'] >= 30.0 and theEventDictionary.eventDictionary['MT'] < 50.0 and theEventDictionary.eventDictionary['Njets'] >= 3): return True else: return False return False ThreeJetHigh = AnalysisCategoryDef.AnalysisCategory() ThreeJetHigh.name = "mt_3jet" ThreeJetHigh.IsInCategory = IsInThreeJetHighCategory ThreeJetHigh.rollingVariable = 'HiggsPt' ThreeJetHigh.rollingBins = [0, 45, 80, 120, 200, 350, 10000] ThreeJetHigh.reconstructionVariable = 'M_sv' ThreeJetHigh.reconstructionBins = [ 50.0, 70.0, 90.0, 110.0, 130.0, 150.0, 170.0, 210.0, 250.0, 9000.0 ]