Skip to content

Commit

Permalink
Merge pull request #182 from jalimena/HToSS
Browse files Browse the repository at this point in the history
add H to SS to 4L samples for displaced leptons
  • Loading branch information
jalimena authored Jan 8, 2021
2 parents afc3d6e + 2090584 commit b51ad75
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions Configuration/python/configurationOptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9125,6 +9125,94 @@ def lifetime(sample):
if destinationCTau == sourceCTau:
rulesForLifetimeReweighting[sample] = [lifetimeReweightingRule([1000006], [sourceCTau], [d], (d == sourceCTau)) for d in destinationCTaus]

###################################################################################
### code to set relevant parameters for displaced leptons HToSS signal samples, ###
### which are a scan in the plane of H mass, S mass, and S lifetime ###
###################################################################################

def massH(sample):
start = sample.find("HToSSTo4L")+9
end = sample.find("_") #finds first occurance of "_"
return sample[start:end]

def massS(sample):
start = sample.find("_")+1
end = sample.find("_",14,20) #finds occurance of "_" in between 14th and 20th positions
return sample[start:end]

def lifetimeS(sample):
start = sample.find("_",14,20)+1
end = sample.find("mm")
lt = sample[start:end]
return lt.replace("p",".")

# generate list of masses in GeV
massesH = ["110","125","150","200","300","400","450","500","600","750","800","900","1000"]
massesS = ["10","20","30","50"] #minimum list of S masses that exist for every H mass

# generate full list of lifetimes (generated+reweighted) in mm
lifetimesS = ["%g" % (0.1*i*(pow(10, j))) for j in range(7) for i in range(1, 10)]
lifetimesS.append("1000000")
lifetimesS = [lt.replace(".", "p") for lt in lifetimesS]

# generate list of sample names from masses, lifetimes (mm)
signal_datasetsH = ["HToSSTo4L%s_%s_%smm" % (mH,mS,ctau) for mH in massesH for mS in massesS for ctau in lifetimesS]
# add 150 GeV S mass for mH>=300 GeV, add 350 GeV S mass for mH>=750 GeV
for mH in massesH:
if int(mH)>=300:
for ctau in lifetimesS:
signal_datasetsH.append("HToSSTo4L"+mH+"_150_"+ctau+"mm")
if int(mH)>=750:
for ctau in lifetimesS:
signal_datasetsH.append("HToSSTo4L"+mH+"_350_"+ctau+"mm")

datasets.extend(signal_datasetsH)
composite_dataset_definitions['HToSSSignal'] = signal_datasetsH

#from powheg + pythia:
signal_crossSectionsH = {
'110' : 26.722390956061719,
'125' : 21.459897483726280,
'150' : 15.614146187994139,
'200' : 8.7322438914694018,
'300' : 4.9382937444987762,
'400' : 5.0403083882366619,
'450' : 3.7768002561767382,
'500' : 2.5884317279268005,
'600' : 1.1784666241700483,
'750' : 0.41086256828334200,
'800' : 0.30253991148407361,
'900' : 0.17493668485618005,
'1000' : 0.10770210813460095,
}

for index, sample in enumerate(signal_datasetsH):
nJobs[sample] = 99
maxEvents[sample] = -1
types[sample] = 'signalMC'
labels[sample] = "H#rightarrow SS#rightarrow 4l, M_{H}=%s GeV, M_{S}=%s GeV, c#tau_{S}=%s mm" % (massH(sample), massS(sample), lifetimeS(sample))
colors[sample] = 20 + index
crossSections[sample] = signal_crossSectionsH[massH(sample)]

# source and destination CTau are in cm, while lifetime(sample) is in mm
# LifetimeWeightProducer expects cm to cm
sourceCTau = round(0.1 * 10**(math.ceil(math.log10(float(lifetimeS(sample))))),5)
# special case
if float(lifetimeS(sample)) <= 0.1: sourceCTau = 0.1
destinationCTau = round(0.1 * float(lifetimeS(sample)),5)

# set the default reweighting rules
rulesForLifetimeReweighting[sample] = [lifetimeReweightingRule([9000006], [sourceCTau], [destinationCTau], True)]

# set the non-default reweighting rules too
# thus, for a reweighted (i.e. non-generated) sample, there is one rule and it is the default
# but for the generated samples, there are many rules and only one is default
destinationCTaus = [round(float(0.1 * i * sourceCTau), 5) for i in range(2, 11)]
if sourceCTau == 0.1:
destinationCTaus.append(float(0.01))
if destinationCTau == sourceCTau:
rulesForLifetimeReweighting[sample] = [lifetimeReweightingRule([9000006], [sourceCTau], [d], (d == sourceCTau)) for d in destinationCTaus]

################################################################################
### code to set relevant parameters for disappearing tracks signal samples, ###
### which are a scan in the plane of chargino mass and lifetime ###
Expand Down

0 comments on commit b51ad75

Please sign in to comment.