Exemplo n.º 1
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_N = [1, 2]
_leadingDiscr = [("T", 0.898), ("M", 0.679), ("L", 0.244)]
_subLeadingDiscr = _leadingDiscr[1:]

scenarios = []
_subScen = []
for leadName, leadCut in _leadingDiscr:
    scenarios.append(
        Scenario("N1discr" + leadName,
                 jetNumber=1,
                 jetNumberCutDirection="GEQ",
                 leadingDiscriminatorCut=leadCut))
    for subName, subCut in _subLeadingDiscr:
        if subCut > leadCut:
            continue
        _subScen.append(
            Scenario("N2discr" + leadName + "subdiscr" + subName,
                     jetNumber=2,
                     jetNumberCutDirection="GEQ",
                     leadingDiscriminatorCut=leadCut,
                     subleadingDiscriminatorCut=subCut))
scenarios.extend(_subScen)

optimisation.addBTagVariations(scenarios)
Exemplo n.º 2
0
# Perform the signal analysis with the JES variations in addition to
# the "golden" analysis
doJESVariation = False

# Perform the signal analysis with the PU weight variations
# https://twiki.cern.ch/twiki/bin/view/CMS/PileupSystematicErrors
doPUWeightVariation = False

# Do variations for optimisation
# Note: Keep number of variations below 200 to keep file sizes reasonable
# Note: Currently it is not possible to vary the tau selection -related variables, because only one JES and MET producer is made (tau selection influences type I MET correction and JES)

doOptimisation = False

from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme
myOptimisation = HPlusOptimisationScheme()
#myOptimisation.addTauPtVariation([40.0, 50.0])
#myOptimisation.addTauIsolationVariation([])
#myOptimisation.addTauIsolationContinuousVariation([])
#myOptimisation.addRtauVariation([0.0, 0.7])
#myOptimisation.addJetNumberSelectionVariation(["GEQ3", "GEQ4"])
#myOptimisation.addJetEtVariation([20.0, 30.0])
#myOptimisation.addJetBetaVariation(["GT0.0","GT0.5","GT0.7"])
#myOptimisation.addMETSelectionVariation([50.0, 60.0, 70.0])
#myOptimisation.addBJetLeadingDiscriminatorVariation([0.898, 0.679])
#myOptimisation.addBJetSubLeadingDiscriminatorVariation([0.679, 0.244])
#myOptimisation.addBJetEtVariation([])
#myOptimisation.addBJetNumberVariation(["GEQ1", "GEQ2"])
#myOptimisation.addDeltaPhiVariation([180.0,160.0,140.0])
#myOptimisation.addTopRecoVariation(["None","chi"]) # Valid options: None, chi, std, Wselection
myOptimisation.disableMaxVariations()
Exemplo n.º 3
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme

# Note: Keep number of variations below 200 to keep file sizes reasonable
# Note: Currently it is not possible to vary the tau selection -related variables, because only one JES and MET producer is made (tau selection influences type I MET correction and JES)

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()
#optimisation.printOptions() # Uncomment to find out the implemented methods
#optimisation.addTauPtVariation([40.0, 50.0, 60.0, 70., 80.])
#optimisation.addTauIsolationVariation([])
#optimisation.addTauIsolationContinuousVariation([])
#optimisation.addRtauVariation([0.0, 0.7, 0.8])
#optimisation.addJetNumberSelectionVariation(["GEQ3", "GEQ4"])
#optimisation.addJetEtVariation([20.0, 30.0])
#optimisation.addJetBetaVariation(["GT0.0","GT0.5","GT0.7"])
#optimisation.addMETSelectionVariation([60.0, 70.0, 80.0, 90.,100.0])

#optimisation.addBJetLeadingDiscriminatorVariation([0.898, 0.679])
#optimisation.addBJetSubLeadingDiscriminatorVariation([0.679, 0.244])
#optimisation.addBJetEtVariation([])
#optimisation.addBJetNumberVariation(["GEQ1", "GEQ2"])
#import btagScenarios # Pick btag scan points
#optimisation.addBTagVariations(btagScenarios.scenarios)

#optimisation.addDeltaPhiVariation([180.0,170.0,160.0,150.0])
optimisation.addTopRecoVariation(["None","chi","std","Wselection","Bselection"]) # Valid options: None, chi, std, Wselection, Bselection


#import invMassScenarios # Pick invariant mass scan points
#optimisation.addInvariantMassVariation(invMassScenarios.scenarios)
Exemplo n.º 4
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme

# Note: Keep number of variations below 200 to keep file sizes reasonable
# Note: Currently it is not possible to vary the tau selection -related variables, because only one JES and MET producer is made (tau selection influences type I MET correction and JES)

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()
#optimisation.printOptions() # Uncomment to find out the implemented methods

optimisation.addTopRecoVariation(
    ["None", "chi", "Wselection",
     "Bselection"])  # Valid options: None, chi, std, Wselection, Bselection
#optimisation.addTopRecoVariation(["chi"])
#optimisation.addTopRecoVariation(["None","chi","Bselection"])
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_N = [1, 2]
_leadingDiscr = [("T", 0.898), ("M", 0.679), ("L", 0.244)]
_subLeadingDiscr = _leadingDiscr[1:]

scenarios = []
_subScen = []

# Symmetric cuts for at least 1 b jet
for leadName,leadCut in _leadingDiscr:
    scenarios.append(Scenario("N1discr"+leadName,
                              jetNumber = 1,
                              jetNumberCutDirection = "GEQ",
                              leadingDiscriminatorCut = leadCut))


# Symmetric cuts for at least 1 b jet
for leadName,leadCut in _leadingDiscr:
    if leadName in ["L","M"]:
        scenarios.append(Scenario("N2discr"+leadName,
                                  jetNumber = 2,
                                  jetNumberCutDirection = "GEQ",
                                  leadingDiscriminatorCut = leadCut))

scenarios.extend(_subScen)

optimisation.addBTagVariations(scenarios)
Exemplo n.º 6
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_N = [3, 4]
_pt = [20, 25, 30]

scenarios = []
_subScen = []

for n in _N:
    for pt in _pt:
        scenarios.append(Scenario("N%dpt%d"%(n,pt),
                                  jetNumber = n,
                                  jetNumberCutDirection = "GEQ",
                                  ptCut = pt))

scenarios.extend(_subScen)

optimisation.addJetVariations(scenarios)
Exemplo n.º 7
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_neutrinoPzSolutionSelectionMethods = ["DeltaEtaMax", "Smaller"]
scenarios = []
for currentPzSelectionMethod in _neutrinoPzSolutionSelectionMethods:
        scenarios.extend([
            Scenario("PzSelection"+currentPzSelectionMethod+"TopInvMassCutNone",
                     topInvMassLowerCut = -1, # negative value means no cut
                     topInvMassUpperCut = -1, # negative value means no cut
                     pzSelectionMethod = currentPzSelectionMethod
                 ),
            Scenario("PzSelection"+currentPzSelectionMethod+"TopInvMassCutLoose",
                     topInvMassLowerCut = 100, # negative value means no cut
                     topInvMassUpperCut = 240, # negative value means no cut
                     pzSelectionMethod = currentPzSelectionMethod
                 ),
            Scenario("PzSelection"+currentPzSelectionMethod+"TopInvMassCutMedium",
                     topInvMassLowerCut = 140, # negative value means no cut
                     topInvMassUpperCut = 200, # negative value means no cut
                     pzSelectionMethod = currentPzSelectionMethod
                 ),
            Scenario("PzSelection"+currentPzSelectionMethod+"TopInvMassCutTight",
                     topInvMassLowerCut = 157, # negative value means no cut
                     topInvMassUpperCut = 187, # negative value means no cut
                     pzSelectionMethod = currentPzSelectionMethod
                 ),
        ])
Exemplo n.º 8
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_neutrinoPzSolutionSelectionMethods = ["DeltaEtaMax", "Smaller"]
scenarios = []
for currentPzSelectionMethod in _neutrinoPzSolutionSelectionMethods:
    scenarios.extend([
        Scenario(
            "PzSelection" + currentPzSelectionMethod + "TopInvMassCutNone",
            topInvMassLowerCut=-1,  # negative value means no cut
            topInvMassUpperCut=-1,  # negative value means no cut
            pzSelectionMethod=currentPzSelectionMethod),
        Scenario(
            "PzSelection" + currentPzSelectionMethod + "TopInvMassCutLoose",
            topInvMassLowerCut=100,  # negative value means no cut
            topInvMassUpperCut=240,  # negative value means no cut
            pzSelectionMethod=currentPzSelectionMethod),
        Scenario(
            "PzSelection" + currentPzSelectionMethod + "TopInvMassCutMedium",
            topInvMassLowerCut=140,  # negative value means no cut
            topInvMassUpperCut=200,  # negative value means no cut
            pzSelectionMethod=currentPzSelectionMethod),
        Scenario(
            "PzSelection" + currentPzSelectionMethod + "TopInvMassCutTight",
            topInvMassLowerCut=157,  # negative value means no cut
            topInvMassUpperCut=187,  # negative value means no cut
            pzSelectionMethod=currentPzSelectionMethod),
    ])
Exemplo n.º 9
0
# Perform the signal analysis with the JES variations in addition to
# the "golden" analysis
doJESVariation = False

# Perform the signal analysis with the PU weight variations
# https://twiki.cern.ch/twiki/bin/view/CMS/PileupSystematicErrors
doPUWeightVariation = False

# Do variations for optimisation
# Note: Keep number of variations below 200 to keep file sizes reasonable
# Note: Currently it is not possible to vary the tau selection -related variables, because only one JES and MET producer is made (tau selection influences type I MET correction and JES)

doOptimisation = False

from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme
myOptimisation = HPlusOptimisationScheme()
#myOptimisation.addTauPtVariation([40.0, 50.0])
#myOptimisation.addTauIsolationVariation([])
#myOptimisation.addTauIsolationContinuousVariation([])
#myOptimisation.addRtauVariation([0.0, 0.7])
#myOptimisation.addJetNumberSelectionVariation(["GEQ3", "GEQ4"])
#myOptimisation.addJetEtVariation([20.0, 30.0])
#myOptimisation.addJetBetaVariation(["GT0.0","GT0.5","GT0.7"])
#myOptimisation.addMETSelectionVariation([50.0, 60.0, 70.0])
#myOptimisation.addBJetLeadingDiscriminatorVariation([0.898, 0.679])
#myOptimisation.addBJetSubLeadingDiscriminatorVariation([0.679, 0.244])
#myOptimisation.addBJetEtVariation([])
#myOptimisation.addBJetNumberVariation(["GEQ1", "GEQ2"])
#myOptimisation.addDeltaPhiVariation([180.0,160.0,140.0])
#myOptimisation.addTopRecoVariation(["None","chi"]) # Valid options: None, chi, std, Wselection
myOptimisation.disableMaxVariations()
Exemplo n.º 10
0
from HiggsAnalysis.HeavyChHiggsToTauNu.OptimisationScheme import HPlusOptimisationScheme, Scenario

# There must be 'optimisation' object
optimisation = HPlusOptimisationScheme()

_pt = [50,60,70,80,90]

scenarios = []

for pt in _pt:
    scenarios.append(Scenario("%d"%(pt),
                              METCut = pt))

optimisation.addMETVariations(scenarios)