2 from AthenaConfiguration.ComponentFactory
import CompFactory
3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaCommon.Logging
import logging
6 _log = logging.getLogger(__name__)
12 alg = CompFactory.L0Muon.L0MuonSmearingAlg(name = name,
15 from AthenaMonitoringKernel.GenericMonitoringTool
import GenericMonitoringTool
17 monTool.HistPath =
'L0MuonSmearing'
18 monTool.defineHistogram(
'track_input_eta', path=
'EXPERT', type=
'TH1F', title=
';#eta_{#mu}^{truth};Muons', xbins=50, xmin=-3, xmax=3)
19 monTool.defineHistogram(
'track_input_phi', path=
'EXPERT', type=
'TH1F', title=
';#phi_{#mu}^{truth};Muons', xbins=50, xmin=-4, xmax=4)
20 monTool.defineHistogram(
'track_input_pt', path=
'EXPERT', type=
'TH1F', title=
';p_{T,#mu}^{truth} (GeV);Muons', xbins=50, xmin=0, xmax=250)
21 monTool.defineHistogram(
'track_input_curv',path=
'EXPERT', type=
'TH1F', title=
';q/p_{T,#mu}^{truth} (1/GeV);Muons', xbins=50, xmin=-0.4, xmax=0.4)
22 monTool.defineHistogram(
'track_output_eta', path=
'EXPERT', type=
'TH1F', title=
';#eta_{#mu}^{L0};Muons', xbins=50, xmin=-3, xmax=3)
23 monTool.defineHistogram(
'track_output_phi', path=
'EXPERT', type=
'TH1F', title=
';#phi_{#mu}^{L0};Muons', xbins=50, xmin=-4, xmax=4)
24 monTool.defineHistogram(
'track_output_pt', path=
'EXPERT', type=
'TH1F', title=
';p_{T,#mu}^{L0} (GeV);Muons', xbins=50, xmin=0, xmax=250)
25 monTool.defineHistogram(
'track_output_curv',path=
'EXPERT', type=
'TH1F', title=
';q/p_{T,#mu}^{L0} (1/GeV);Muons', xbins=50, xmin=-0.4, xmax=0.4)
26 monTool.defineHistogram(
'roi_output_eta', path=
'EXPERT', type=
'TH1F', title=
';#eta_{RoI}^{L0};RoIs', xbins=50, xmin=-3, xmax=3)
27 monTool.defineHistogram(
'roi_output_phi', path=
'EXPERT', type=
'TH1F', title=
';#phi_{RoI}^{L0};RoIs', xbins=50, xmin=-4, xmax=4)
28 monTool.defineHistogram(
'roi_output_pt', path=
'EXPERT', type=
'TH1F', title=
';p_{T,RoI}^{L0} (GeV);RoIs', xbins=64, xmin=0, xmax=128.0)
29 monTool.defineHistogram(
'roi_output_curv',path=
'EXPERT', type=
'TH1F', title=
';q/p_{T,RoI}^{L0} (1/GeV);RoIs', xbins=50, xmin=-0.4, xmax=0.4)
30 monTool.defineHistogram(
'delta_eta', path=
'EXPERT', type=
'TH1F', title=
';#eta_{RoI}^{L0}-#eta_{#mu}^{truth};', xbins=50, xmin=-0.005,xmax=0.005)
31 monTool.defineHistogram(
'delta_phi', path=
'EXPERT', type=
'TH1F', title=
';#phi_{RoI}^{L0}-#phi_{#mu}^{truth};', xbins=50, xmin=-0.1,xmax=0.1)
32 monTool.defineHistogram(
'delta_pt', path=
'EXPERT', type=
'TH1F', title=
';(p_{T}^{L0}-p_{T}^{truth})/p_{T}^{truth};', xbins=50, xmin=-1,xmax=1)
33 monTool.defineHistogram(
'delta_curv',path=
'EXPERT', type=
'TH1F', title=
';((q/p_{T})^{L0} - (q/p_{T})^{truth}) / (q/p_{T})^{truth}',xbins=50,xmin=-1,xmax=1)
37 histSvc = CompFactory.THistSvc(Output=[
"EXPERT DATAFILE='" + name +
".root' OPT='RECREATE'"])
39 result.addEventAlgo(alg)
40 result.addService(histSvc)
44 if __name__ ==
"__main__":
46 from AthenaConfiguration.TestDefaults
import defaultTestFiles
47 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
50 flags.Input.Files = defaultTestFiles.AOD_RUN3_MC
52 flags.Exec.MaxEvents = 20
53 flags.Common.MsgSuppression =
False
57 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
60 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
65 name =
"L0MuonTruthSmearing",
66 InputTruthParticle =
"TruthParticles",
68 acc.merge(smearerTruth)
71 acc.printConfig(withDetails=
True, summariseProps=
True)
78 sys.exit(
not status.isSuccess())