Commit 6ecab6f9 authored by Emma Torro Pastor's avatar Emma Torro Pastor Committed by Graeme Stewart
Browse files

Adding di-electron chain e24_lhmedium_e9_lhmedium to Physics_pp (ATR-12825) (TriggerMenu-00-14-65)

	* Adding di-electron chain e24_lhmedium_e9_lhmedium to Physics_pp (ATR-12825)
	* TriggerMenu-00-14-65
2015-11-23 Nils Ruthmann
	* Adding L1Calo overflow monitoring chain (ATR-12818)
	* Needs TrigSteering-03-08-02
	* TriggerMenu-00-14-64
2015-11-23 Nils Ruthmann
	* Adjusting mdeltar cut for razor triggers (ATR-12890)
	* TriggerMenu-00-14-63
2015-11-23 Nils Ruthmann
	* Adding test jet chains using cleaning functionality
	* Needs TrigJetHypo-03-00-44
	* TriggerMenu-00-14-62
2015-11-23 Nils Ruthmann
	* removing trigger towoer test chain due to timeouts (ATR-12884)
	* TriggerMenu-00-14-61
2015-11-21 Viviana Cavaliere
	* fixing deta jet chains (ATR-11975)
	* TriggerMenu-00-14-60
2015-11-20 Ryan White <ryan.white@cern.ch>
...
(Long ChangeLog diff - truncated)
parent 751ff55d
......@@ -148,6 +148,13 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
btracking = chainParts['bTracking']
bmatching = chainParts['bMatching']
print "JK chainParts[bTracking] is ",chainParts['bTracking']
ftk=""
if 'FTKVtx' in chainParts['bTracking'] or 'FTK' in chainParts['bTracking'] or 'FTKrefit' in chainParts['bTracking']:
ftk="FTKVtx"
print "JK ftk is ",ftk
#-----------------------------------------------------------------------------------
# Import of algs
#-----------------------------------------------------------------------------------
......@@ -192,8 +199,29 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
#--------------------
# tracking
from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new
[trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new
# from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new
# [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new
if 'FTKVtx' in chainParts['bTracking']:
from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new
[trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new
elif 'FTKrefit' in chainParts['bTracking']:
from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence # new
[trkvtx, trkftf] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["refit","2step"]).getSequence() # new
trkprec=[""]
elif 'FTK' in chainParts['bTracking']:
from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence # new
[trkvtx, trkftf] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["2step"]).getSequence() # new
trkprec=[""]
else:
from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new
[trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new
print "JK trkvtx: ", trkvtx
print "JK trkftf: ", trkftf
print "JK trkprec: ", trkprec
# for b-tagging
theBjetTracks = trkftf+trkprec
# for vertexing
......@@ -204,6 +232,9 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
# primary vertexing
from TrigT2HistoPrmVtx.TrigT2HistoPrmVtxAllTEConfig import EFHistoPrmVtxAllTE_Jet
from TrigT2HistoPrmVtx.TrigT2HistoPrmVtxComboConfig import EFHistoPrmVtxCombo_Jet
# JK FTK vertex
from TrigFTK_RecAlgs.TrigFTK_RecAlgs_Config import TrigFTK_VxPrimary_EF
from InDetTrigRecExample.InDetTrigConfigRecPostProcessing import *
#--------------------
......@@ -245,12 +276,23 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
#-----------------------------------------------------------------------------------
tracking = "IDTrig"
jetEtHypoTE = "HLT_j"+btagthresh
jetHypoTE = "HLT_j"+btagthresh+"_eta"
if 'FTKVtx' in chainParts['bTracking']:
tracking = "IDtrig"
elif 'FTKrefit' in chainParts['bTracking']:
tracking = "FTKrefit"
elif 'FTK' in chainParts['bTracking']:
tracking = "FTK"
print "JK , tracking is ",tracking
jetEtHypoTE = "HLT_j"+btagthresh+ftk
jetHypoTE = "HLT_j"+btagthresh+ftk+"_eta"
jetSplitTE = jetHypoTE+"_jsplit"
jetFarawayTE = jetSplitTE+"_faraway"
jetTrackTE = jetSplitTE+"_"+tracking
print "JK , jetTrackTE ",jetTrackTE
if any('antimatch' in bM for bM in chainParts['bMatching'] ) and any('mu' in bM for bM in chainParts['bMatching'] ):
# extract muon threshold from chainname
......@@ -273,6 +315,12 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
secVtxTE = jetTrackTE+"__"+"superVtx"
lastTEout = "HLT_bjet_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName
if 'FTKVtx' in chainParts['bTracking'] or 'FTK' in chainParts['bTracking'] or 'FTKrefit' in chainParts['bTracking']:
comboPrmVtxTE="HLT_FTKVtx_Combo"
print "JK comboPrmVtx : ",comboPrmVtxTE
topoThresh = chainDict['topoThreshold']
topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None
......@@ -284,10 +332,13 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=
#-----------------------------------------------------------------------------------
# Vertexing part of the chain
theChainDef.addSequence(theSuperRoi, inputTEsEF, superTE)
theChainDef.addSequence(theVertexTracks, superTE, superTrackingTE)
theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE)
theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE)
if 'FTKVtx' in chainParts['bTracking'] or 'FTK' in chainParts['bTracking'] or 'FTKrefit' in chainParts['bTracking'] :
theChainDef.addSequence([TrigFTK_VxPrimary_EF("TrigFTK_VxPrimary_Bjet_IDTrig","bjetVtx"), InDetTrigVertexxAODCnv_EF("InDetTrigVertexxAODCnv_Bjet_FTK","bjetVtx")] , inputTEsEF, comboPrmVtxTE)
else:
theChainDef.addSequence(theSuperRoi, inputTEsEF, superTE)
theChainDef.addSequence(theVertexTracks, superTE, superTrackingTE)
theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE)
theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE)
# b-tagging part of the chain (requires PV)
theChainDef.addSequence(theJetSplit, [inputTEsEF, comboPrmVtxTE], jetSplitTE)
......
......@@ -341,6 +341,15 @@ def bMultipleOptionTopos(theChainDef, chainDict, inputTEsL2, inputTEsEF, topoSta
L2Hypo = L2BMuMuHypo_Jpsi_passL2()
EFFex = EFBMuMuFex_Jpsi()
EFHypo = EFBMuMuHypo_Jpsi()
elif ('bBmumu' in topoAlgs) & ('noL2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_DiMu_passL2
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_DiMu_passL2
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_B
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_B
L2Fex = L2BMuMuFex_DiMu_passL2()
L2Hypo = L2BMuMuHypo_DiMu_passL2()
EFFex = EFBMuMuFex_B()
EFHypo = EFBMuMuHypo_B()
elif ('bDimu' in topoAlgs) & ('noEFbph' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_DiMu
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_DiMu
......@@ -359,6 +368,71 @@ def bMultipleOptionTopos(theChainDef, chainDict, inputTEsL2, inputTEsEF, topoSta
L2Hypo = L2BMuMuHypo_Jpsi()
EFFex = EFBMuMuFex_passEF()
EFHypo = EFBMuMuHypo_passEF()
# Tight Chi2 variants
elif ('bJpsimumu' in topoAlgs) & ('tightChi2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_Jpsi
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_Jpsi
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_Jpsi
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_Jpsi_tightChi2
L2Fex = L2BMuMuFex_Jpsi()
L2Hypo = L2BMuMuHypo_Jpsi()
EFFex = EFBMuMuFex_Jpsi()
EFHypo = EFBMuMuHypo_Jpsi_tightChi2()
elif ('bDimu' in topoAlgs) & ('tightChi2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_DiMu
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_DiMu
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_DiMu
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_DiMu_tightChi2
L2Fex = L2BMuMuFex_DiMu()
L2Hypo = L2BMuMuHypo_DiMu()
EFFex = EFBMuMuFex_DiMu()
EFHypo = EFBMuMuHypo_DiMu_tightChi2()
elif ('bBmumu' in topoAlgs) & ('tightChi2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_B
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_B
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_B
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_B_tightChi2
L2Fex = L2BMuMuFex_B()
L2Hypo = L2BMuMuHypo_B()
EFFex = EFBMuMuFex_B()
EFHypo = EFBMuMuHypo_B_tightChi2()
elif ('bUpsimumu' in topoAlgs) & ('tightChi2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_Upsi
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_Upsi
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_Upsi
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_Upsi_tightChi2
L2Fex = L2BMuMuFex_Upsi()
L2Hypo = L2BMuMuHypo_Upsi()
EFFex = EFBMuMuFex_Upsi()
EFHypo = EFBMuMuHypo_Upsi_tightChi2()
# Lxy > 0 variants
elif ('bJpsimumu' in topoAlgs) & ('Lxy0' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_Jpsi
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_Jpsi
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_Jpsi
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_Jpsi_Lxy0
L2Fex = L2BMuMuFex_Jpsi()
L2Hypo = L2BMuMuHypo_Jpsi()
EFFex = EFBMuMuFex_Jpsi()
EFHypo = EFBMuMuHypo_Jpsi_Lxy0()
elif ('bDimu' in topoAlgs) & ('Lxy0' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_DiMu
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_DiMu
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_DiMu
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_DiMu_Lxy0
L2Fex = L2BMuMuFex_DiMu()
L2Hypo = L2BMuMuHypo_DiMu()
EFFex = EFBMuMuFex_DiMu()
EFHypo = EFBMuMuHypo_DiMu_Lxy0()
elif ('bBmumu' in topoAlgs) & ('Lxy0' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_B
from TrigBphysHypo.TrigL2BMuMuHypoConfig import L2BMuMuHypo_B
from TrigBphysHypo.TrigEFBMuMuFexConfig import EFBMuMuFex_B
from TrigBphysHypo.TrigEFBMuMuHypoConfig import EFBMuMuHypo_B_Lxy0
L2Fex = L2BMuMuFex_B()
L2Hypo = L2BMuMuHypo_B()
EFFex = EFBMuMuFex_B()
EFHypo = EFBMuMuHypo_B_Lxy0()
else:
logBphysDef.error('Bphysics Chain %s can not be constructed, the given topo algs are not known: %s ' %(chainDict['chainName'], topoAlgs ))
......
......@@ -10,17 +10,13 @@ __doc__="Implementation of calib trigger sequence "
from TriggerMenu.menu.HltConfig import *
from AthenaCommon.Include import include
from AthenaCommon.SystemOfUnits import GeV
from TriggerJobOpts.TriggerFlags import TriggerFlags
from AthenaCommon.Logging import logging
logging.getLogger().info("Importing %s",__name__)
mlog = logging.getLogger("TriggerMenu.calibcosmic.CalibDef")
###########################################################################
# !!!!HARDCODED ROI TO SEED TRKCALIB CHAINS OFF!!!!
###########################################################################
roi1 = 'HA8'
from TrigDetCalib.TrigDetCalibConfig import *
#from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo
......@@ -52,6 +48,7 @@ def getInputTEfromL1Item(item):
L1Map = {'L1_CALREQ2': ['NIM30'],
#'L1_RD0_EMPTY': [''],
'L1_TAU8_EMPTY': ['HA8'],
'L1_TAU12_EMPTY': ['HA12'],
'L1_FJ30_EMPTY': ['JF30'],
}
......@@ -104,10 +101,12 @@ class L2EFChain_CalibTemplate(L2EFChainDef):
# self.L2InputTE = self.L2InputTE.split("_")[0]
# self.L2InputTE = self.L2InputTE[1:] if self.L2InputTE[0].isdigit() else self.L2InputTE
if 'idcalib' in self.chainPart['purpose']:
self.L2InputTE = roi1
self.setupTrkCalibChains()
if not 'HI_' in TriggerFlags.triggerMenuSetup():
roi1 = 'HA8'
#mlog.info('Using '+roi1+' as ROI for calibtrk chains, triggered by non-HI menuname)
self.L2InputTE = roi1
self.setupTrkCalibChains()
elif 'ibllumi' in self.chainPart['purpose']:
self.setupIBLLumiChains()
elif ('larcalib' in self.chainPart['purpose']) or ('tilelarcalib' in self.chainPart['purpose']):
......@@ -129,6 +128,8 @@ class L2EFChain_CalibTemplate(L2EFChainDef):
self.setupLarPEBChains()
elif 'l1satmon' in self.chainPart['purpose']:
self.setupL1SaturatedMon()
elif 'zdcpeb' in self.chainPart['purpose']:
self.setupZDCPEBChains()
else:
mlog.error('Chain %s could not be assembled' % (self.chainPartName))
return False
......@@ -415,3 +416,12 @@ class L2EFChain_CalibTemplate(L2EFChainDef):
self.robWriter = [alfaidSubDetListWriter]
self.L2sequenceList += [['', self.robWriter, 'L2_alfaid']]
self.L2signatureList += [[['L2_alfaid']]]
#####################################################################
def setupZDCPEBChains(self):
from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter
ZDCSubDetListWriter = TrigSubDetListWriter("ZDCSubDetListWriter")
ZDCSubDetListWriter.SubdetId = ['TDAQ_CTP','FORWARD_ZDC']
ZDCSubDetListWriter.MaxRoIsPerEvent=1
......@@ -20,16 +20,16 @@ class L2EFChain_Monitoring(L2EFChainDef):
self.L2signatureList = []
self.EFsignatureList = []
self.TErenamingDict = []
self.chainName = chainDict['chainName']
self.chainPart = chainDict['chainParts']
self.chainL1Item = chainDict['L1item']
self.chainCounter = chainDict['chainCounter']
self.chainPart = chainDict['chainParts']
self.chainL1Item = chainDict['L1item']
self.chainCounter = chainDict['chainCounter']
self.L2Name = 'L2_'+self.chainPart['chainPartName']
self.EFName = 'EF_'+self.chainPart['chainPartName']
self.monType = self.chainPart['monType']
self.L2InputTE = self.chainL1Item
self.L2InputTE = self.chainL1Item
if ('robrequest' in self.monType):
self.setupROBRequestMonChains()
......@@ -41,25 +41,27 @@ class L2EFChain_Monitoring(L2EFChainDef):
self.setupCostMonChain()
elif ('cscmon' in self.monType):
self.setupCSCMonChain()
elif ('l1calooverflow' in self.monType):
self.setupL1CaloOverflow()
else:
log.error("No suitable configuration for chain %s found!" % self.chainName)
L2EFChainDef.__init__(self, self.chainName, self.L2Name, self.chainCounter,
self.L2InputTE, self.EFName, self.chainCounter, self.L2InputTE)
def defineSequences(self):
def defineSequences(self):
for sequence in self.L2sequenceList:
self.addL2Sequence(*sequence)
self.addL2Sequence(*sequence)
for sequence in self.EFsequenceList:
self.addEFSequence(*sequence)
def defineSignatures(self):
for signature in self.L2signatureList:
self.addL2Signature(*signature)
for signature in self.EFsignatureList:
self.addEFSignature(*signature)
self.addEFSignature(*signature)
def defineTErenaming(self):
self.TErenamingMap=self.TErenamingDict
......@@ -76,15 +78,15 @@ class L2EFChain_Monitoring(L2EFChainDef):
####################################
####################################
def setupCSCMonChain(self):
from TrigDetCalib.TrigDetCalibConfig import CSCSubDetListWriter
from TrigDetCalib.TrigDetCalibConfig import CSCSubDetListWriter
CSC_PEB = CSCSubDetListWriter('CSCSubDetListWriter_' + self.chainName)
outputTE='L2_CSCSubDetListWriter_'+self.chainName
self.L2sequenceList += [ [ '', [CSC_PEB], outputTE ] ]
self.L2sequenceList += [ [ '', [CSC_PEB], outputTE ] ]
self.L2signatureList += [ [[outputTE]] ]
####################################
####################################
......@@ -92,11 +94,11 @@ class L2EFChain_Monitoring(L2EFChainDef):
from TrigGenericAlgs.TrigGenericAlgsConf import TimeBurner
TimeBurner= TimeBurner("DummyTimeBurner")
TimeBurner.TimeDelay = 15
self.L2sequenceList += [[ self.L2InputTE,
[TimeBurner],
self.L2sequenceList += [[ self.L2InputTE,
[TimeBurner],
'L2_DummyTimeBurner']]
self.L2signatureList += [ [['L2_DummyTimeBurner']] ]
####################################
####################################
......@@ -106,18 +108,26 @@ class L2EFChain_Monitoring(L2EFChainDef):
#self.L2sequenceList += [[ '',[TDAQ_L2SubDetListWriter('TDAQ_L2SubDetListWriter')],l2_seq_peb]]
#self.L2signatureList += [ [[l2_seq_peb]] ]
from TrigDetCalib.TrigDetCalibConfig import TDAQ_HLTSubDetListWriter
from TrigDetCalib.TrigDetCalibConfig import TDAQ_HLTSubDetListWriter
ef_seq_peb = 'HLT_'+self.chainName+'_peb'
self.L2sequenceList += [['',[TDAQ_HLTSubDetListWriter('TDAQ_HLTSubDetListWriter')],ef_seq_peb]]
self.L2sequenceList += [['',[TDAQ_HLTSubDetListWriter('TDAQ_HLTSubDetListWriter')],ef_seq_peb]]
self.L2signatureList += [ [[ef_seq_peb]] ]
####################################
####################################
def setupL1CaloOverflow(self):
from TrigDetCalib.TrigDetCalibConf import TrigL1CaloOverflow
CaloOverflowMonitor = TrigL1CaloOverflow("TrigL1CaloOverflow")
self.L2sequenceList += [[ '' , [CaloOverflowMonitor], 'L2_l1calooverflow']]
self.L2signatureList += [ [['L2_l1calooverflow']] ]
####################################
####################################
def setupIdmonTrkFS(self):
## necessary alg imports
from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo as DummyRoI
theL2dummy = DummyRoI("DummyRoI_L2InDetMon")
theL2dummy = DummyRoI("DummyRoI_L2InDetMon")
theEFdummy = DummyRoI("DummyRoI_EFInDetMon")
try:
......@@ -136,40 +146,39 @@ class L2EFChain_Monitoring(L2EFChainDef):
theTrigL2SiTrackFInder_FullScanBC = None
from InDetTrigRecExample import TrigEFIDSequence, TrigEFIDInsideOut_FullScan
theTrigEFIDSequence = TrigEFIDSequence("FullScan","fullScan","TRTOnly")
theTrigEFIDInsideOut_FullScan = TrigEFIDInsideOut_FullScan()
from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo
self.L2SequenceList += [[self.L2InputTE,
[theL2dummy,
theTrigL2SiTrackFinder_FullScanA,
theTrigL2SiTrackFinder_FullScanB,
theTrigL2SiTrackFinder_FullScanBC],
'L2_FStracks_L2StarAB']]
self.EFsequenceList += [[["",
[PESA__DummyUnseededAllTEAlgo("EFDummyAlgo")]+
theTrigEFIDInsideOut_FullScan,
'EF_FStracks']]]
self.EFsequenceList += [[[ "", [theEFdummy ]+ theTrigEFIDSequence, 'EF_FStracks_TRTOnly']]]
self.L2signatureList += [ [['L2_FStracks_L2StarAB']] ]
self.EFsignatureList += [ [['EF_FStracks', 'EF_FStracks_TRTOnly']] ]
#<SIGNATURE logic="1" signature_counter="1">
# <TRIGGERELEMENT te_name="EF_FStracks"/>
# <TRIGGERELEMENT te_name="EF_FStracks_TRTOnly"/>
#<SEQUENCE algorithm="PESA::DummyUnseededAllTEAlgo/EFDummyAlgo InDet::Pixel_TrgClusterization/PixelClustering_FullScan_EFID InDet::SCT_TrgClusterization/SCTClustering_FullScan_EFID InDet::TRT_TrgRIO_Maker/TRTDriftCircleMaker_FullScan_EFID InDet::SiTrigSpacePointFinder/SiTrigSpacePointFinder_FullScan_EFID InDet::SiTrigSPSeededTrackFinder/SiTrigTrackFinder_FullScan_EFID InDet::InDetTrigAmbiguitySolver/TrigAmbiguitySolver_FullScan_EFID InDet::TRT_TrigTrackExtensionAlg/TRTTrackExtAlg_FullScan_EFID InDet::InDetTrigExtensProcessor/TrigExtProcessor_FullScan_EFID InDet::TrigTrackSlimmer/InDetTrigTrackSlimmer_FullScan_EFID InDet::TrigVxPrimary/TrigVxPrimary_FullScan_EFID InDet::TrigParticleCreator/InDetTrigParticleCreation_FullScan_EFID" input="" output="EF_FStracks"/>
#<SEQUENCE algorithm="PESA::DummyUnseededAllTEAlgo/EFDummyAlgo InDet::Pixel_TrgClusterization/PixelClustering_FullScan_EFID InDet::SCT_TrgClusterization/SCTClustering_FullScan_EFID InDet::TRT_TrgRIO_Maker/TRTDriftCircleMaker_FullScan_EFID InDet::SiTrigSpacePointFinder/SiTrigSpacePointFinder_FullScan_EFID InDet::SiTrigSPSeededTrackFinder/SiTrigTrackFinder_FullScan_EFID InDet::InDetTrigAmbiguitySolver/TrigAmbiguitySolver_FullScan_EFID InDet::TRT_TrigTrackExtensionAlg/TRTTrackExtAlg_FullScan_EFID InDet::InDetTrigExtensProcessor/TrigExtProcessor_FullScan_EFID InDet::TrigTrackSlimmer/InDetTrigTrackSlimmer_FullScan_EFID InDet::TrigVxPrimary/TrigVxPrimary_FullScan_EFID InDet::TrigParticleCreator/InDetTrigParticleCreation_FullScan_EFID" input="" output="EF_FStracks"/>
......@@ -226,7 +226,7 @@ def _addRazor(theChainDef,chainDicts,listOfChainDefs):
logCombined.debug("Input TEs to Razor algorithm: %s" % inputTEsEFMET)
from TrigHLTJetHemisphereRec.TrigHLTJetHemisphereRecConfig import TrigHLTJetHemisphereRec_Builder
theTrigHLTJetHemisphereRec = TrigHLTJetHemisphereRec_Builder(jetPtCut=30000.)
theTrigHLTJetHemisphereRec = TrigHLTJetHemisphereRec_Builder(jetPtCut=40000.)
EFChainName = "EF_" + chainDicts[0]['chainName']
......
......@@ -39,4 +39,47 @@ EgammaChainsToKeepMonitoring={
"e24_tight_iloose",
"e24_lhtight_iloose",
"e120_lhloose"
"e10_etcut",
"e12_etcut",
"e15_etcut",
"g12_etcut",
"g18_etcut",
"g20_etcut",
"e15_loose",
"e15_medium",
"e15_lhloose",
"e15_lhmedium",
"e10_etcut_ion",
"e12_etcut_ion",
"e15_etcut_ion",
"g12_etcut_ion",
"g18_etcut_ion",
"g20_etcut_ion",
"e15_loose_ion",
"e15_medium_ion",
"e15_lhloose_ion",
"e15_lhmedium_ion",
"e18_loose_ion",
"e18_medium_ion",
"e18_lhloose_ion",
"e18_lhmedium_ion",
"2e10_loose_ion",
"e15_loose_ion_idperf",
"e15_medium_ion_idperf",
"e20_etcut",
"e20_loose",
"e20_lhloose",
"e20_etcut_ion",
"e20_loose_ion",
"e20_lhloose_ion",
"g15_loose",
"g15_medium",
"g20_loose",
"g20_medium",
"g15_loose_ion",
"g15_medium_ion",
"g20_loose_ion",
"g20_medium_ion",
"2g15_loose",
"2g15_loose_ion"
}
......@@ -82,7 +82,6 @@ class L2EFChain_e(L2EFChainDef):
# eXXvh_ID type chains:
if self.chainPart['trkInfo']=='idperf': #True:# self.chainPart['IDinfo'] \
#and not self.chainPart['isoInfo'] \
#and not self.chainPart['FSinfo'] \
......@@ -95,7 +94,9 @@ class L2EFChain_e(L2EFChainDef):
else:
self.setup_eXXvh_idperf()
elif self.chainPart['L2IDAlg']:
self.setup_eXXvh_ID()
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':
......@@ -152,7 +153,10 @@ class L2EFChain_e(L2EFChainDef):
# common imports required for EtCut and Electron ID chains
# L2 Calo FEX
from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_eGamma
theT2CaloEgamma_eGamma = T2CaloEgamma_eGamma()
theT2CaloEgamma_eGamma = T2CaloEgamma_eGamma()
# Ringer FEX for L2 Calo
from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_Ringer
theT2CaloEgamma_Ringer = T2CaloEgamma_Ringer()
# L2 Tracking FEX
from TrigL2SiTrackFinder.TrigL2SiTrackFinder_Config import TrigL2SiTrackFinder_eGammaA
......@@ -210,6 +214,7 @@ class L2EFChain_e(L2EFChainDef):
from TrigEgammaHypo.TrigEFTrackHypoConfig import EFTrackHypo_e_NoCut
from TrigEgammaHypo.TrigEFCaloHypoConfig import TrigEFCaloHypo_EtCut
#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)
......@@ -275,10 +280,16 @@ class L2EFChain_e(L2EFChainDef):
return False
########### Sequences ###########
self.L2sequenceList += [[self.L2InputTE,
[theT2CaloEgamma_eGamma, theL2CaloHypo],
'L2_e_step1']]
if 'perf' in self.chainPart['addInfo'] or 'etcut' in self.chainPart['addInfo']:
print 'TrigT2CaloEgamma_Ringer was enabled'
self.L2sequenceList += [[self.L2InputTE,
[theT2CaloEgamma_Ringer, theL2CaloHypo],
'L2_e_step1']]
else:
self.L2sequenceList += [[self.L2InputTE,
[theT2CaloEgamma_eGamma, theL2CaloHypo],
'L2_e_step1']]
self.L2sequenceList += [[['L2_e_step1'],
[theL2TrackingFex]+theL2StarxAOD,
......@@ -595,6 +606,141 @@ class L2EFChain_e(L2EFChainDef):
'EF_e_step4': mergeRemovingOverlap('EF_', self.chainPartNameNoMult),
}
def setup_eXXvh_ID_ringer(self):
threshold = self.chainPart['threshold']
IDinfo = self.chainPart['IDinfo']
isoInfo = self.chainPart['isoInfo']
addInfo = self.chainPart['addInfo']
trkInfo = self.chainPart['trkInfo']
logElectronDef.debug('setup_eXXvh_ID_run2')
logElectronDef.debug('threshold: %s',threshold)
logElectronDef.debug('isoInfo: %s',isoInfo)
logElectronDef.debug('IDinfo: %s',IDinfo)
logElectronDef.debug('trkInfo: %s',trkInfo)
# common imports required for EtCut and Electron ID chains
# Ringer FEX for L2 Calo
from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_Ringer
theT2CaloEgamma_Ringer = T2CaloEgamma_Ringer()
# EF Calo
from TrigCaloRec.TrigCaloRecConfig import TrigCaloCellMaker_eGamma, TrigCaloTowerMaker_eGamma, TrigCaloClusterMaker_slw