From d23b54c72e03aef55259fc074125a9ef222e78b3 Mon Sep 17 00:00:00 2001 From: fernando <Fernando.Monticelli@cern.ch> Date: Wed, 12 Dec 2018 15:36:10 +0100 Subject: [PATCH] Update packages:TrigEgammaRec TrigEgammaHypo TrigMultiVarHypo from upstream/21.0-TrigMC to upstream/master via pseudo-merge Former-commit-id: 7b6069e2a55be8075ff6c82e9a4fa50284eb151e --- .../python/TrigEFCaloHypoConfig.py | 5 ++ .../python/TrigEFDielectronMassHypoConfig.py | 38 ++++++++- .../python/TrigEFElectronHypoConfig.py | 79 ++++++++++++++----- .../python/TrigEFPhotonHypoConfig.py | 48 +++++++++-- .../python/TrigEgammaPidTools.py | 52 +++++++++++- .../python/TrigL2CaloHypoConfig.py | 4 + .../python/TrigL2CaloHypoCutDefs.py | 11 ++- .../python/TrigL2ElectronFexConfig.py | 8 +- .../python/TrigL2ElectronHypoConfig.py | 2 +- .../python/TrigL2PhotonHypoMonitoring.py | 6 +- .../TriggerMenu/python/menu/SignatureDicts.py | 4 +- 11 files changed, 214 insertions(+), 43 deletions(-) diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFCaloHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFCaloHypoConfig.py index 31205d79412..be1451e547d 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFCaloHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFCaloHypoConfig.py @@ -62,6 +62,11 @@ class TrigEFCaloHypo_e_ID (TrigEFCaloHypoBase): if( 'lh' in IDinfo): self.LHSelectorToolName='AsgElectronLikelihoodTool/'+ElectronCaloToolName[IDinfo] self.ApplyLH = True + elif( 'bloose' in IDinfo ): + self.ApplyIsEM = True + from TrigEgammaHypo.TrigEgammaPidTools import BLooseISEMBits + self.IsEMrequiredBits = BLooseISEMBits[IDinfo] + self.SelectorToolName = 'AsgElectronIsEMSelector/'+ElectronCaloToolName[IDinfo] else: self.ApplyIsEM = True self.IsEMrequiredBits = ElectronIsEMBits[IDinfo] diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFDielectronMassHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFDielectronMassHypoConfig.py index bd16d1d716d..9402f7cf757 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFDielectronMassHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFDielectronMassHypoConfig.py @@ -163,7 +163,7 @@ class TrigEFDielectronMassHypo_Upsi ( TrigEFDielectronMassHypo ): self.AthenaMonTools = [ TrigEFDielectronMassOnlineMonitoring(), TrigEFDielectronMassValidationMonitoring_Upsi() ] #-------------------------------------------------------------- -# DC14 +# Combine electron + cluster with 1 TeV upper mass #-------------------------------------------------------------- class TrigEFDielectronMassFex_Zeg ( TrigEFDielectronMassFex ): __slots__ = [] @@ -196,3 +196,39 @@ class TrigEFDielectronMassHypo_Zeg ( TrigEFDielectronMassHypo ): self.UpperMassElectronClusterCut=100000.0*GeV self.AthenaMonTools = [ TrigEFDielectronMassOnlineMonitoring(), TrigEFDielectronMassValidationMonitoring_Zee() ] + +#-------------------------------------------------------------- +# Higgs rare decay +# mergedtight electron with a cluster (seeded by e/g combined chain) +#-------------------------------------------------------------- +class TrigEFDielectronMassFex_Heg ( TrigEFDielectronMassFex ): + __slots__ = [] + def __init__(self, name="TrigEFDielectronMassFex_Heg"): + super(TrigEFDielectronMassFex_Heg, self).__init__(name) + + # AcceptAll flag: if true take events regardless of cuts + self.AcceptAll=False + + # require invariant mass within window + self.LowerMassCut=80.0*GeV + self.UpperMassCut=100000.0*GeV + + self.AthenaMonTools = [ TrigEFDielectronMassOnlineMonitoring(), TrigEFDielectronMassValidationMonitoring_Zee() ] + +class TrigEFDielectronMassHypo_Heg ( TrigEFDielectronMassHypo ): + __slots__ = [] + def __init__(self, name="TrigEFDielectronMassHypo_Heg"): + super(TrigEFDielectronMassHypo_Heg, self).__init__(name) + + # AcceptAll flag: if true take events regardless of cuts + self.AcceptAll=False + self.useElectronElectron = False + self.useElectronCluster = True + + # require invariant mass within window + self.LowerMassCut=90.0*GeV + self.UpperMassCut=100000.0*GeV + self.LowerMassElectronClusterCut=90.0*GeV + self.UpperMassElectronClusterCut=100000.0*GeV + + self.AthenaMonTools = [ TrigEFDielectronMassOnlineMonitoring(), TrigEFDielectronMassValidationMonitoring_Zee() ] diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFElectronHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFElectronHypoConfig.py index d330174d1be..3bbf6dc09eb 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFElectronHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFElectronHypoConfig.py @@ -1,5 +1,3 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - ################################################# # EF Electron Hypothesis Algorithm Configuration: # Ryan Mackenzie White <ryan.white@cern.ch> @@ -12,6 +10,22 @@ from AthenaCommon.SystemOfUnits import GeV # Include EGammaPIDdefs for loose,medium,tight definitions from ElectronPhotonSelectorTools.TrigEGammaPIDdefs import SelectionDefElectron from TrigEgammaHypo.TrigEgammaPidTools import * +from AthenaCommon.Logging import logging +logging.getLogger().info("Importing %s",__name__) +log = logging.getLogger("TrigEgammaHypo.TrigEFElectronHypoConfig") + +isolation_dict = {'ivarloose':[-1, -1, -1,0.100,-1,-1], + 'ivarmedium':[-1, -1, -1,0.065,-1,-1], + 'ivartight':[-1, -1, -1,0.05,-1,-1], + 'iloose':[0.100, -1, -1,-1,-1,-1]} + +caloisolation_dict = {'icaloloose':[-1, -1, -1,0.2,-1,-1], + 'icalomedium':[-1, -1, -1,0.15,-1,-1], + 'icalotight':[-1, -1, -1,0.1,-1,-1]} + +log.debug("Track isolation %s",isolation_dict) +log.debug("Calo isolation %s",caloisolation_dict) + class TrigEFElectronHypoBase (TrigEFElectronHypo): __slots__ = [] def __init__(self, name): @@ -84,6 +98,10 @@ class TrigEFElectronHypo_e_ID (TrigEFElectronHypoBase): if( 'lh' in IDinfo): self.AthenaElectronLHIDSelectorToolName='AsgElectronLikelihoodTool/'+ElectronToolName[IDinfo] self.UseAthenaElectronLHIDSelectorTool = True + elif( 'bloose' in IDinfo ): + from TrigEgammaHypo.TrigEgammaPidTools import BLooseISEMBits + self.IsEMrequiredBits = BLooseISEMBits[IDinfo] + self.egammaElectronCutIDToolName = 'AsgElectronIsEMSelector/'+ElectronToolName[IDinfo] else: self.IsEMrequiredBits = ElectronIsEMBits[IDinfo] self.egammaElectronCutIDToolName = 'AsgElectronIsEMSelector/'+ElectronToolName[IDinfo] @@ -105,7 +123,13 @@ class TrigEFElectronHypo_e_ID_HI (TrigEFElectronHypoBase): if( 'lh' in IDinfo): self.AthenaElectronLHIDSelectorToolName='AsgElectronLikelihoodTool/'+ElectronToolName[IDinfo] self.UseAthenaElectronLHIDSelectorTool = True + elif( 'bloose' in IDinfo): + from TrigEgammaHypo.TrigEgammaPidTools import BLooseISEMBits + self.IsEMrequiredBits = BLooseISEMBits[IDinfo] + self.egammaElectronCutIDToolName = 'AsgElectronIsEMSelector/'+ElectronToolName[IDinfo] else: + # Note that HI use different isEM bits than standard ones + from TrigEgammaHypo.TrigEGammaPIDdefsHI import ElectronIsEMBits self.IsEMrequiredBits = ElectronIsEMBits[IDinfo] self.egammaElectronCutIDToolName = 'AsgElectronIsEMSelector/'+ElectronToolName[IDinfo] @@ -145,17 +169,24 @@ class TrigEFElectronHypo_e_LH_Iso (TrigEFElectronHypo_e_LH): self.ApplyIsolation = True self.useClusETforCaloIso = True self.useClusETforTrackIso = True - #EtCone Size = 20, 30, 40 - self.EtConeSizes = 3 - self.RelEtConeCut = [-1, -1, -1] - self.EtConeCut = [-1, -1, -1] - #PtCone Size = 20, 30, 40 + caloiso = [x for x in isoInfo if 'icalo' in x] + trkiso = [x for x in isoInfo if 'icalo' not in x] + self.PtConeSizes = 6 - if 'ivarloose' in isoInfo: - self.RelPtConeCut = [-1, -1, -1,0.100,-1,-1] + #EtCone Size = 20, 30, 40 + self.EtConeSizes = 6 + self.PtConeCut = [-1, -1, -1,-1,-1,-1] + self.EtConeCut = [-1, -1, -1,-1, -1, -1] + + if(len(trkiso)>0): + self.RelPtConeCut = isolation_dict[trkiso[0]] + else: + self.RelPtConeCut = [-1, -1, -1,-1,-1,-1] + + if len(caloiso) > 0: + self.RelEtConeCut = caloisolation_dict[caloiso[0]] else: - self.RelPtConeCut = [0.100, -1, -1,-1,-1,-1] - self.PtConeCut = [-1, -1, -1,-1,-1,-1] + self.RelEtConeCut = [-1, -1, -1,-1, -1, -1] # --- W T&P supporting trigger #----------------------------------------------------------------------- @@ -208,17 +239,25 @@ class TrigEFElectronHypo_e_Iso (TrigEFElectronHypo_e_ID): self.ApplyIsolation = True self.useClusETforCaloIso = True self.useClusETforTrackIso = True - #EtCone Size = 20, 30, 40 - self.EtConeSizes = 3 - self.RelEtConeCut = [-1, -1, -1] - self.EtConeCut = [-1, -1, -1] - #PtCone Size = 20, 30, 40 + caloiso = [x for x in isoInfo if 'icalo' in x] + trkiso = [x for x in isoInfo if 'icalo' not in x] + self.PtConeSizes = 6 - if 'ivarloose' in isoInfo: - self.RelPtConeCut = [-1, -1, -1,0.100,-1,-1] + #EtCone Size = 20, 30, 40 + self.EtConeSizes = 6 + self.PtConeCut = [-1, -1, -1,-1,-1,-1] + self.EtConeCut = [-1, -1, -1,-1, -1, -1] + + if(len(trkiso)>0): + self.RelPtConeCut = isolation_dict[trkiso[0]] else: - self.RelPtConeCut = [0.100, -1, -1,-1,-1,-1] - self.PtConeCut = [-1, -1, -1,-1,-1,-1] + self.RelPtConeCut = [-1, -1, -1,-1,-1,-1] + + if len(caloiso) > 0: + self.RelEtConeCut = caloisolation_dict[caloiso[0]] + else: + self.RelEtConeCut = [-1, -1, -1,-1, -1, -1] + #----------------------------------------------------------------------- # --- eXX Particle ID and Isolation performance chains diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFPhotonHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFPhotonHypoConfig.py index b6347c33f3f..0c8cc2c9cfc 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFPhotonHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEFPhotonHypoConfig.py @@ -1,5 +1,3 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - ############################################ ## EF Photon Hypo Configuration ## Ryan Mackenzie White <ryan.white@cern.ch> @@ -13,6 +11,31 @@ from TrigEgammaHypo.TrigEgammaPidTools import PhotonToolName from TrigEgammaHypo.TrigEgammaPidTools import PhotonIsEMBits from AthenaCommon.SystemOfUnits import GeV +logging.getLogger().info("Importing %s",__name__) +log = logging.getLogger("TrigEgammaHypo.TrigEFPhotonHypoConfig") + +class TrigEFPhotonIsoCutDefs (): + def __init__(self): + self.EtCone = {'icalovloose':[-1.,-1.,-1.], + 'icaloloose':[-1.,-1.,-1.], + 'icalomedium':[-1.,-1.,-1.], + 'icalotight':[-1.,-1.,-1.] + } + self.RelEtCone = {'icalovloose':[0.1,0.,0.], + 'icaloloose':[0.07,0.,0.], + 'icalomedium':[0.,0.,0], + 'icalotight':[0.,0.,0.03] + } + self.Offset = {'icalovloose':[0.,0.,0.], + 'icaloloose':[0.,0.,0.], + 'icalomedium':[0.,0.,0], + 'icalotight':[0.,0.,2.45*GeV] + } + def IsolationCuts(self,isoinfo): + return self.RelEtCone[isoinfo] + + def OffsetValue(self,isoinfo): + return self.Offset[isoinfo] class TrigEFPhotonIsoCutDefs (): def __init__(self): @@ -56,7 +79,6 @@ class TrigEFPhotonHypoBase (TrigEFPhotonHypo): #----------------------------------------------------------- from AthenaCommon.AppMgr import ToolSvc - mlog = logging.getLogger( 'TrigEFPhotonHypoBase:' ) #----------------------------------------------------------------------- # --- RMWhite 2014 @@ -105,8 +127,18 @@ class EFPhotonHypo_g_ID_CaloOnly_Iso (EFPhotonHypo_g_ID_CaloOnly): #Isolation isoCuts = TrigEFPhotonIsoCutDefs() self.ApplyIsolation = True - #EtCone Size = 20, 30, 40 - self.EtConeSizes = 3 - self.EtConeCut = [-1, -1, -1] - self.RelEtConeCut = isoCuts.IsolationCuts(isoInfo) - self.IsoOffset = isoCuts.OffsetValue(isoInfo) + caloiso = [x for x in isoInfo if 'icalo' in x] + # Following is hack to allow us to switch the trigger names + # Please remove once moved to icalo + if(len(caloiso)!=1): + log.warning('WARNING, no calo isolation in chain dict, update trigger names') + self.EtConeSizes = 3 + self.EtConeCut = [-1, -1, -1] + self.RelEtConeCut = [-1,-1,-1] + self.IsoOffset = [0,0,0] + else: + #EtCone Size = 20, 30, 40 + self.EtConeSizes = 3 + self.EtConeCut = [-1, -1, -1] + self.RelEtConeCut = isoCuts.IsolationCuts(caloiso[0]) + self.IsoOffset = isoCuts.OffsetValue(caloiso[0]) diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaPidTools.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaPidTools.py index 8fdf9edd0ee..a959a284012 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaPidTools.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaPidTools.py @@ -37,6 +37,7 @@ from ElectronPhotonSelectorTools.ConfiguredAsgElectronLikelihoodTools import Con from ElectronPhotonSelectorTools.ConfiguredAsgPhotonIsEMSelectors import ConfiguredAsgPhotonIsEMSelector from ElectronPhotonSelectorTools.TrigEGammaPIDdefs import SelectionDefElectron from ElectronPhotonSelectorTools.TrigEGammaPIDdefs import SelectionDefPhoton +from ElectronPhotonSelectorTools.TrigEGammaPIDdefs import BitDefElectron mlog = logging.getLogger ('TrigEgammaPidTools') # Path for versioned configuration @@ -54,7 +55,9 @@ ElectronToolName = {'vloose':'AsgElectronIsEMVLooseSelector', 'lhvloose':'AsgElectronLHVLooseSelector', 'lhloose':'AsgElectronLHLooseSelector', 'lhmedium':'AsgElectronLHMediumSelector', - 'lhtight':'AsgElectronLHTightSelector',} + 'lhtight':'AsgElectronLHTightSelector', + 'bloose': 'AsgElectronIsEMBLooseSelector', + } ElectronCaloToolName = {'vloose':'AsgElectronIsEMVLooseCaloSelector', 'loose':'AsgElectronIsEMLooseCaloSelector', @@ -64,7 +67,36 @@ ElectronCaloToolName = {'vloose':'AsgElectronIsEMVLooseCaloSelector', 'lhvloose':'AsgElectronLHVLooseCaloSelector', 'lhloose':'AsgElectronLHLooseCaloSelector', 'lhmedium':'AsgElectronLHMediumCaloSelector', - 'lhtight':'AsgElectronLHTightCaloSelector',} + 'lhtight':'AsgElectronLHTightCaloSelector', + 'bloose': 'AsgElectronIsEMBLooseSelector', + } + +# Here we select our isEM bits used by bphys selection. Once ready this part should go to ElectronPhotonSelectorTools/python/TrigEGammaPIDdefs.py +# anynew tag needs to be added to SignatureDict + +#in order, 1-8: +#electronCutNames = ["HadLeakage","Reta37","Weta2c","Wtot","DEmaxs1","TrkPix","TrkSi","DeltaEta"] +#electronCutNames_Long = [ +# 1 "ClusterHadronicLeakage_Electron", +# 2 "ClusterMiddleEratio37_Electron", +# 3 "ClusterMiddleWidth_Electron", +# 4 "ClusterStripsWtot_Electron" +# 5 ,"ClusterStripsDEmaxs1_Electron", +# 6 "TrackPixel_Electron", +# 7 "TrackSi_Electron", +# 8 "TrackMatchEta_Electron"] + +# The cuts in TrigL2CaloHypoCutDefs.py also have to be tuned. Disable them for now + +BLooseISEMBits = { + 'bloose' : ( 0x1 << BitDefElectron.ClusterMiddleWidth_Electron | + 0x1 << BitDefElectron.TrackPixel_Electron | + 0x1 << BitDefElectron.TrackSi_Electron + ), + } + + + # Electron LH tools for alignment / commisioning ElectronLHVLooseToolName = {'cutd0dphideta':'AsgElectronLHVeryLooseCutD0DphiDetaSelector', @@ -117,7 +149,8 @@ ElectronToolConfigFile = {'vloose':'ElectronIsEMVLooseSelectorCutDefs.conf', 'lhvloose':'ElectronLikelihoodVeryLooseTriggerConfig2015.conf', 'lhloose':'ElectronLikelihoodLooseTriggerConfig2015.conf', 'lhmedium':'ElectronLikelihoodMediumTriggerConfig2015.conf', - 'lhtight':'ElectronLikelihoodTightTriggerConfig2015.conf',} + 'lhtight':'ElectronLikelihoodTightTriggerConfig2015.conf', + } ElectronCaloToolConfigFile = {'vloose':'ElectronIsEMVLooseSelectorCutDefs.conf', 'loose':'ElectronIsEMLooseSelectorCutDefs.conf', @@ -177,6 +210,12 @@ def ElectronPidTools(): tool.ConfigFile = ConfigFilePath + ElectronToolConfigFile[key] tool.usePVContainer = False addToToolSvc( tool ) + elif( 'bloose' in key ): + tool=CfgMgr.AsgElectronIsEMSelector(ElectronToolName[key]) + tool.ConfigFile = ConfigFilePath + ElectronToolConfigFile['loose'] # use loose isEMconfig for all bloose settings and just change isEM bit + tool.isEMMask = BLooseISEMBits[key] + addToToolSvc( tool ) + else: tool=CfgMgr.AsgElectronIsEMSelector(ElectronToolName[key]) tool.ConfigFile = ConfigFilePath + ElectronToolConfigFile[key] @@ -192,6 +231,13 @@ def ElectronPidTools(): tool.usePVContainer = False tool.caloOnly = True addToToolSvc( tool ) + elif('bloose' in key): + tool=CfgMgr.AsgElectronIsEMSelector(ElectronCaloToolName[key]) + tool.ConfigFile = ConfigFilePath + ElectronCaloToolConfigFile['loose'] # use loose isEMconfig for all bloose settings and just change isEM bit + tool.caloOnly = True + tool.isEMMask = BLooseISEMBits[key] + addToToolSvc( tool ) + else: tool=CfgMgr.AsgElectronIsEMSelector(ElectronCaloToolName[key]) tool.ConfigFile = ConfigFilePath + ElectronCaloToolConfigFile[key] diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoConfig.py index e18bb941478..c26b6e4c06a 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoConfig.py @@ -104,6 +104,10 @@ class L2CaloHypo_e_ID (TrigL2CaloHypoBase): def __init__(self, name, threshold, IDinfo): super( L2CaloHypo_e_ID, self ).__init__( name ) self.AcceptAll = False + + self.dETACLUSTERthr = 0.1 + self.dPHICLUSTERthr = 0.1 + # 3 GeV within HLT threshold self.ETthr = [(float(threshold) - 3)*GeV]*9 self.HADETthr = L2CaloCutMaps(threshold).MapsHADETthr[IDinfo] diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoCutDefs.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoCutDefs.py index 3e7f81b8f8d..b42e2b0d7b3 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoCutDefs.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoCutDefs.py @@ -49,6 +49,7 @@ class L2CaloCutMaps(): 'tight': [0.1872, 0.1824, 0.1392, 0.1872, 0.06864, 0.24972, 0.31368, 0.1872, 0.168], 'lhtight': [0.1872, 0.1824, 0.1392, 0.1872, 0.06864, 0.24972, 0.31368, 0.1872, 0.168], 'mergedtight': [0.1872, 0.1824, 0.1392, 0.1872, 0.06864, 0.24972, 0.31368, 0.1872, 0.168], + 'bloose': [0.2337, 0.2097, 0.1392, 0.1872, 0.1255, 0.3234, 0.3840, 0.1901, 0.1901], } self.MapsCAERATIOthr = { 'vloose': [0.48, 0.448, 0.1295, 0.0137, -9999. ,0.0122, 0.512, 0.6073, -9999], @@ -60,6 +61,7 @@ class L2CaloCutMaps(): 'tight': [0.48, 0.448, 0.288, 0.192, -9999., 0.256, 0.512, 0.608, -9999.], 'lhtight': [0.48, 0.448, 0.288, 0.192, -9999., 0.256, 0.512, 0.608, -9999.], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [0.48, 0.448, 0.1295, 0.0137, -9999., 0.0122, 0.512, 0.6073, -9999], } self.MapsCARCOREthr = { 'vloose': [0.448, 0.48, 0.5414, 0.576, 0.352, 0.608, 0.576, 0.608, 0.55], @@ -71,6 +73,7 @@ class L2CaloCutMaps(): 'tight': [0.448, 0.48, 0.544, 0.576, 0.352, 0.608, 0.576, 0.608, 0.598], 'lhtight': [0.448, 0.48, 0.544, 0.576, 0.352, 0.608, 0.576, 0.608, 0.598], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [0.6806, 0.6710, 0.6306, 0.6619, 0.4704, 0.7094, 0.7012, 0.6977, 0.6960], } ########################## # Et 12 GeV @@ -100,7 +103,8 @@ class L2CaloCutMaps(): 'tight': [0.0588, 0.0564, 0.054, 0.048, 0.04368, 0.15612, 0.11064, 0.07536, 0.07536], 'lhtight': [0.0588, 0.0564, 0.054, 0.048, 0.04368, 0.15612, 0.11064, 0.07536, 0.07536], 'mergedtight': [0.0588, 0.0564, 0.054, 0.048, 0.04368, 0.15612, 0.11064, 0.07536, 0.07536], - } + 'bloose': [0.08472, 0.05928, 0.054, 0.0803, 0.0829, 0.1932, 0.1590, 0.1384 , 0.1384], + } self.MapsCARCOREthr = { 'vloose': [0.6646, 0.6590, 0.6226, 0.6539, 0.4704, 0.6536, 0.6972, 0.6817, 0.672], 'loose': [0.6806, 0.6710, 0.6306, 0.6619, 0.4704, 0.6616, 0.7012, 0.6977, 0.696], @@ -111,6 +115,7 @@ class L2CaloCutMaps(): 'tight': [0.71296, 0.69344, 0.64368, 0.69064, 0.4704, 0.7036, 0.73024, 0.7164, 0.7164], 'lhtight': [0.71296, 0.69344, 0.64368, 0.69064, 0.4704, 0.7036, 0.73024, 0.7164, 0.7164], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [0.6806, 0.6710, 0.6306, 0.6619, 0.4704, 0.6616, 0.7012, 0.6977, 0.696], } self.MapsCAERATIOthr = { 'vloose': [0.5702, 0.6063, 0.4418, 0.4257, -9999. , 0.3408, 0.5836, 0.6800, -999], @@ -122,6 +127,7 @@ class L2CaloCutMaps(): 'tight': [0.636, 0.652, 0.5552, 0.4768, -9999., 0.6056, 0.6696, 0.7128, -9999.], 'lhtight': [0.636, 0.652, 0.5552, 0.4768, -9999., 0.6056, 0.6696, 0.7128, -9999.], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [0.5702, 0.6063, 0.4418, 0.4257, -9999., 0.3408, 0.5836, 0.6800, -999], } ########################## # Et 22 GeV @@ -146,6 +152,7 @@ class L2CaloCutMaps(): 'tight': [0.0588, 0.0564, 0.054, 0.048, 0.02376, 0.06, 0.06, 0.06, 0.054], 'lhtight': [0.0588, 0.0564, 0.054, 0.048, 0.02376, 0.06, 0.06, 0.06, 0.054], 'mergedtight': [0.0588, 0.0564, 0.054, 0.048, 0.02376, 0.06, 0.06, 0.06, 0.054], + 'bloose': [9999., 9999., 9999., 9999., 9999., 9999., 9999., 9999., 9999.], } self.MapsCARCOREthr = { 'vloose': [0.6912 , 0.6808 , 0.6832 , 0.6744 , 0.5976 , 0.6416, 0.692 , 0.6848 , 0.68], @@ -157,6 +164,7 @@ class L2CaloCutMaps(): 'tight': [0.7288, 0.7296, 0.72, 0.7048, 0.6, 0.7128, 0.7312, 0.7256, 0.7192], 'lhtight': [0.7288, 0.7296, 0.72, 0.7048, 0.6, 0.7128, 0.7312, 0.7256, 0.7192], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], } self.MapsCAERATIOthr = { 'vloose': [-999., -999., -999., -999., -999., -999., -999., -999., -999.], @@ -168,6 +176,7 @@ class L2CaloCutMaps(): 'tight': [0.72, 0.712, 0.68, 0.672, -9999., 0.68, 0.716, 0.74, -9999.], 'lhtight': [0.72, 0.712, 0.68, 0.672, -9999., 0.68, 0.716, 0.74, -9999.], 'mergedtight': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], + 'bloose': [-9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999., -9999.], } # Following is much easier, no Et dependence diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronFexConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronFexConfig.py index 4fa479c8a79..12d357f2b61 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronFexConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronFexConfig.py @@ -28,11 +28,11 @@ class L2ElectronFexBase(TrigL2ElectronFex): self.TrackPt = 1.0 * GeV self.TrackPtHighEt = 2.0 * GeV self.ClusEt = 20.0 * GeV - self.CaloTrackdEtaNoExtrap = 0.5 - self.CaloTrackdEtaNoExtrapHighEt = 0.1 + self.CaloTrackdEtaNoExtrap = 0.3 + self.CaloTrackdEtaNoExtrapHighEt = 0.2 # Calo-Tracking matching cuts - self.CaloTrackdETA = 0.5 - self.CaloTrackdPHI = 0.5 + self.CaloTrackdETA = 0.3 + self.CaloTrackdPHI = 0.3 self.CaloTrackdEoverPLow = 0.0 self.CaloTrackdEoverPHigh = 999.0 diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoConfig.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoConfig.py index f76bd5eeaae..c5c831baf31 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoConfig.py @@ -59,7 +59,7 @@ class L2ElectronHypo_e_ID (L2ElectronHypoBase): # cuts self.TrackPt = 1.0 * GeV self.CaloTrackdETA = 0.2 - self.CaloTrackdPHI = 999. + self.CaloTrackdPHI = 0.3 if(float(threshold) < 15): self.TrackPt = 1.0 * GeV elif (float(threshold) >= 15 and float(threshold) < 20): diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoMonitoring.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoMonitoring.py index 15c1ed9480c..585b0353d20 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoMonitoring.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoMonitoring.py @@ -39,7 +39,7 @@ class TrigL2PhotonHypoValidationMonitoring(TrigGenericMonitoringToolConfig): for c in cuts: labelsDescription += c+':' - self.Histograms += [ defineHistogram('CutCounter', type='TH1I', title="L2Photon Hypo Passed Cuts;Cut", + self.Histograms += [ defineHistogram('CutCounter', type='TH1F', title="L2Photon Hypo Passed Cuts;Cut", xbins=10, xmin=-1.5, xmax=10.5, opt="kCumulative", labels=labelsDescription) ] @@ -62,7 +62,7 @@ class TrigL2PhotonHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): for c in cuts: labelsDescription += c+':' - self.Histograms += [ defineHistogram('CutCounter', type='TH1I', title="L2Photon Hypo Passed Cuts;Cut", + self.Histograms += [ defineHistogram('CutCounter', type='TH1F', title="L2Photon Hypo Passed Cuts;Cut", xbins=10, xmin=-1.5, xmax=10.5, opt="kCumulative", labels=labelsDescription) ] @@ -101,7 +101,7 @@ class TrigL2PhotonHypoCosmicMonitoring(TrigGenericMonitoringToolConfig): for c in cuts: labelsDescription += c+':' - self.Histograms += [ defineHistogram('CutCounter', type='TH1I', title="L2Photon Hypo Passed Cuts;Cut", + self.Histograms += [ defineHistogram('CutCounter', type='TH1F', title="L2Photon Hypo Passed Cuts;Cut", xbins=10, xmin=-1.5, xmax=10.5, opt="kCumulative", labels=labelsDescription) ] diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py index cbe97169148..fe249beddd5 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py @@ -383,7 +383,7 @@ ElectronChainParts_Default = { 'extra' : '', 'IDinfoType' : '', 'IDinfo' : '', - 'isoInfo' : '', + 'isoInfo' : [], 'reccalibInfo' : '', 'trkInfo' : '', 'caloInfo' : '', @@ -428,7 +428,7 @@ PhotonChainParts_Default = { 'threshold' : '', 'extra' : '', 'IDinfo' : '', - 'isoInfo' : '', + 'isoInfo' : [], 'reccalibInfo' : '', 'trkInfo' : '', 'caloInfo' : '', -- GitLab