Commit b88edd01 authored by Heather Russell's avatar Heather Russell Committed by Adam Edward Barton
Browse files

Merge remote-tracking branch 'upstream/master' into jpsi_rel22

Conflicts:
	Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_slice_mu_build.sh
	Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
parent c863064e
......@@ -10,6 +10,7 @@ atlas_depends_on_subdirs( PRIVATE
Control/AthenaBaseComps
Control/AthenaKernel
Control/AthLinks
Control/AthViews
Control/StoreGate
DetectorDescription/GeoPrimitives
Event/EventInfo
......@@ -43,7 +44,8 @@ atlas_depends_on_subdirs( PRIVATE
Trigger/TrigSteer/TrigInterfaces
Trigger/TrigT1/TrigT1Interfaces
Trigger/TrigTools/TrigInDetToolInterfaces
Trigger/TrigTools/TrigTimeAlgs )
Trigger/TrigTools/TrigTimeAlgs
Trigger/TrigSteer/DecisionHandling)
# External dependencies:
find_package( CLHEP )
......@@ -55,7 +57,7 @@ atlas_add_component( TrigBphysHypo
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel AthLinks StoreGateLib SGtests GeoPrimitives EventInfo xAODEventInfo xAODMuon xAODTracking xAODTrigBphys xAODTrigMuon GaudiKernel GeneratorObjects Particle ElectronPhotonSelectorToolsLib TrkParameters TrkTrack VxVertex TrkVKalVrtFitterLib TrigBphysicsEvent TrigCaloEvent TrigInDetEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent TrigInterfacesLib TrigT1Interfaces TrigTimeAlgsLib )
LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel AthLinks DecisionHandling StoreGateLib SGtests GeoPrimitives EventInfo xAODEventInfo xAODMuon xAODTracking xAODTrigBphys xAODTrigMuon GaudiKernel GeneratorObjects Particle ElectronPhotonSelectorToolsLib TrkParameters TrkTrack VxVertex TrkVKalVrtFitterLib TrigBphysicsEvent TrigCaloEvent TrigInDetEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent TrigInterfacesLib TrigT1Interfaces TrigTimeAlgsLib AthViews )
# Install files from the package:
atlas_install_headers( TrigBphysHypo )
......
from TrigBphysHypo.TrigBphysHypoConf import TrigBphysL1DiMuComboFex
from TrigBphysHypo.TrigBphysHypoConf import TrigBphysL1DiMuComboFexValMonitoring
class TrigBphysL1DiMuComboFexConfig( TrigBphysL1DiMuComboFex ):
__slots__ = []
def __init__ (self, name="TrigBphysL1DiMuComboFexConfig"):
super(TrigBphysL1DiMuComboFexConfig, self).__init__(name)
self.AthenaMonTools += [ TrigBphysL1DiMuComboFexValMonitoring() ]
from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
class TrigBphysL1DiMuComboFexValMonitoring(TrigGenericMonitoringToolConfig) :
def __init__ (self, name="TrigBphysL1DiMuComboFexValMonitoring"):
super(TrigBphysL1DiMuComboFexValMonitoring,self).__init__(name)
self.defineTarget("Validation")
self.Histograms = [defineHistogram('PT', type='TH1F', title="p_T of muon ROI; p_T; number of RoIs", xbins=50,xmin=0,xmax=100) ]
self.Histograms += [defineHistogram('DEta',type='TH1F', title="#Delta #eta of muon ROI; #delta #eta; number of RoIs", xbins=64,xmin=-3.2,xmax=3.2) ]
from TrigBphysHypo.TrigBphysHypoConf import TrigEFBgammaXFex
# basic cut
class EFBgammaXFex_1 (TrigEFBgammaXFex):
__slots__ = []
def __init__(self, name = "EFBgammaXFex_1"):
super( TrigEFBgammaXFex, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 BgammaX cuts
# from TrigBphysHypo.TrigEFBgammaXFexMonitoring import TrigEFBgammaXFexValidationMonitoring_RoI
# validation = TrigEFBgammaXFexValidationMonitoring_RoI()
# from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
# time = TrigTimeHistToolConfig("Time")
# self.AthenaMonTools = [ validation, time ]
# full scan
class EFBgammaXFex_FS (TrigEFBgammaXFex):
__slots__ = []
def __init__(self, name = "EFBgammaXFex_FS"):
super( TrigEFBgammaXFex, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 BgammaX cuts
# from TrigBphysHypo.TrigEFBgammaXFexMonitoring import TrigEFBgammaXFexValidationMonitoring_FS
# validation = TrigEFBgammaXFexValidationMonitoring_FS()
# from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
# time = TrigTimeHistToolConfig("Time")
# self.AthenaMonTools = [ validation, time ]
from TrigBphysHypo.TrigBphysHypoConf import TrigEFBgammaXHypo
# basic cut
class EFBgammaXHypo_1 (TrigEFBgammaXHypo):
__slots__ = []
def __init__(self, name = "EFBgammaXHypo_1"):
super( TrigEFBgammaXHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 BgammaX cuts
# from TrigBphysHypo.TrigEFBgammaXHypoMonitoring import TrigEFBgammaXHypoValidationMonitoring
# validation = TrigEFBgammaXHypoValidationMonitoring()
# from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
# time = TrigTimeHistToolConfig("Time")
# basic cut
class EFBgammaXHypo_FS (TrigEFBgammaXHypo):
__slots__ = []
def __init__(self, name = "EFBgammaXHypo_FS"):
super( TrigEFBgammaXHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 BgammaX cuts
# from TrigBphysHypo.TrigEFBgammaXHypoMonitoring import TrigEFBgammaXHypoValidationMonitoring
# validation = TrigEFBgammaXHypoValidationMonitoring()
# from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
# time = TrigTimeHistToolConfig("Time")
from TrigBphysHypo.TrigBphysHypoConf import TrigEFDiMuFex
from AthenaCommon.GlobalFlags import globalflags
from AthenaCommon.AppMgr import ServiceMgr
#from AthenaCommon.SystemOfUnits import GeV
class TrigEFDiMuFexConfig (TrigEFDiMuFex):
__slots__ = []
# the ver to use with no input
# def __init__(self, name = "TrigEFDiMuFexConfig"):
# super( TrigEFDiMuFex, self ).__init__( name )
def __new__( cls, *args, **kwargs ):
newargs = ['%s_%s' % (cls.getType(),args[0]) ] + list(args)
return super( TrigEFDiMuFexConfig, cls ).__new__( cls, *newargs, **kwargs )
def __init__( self, name, *args, **kwargs ):
super( TrigEFDiMuFexConfig, self ).__init__( name )
from TrigBphysHypo.TrigEFDiMuFexMonitoring import TrigEFDiMuFexValidationMonitoring
validation = TrigEFDiMuFexValidationMonitoring()
from TrigBphysHypo.TrigEFDiMuFexMonitoring import TrigEFDiMuFexOnlineMonitoring
online = TrigEFDiMuFexOnlineMonitoring()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
class TrigEFDiMuFexValidationMonitoring(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuFexValidationMonitoring"):
super(TrigEFDiMuFexValidationMonitoring, self).__init__(name)
self.defineTarget("Validation")
self.Histograms = [ defineHistogram('pT', type='TH1F', title="Jpsi's muons pT [GeV]", xbins=100, xmin=0, xmax=100.0) ]
self.Histograms += [ defineHistogram('vtx_pT', type='TH1F', title="Jpsi's muons vtx_pT [GeV] TEST", xbins=100, xmin=0, xmax=100.0) ]
self.Histograms += [ defineHistogram('vtx_jpsiMass', type='TH1F', title="Jpsi vtx_mass [GeV]", xbins=60, xmin=2.0, xmax=5.0) ]
self.Histograms += [ defineHistogram('eta, phi', type = 'TH2F', title = 'Muons eta-phi map ; #eta ; #phi ; # Events',
xbins = 60, xmin = -3.0, xmax = 3.0,
ybins = 64, ymin = -3.2, ymax = 3.2 ) ]
# self.Histograms += [ defineHistogram('E', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
# self.Histograms += [ defineHistogram('ECut', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
class TrigEFDiMuFexOnlineMonitoring(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuFexOnlineMonitoring"):
super(TrigEFDiMuFexOnlineMonitoring, self).__init__(name)
self.defineTarget("Online")
self.Histograms = [ defineHistogram('pT', type='TH1F', title="Jpsi's muons pT [GeV]", xbins=100, xmin=0, xmax=100.0) ]
self.Histograms += [ defineHistogram('vtx_pT', type='TH1F', title="Jpsi's muons vtx_pT [GeV] TEST", xbins=100, xmin=0, xmax=100.0) ]
self.Histograms += [ defineHistogram('vtx_jpsiMass', type='TH1F', title="Jpsi vtx_mass [GeV]", xbins=60, xmin=2.0, xmax=5.0) ]
self.Histograms += [ defineHistogram('eta, phi', type = 'TH2F', title = 'Muons eta-phi map ; #eta ; #phi ; # Events',
xbins = 60, xmin = -3.0, xmax = 3.0,
ybins = 64, ymin = -3.2, ymax = 3.2 ) ]
from TrigBphysHypo.TrigBphysHypoConf import TrigEFDiMuHypo
# Jpsi
class TrigEFDiMuHypo_Jpsi (TrigEFDiMuHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuHypo_Jpsi"):
super( TrigEFDiMuHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# mass cuts
self.MuMuMassMin = 2500.
self.MuMuMassMax = 4300.
self.ApplyMuMuMassMax = True
## added 2008-01-27
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoValidationMonitoring_Jpsi
validation = TrigEFDiMuHypoValidationMonitoring_Jpsi()
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoOnlineMonitoring_Jpsi
online = TrigEFDiMuHypoOnlineMonitoring_Jpsi()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
## end of adding
# Upsilon
class TrigEFDiMuHypo_Upsi (TrigEFDiMuHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuHypo_Upsi"):
super( TrigEFDiMuHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# mass cuts
self.MuMuMassMin = 8000.
self.MuMuMassMax = 12000.
self.ApplyMuMuMassMax = True
## added 2008-04-07
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoValidationMonitoring_Upsi
validation = TrigEFDiMuHypoValidationMonitoring_Upsi()
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoOnlineMonitoring_Upsi
online = TrigEFDiMuHypoOnlineMonitoring_Upsi()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
## end of adding
# Bmumu
class TrigEFDiMuHypo_B (TrigEFDiMuHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuHypo_B"):
super( TrigEFDiMuHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# mass cuts
self.MuMuMassMin = 4000.
self.MuMuMassMax = 8500.
self.ApplyMuMuMassMax = True
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoValidationMonitoring_B
validation = TrigEFDiMuHypoValidationMonitoring_B()
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoOnlineMonitoring_B
online = TrigEFDiMuHypoOnlineMonitoring_B()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
## end of adding
# generic di-muon
class TrigEFDiMuHypo_DiMu (TrigEFDiMuHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuHypo_DiMu"):
super( TrigEFDiMuHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# mass cuts
self.MuMuMassMin = 1500.
self.MuMuMassMax = 14000.
self.ApplyMuMuMassMax = True
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoValidationMonitoring_DiMu
validation = TrigEFDiMuHypoValidationMonitoring_DiMu()
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoOnlineMonitoring_DiMu
online = TrigEFDiMuHypoOnlineMonitoring_DiMu()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
## end of adding
# generic di-muon no Opp charge
class TrigEFDiMuHypo_DiMu_noOS (TrigEFDiMuHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuHypo_DiMu_noOS"):
super( TrigEFDiMuHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# mass cuts
self.MuMuMassMin = 1500.
self.MuMuMassMax = 14000.
self.ApplyOppositeCharge = False
self.ApplyMuMuMassMax = True
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoValidationMonitoring_DiMu
validation = TrigEFDiMuHypoValidationMonitoring_DiMu()
from TrigBphysHypo.TrigEFDiMuHypoMonitoring import TrigEFDiMuHypoOnlineMonitoring_DiMu
online = TrigEFDiMuHypoOnlineMonitoring_DiMu()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
## end of adding
from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
class TrigEFDiMuHypoValidationMonitoring_Jpsi(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoValidationMonitoring_Jpsi"):
super(TrigEFDiMuHypoValidationMonitoring_Jpsi, self).__init__(name)
self.defineTarget("Validation")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="Jpsi mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="Jpsi fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="Jpsi mass with cut [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
# self.Histograms += [ defineHistogram('E', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
# self.Histograms += [ defineHistogram('ECut', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
class TrigEFDiMuHypoOnlineMonitoring_Jpsi(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoOnlineMonitoring_Jpsi"):
super(TrigEFDiMuHypoOnlineMonitoring_Jpsi, self).__init__(name)
self.defineTarget("Online")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="Jpsi mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="Jpsi fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="Jpsi mass with cut [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
# self.Histograms += [ defineHistogram('E', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
# self.Histograms += [ defineHistogram('ECut', type='TH1F', title="Jpsi E", xbins=100, xmin=2000, xmax=150000) ]
class TrigEFDiMuHypoValidationMonitoring_Upsi(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoValidationMonitoring_Upsi"):
super(TrigEFDiMuHypoValidationMonitoring_Upsi, self).__init__(name)
self.defineTarget("Validation")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="Upsi mass [GeV]", xbins=30, xmin=8.5, xmax=10.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="Upsi fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="Upsi mass with cut [GeV]", xbins=30, xmin=8.5, xmax=10.0) ]
class TrigEFDiMuHypoOnlineMonitoring_Upsi(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoOnlineMonitoring_Upsi"):
super(TrigEFDiMuHypoOnlineMonitoring_Upsi, self).__init__(name)
self.defineTarget("Online")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="Upsi mass [GeV]", xbins=30, xmin=8.5, xmax=10.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="Upsi fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="Upsi mass with cut [GeV]", xbins=30, xmin=8.5, xmax=10.0) ]
class TrigEFDiMuHypoValidationMonitoring_B(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoValidationMonitoring_B"):
super(TrigEFDiMuHypoValidationMonitoring_B, self).__init__(name)
self.defineTarget("Validation")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="B mass [GeV]", xbins=60, xmin=4.0, xmax=7.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="B fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="B mass with cut [GeV]", xbins=60, xmin=4.0, xmax=7.0) ]
class TrigEFDiMuHypoOnlineMonitoring_B(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoOnlineMonitoring_B"):
super(TrigEFDiMuHypoOnlineMonitoring_B, self).__init__(name)
self.defineTarget("Online")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="B mass [GeV]", xbins=60, xmin=4.0, xmax=7.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="B fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="B mass with cut [GeV]", xbins=60, xmin=4.0, xmax=7.0) ]
class TrigEFDiMuHypoValidationMonitoring_DiMu(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoValidationMonitoring_DiMu"):
super(TrigEFDiMuHypoValidationMonitoring_DiMu, self).__init__(name)
self.defineTarget("Validation")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="DiMu mass [GeV]", xbins=130, xmin=0, xmax=13.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="DiMu fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="DiMu mass with cut [GeV]", xbins=130, xmin=0, xmax=13.0) ]
class TrigEFDiMuHypoOnlineMonitoring_DiMu(TrigGenericMonitoringToolConfig):
def __init__ (self, name="TrigEFDiMuHypoOnlineMonitoring_DiMu"):
super(TrigEFDiMuHypoOnlineMonitoring_DiMu, self).__init__(name)
self.defineTarget("Online")
self.Histograms += [ defineHistogram('Mass', type='TH1F', title="DiMu mass [GeV]", xbins=130, xmin=0, xmax=13.0) ]
self.Histograms += [ defineHistogram('FitMass', type='TH1F', title="DiMu fitted mass [GeV]", xbins=26, xmin=2.7, xmax=4.0) ]
self.Histograms += [ defineHistogram('MassCut', type='TH1F', title="DiMu mass with cut [GeV]", xbins=130, xmin=0, xmax=13.0) ]
from TrigBphysHypo.TrigBphysHypoConf import TrigEFDiMuXFex
class TrigEFDiMuXFex_1 (TrigEFDiMuXFex):
__slots__ = []
def __init__(self, name = "TrigEFDiMuXFex_1"):
super( TrigEFDiMuXFex, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# EF DiMuX cuts
self.LowerMuMuMassCut = 200.
self.UpperMuMuMassCut = 5000.
self.LowerKplusMuMuMassCut = 5000.
self.UpperKplusMuMuMassCut = 5600.
from TrigBphysHypo.TrigEFDiMuXFexMonitoring import TrigEFDiMuXFexValidationMonitoring
validation = TrigEFDiMuXFexValidationMonitoring()
from TrigBphysHypo.TrigEFDiMuXFexMonitoring import TrigEFDiMuXFexOnlineMonitoring
online = TrigEFDiMuXFexOnlineMonitoring()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
class TrigEFDiMuXFexValidationMonitoring(TrigGenericMonitoringToolConfig):
def __init__ (self, name="EFDiMuXFexValidation"):
super(TrigEFDiMuXFexValidationMonitoring, self).__init__(name)
self.defineTarget("Validation")
self.Histograms = [ defineHistogram('MuMuMass', type='TH1F', title="EFDiMuXFex MuMu Inv.mass [GeV]", xbins=100, xmin=0., xmax=10.) ]
self.Histograms += [ defineHistogram('KplusMuMuMass', type='TH1F', title="EFDiMuXFex K^{+}MuMu Inv.mass [GeV]", xbins=100, xmin=0., xmax=10.) ]
class TrigEFDiMuXFexOnlineMonitoring(TrigGenericMonitoringToolConfig):
def __init__ (self, name="EFDiMuXFexOnline"):
super(TrigEFDiMuXFexOnlineMonitoring, self).__init__(name)
self.defineTarget("Online")
self.Histograms = [ defineHistogram('MuMuMass', type='TH1F', title="EFDiMuXFex MuMu Inv.mass [GeV]", xbins=100, xmin=0., xmax=10.) ]
self.Histograms += [ defineHistogram('KplusMuMuMass', type='TH1F', title="EFDiMuXFex K^{+}MuMu Inv.mass [GeV]", xbins=100, xmin=0., xmax=10.) ]
from TrigBphysHypo.TrigBphysHypoConf import TrigEFDiMuXHypo
# basic cut
class TrigEFDiMuXHypo_1 (TrigEFDiMuXHypo):
__slots__ = []
def __init__(self, name = "TrigEFDiMuXHypo_1"):
super( TrigEFDiMuXHypo, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# EF DiMuX cuts
self.LowerBplusMassCut = 5100.
self.UpperBplusMassCut = 5500.
# from TrigBphysHypo.TrigEFDiMuXHypoMonitoring import TrigEFDiMuXHypoValidationMonitoring
# validation = TrigEFDiMuXHypoValidationMonitoring()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ time ]
# basic cut
from TrigBphysHypo.TrigBphysHypoConf import TrigEFDsPhiPiFex
####
#### !!!!!!!!!!!!!!!!!!!!!!!!!!
# we have to do something with this, where was this defined before?
#from AthenaCommon.SystemOfUnits import GeV
# basic cut
class EFDsPhiPiFex_1 (TrigEFDsPhiPiFex):
__slots__ = []
def __init__(self, name = "EFDsPhiPiFex_1"):
super( TrigEFDsPhiPiFex, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 DsPhiPi cuts
self.TrackPTthr = 1400
self.dEtaTrackPair = 0.2
self.dPhiTrackPair = 0.2
self.dz0TrackPair = 3.
self.pTsumTrackPair = 0.
self.EtaBins = [0.,1.0,1.5]
self.PhiMasslow_cut = [990.,990.,990.]
self.PhiMasshigh_cut = [1050.,1050.,1050.]
self.DsMasslow_cut = [1863.,1863.,1863.]
self.DsMasshigh_cut = [2071.,2071.,2071.]
from TrigBphysHypo.TrigEFDsPhiPiFexMonitoring import TrigEFDsPhiPiFexValidationMonitoring_RoI
validation = TrigEFDsPhiPiFexValidationMonitoring_RoI()
from TrigBphysHypo.TrigEFDsPhiPiFexMonitoring import TrigEFDsPhiPiFexOnlineMonitoring_RoI
online = TrigEFDsPhiPiFexOnlineMonitoring_RoI()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
# full scan
class EFDsPhiPiFex_FS (TrigEFDsPhiPiFex):
__slots__ = []
def __init__(self, name = "EFDsPhiPiFex_FS"):
super( TrigEFDsPhiPiFex, self ).__init__( name )
# AcceptAll flag: if true take events regardless of cuts
self.AcceptAll = False
# L2 DsPhiPi cuts
self.TrackPTthr = 1400
self.dEtaTrackPair = 0.2
self.dPhiTrackPair = 0.2
self.dz0TrackPair = 3.
self.pTsumTrackPair = 0.
self.EtaBins = [0.,1.0,1.5]
self.PhiMasslow_cut = [990.,990.,990.]
self.PhiMasshigh_cut = [1050.,1050.,1050.]
self.DsMasslow_cut = [1863.,1863.,1863.]
self.DsMasshigh_cut = [2071.,2071.,2071.]
from TrigBphysHypo.TrigEFDsPhiPiFexMonitoring import TrigEFDsPhiPiFexValidationMonitoring_FS
validation = TrigEFDsPhiPiFexValidationMonitoring_FS()
from TrigBphysHypo.TrigEFDsPhiPiFexMonitoring import TrigEFDsPhiPiFexOnlineMonitoring_FS
online = TrigEFDsPhiPiFexOnlineMonitoring_FS()
from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
time = TrigTimeHistToolConfig("Time")
self.AthenaMonTools = [ validation, online, time ]
from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
class TrigEFDsPhiPiFexValidationMonitoring_RoI(TrigGenericMonitoringToolConfig):
def __init__ (self, name="EFFexValidation_RoI"):
super(TrigEFDsPhiPiFexValidationMonitoring_RoI, self).__init__(name)
self.defineTarget("Validation")
self.Histograms = [ defineHistogram('Ntrack', type='TH1F', title="EFDsPhipiFex Ntrack",
xbins=50, xmin=0.0, xmax=50.0) ]
self.Histograms += [ defineHistogram('trackPt', type='TH1F', title="EFDsPhipiFex trackPt; P_{t} [GeV]",
xbins=50, xmin=0.0, xmax=10.0) ]
self.Histograms += [ defineHistogram('dEta', type='TH1F', title="EFDsPhipiFex track deta ",
xbins=50, xmin=0.0, xmax=1.0) ]
self.Histograms += [ defineHistogram('dPhi', type='TH1F', title="EFDsPhipiFex track dphi",
xbins=50, xmin=0.0, xmax=1.0) ]
self.Histograms += [ defineHistogram('dz0', type='TH1F', title="EFDsPhipiFex track dz0",
xbins=50, xmin=0.0, xmax=10.0) ]
self.Histograms += [ defineHistogram('Ptsum', type='TH1F', title="EFDsPhipiFex track pTsum",
xbins=50, xmin=0.0, xmax=20.0) ]
self.Histograms += [ defineHistogram('PhiMass', type='TH1F', title="EFDsPhipiFex PhiMass; PhiMass[MeV]",
xbins=100, xmin=970., xmax=1070.) ]
# self.Histograms += [ defineHistogram('PhiFitMass', type='TH1F', title="EFDsPhipiFex FitPhiMass; FitPhiMass [MeV]",
# xbins=100, xmin=970., xmax=1070.) ]
self.Histograms += [ defineHistogram('DsMass', type='TH1F', title="EFDsPhipiFex DsMass; DsMass [MeV]",
xbins=100, xmin=1750., xmax=2200.) ]
# self.Histograms += [ defineHistogram('DsFitMass', type='TH1F', title="EFDsPhipiFex FitDsMass; FitDsMass [MeV]",
# xbins=100, xmin=1750., xmax=2200.) ]
class TrigEFDsPhiPiFexOnlineMonitoring_RoI(TrigGenericMonitoringToolConfig):
def __init__ (self, name="EFFexOnline_RoI"):
super(TrigEFDsPhiPiFexOnlineMonitoring_RoI, self).__init__(name)
self.defineTarget("Online")
self.Histograms = [ defineHistogram('Ntrack', type='TH1F', title="EFDsPhipiFex Ntrack",
xbins=50, xmin=0.0, xmax=50.0) ]
self.Histograms += [ defineHistogram('trackPt', type='TH1F', title="EFDsPhipiFex trackPt; P_{t} [GeV]",
xbins=50, xmin=0.0, xmax=10.0) ]
self.Histograms += [ defineHistogram('dEta', type='TH1F', title="EFDsPhipiFex track deta ",
xbins=50, xmin=0.0, xmax=1.0) ]
self.Histograms += [ defineHistogram('dPhi', type='TH1F', title="EFDsPhipiFex track dphi",
xbins=50, xmin=0.0, xmax=1.0) ]
self.Histograms += [ defineHistogram('dz0', type='TH1F', title="EFDsPhipiFex track dz0",
xbins=50, xmin=0.0, xmax=10.0) ]
self.Histograms += [ defineHistogram('Ptsum', type='TH1F', title="EFDsPhipiFex track pTsum",
xbins=50, xmin=0.0, xmax=20.0) ]
self.Histograms += [ defineHistogram('PhiMass', type='TH1F', title="EFDsPhipiFex PhiMass; PhiMass[MeV]",
xbins=100, xmin=970., xmax=1070.) ]
# self.Histograms += [ defineHistogram('PhiFitMass', type='TH1F', title="EFDsPhipiFex FitPhiMass; FitPhiMass [MeV]",
# xbins=100, xmin=970., xmax=1070.) ]
self.Histograms += [ defineHistogram('DsMass', type='TH1F', title="EFDsPhipiFex DsMass; DsMass [MeV]",
xbins=100, xmin=1750., xmax=2200.) ]
# self.Histograms += [ defineHistogram('DsFitMass', type='TH1F', title="EFDsPhipiFex FitDsMass; FitDsMass [MeV]",
# xbins=100, xmin=1750., xmax=2200.) ]
class TrigEFDsPhiPiFexValidationMonitoring_FS(TrigGenericMonitoringToolConfig):
def __init__ (self, name="EFFexValidation_FS"):
super(TrigEFDsPhiPiFexValidationMonitoring_FS, self).__init__(name)
self.defineTarget("Validation")
self.Histograms = [ defineHistogram('Ntrack', type='TH1F', title="EFDsPhipiFex Ntrack",
xbins=100, xmin=0.0, xmax=100.0) ]
self.Histograms += [ defineHistogram('trackPt', type='TH1F', title="EFDsPhipiFex trackPt; P_{t} [GeV]",
xbins=50, xmin=0.0, xmax=10.0) ]
self.Histograms += [ defineHistogram('dEta', type='TH1F', title="EFDsPhipiFex track deta ",
xbins=50, xmin=0.0, xmax=1.0) ]