Skip to content
Snippets Groups Projects
Commit d337b12e authored by Peter Onyisi's avatar Peter Onyisi Committed by Adam Edward Barton
Browse files

InDetGlobal new monitoring integration

parent 542653f6
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,11 @@ def AthenaMonitoringCfg(flags):
info('Set up TRT monitoring')
from TRTMonitoringRun3.TRTMonitoringRun3Config import TRTMonitoringRun3Cfg
result.merge(TRTMonitoringRun3Cfg(flags))
if flags.DQ.Steering.doInDetMon:
info('Set up InDet Global monitoring')
from InDetGlobalMonitoringRun3Test.InDetGlobalMonitoringRun3TestConfig import InDetGlobalMonitoringRun3TestConfig
result.merge(InDetGlobalMonitoringRun3TestConfig(flags))
if flags.DQ.Steering.doLArMon:
info('Set up LAr monitoring')
......
......@@ -357,6 +357,7 @@ if DQMonFlags.doMonitoring():
Steering.doPixelMon=DQMonFlags.doPixelMon()
Steering.doSCTMon=DQMonFlags.doSCTMon()
Steering.doTRTMon=DQMonFlags.doTRTMon()
Steering.doInDetGlobalMon=DQMonFlags.doInDetGlobalMon()
Steering.doLArMon=DQMonFlags.doLArMon()
Steering.doTileMon=DQMonFlags.doTileMon()
Steering.doCaloGlobalMon=DQMonFlags.doCaloMon()
......
......@@ -22,7 +22,7 @@ def InDetGlobalBeamSpotMonAlgCfg(helper, alg, **kwargs):
pathbs = '/InDetGlobal/BeamSpot'
# Histograms for track-based beam spot monitoring:
varName = 'm_trkD0,m_trkD0Phi;trkDPhi'
varName = 'm_trkD0Phi,m_trkD0;trkDPhi'
bsGroup.defineHistogram(varName,type="TH2F",title="DCA vs Phi; #varphi (rad);d_{0} (#mum)", path=pathbs, xbins=100, xmin=-3.5, xmax=3.5, ybins=100, ymin=-1000, ymax=1000)
if (expert):
......@@ -33,7 +33,7 @@ def InDetGlobalBeamSpotMonAlgCfg(helper, alg, **kwargs):
#Histograms of assumed beam spot position
if (m_useBeamspot):
varName = 'm_trkD0Corr,m_trkD0PhiCorr;trkDPhiCorr'
varName = 'm_trkD0PhiCorr,m_trkD0Corr;trkDPhiCorr'
bsGroup.defineHistogram(varName,type="TH2F",title="DCA vs Phi wrt Beamspot;#varphi (rad);d_{0} (#mum)",path=pathbs,xbins=100, xmin=-3.5,xmax=3.5, ybins=100, ymin=-500,ymax=500)
varName = 'm_bsX;bsX'
bsGroup.defineHistogram(varName, type="TH1F", title="Beam spot position: x;x (mm)",path=pathbs,xbins=100,xmin=-10,xmax=10)
......@@ -66,11 +66,11 @@ def InDetGlobalBeamSpotMonAlgCfg(helper, alg, **kwargs):
#Histograms that are independent of the useBeamSpot parameters
varName = 'm_pvX,m_pvZ;pvXZ'
varName = 'm_pvZ,m_pvX;pvXZ'
bsGroup.defineHistogram(varName, type="TH2F", title="Primary vertex: x vs z;z (mm);x (mm)", path=pathbs, xbins=100, xmin=-500, xmax=500, ybins=100, ymin=-10, ymax=10)
varName = 'm_pvY,m_pvZ;pvYZ'
varName = 'm_pvZ,m_pvY;pvYZ'
bsGroup.defineHistogram(varName, type="TH2F", title="Primary vertex: y vs z;z (mm);y (mm)", path=pathbs, xbins=100, xmin=-500, xmax=500, ybins=100, ymin=-10,ymax=10)
varName = 'm_pvY,m_pvX;pvYX'
varName = 'm_pvX,m_pvY;pvYX'
bsGroup.defineHistogram(varName, type="TH2F", title="Primary vertex: y vs x;x (mm);y (mm)", path=pathbs, xbins=100, xmin=-10, xmax=10, ybins=100, ymin=-10, ymax=10)
varName = 'm_pvChiSqDof;pvChiSqDof'
bsGroup.defineHistogram(varName, type="TH1F", title="",path=pathbs,xbins=100,xmin=0,xmax=20)
......
......@@ -14,6 +14,11 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
acc = ComponentAccumulator()
from AthenaMonitoring import AthMonitorCfgHelper
helper = AthMonitorCfgHelper(flags, "InDetGlobalMonitoringRun3Test")
from AthenaConfiguration.ComponentFactory import CompFactory
# run on RAW only
if flags.DQ.Environment in ('online', 'tier0', 'tier0Raw'):
## from InDetRecExample.InDetKeys import InDetKeys ## not sure it works now
......@@ -27,17 +32,13 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
}
from AthenaMonitoring import AthMonitorCfgHelper
helper = AthMonitorCfgHelper(flags, "InDetGlobalMonitoringRun3Test")
from AthenaConfiguration.ComponentFactory import CompFactory
# from InDetGlobalMonitoringRun3Test.InDetGlobalMonitoringRun3TestConf import InDetGlobalTrackMonAlg
from InDetGlobalMonitoringRun3Test.InDetGlobalTrackMonAlgCfg import InDetGlobalTrackMonAlgCfg
inDetGlobalTrackMonAlg = helper.addAlgorithm(CompFactory.InDetGlobalTrackMonAlg, 'InDetGlobalTrackMonAlg')
for k, v in kwargsInDetGlobalTrackMonAlg.items():
setattr(inDetGlobalTrackMonAlg, k, v)
inDetGlobalTrackMonAlg.TrackSelectionTool = CompFactory.InDet.InDetTrackSelectionTool()
inDetGlobalTrackMonAlg.TrackSelectionTool.UseTrkTrackTools = True
inDetGlobalTrackMonAlg.TrackSelectionTool.CutLevel = "TightPrimary"
inDetGlobalTrackMonAlg.TrackSelectionTool.maxNPixelHoles = 1
......@@ -45,6 +46,7 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
# InDetGlobalTrackMonAlg.Baseline_TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool
# InDetGlobalTrackMonAlg.Baseline_TrackSelectionTool.Extrapolator = InDetExtrapolator
#
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool = CompFactory.InDet.InDetTrackSelectionTool()
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.UseTrkTrackTools = True
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.CutLevel = "TightPrimary"
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.minPt = 5000
......@@ -54,20 +56,23 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
# Run 3 configs - stolen from SCT
from SCT_Monitoring.TrackSummaryToolWorkaround import TrackSummaryToolWorkaround
inDetGlobalTrackMonAlg.TrackSelectionTool.TrackSummaryTool = acc.popToolsAndMerge(TrackSummaryToolWorkaround(flags))
InDetTrackSummaryTool = acc.popToolsAndMerge(TrackSummaryToolWorkaround(flags))
inDetGlobalTrackMonAlg.TrackSummaryTool = InDetTrackSummaryTool
inDetGlobalTrackMonAlg.TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool
inDetGlobalTrackMonAlg.TrackSelectionTool.Extrapolator = acc.getPublicTool("InDetExtrapolator")
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.TrackSummaryTool = acc.popToolsAndMerge(TrackSummaryToolWorkaround(flags))
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool
inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.Extrapolator = acc.getPublicTool("InDetExtrapolator")
InDetGlobalTrackMonAlgCfg(helper, inDetGlobalTrackMonAlg, **kwargsInDetGlobalTrackMonAlg)
########### here ends InDetGlobalTrackMonAlg ###########
# run on ESD
if flags.DQ.Environment != 'tier0Raw':
########### here begins InDetGlobalPrimaryVertexMonAlg ###########
from InDetGlobalMonitoringRun3Test.InDetGlobalMonitoringRun3TestConf import InDetGlobalPrimaryVertexMonAlg
from InDetGlobalMonitoringRun3Test.InDetGlobalPrimaryVertexMonAlgCfg import InDetGlobalPrimaryVertexMonAlgCfg
myInDetGlobalPrimaryVertexMonAlg = helper.addAlgorithm(InDetGlobalPrimaryVertexMonAlg, 'InDetGlobalPrimaryVertexMonAlg')
myInDetGlobalPrimaryVertexMonAlg = helper.addAlgorithm(CompFactory.InDetGlobalPrimaryVertexMonAlg,
'InDetGlobalPrimaryVertexMonAlg')
kwargsInDetGlobalPrimaryVertexMonAlg = {
'vxContainerName' : 'PrimaryVertices', #InDetKeys.xAODVertexContainer(),
......@@ -77,18 +82,20 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
}
for k, v in kwargsInDetGlobalPrimaryVertexMonAlg.items():
setattr(kwargsInDetGlobalPrimaryVertexMonAlg, k, v)
setattr(myInDetGlobalPrimaryVertexMonAlg, k, v)
InDetGlobalPrimaryVertexMonAlgCfg(helper, myInDetGlobalPrimaryVertexMonAlg, **kwargsInDetGlobalPrimaryVertexMonAlg)
########### here ends InDetGlobalPrimaryVertexMonAlg ###########
########### here begins InDetGlobalBeamSpotMonAlg ###########
from InDetGlobalMonitoringRun3Test.InDetGlobalMonitoringRun3TestConf import InDetGlobalBeamSpotMonAlg
from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
acc.merge(BeamSpotCondAlgCfg(flags))
from InDetGlobalMonitoringRun3Test.InDetGlobalBeamSpotMonAlgCfg import InDetGlobalBeamSpotMonAlgCfg
myInDetGlobalBeamSpotMonAlg = helper.addAlgorithm(InDetGlobalBeamSpotMonAlg, 'InDetGlobalBeamSpotMonAlg')
myInDetGlobalBeamSpotMonAlg = helper.addAlgorithm(CompFactory.InDetGlobalBeamSpotMonAlg,
'InDetGlobalBeamSpotMonAlg')
kwargsInDetGlobalBeamSpotMonAlg = {
'BeamSpotKey' : 'BeamSpotData', #InDetKeys.BeamSpotData(),
......@@ -99,10 +106,10 @@ def InDetGlobalMonitoringRun3TestConfig(flags):
}
for k, v in kwargsInDetGlobalBeamSpotMonAlg.items():
setattr(kwargsInDetGlobalBeamSpotMonAlg, k, v)
setattr(myInDetGlobalBeamSpotMonAlg, k, v)
InDetGlobalBeamSpotMonAlgCfg(helper, myInDetGlobalBeamSpotMonAlg, **kwargsInDetGlobalBeamSpotMonAlg)
########### here ends InDetGlobalBeamSpotMonAlg ###########
acc.merge(helper.result())
return acc
......@@ -90,11 +90,16 @@ StatusCode InDetGlobalBeamSpotMonAlg::fillHistograms( const EventContext& ctx )
const Amg::Vector3D &bpos = beamSpotHandle->beamPos();
auto beamSpotX_m = Monitored::Scalar<float>("m_bsX", bpos.x() );
auto beamSpotY_m = Monitored::Scalar<float>("m_bsY", bpos.y() );
auto beamSpotZ_m = Monitored::Scalar<float>("m_bsZ", bpos.z() );
auto beamTiltX_m = Monitored::Scalar<float>("m_bsTiltX", 1e6*beamSpotHandle->beamTilt(0) );
auto beamTiltY_m = Monitored::Scalar<float>("m_bsTiltY", 1e6*beamSpotHandle->beamTilt(1) );
beamSpotX = bpos.x();
beamSpotY = bpos.y();
beamSpotZ = bpos.z();
auto beamSpotX_m = Monitored::Scalar<float>("m_bsX", beamSpotX );
auto beamSpotY_m = Monitored::Scalar<float>("m_bsY", beamSpotY );
auto beamSpotZ_m = Monitored::Scalar<float>("m_bsZ", beamSpotZ );
beamTiltX = beamSpotHandle->beamTilt(0);
beamTiltY = beamSpotHandle->beamTilt(1);
auto beamTiltX_m = Monitored::Scalar<float>("m_bsTiltX", 1e6*beamTiltX );
auto beamTiltY_m = Monitored::Scalar<float>("m_bsTiltY", 1e6*beamTiltY );
scaleFactor = 1000.; // Use microns for some histograms when showing distance relative to beamspot PJ not used here?!
fill(bsGroup,beamSpotX_m);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment