Commit b5922e37 authored by Yu Nakahama Higuchi's avatar Yu Nakahama Higuchi Committed by Graeme Stewart
Browse files

Send xe70,75,80,90_L1XE50,55 to new MetRateStudies stream for monitoring...

Send xe70,75,80,90_L1XE50,55 to new MetRateStudies stream for monitoring (ATR-14857) (TriggerMenu-00-19-62)

	* Created new stream MetRateStudies (monitoring) and send xe70,75,80,90_L1XE50,55 (ATR-14857)
	* TriggerMenu-00-19-62

2016-09-28 Elisabetta Pianori
	* revert to old named for ht + bjet chains (ATR-14573)
	* TriggerMenu-00-19-61

2016-09-28 Elisabetta Pianori
	* fix ht + bjet chains (ATR-14573)
	* TriggerMenu-00-19-60

2016-09-28 Daniele Zanzi
	* fix in algo order in TauDef (ATR-15131)
	* TriggerMenu-00-19-59

2016-09-27 Ljiljana Morvaj
        * added HLT_xe{95,100,105,110}_pufit_L1XE{50,55} to Physics_pp_v6 (ATR-15102)
        * TriggerMenu-00-19-58

2016-09-26 Sophio Pataraia
...
(Long ChangeLog diff - truncated)
parent a6c26531
......@@ -6,7 +6,11 @@
atlas_subdir( TriggerMenu )
# Install files from the package:
atlas_install_python_modules( python/*.py python/menu python/l1 python/l1menu python/l1topo python/l1topomenu python/egamma python/muon python/jet python/bjet python/met python/tau python/minbias python/heavyion python/bphysics python/calibcosmicmon python/test python/combined )
atlas_install_python_modules( python/*.py python/menu python/l1
python/l1menu python/l1topo python/l1topomenu python/egamma
python/muon python/jet python/bjet python/met python/tau
python/minbias python/heavyion python/bphysics python/calibcosmicmon
python/test python/combined python/commonUtils )
atlas_install_joboptions( share/*.py )
atlas_install_scripts( scripts/generate*Menu.py scripts/menuTestTMC.sh )
atlas_install_xmls( data/*.dtd data/*.xml )
......
......@@ -11,7 +11,7 @@ apply_pattern declare_python_modules files="*.py menu l1 l1menu l1topo \
l1topomenu egamma muon jet \
bjet met tau minbias heavyion \
bphysics calibcosmicmon test \
combined"
combined commonUtils"
apply_pattern declare_xmls
......
......@@ -43,7 +43,9 @@ def _addTopoInfo(theChainDef,chainDict,doAtL2AndEF=True):
topoAlgs = chainDict["topo"]
SameConfigTopos = ['bJpsi', 'bDimu', 'bTau', 'bBmumu', 'bJpsimumu', 'bUpsimumu', 'Zmumu','bUpsi']
SameConfigTopos = ['bJpsi', 'bDimu', 'bTau', 'bTauTrk', 'trkTau',
'bDsPhiXtight','bDsPhiX', 'bPhi',
'bBmumu', 'bJpsimumu', 'bUpsimumu', 'Zmumu','bUpsi']
ntopos = len(topoAlgs)
topoThresh = chainDict['topoThreshold']
......@@ -76,6 +78,33 @@ def bSingleOptionTopos(theChainDef, chainDict, inputTEsL2, inputTEsEF, topoStart
L2TEname = "L2_" + TEname+'_'+mtopo+'_tsf_'+chainDict['L1item']
topo2StartFrom = L2TEname
chainParts = chainDict['chainParts']
mult = 0
trkmuons = []
fexNameExt = ""
for part in chainParts :
mult = mult + int(part['multiplicity'])
for dictpart in chainDict['chainParts']:
if 'mu' in dictpart['trigType']:
for x in range(0,int(dictpart['multiplicity'])):
if dictpart['threshold']!='0':
dthr = float(dictpart['threshold'] )
thr= dthr * 1000. # in MeV;
#lower to match EF muon threshols
if dthr < 9.5 :
thr = thr - 250.
elif dthr < 11.5 :
thr = thr - 500.
elif dthr < 21.5 :
thr = thr - 750.
else :
thr = thr -1000.
else :
thr = 900.
trkmuons.append(thr)
fexNameExt = fexNameExt + "_"+str(int(dictpart['threshold']))
if (mtopo == 'bJpsi'):
from TrigBphysHypo.TrigL2MultiMuFexConfig import L2MultiMuFex_Jpsi
from TrigBphysHypo.TrigL2MultiMuHypoConfig import L2MultiMuHypo_Jpsi
......@@ -107,36 +136,110 @@ def bSingleOptionTopos(theChainDef, chainDict, inputTEsL2, inputTEsEF, topoStart
L2Hypo = L2BMuMuHypo_DiMu()
EFFex = EFBMuMuFex_DiMu()
EFHypo = EFBMuMuHypo_DiMu()
elif (mtopo == 'bTauTrk'):
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkTau
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau3
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
L2Fex = TrigMultiTrkFex_trkTau("TrigMultiTrkFex_trkTau"+fexNameExt)
L2Fex.setTrackThresholds( trkmuons )
L2Hypo = EFMultiMuHypo_2700("L2MultiMuHypo_trkTau")
L2Hypo.bphysCollectionKey = "MultiTrkFex"
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_bTau")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
else :
EFFex = EFMultiMuFex_Tau3()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_Tau3")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif (mtopo == 'bTau'):
chainParts = chainDict['chainParts']
mult = 0
for part in chainParts :
mult = mult + int(part['multiplicity'])
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkTau
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau3
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Tau
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_bTau")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
if ('nscan' in chainDict['chainName'] ): # do not do L2
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Tau2()
else :
EFFex = EFMultiMuFex_Tau()
EFHypo = EFMultiMuHypo_Tau()
else :
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Tau2()
else :
EFFex = EFMultiMuFex_Tau()
EFHypo = EFMultiMuHypo_Tau()
EFFex = EFMultiMuFex_Tau3()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_Tau3")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif (mtopo == 'trkTau'): # no EF muon hypo
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkTau
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
L2Fex = TrigMultiTrkFex_trkTau("TrigMultiTrkFex_trkTau"+fexNameExt)
L2Fex.setTrackThresholds( trkmuons )
L2Hypo = EFMultiMuHypo_2700("L2MultiMuHypo_trkTau")
L2Hypo.bphysCollectionKey = "MultiTrkFex"
EFFex = TrigMultiTrkFex_trkTau("EFTrigMultiTrkFex_trkTau"+fexNameExt)
EFFex.setTrackThresholds( trkmuons )
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_trkTau")
EFHypo.bphysCollectionKey = "MultiTrkFex"
elif (mtopo == 'bDsPhiXtight'):
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkPhiXTight
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
L2Fex = TrigMultiTrkFex_trkPhiXTight("TrigMultiTrkFex_trkPhiXTight"+fexNameExt)
L2Fex.setTrackThresholds( trkmuons )
L2Hypo = EFMultiMuHypo_2700("L2MultiMuHypo_DsPhiXtight") # OI can keep the name, then all histograms will be merged
L2Hypo.bphysCollectionKey = "MultiTrkFex"
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Phi
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Phi()
EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif (mtopo == 'bDsPhiX'):
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkPhiX
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
L2Fex = TrigMultiTrkFex_trkPhiX("TrigMultiTrkFex_trkPhiX"+fexNameExt)
L2Fex.setTrackThresholds( trkmuons )
L2Hypo = EFMultiMuHypo_2700("L2MultiMuHypo_DsPhiX")
L2Hypo.bphysCollectionKey = "MultiTrkFex"
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Phi
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Phi()
EFHypo.bphysCollectionKey = "EFMultiMuFex"
# EFFex = TrigMultiTrkFex_trkPhiX("EFMultiTrkFex_trkPhiX"+fexNameExt)
#EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_DsPhiX")
#EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif (mtopo == 'bPhi'):
from TrigBphysHypo.TrigMultiTrkFexConfig import TrigMultiTrkFex_trkPhi
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Phi
L2Fex = TrigMultiTrkFex_trkPhi("TrigMultiTrkFex_trkPhi"+fexNameExt)
L2Fex.setTrackThresholds( trkmuons )
L2Hypo = EFMultiMuHypo_Phi("L2MultiMuHypo_Phi")
L2Hypo.bphysCollectionKey = "MultiTrkFex"
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Phi("EFMultiMuHypo_Phi")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif (mtopo == 'bUpsi'):
......@@ -317,29 +420,20 @@ def bMultipleOptionTopos(theChainDef, chainDict, inputTEsL2, inputTEsEF, topoSta
for part in chainParts :
mult = mult + int(part['multiplicity'])
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Tau
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_Tau2
from TrigBphysHypo.TrigEFMultiMuHypoConfig import EFMultiMuHypo_2700
from TrigBphysHypo.TrigEFMultiMuFexConfig import EFMultiMuFex_Tau2
if ('nscan' in chainDict['chainName'] or 'noL2' in topoAlgs ): # do not do L2
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Tau2()
else :
EFFex = EFMultiMuFex_Tau()
EFHypo = EFMultiMuHypo_Tau()
else :
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_Tau2()
else :
EFFex = EFMultiMuFex_Tau()
EFHypo = EFMultiMuHypo_Tau()
L2Fex = None
L2Hypo = None
if mult == 2 :
EFFex = EFMultiMuFex_Tau2()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_bTau")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
else :
EFFex = EFMultiMuFex_Tau3()
EFHypo = EFMultiMuHypo_2700("EFMultiMuHypo_Tau3")
EFHypo.bphysCollectionKey = "EFMultiMuFex"
elif ('bDimu' in topoAlgs) & ('novtx' in topoAlgs) & ('noos' in topoAlgs) & ('noL2' in topoAlgs):
from TrigBphysHypo.TrigL2BMuMuFexConfig import L2BMuMuFex_DiMu_passL2
......@@ -687,6 +781,13 @@ def bBmumuxTopos(theChainDef,chainDict, inputTEsL2, inputTEsEF, topoStartFrom):
#L2Fex = L2BMuMuXFex_TauMuMuX()
EFFex = EFBMuMuXFex_TauMuMuX()
EFHypo = EFBMuMuXHypo_TauMuMuX()
elif 'Dsmumux' in topoAlgs:
from TrigBphysHypo.TrigEFBMuMuXFexConfig import EFBMuMuXFex_TauMuMuX
from TrigBphysHypo.TrigEFBMuMuXHypoConfig import EFBMuMuXHypo_TauMuMuX
EFFex = EFBMuMuXFex_TauMuMuX()
EFHypo = EFBMuMuXHypo_TauMuMuX()
elif 'bBmumuxv2' in topoAlgs:
if 'Ftk' in topoAlgs:
......
......@@ -349,8 +349,20 @@ def _addTauMass(theChainDef,chainDicts,listOfChainDefs):
def _addMVis(theChainDef,chainDicts,listOfChainDefs):
inputTEsEF = theChainDef.signatureList[-1]['listOfTriggerElements']
## that was it previously, just grabbing the last outputTE:
#inputTEsEF = theChainDef.signatureList[-1]['listOfTriggerElements']
# rather get the last outputTE named EF_g and EF_tau
inputTEsEF=[]
inputTE_tau=''
inputTE_photon=''
for iS in range(0, len(theChainDef.signatureList) ):
for TE in theChainDef.signatureList[iS]['listOfTriggerElements'] :
if 'EF_g' in TE: inputTE_photon=TE
if 'EF_tau' in TE: inputTE_tau=TE
inputTEsEF=[inputTE_tau,inputTE_photon ]
maxMvis=-1
minMvis=-1
for topo_item in chainDicts[0]['topo']:
......
......@@ -7,7 +7,7 @@ class TrigHLTEnergyDensityCentral(TrigHLTEnergyDensity):
def __init__(self, name="TrigHLTEnergyDensityCentral",
toolname_stub="jetTriggerEnergyDensityTool_Central",
ed_merge_param=0.5, AbsRapidityMax=1.5,
caloClusterContainerSGKey="TrigCaloClusterMaker_topo_fullscan_egamma",
caloClusterContainerSGKey="TopoCaloClusterMaker_topo_FS",
eventShapeSGKey="HLTTopoClusterIsoCentralEventShape") :
super(TrigHLTEnergyDensityCentral, self).__init__(name=name,
toolname_stub=toolname_stub,
......@@ -22,7 +22,7 @@ class TrigHLTEnergyDensityForward(TrigHLTEnergyDensity):
def __init__(self, name="TrigHLTEnergyDensityForward",
toolname_stub="jetTriggerEnergyDensityTool_Forward",
ed_merge_param=0.5, AbsRapidityMin=1.5, AbsRapidityMax=3.0,
caloClusterContainerSGKey="TrigCaloClusterMaker_topo_fullscan_egamma",
caloClusterContainerSGKey="TopoCaloClusterMaker_topo_FS",
eventShapeSGKey="HLTTopoClusterIsoForwardEventShape") :
super(TrigHLTEnergyDensityForward, self).__init__(name=name,
toolname_stub=toolname_stub,
......
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
import sys
import os
# stop noise from imports - output to /dev/null
oldout = sys.stdout
olderr = sys.stderr
f = open(os.devnull, 'w')
sys.stdout = f
sys.stderr = f
try:
from TriggerMenu.commonUtils.LeptonIsoEDConfig import TrigHLTEnergyDensityCentral, TrigHLTEnergyDensityForward
from TrigGenericAlgs.TrigGenericAlgsConf import \
PESA__DummyUnseededAllTEAlgo as DummyAlgo
from TrigCaloRec.TrigCaloRecConfig import (TrigCaloCellMaker_jet_fullcalo,
TrigCaloClusterMaker_topo)
from TrigCaloRec.TrigCaloRecConfig import (TrigCaloCellMaker_eGamma,
TrigCaloTowerMaker_eGamma,
TrigCaloClusterMaker_slw,
TrigCaloCellMaker_eGamma_cells)
# import BadImportWillFail
except Exception, e:
# reinstate output
sys.stdout = oldout
sys.stderr = olderr
print 'makeCaloSequences: import failed'
print e
sys.exit(1)
else:
# reinstate output
sys.stdout = oldout
sys.stderr = olderr
class SequenceSpecifier(object):
def __init__(self, te_in, te_out, alglist):
self.te_in = te_in
self.te_out = te_out
self.alglist = alglist
def __str__(self):
s = ['SequenceSpecifier: te_in %s te_out %s' % (self.te_in,
self.te_out)]
s.append(' Algorithms:')
[s.append(' ' + a.getName()) for a in self.alglist]
return '\n'.join(s)
def generate(self):
s=[[self.te_in],self.alglist,self.te_out]
return s
def EnergyDensitySequence(te_in):
te_out = 'EF_FSTopoClustersED'
alglist = [TrigHLTEnergyDensityCentral("TrigHLTEnergyDensityCentral"), TrigHLTEnergyDensityForward("TrigHLTEnergyDensityForward")]
return SequenceSpecifier(te_in, te_out, alglist).generate()
def fullScanTopoClusterSequence():
te_in = ''
te_out = 'EF_FSTopoClusters'
alglist = [DummyAlgo('RoiCreator'),
TrigCaloCellMaker_jet_fullcalo('TriggerCaloCellMaker_FS',
doNoise=0,
AbsE=True,
doPers=True),
TrigCaloClusterMaker_topo('TopoCaloClusterMaker_topo_FS',
doMoments=True,
doLC=True)]
return SequenceSpecifier(te_in, te_out, alglist).generate()
def getFullScanTopoClusterEDSequences():
theFullScanTopoClusterSequence = fullScanTopoClusterSequence()
theEnergyDensitySequence = EnergyDensitySequence(theFullScanTopoClusterSequence[-1])
return [theFullScanTopoClusterSequence,theEnergyDensitySequence]
def EgammaSlwClusterSequence(te_in,te_out):
alglist = [TrigCaloCellMaker_eGamma(),TrigCaloTowerMaker_eGamma(),TrigCaloClusterMaker_slw()]
return SequenceSpecifier(te_in, te_out, alglist).generate()
if __name__ == '__main__':
seq = fullScanTopoClusterSequence()
print seq
seq2 = EgammaSlwClusterSequence("EF_step0","EF_step1")
print seq2
......@@ -37,6 +37,7 @@ from TrigMultiVarHypo.TrigL2CaloRingerHypoConfig import (TrigL2CaloRingerFexHypo
from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_eGamma, T2CaloEgamma_Ringer
from TriggerMenu.commonUtils.makeCaloSequences import fullScanTopoClusterSequence, EgammaSlwClusterSequence, EnergyDensitySequence, getFullScanTopoClusterEDSequences
##################
#
......@@ -187,7 +188,7 @@ class L2EFChain_g(L2EFChainDef):
else :
theTrigEgammaFex = self.theTrigEgammaRec_NoIDEF_eGamma
caloseq = EgammaSlwClusterSequence('L2_g_step2','EF_g_step1')
########### Sequences ###########
if ( disableMon ) : theL2CaloHypo.AthenaMonTools=DisableMonitoringButValAndTime(theL2CaloHypo.AthenaMonTools)
......@@ -204,9 +205,11 @@ class L2EFChain_g(L2EFChainDef):
[self.theL2PhotonFex, theL2PhotonHypo],
'L2_g_step2']]
self.EFsequenceList += [[['L2_g_step2'],
[self.theTrigCaloCellMaker_eGamma, self.theTrigCaloTowerMaker_eGamma, self.theTrigCaloClusterMaker_slw],
'EF_g_step1']]
#self.EFsequenceList += [[['L2_g_step2'],
# [self.theTrigCaloCellMaker_eGamma, self.theTrigCaloTowerMaker_eGamma, self.theTrigCaloClusterMaker_slw],
# 'EF_g_step1']]
self.EFsequenceList += [caloseq]
#if ( disableMon ) : self.theTrigEFCaloCalibFex.AthenaMonTools=DisableMonitoringButValAndTime(self.theTrigEFCaloCalibFex.AthenaMonTools)
if ( disableMon ) : theTrigEFCaloHypo.AthenaMonTools=DisableMonitoringButValAndTime(theTrigEFCaloHypo.AthenaMonTools)
......@@ -291,13 +294,11 @@ class L2EFChain_g(L2EFChainDef):
theTrigEgammaFex = self.theTrigEgammaRec_Iso_eGamma
cell_maker_fullcalo_topo = TrigCaloCellMaker_jet_fullcalo("CellMakerFullCalo_topo_egamma",doNoise=0, AbsE=True, doPers=True)
fullClusterMaker = TrigCaloClusterMaker_topo('TrigCaloClusterMaker_topo_fullscan_egamma')
fullClusterMaker = TrigCaloClusterMaker_topo('TrigCaloClusterMaker_topo')
DummyMergerAlgo = PESA__DummyCombineAlgo("DummyMergerAlgo")
theDummyRoiCreator = DummyAlgo('RoiCreatorEl')
from TriggerMenu.egamma.EgammaEDConfig import TrigHLTEnergyDensityCentral, TrigHLTEnergyDensityForward
ED_Central = TrigHLTEnergyDensityCentral("TrigHLTEnergyDensityCentral");
ED_Forward = TrigHLTEnergyDensityForward("TrigHLTEnergyDensityForward");
fullScanTopoEDSequences = getFullScanTopoClusterEDSequences()
########### Sequences ###########
......@@ -330,11 +331,12 @@ class L2EFChain_g(L2EFChainDef):
#if ( disableMon ) : theTrigEgammaFex.AthenaMonTools=DisableMonitoringButValAndTime(theTrigEgammaFex.AthenaMonTools)
if ( disableMon ) : theEFPhotonHypo.AthenaMonTools=DisableMonitoringButValAndTime(theEFPhotonHypo.AthenaMonTools)
self.EFsequenceList += [[ '',[theDummyRoiCreator],'EF_InputRoI']]
self.EFsequenceList += [[ ['EF_InputRoI'], [cell_maker_fullcalo_topo, fullClusterMaker], 'EF_TopoClustersFromFullCalo' ]]
self.EFsequenceList += [[ ['EF_TopoClustersFromFullCalo'], [ED_Central, ED_Forward], 'EF_TopoClustersFromFullCaloED' ]]
#self.EFsequenceList += [[ '',[theDummyRoiCreator],'EF_InputRoI']]
#self.EFsequenceList += [[ ['EF_InputRoI'], [cell_maker_fullcalo_topo, fullClusterMaker], 'EF_TopoClustersFromFullCalo' ]]
self.EFsequenceList += [fullScanTopoEDSequences[0]]
self.EFsequenceList += [fullScanTopoEDSequences[1]]
self.EFsequenceList += [[ ['EF_g_step2','EF_TopoClustersFromFullCaloED'],
self.EFsequenceList += [[ ['EF_g_step2',fullScanTopoEDSequences[1][-1]],
[DummyMergerAlgo],
'EF_gCache_step2']]
......
......@@ -68,7 +68,10 @@ class L2EFChain_HI(L2EFChainDef):
elif "ucc" in self.chainPart['recoAlg']:
self.setup_hi_ultracentral()
elif "upc" in self.chainPart['recoAlg']:
self.setup_hi_ultraperipheral()
if '' == self.chainPart['gap']:
self.setup_hi_ultraperipheral()
else:
self.setup_hi_ultraperipheral_gap()
L2EFChainDef.__init__(self, self.chainName, self.L2Name, self.chainCounter, self.chainL1Item, self.EFName, self.chainCounter, self.L2InputTE)
......@@ -128,14 +131,12 @@ class L2EFChain_HI(L2EFChainDef):
elif 'v2A' == self.chainPart['eventShape']:
from TrigHIHypo.VnHypos import V2Assym
chainSuffix = 'v2A_th'+ESth
th=int(ESth)
ESHypo=V2Assym(th, 'A')
ESHypo=V2Assym(ESth, 'A')
elif 'v2C' == self.chainPart['eventShape']:
from TrigHIHypo.VnHypos import V2Assym
chainSuffix = 'v2C_th'+ESth
th=int(ESth)
ESHypo=V2Assym(th, 'C')
ESHypo=V2Assym(ESth, 'C')
......@@ -313,6 +314,89 @@ class L2EFChain_HI(L2EFChainDef):
'L2_hi_pixel': mergeRemovingOverlap('EF_hi_pixel_', chainSuffix),
}
def setup_hi_ultraperipheral_gap(self):
from TrigCaloRec.TrigCaloRecConf import TrigL1BSTowerMaker
from TrigCaloRec.TrigCaloRecConfig import TrigL1BSTowerHypoConfig
from TrigCaloRec.TrigCaloRecConf import TrigL1FCALTTSumFex
theL1BS = TrigL1BSTowerMaker()
theL1BSFex = TrigL1FCALTTSumFex('TrigL1FCALTTSumFex')
from TrigHIHypo.UE import theUEMaker, theFSCellMaker
from TrigHIHypo.GapHypos import ttFgapA, ttFgapC, cellFgapA, cellFgapC
# L2 sel (TT) is used when The chain is sither L2Fgap* or Fgap*, and not used when EFGap, similarily for EF (cells) part
gap = self.chainPart['gap']
print "dupa ", gap
useEF = not ('L2Fgap' in self.chainPart['gap'])
# theSptrkMaker =
# theSptrkHypo =
self.L2sequenceList += [["",
[dummyRoI],
'L2_upc_step1']]
#self.L2signatureList += [ [['L2_upc_step1']] ]
self.L2sequenceList += [["L2_upc_step1",
[theL1BS, theL1BSFex],
'L2_upc_step2']]
#self.L2signatureList += [ [['L2_upc_step2']] ]
self.L2sequenceList += [["L2_upc_step2",
[ttFgapA],
'L2_upc_step3_A']]
self.L2sequenceList += [["L2_upc_step2",
[ttFgapC],
'L2_upc_step3_C']]
if gap in [ 'FgapA', 'L2FgapA']:
self.L2signatureList += [ [['L2_upc_step3_A']] ]
if gap in [ 'FgapC', 'L2FgapC']:
self.L2signatureList += [ [['L2_upc_step3_C']] ]
if gap in [ 'FgapAC', 'L2FgapAC']:
self.L2signatureList += [ [['L2_upc_step3_A']] ]
self.L2signatureList += [ [['L2_upc_step3_C']] ]
# sequence starts back from RoI
self.EFsequenceList += [[['L2_upc_step1'],
[theFSCellMaker],
'EF_upc_step1']]
#self.EFsignatureList += [ [['EF_upc_step1']] ]
self.EFsequenceList += [["EF_upc_step1",
[theUEMaker],
'EF_upc_step2']]
#self.EFsignatureList += [ [['EF_upc_step2']] ]
self.EFsequenceList += [["EF_upc_step2",
[cellFgapC ],
'EF_upc_step3_C']]
self.EFsequenceList += [["EF_upc_step2",
[cellFgapA ],
'EF_upc_step3_A']]
if gap in [ 'FgapA', 'EFFgapA']:
self.EFsignatureList += [ [['EF_upc_step3_A']] ]
if gap in [ 'FgapC', 'EFFgapC']:
self.EFsignatureList += [ [['EF_upc_step3_C']] ]
if gap in [ 'FgapAC', 'EFFgapAC']:
self.EFsignatureList += [ [['EF_upc_step3_A']] ]
self.EFsignatureList += [ [['EF_upc_step3_C']] ]
self.TErenamingDict = {
'L2_upc_step1': 'L2_TTSummation',
'L2_upc_step2': 'L2_TTGapCalculation',
'L2_upc_step3_A': 'L2_TTGapA',