Commit 9860cb38 authored by Daniele Zanzi's avatar Daniele Zanzi Committed by Graeme Stewart
Browse files

addition of l1topo individual streamers (ATR-14714) (TriggerMenu-00-19-04)

	* addition of l1topo individual streamers (ATR-14714)
	* TriggerMenu-00-19-04

2016-07-27 Noam Tal Hod
	* bug fix change RATE EgammaMET to EGammaJet for
	g75_tight_3j50noL1_L1EM22VHI (ATR-14196)
	* Muon trigger decommissioning for 2016 (ATR-14543)
	* TriggerMenu-00-19-03

2016-07-27 Ljiljana Morvaj
	* Fix e lh to e lh_nod0 in e+bjet (ATR-14490)
	* TriggerMenu-00-19-02

2016-07-27 Daniele Zanzi
	* photon-tau chain with invariant mass topo hypo (ATR-14643)
	* requires TrigTauHypo-00-06-82-04
	* TriggerMenu-00-19-01

2016-07-25 Joerg Stelzer
	* Added L1_RD2_BGRP14 and L1_RD3_BGRP15 in partitions 2 and 3 (ATR-14699)
...
(Long ChangeLog diff - truncated)
parent 6ff765c8
......@@ -33,8 +33,8 @@ l1_seeds ={
'L1_XE35', 'L1_MU6_2MU4',
'L1_MU6_J20', 'L1_EM7_MU10',
'L1_EM15VH_3EM7', 'L1_2EM15',
'L1_EM15I_MU4', 'L1_J75',
'L1_TAU20_2TAU12_XE35',
'L1_EM15I_MU4', 'L1_2MU6',
'L1_TAU20_2TAU12_XE35',
'L1_DR-TAU20ITAU12I', 'L1_DY-BOX-2MU4', # Topo
'L1_DY-DR-2MU4', 'L1_2CMU4', # Topo
'L1_2MU4-B', 'L1_BTAG-MU4J15', # Topo
......
......@@ -81,6 +81,17 @@ def _addTopoInfo(theChainDef,chainDicts,listOfChainDefs,doAtL2AndEF=True):
else:
theChainDef=_addMatching(theChainDef,chainDicts,listOfChainDefs)
elif any("mVis" in alg for alg in topoAlgs):
##Check that we only have a Photon and Tau chain
inputChains=[]
for ChainPart in chainDicts:
if 'Photon' in ChainPart['signature'] or 'Tau' in ChainPart['signature']:
inputChains.append(ChainPart['signature'])
if len(inputChains)<2:
log.warning("Need a Photon and a Tau chain to run the matching algorithm")
else:
theChainDef=_addMVis(theChainDef,chainDicts,listOfChainDefs)
# elif any("deta" in alg for alg in topoAlgs):
# ##Check that we only have a Jet and Muon chain
# inputChains=[]
......@@ -336,6 +347,40 @@ def _addTauMass(theChainDef,chainDicts,listOfChainDefs):
##############################################################################
def _addMVis(theChainDef,chainDicts,listOfChainDefs):
inputTEsEF = theChainDef.signatureList[-1]['listOfTriggerElements']
maxMvis=-1
minMvis=-1
for topo_item in chainDicts[0]['topo']:
if 'mVis' in topo_item:
minMvis=float(topo_item.split('mVis')[0])
maxMvis=float(topo_item.split('mVis')[1])
log.debug("mVis cuts at [GeV]: %d and %d", minMvis, maxMvis)
if minMvis==-1 or maxMvis==-1:
log.error("No mVis chain part found in Photon-Tau mVis Topo cut")
from TrigTauHypo.TrigTauHypoConfig2012 import EFPhotonTauHypo
from TrigTauHypo.TrigTauHypoConf import EFPhotonTauFex
EFFex = EFPhotonTauFex()
theVars = ['MvisMin','MvisMax']
theThresh = [minMvis*1000.,maxMvis*1000.]
PhotonTaumVis_Hypo = EFPhotonTauHypo("EFPhotonTau_"+str(minMvis).replace(".","")+"mVis"+str(maxMvis).replace(".",""),
theVars, theThresh)
log.debug("Input TEs to mVis algorithm: %s", inputTEsEF)
EFChainName = "EF_" + chainDicts[0]['chainName']
theChainDef.addSequence([EFFex, PhotonTaumVis_Hypo],inputTEsEF,EFChainName)
theChainDef.addSignature(theChainDef.signatureList[-1]['signature_counter']+1, [EFChainName])
return theChainDef
##############################################################################
def _addMatching(theChainDef,chainDicts,listOfChainDefs):
allInputTEsEF = []
......
......@@ -143,14 +143,10 @@ class L2EFChain_e(L2EFChainDef):
self.setup_eXXvh_idperf_heavyIon()
else:
self.setup_eXXvh_idperf()
elif self.chainPart['L2IDAlg']:
self.setup_eXXvh_ID()
elif 'ringer' in self.chainPart['addInfo']:
self.setup_eXXvh_ID_ringer()
elif self.chainPart['caloInfo']=='L2EFCalo':
self.setup_eXXvh_ID_L2EFCalo()
elif self.chainPart['caloInfo']=='HLTCalo':
self.setup_eXXvh_ID_HLTCalo()
# elif self.chainPart['caloInfo']=='HLTCalo':
# self.setup_eXXvh_ID_HLTCalo()
else:
if 'ion' in self.chainPart['extra']:
self.setup_eXXvh_ID_run2_heavyIon()
......@@ -185,157 +181,6 @@ class L2EFChain_e(L2EFChainDef):
############################### DEFINE GROUPS OF CHAINS HERE ##############################
def setup_eXXvh_ID(self):
threshold = self.chainPart['threshold']
IDinfo = self.chainPart['IDinfo']
isoInfo = self.chainPart['isoInfo']
addInfo = self.chainPart['addInfo']
trkInfo = self.chainPart['trkInfo']
L2IDAlg = self.chainPart['L2IDAlg']
log.debug('setup_eXXvh_ID')
log.debug('threshold: %s',threshold)
log.debug('isoInfo: %s',isoInfo)
log.debug('IDinfo: %s',IDinfo)
log.debug('addInfo: %s',addInfo)
log.debug('trkInfo: %s',trkInfo)
# L2 Elecgtron FEX
# Depends on L2 Strategy
log.debug('L2IDAlg: %s', self.chainPart['L2IDAlg'])
if self.chainPart['L2IDAlg']:
if L2IDAlg == 'L2StarA':
theL2TrackingFex = TrigL2SiTrackFinder_eGammaA()
theL2ElectronFex = L2ElectronFex_L2StarA()
elif L2IDAlg == 'L2StarB':
theL2TrackingFex = TrigL2SiTrackFinder_eGammaB()
theL2ElectronFex = L2ElectronFex_L2StarB()
elif L2IDAlg == 'L2StarC':
theL2TrackingFex = TrigL2SiTrackFinder_eGammaC()
theL2ElectronFex = L2ElectronFex_L2StarC()
else:
log.info('Incorrect L2IDAlg')
# Default
else:
log.debug('Use default L2StarA tracking')
theL2TrackingFex = TrigL2SiTrackFinder_eGammaA()
theL2ElectronFex = L2ElectronFex_L2StarA()
# EF Tracking
theEFElectronIDFex = TrigEFIDInsideOut_Electron("Electron").getSequence()
# these can be made more configurable later (according to tracking algorithms etc...)
if 'etcut' in self.chainPart['addInfo']:
#from TrigEgammaHypo.TrigEFElectronHypoConfig import TrigEFElectronHypo_e_EtCut
theL2CaloHypo = L2CaloHypo_NoCut("L2CaloHypo_e"+str(threshold)+"_NoCut",threshold )
theL2ElectronHypo = L2ElectronHypo_e_NoCut("L2ElectronHypo_e"+str(threshold)+"_NoCut",threshold )
theEFTrackHypo = EFTrackHypo_e_NoCut("EFTrackHypo_e"+str(threshold)+"_NoCut",threshold)
theTrigEFCaloHypo = TrigEFCaloHypo_EtCut("TrigEFCaloHypo_e"+str(threshold)+"_EtCut",threshold);
#theEFElectronHypo = TrigEFElectronHypo_e_EtCut("TrigEFElectronHypo_e"+str(threshold)+"_EtCut",threshold)
if 'trkcut' in self.chainPart['addInfo']:
theEFElectronHypo = TrigEFElectronHypo_e_WTP("TrigEFElectronHypo_e"+str(threshold)+"_WTP",threshold)
else:
theEFElectronHypo = TrigEFElectronHypo_e_NoCut("TrigEFElectronHypo_e"+str(threshold)+"_NoCut",threshold)
elif 'perf' in self.chainPart['addInfo']:
theL2CaloHypo = L2CaloHypo_NoCut("L2CaloHypo_e"+str(threshold)+"_NoCut",threshold )
theL2ElectronHypo = L2ElectronHypo_e_NoCut("L2ElectronHypo_e"+str(threshold)+"_NoCut",threshold )
theEFTrackHypo = EFTrackHypo_e_NoCut("EFTrackHypo_e"+str(threshold)+"_NoCut",threshold)
theTrigEFCaloHypo = TrigEFCaloHypo_All("TrigEFCaloHypo_e"+str(threshold)+"_NoCut",threshold);
# EF Electron
theEFElectronHypo = TrigEFElectronHypo_e_NoCut("TrigEFElectronHypo_e"+str(threshold)+"_NoCut",threshold)
elif self.chainPart['IDinfo']:
algoSuffix = "e%s_%s()" % (str(threshold),IDinfo)
log.debug('chain suffix: %s', algoSuffix)
#if 'mvt' in algoSuffix:
# algoSuffix = algoSuffix.replace('mvt','')
# L2 Calo
theL2CaloHypo = L2CaloHypo_e_ID("TrigL2CaloHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo)
# L2 Electron
if self.chainPart['L2IDAlg']:
theL2ElectronHypo = L2ElectronHypo_e_ID_L2TrkAlg("TrigL2ElectronHypo_e"+str(threshold)+"_"+str(IDinfo)+"_"+str(L2IDAlg),threshold,IDinfo,L2IDAlg)
else:
theL2ElectronHypo = L2ElectronHypo_e_ID("TrigL2ElectronHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo)
# EF Track
theEFTrackHypo = EFTrackHypo_e("EFTrackHypo_e"+str(threshold)+"_"+str(IDinfo),threshold)
# EF Calo
theTrigEFCaloHypo = TrigEFCaloHypo_e_ID("TrigEFCaloHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo);
# EF Electron
if self.chainPart['isoInfo']:
theEFElectronHypo = TrigEFElectronHypo_e_Iso("TrigEFElectronHypo_e"+str(threshold)+"_"+str(IDinfo)+"_"+str(isoInfo),threshold,IDinfo,isoInfo)
else:
theEFElectronHypo = TrigEFElectronHypo_e_ID("TrigEFElectronHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo)
else:
algoSuffix = "e%s_%s()" % (str(threshold),IDinfo)
log.error('Chain %s could not be assembled', self.chainPartName)
log.error('chain suffix: %s', algoSuffix)
return False
########### Sequences ###########
if 'perf' in self.chainPart['addInfo'] or 'etcut' in self.chainPart['addInfo']:
print 'TrigT2CaloEgamma_Ringer was enabled'
self.L2sequenceList += [[self.L2InputTE,
[self.theT2CaloEgamma_Ringer, theL2CaloHypo],
'L2_e_step1']]
else:
self.L2sequenceList += [[self.L2InputTE,
[self.theT2CaloEgamma_eGamma, theL2CaloHypo],
'L2_e_step1']]
self.L2sequenceList += [[['L2_e_step1'],
[theL2TrackingFex]+self.theL2StarxAOD,
'L2_e_step2']]
self.L2sequenceList += [[['L2_e_step2'],
[theL2ElectronFex, theL2ElectronHypo],
'L2_e_step3']]
self.EFsequenceList += [[['L2_e_step3'],
[self.theTrigCaloCellMaker_eGamma, self.theTrigCaloTowerMaker_eGamma, self.theTrigCaloClusterMaker_slw],
'EF_e_step1']]
self.EFsequenceList += [[['EF_e_step1'],
[self.theTrigEFCaloCalibFex,theTrigEFCaloHypo],
'EF_e_step2']]
self.EFsequenceList += [[['EF_e_step2'],
theEFElectronIDFex+[ theEFTrackHypo],
'EF_e_step3']]
self.EFsequenceList += [[['EF_e_step3'],
[self.theTrigEgammaRec_eGamma, theEFElectronHypo],
'EF_e_step4']]
########### Signatures ###########
self.L2signatureList += [ [['L2_e_step1']*self.mult] ]
self.L2signatureList += [ [['L2_e_step2']*self.mult] ]
self.L2signatureList += [ [['L2_e_step3']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step1']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step2']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step3']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step4']*self.mult] ]
########### TE renaming ###########
self.TErenamingDict = {
'L2_e_step1': mergeRemovingOverlap('L2_', self.chainPartNameNoMult+'cl'),
'L2_e_step2': mergeRemovingOverlap('L2_', self.chainPartNameNoMult+'id'),
'L2_e_step3': mergeRemovingOverlap('L2_', self.chainPartNameNoMult),
'EF_e_step1': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'calo'),
'EF_e_step2': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'calocalib'),
'EF_e_step3': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'id'),
'EF_e_step4': mergeRemovingOverlap('EF_', self.chainPartNameNoMult),
}
def setup_eXXvh_idperf(self):
......@@ -777,106 +622,6 @@ class L2EFChain_e(L2EFChainDef):
'EF_e_step3': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'id'),
'EF_e_step4': mergeRemovingOverlap('EF_', self.chainPartNameNoMult),
}
def setup_eXXvh_ID_HLTCalo(self):
threshold = self.chainPart['threshold']
IDinfo = self.chainPart['IDinfo']
isoInfo = self.chainPart['isoInfo']
addInfo = self.chainPart['addInfo']
trkInfo = self.chainPart['trkInfo']
log.debug('setup_eXXvh_ID_HLTCalo')
log.debug('threshold: %s',threshold)
log.debug('isoInfo: %s',isoInfo)
log.debug('IDinfo: %s',IDinfo)
log.debug('trkInfo: %s',trkInfo)
# EF Tracking
theEFElectronIDFex = self.theTrigEFIDInsideOutMerged_Electron
#print 'ESETUP', self.chainPart
# these can be made more configurable later (according to tracking algorithms etc...)
if 'etcut' in self.chainPart['addInfo']:
theTrigEFCaloHypo = TrigEFCaloHypo_EtCut("TrigEFCaloHypo_e"+str(threshold)+"_EtCut",threshold);
theEFTrackHypo = EFTrackHypo_e_NoCut("EFTrackHypo_e"+str(threshold)+"_NoCut",threshold)
#theEFElectronHypo = TrigEFElectronHypo_e_NoCut("TrigEFElectronHypo_e"+str(threshold)+"_NoCut",threshold)
if 'trkcut' in self.chainPart['addInfo']:
theEFElectronHypo = TrigEFElectronHypo_e_WTP("TrigEFElectronHypo_e"+str(threshold)+"_WTP",threshold)
else:
theEFElectronHypo = TrigEFElectronHypo_e_NoCut("TrigEFElectronHypo_e"+str(threshold)+"_NoCut",threshold)
elif 'perf' in self.chainPart['addInfo']:
theTrigEFCaloHypo = TrigEFCaloHypo_All("TrigEFCaloHypo_e"+str(threshold)+"_NoCut",threshold);
theEFTrackHypo = EFTrackHypo_e_NoCut("EFTrackHypo_e"+str(threshold)+"_NoCut",threshold)
# EF Electron
theEFElectronHypo = TrigEFElectronHypo_e_NoCut("TrigEFElectronHypo_e"+str(threshold)+"_NoCut",threshold)
elif self.chainPart['IDinfo']:
algoSuffix = "e%s_%s()" % (str(threshold),IDinfo)
log.debug('chain suffix: %s', algoSuffix)
#if 'mvt' in algoSuffix:
# algoSuffix = algoSuffix.replace('mvt','')
# EF Calo
theTrigEFCaloHypo = TrigEFCaloHypo_e_ID("TrigEFCaloHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo);
# EF Track
theEFTrackHypo = EFTrackHypo_e("EFTrackHypo_e"+str(threshold)+"_"+str(IDinfo),threshold)
# EF Electron
if self.chainPart['isoInfo']:
theEFElectronHypo = TrigEFElectronHypo_e_Iso("TrigEFElectronHypo_e"+str(threshold)+"_"+str(IDinfo)+"_"+str(isoInfo),threshold,IDinfo,isoInfo)
else:
theEFElectronHypo = TrigEFElectronHypo_e_ID("TrigEFElectronHypo_e"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo)
else:
algoSuffix = "e%s_%s()" % (str(threshold),IDinfo)
log.error('Chain %s could not be assembled', self.chainPartName)
log.error('chain suffix: %s', algoSuffix)
return False
# EF Electron FEX
if 'conv' in self.chainPart['addInfo']:
theTrigEgammaFex = self.theTrigEgammaRec_Conv_eGamma
else :
theTrigEgammaFex = self.theTrigEgammaRec_eGamma
########### Sequences ###########
trkcomb1st = list(self.theTrigEFIDDataPrep_Electron)
trkcomb1st.append(self.theTrigFastTrackFinder_Electron)
trkcomb1st += self.theFastTrackFinderxAOD
trkcombfull = list(trkcomb1st)
trkcombfull += self.theTrigEFIDInsideOutMerged_Electron
[trkfast, trkprec] = TrigInDetSequence("Electron", "electron", "IDTrig").getSequence()
trkseq=trkfast+trkprec
self.EFsequenceList += [[self.L2InputTE,
[self.theTrigCaloCellMaker_eGamma, self.theTrigCaloTowerMaker_eGamma, self.theTrigCaloClusterMaker_slw],
'EF_e_step1']]
self.EFsequenceList += [[['EF_e_step1'],
[self.theTrigEFCaloCalibFex,theTrigEFCaloHypo],
'EF_e_step2']]
self.EFsequenceList += [[['EF_e_step2'],
trkseq+[ theEFTrackHypo],
'EF_e_step3']]
self.EFsequenceList += [[['EF_e_step3'],
[theTrigEgammaFex, theEFElectronHypo],
'EF_e_step4']]
########### Signatures ###########
self.EFsignatureList += [ [['EF_e_step1']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step2']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step3']*self.mult] ]
self.EFsignatureList += [ [['EF_e_step4']*self.mult] ]
########### TE renaming ###########
self.TErenamingDict = {
'EF_e_step1': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'calo'),
'EF_e_step2': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'calocalib'),
'EF_e_step3': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'id'),
'EF_e_step4': mergeRemovingOverlap('EF_', self.chainPartNameNoMult),
}
def setup_eXXvh_ID_run2(self):
threshold = self.chainPart['threshold']
......
......@@ -115,8 +115,6 @@ class L2EFChain_g(L2EFChainDef):
self.setup_gXX_ID_ringer()
elif 'iloose' in self.chainPart['isoInfo']:
self.setup_gXX_ID_iso()
elif self.chainPart['caloInfo']=='HLTCalo':
self.setup_gXX_ID_HLTCalo()
else:
if 'ion' in self.chainPart['extra']:
self.setup_gXX_ID_heavyIon()
......@@ -473,60 +471,6 @@ class L2EFChain_g(L2EFChainDef):
}
def setup_gXX_ID_HLTCalo(self):
threshold = self.chainPart['threshold']
IDinfo = self.chainPart['IDinfo']
algoSuffix = "g%s_%s()" % (str(threshold),IDinfo)
if 'etcut' in self.chainPart['addInfo']:
theTrigEFCaloHypo = TrigEFCaloHypo_EtCut("TrigEFCaloHypo_g"+str(threshold)+"_EtCut",threshold);
theEFPhotonHypo = EFPhotonHypo_g_EtCut("TrigEFPhotonHypo_g"+str(threshold)+"_EtCut",threshold)
elif 'perf' in self.chainPart['addInfo']:
theTrigEFCaloHypo = TrigEFCaloHypo_All("TrigEFCaloHypo_g"+str(threshold)+"_NoCut",threshold);
theEFPhotonHypo = EFPhotonHypo_g_NoCut("TrigEFPhotonHypo_g"+str(threshold)+"_NoCut",threshold)
elif self.chainPart['IDinfo']:
theTrigEFCaloHypo = TrigEFCaloHypo_g_ID("TrigEFCaloHypo_g"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo);
theEFPhotonHypo = EFPhotonHypo_g_ID_CaloOnly("EFPhotonHypo_g"+str(threshold)+"_"+str(IDinfo),threshold,IDinfo)
else:
log.error('Chain %s could not be assembled' % (self.chainPartName))
return False
# these can be made more configurable later
#theL2CaloHypo = L2CaloHypo_g7()
#theL2PhotonHypo = eval("L2PhotonHypo_"+algoSuffix)
#theEFPhotonHypo = eval("EFPhotonHypo_"+algoSuffix)
if 'conv' in self.chainPart['addInfo']:
theTrigEgammaFex = self.theTrigEgammaRec_Conv_eGamma
else :
theTrigEgammaFex = self.theTrigEgammaRec_NoIDEF_eGamma
########### Sequences ###########
self.EFsequenceList += [[self.L2InputTE,
[self.theTrigCaloCellMaker_eGamma, self.theTrigCaloTowerMaker_eGamma, self.theTrigCaloClusterMaker_slw],
'EF_g_step1']]
self.EFsequenceList += [[['EF_g_step1'],
[self.theTrigEFCaloCalibFex,theTrigEFCaloHypo],
'EF_g_step2']]
self.EFsequenceList += [[['EF_g_step2'],
[theTrigEgammaFex, theEFPhotonHypo],
'EF_g_step3']]
########### Signatures ###########
self.EFsignatureList += [ [['EF_g_step1']*self.mult] ]
self.EFsignatureList += [ [['EF_g_step2']*self.mult] ]
self.EFsignatureList += [ [['EF_g_step3']*self.mult] ]
########### TE renaming ###########
self.TErenamingDict = {
'EF_g_step1': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'_calo'),
'EF_g_step2': mergeRemovingOverlap('EF_', self.chainPartNameNoMult+'_calocalib'),
'EF_g_step3': mergeRemovingOverlap('EF_', self.chainPartNameNoMult),
}
def setup_gnocut_hiptrt(self):
......
......@@ -394,7 +394,7 @@ class AlgFactory(object):
eta_mins = [eta_min]
eta_maxs = [eta_max]
ystar_mins = [0]
ystar_maxs = [1.2]
ystar_maxs = [0.65]
#ystar_maxs = [min(0.5*abs(eta_max-eta_min), 1.2)]
mass_mins = [float(hypo.mass_min) * GeV]
mass_maxs = [float(hypo.mass_max) * GeV]
......
......@@ -234,9 +234,10 @@ def generateReversedCaloRatioLLPchain(theChainDef, chainDict, inputTEsL2, inputT
from TrigLongLivedParticlesHypo.TrigLongLivedParticlesHypoConfig import getCaloRatioHypoInstance
if ('trkiso' in topoAlgs):
fex_llp_jet_hypo = getCaloRatioHypoInstance("TrigCaloRatioHypo", 200, -1.7, True)
else:
elif ('230' in HLTChainName):
fex_llp_jet_hypo = getCaloRatioHypoInstance("TrigCaloRatioHypo", 230, -1.7, False)
elif ('250' in HLTChainName):
fex_llp_jet_hypo = getCaloRatioHypoInstance("TrigCaloRatioHypo", 250, -1.7, False)
TE_SplitJets = HLTChainName+'_SplitJetTool'
TE_TrackMuonIsoB = HLTChainName+'_TrkMuIsoB'
......
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
def defineMenu():
"""
MC and Physics menu are identical
"""
import Menu_Physics_HI_v4
Menu_Physics_HI_v4.defineMenu()
......@@ -13,7 +13,7 @@ def defineMenu():
Lvl1Flags.CTPVersion = 4 # new CTP
Lvl1Flags.BunchGroupPartitioning = [1, 13, 14] # partition 1: 1-10, partition 2: 13, partition 3: 14-15 (note that BGRP0 is used by all items)
Lvl1Flags.BunchGroupPartitioning = [1, 14, 15] # partition 1: 1-10, partition 2: 14, partition 3: 15 (note that BGRP0 is used by all items)
Lvl1Flags.BunchGroupNames = ['BCRVeto', 'Paired', 'CalReq', 'Empty', 'IsolatedUnpaired', 'NonIsolatedUnpaired', 'EmptyAfterPaired', 'InTrain', 'AbortGapNotCalReq', 'VdM', 'ALFA', 'EmptyBeforePaired','EmptyAndPaired']
Lvl1Flags.BunchGroupNames += ['NotUsed'] * len(Lvl1Flags.BunchGroupNames())
......@@ -383,7 +383,7 @@ def defineMenu():
# multi lepton
"L1_2EM3", "L1_2EM7", "L1_2EM10VH", "L1_2EM13VH", "L1_2EM15", "L1_2EM15VH", "L1_EM7_2EM3", "L1_EM12_2EM3", "L1_EM15VH_3EM7",
"L1_2EM3", "L1_2EM7", "L1_2EM10VH", "L1_2EM13VH", "L1_2EM15", "L1_2EM15VH", "L1_EM7_2EM3", "L1_EM12_2EM3", "L1_EM15VH_3EM7", "L1_EM15VH_3EM8VH", "L1_EM15VH_2EM10VH_3EM7",
'L1_EM7_MU10',
"L1_2MU4", "L1_2MU6", "L1_2MU10", "L1_2MU20_OVERLAY", "L1_MU10_2MU6", "L1_MU11_2MU6", "L1_3MU4", "L1_MU6_2MU4", "L1_3MU6", "L1_MU6_3MU4", "L1_2MU6_3MU4",
......@@ -712,7 +712,8 @@ def defineMenu():
# 'L1_MJJ-300',
# 'L1_MJJ-200',
'L1_MJJ-100',
# 'L1_HT150-JJ15.ETA49',
'L1_HT150-JJ15.ETA49',
'L1_HT150-JJ15.ETA49_MJJ-400',
'L1_DETA-JJ',
'L1_J4-MATCH',
# 'L1_W-05RO-XEEMHT',
......@@ -878,7 +879,7 @@ def defineMenu():
'L1_3MU4' : 38,
'L1_MU6_2MU4' : 39,
'L1_3MU6' : 40,
'L1_EM8I_MU10' : 41,
'L1_4J15.0ETA25' : 41,
'L1_EM15I_MU4' : 42,
'L1_2EM8VH_MU10' : 43,
'L1_EM15VH_MU10' : 44,
......@@ -1253,7 +1254,7 @@ def defineMenu():
# 'L1_MJJ-300' : 331,
# 'L1_MJJ-200' : 332,
'L1_MJJ-100' : 333,
# 'L1_HT150-JJ15.ETA49' : 334,
'L1_HT150-JJ15.ETA49' : 334,
'L1_DETA-JJ' : 335,
'L1_J4-MATCH' : 336,
# 'L1_W-05RO-XEEMHT' : 337,
......@@ -1309,7 +1310,7 @@ def defineMenu():
'L1_J30.31ETA49_BGRP12' : 381,
'L1_MU6_J30.0ETA49_2J20.0ETA49' : 382,
'L1_4J20.0ETA49' : 383,
'L1_HT150-JJ15.ETA49_MJJ400' : 384,
#ATR-13743 'L1_MU4_J30' : 386,
# 'L1_MU4_J50' : 387,
......@@ -1325,6 +1326,8 @@ def defineMenu():
'L1_EM24VHI' : 392,
'L1_LHCF_UNPAIRED_ISO' : 393,
'L1_LHCF_EMPTY' : 394,
'L1_EM15VH_2EM10VH_3EM7': 395,
'L1_EM15VH_3EM8VH': 396,
'L1_EM8I_MU10' : 399,
"L1_EM15HI" :402,
"L1_MU6_3MU4" :403,
......
......@@ -161,125 +161,8 @@ def defineMenu():
# TRT
'NIMTRT',
# L1 topo items from Menu_MC_pp_v5
'HT190-AJ15all.ETA21',
'HT190-J15s5.ETA21',
'HT150-AJ20all.ETA31',
'HT150-J20s5.ETA31',
#ZH
'10MINDPHI-Js2-XE50', '10MINDPHI-J20s2-XE50', '10MINDPHI-J20ab-XE50', '10MINDPHI-CJ20ab-XE50',
#Jpsi T&P
'1INVM5-EMs1-EMall', '1INVM5-EM7s1-EMall', '1INVM5-EM12s1-EMall',
#W T&P
'05MINDPHI-AJj20s6-XE0',
'10MINDPHI-AJj20s6-XE0',
'15MINDPHI-AJj20s6-XE0',
'10MINDPHI-EM10s6-XE0',
'15MINDPHI-EM10s6-XE0',
'05MINDPHI-EM15s6-XE0',
'05RATIO-XE0-HT0-AJj15all.ETA49',
'08RATIO-XE0-HT0-AJj15all.ETA49',
'90RATIO2-XE0-HT0-AJj15all.ETA49',
'250RATIO2-XE0-HT0-AJj15all.ETA49',
'HT20-AJj15all.ETA49',
'NOT-02MATCH-EM10s1-AJj15all.ETA49',
'05RATIO-XE0-SUM0-EM10s1-HT0-AJj15all.ETA49',
'25MT-EM10s6-XE0',
'30MT-EM10s6-XE0',
'35MT-EM15s6-XE0',
#'10MINDPHI-AJj15s2-XE0',
#'20MINDPHI-AJjs6-XE0',
#'20MINDPHI-AJj15s2-XE0',
#'10MINDPHI-EM6s1-XE0',
#'20MINDPHI-EM9s6-XE0',
#'20MINDPHI-EM6s1-XE0',
#'05RATIO-XE0-HT0-AJj15all.ETA49',
#'08RATIO-XE0-HT0-AJj0all.ETA49',