4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
10 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
12 from TileGeoModel.TileGMConfig
import TileGMCfg
15 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
20 cfg.addEventAlgo(CompFactory.CaloNoise2Ntuple())
21 cfg.addService(CompFactory.THistSvc(Output = [
"file1 DATAFILE='"+outputFile+
"' OPT='RECREATE'"]))
25 if __name__==
"__main__":
27 parser= argparse.ArgumentParser()
28 parser.add_argument(
"--loglevel", default=
None, help=
"logging level (ALL, VERBOSE, DEBUG,INFO, WARNING, ERROR, or FATAL")
29 parser.add_argument(
"-r",
"--runnumber",default=0x7fffffff, type=int, help=
"run number to query the DB")
30 parser.add_argument(
"-l",
"--lbnumber",default=1, type=int, help=
"LB number to query the DB")
31 parser.add_argument(
"-d",
"--database",default=
None, help=
"Database name or sqlite file name")
32 parser.add_argument(
"-o",
"--output",default=
"caloNoise.root", help=
"output file name")
33 parser.add_argument(
"-t",
"--tag",default=
None, help=
"folder-level tag to read")
34 parser.add_argument(
"-m",
"--mc", action=
'store_true', help=
"data or MC?")
35 parser.add_argument(
"-p",
"--pileup", default=-1., type=float, help=
"if positive, calculate the noise for a fixed <mu> = specified value")
36 parser.add_argument(
"--online", action=
'store_true', help=
"online noise calculation and conditions")
38 (args,leftover)=parser.parse_known_args(sys.argv[1:])
41 print(
"ERROR, unhandled argument(s):",leftover)
44 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
46 flags.Input.Files = []
47 flags.Input.isMC = args.mc
48 flags.IOVDb.DatabaseInstance=
"OFLP200" if args.mc
else "CONDBR2"
49 from Campaigns.Utils
import Campaign
50 flags.Input.MCCampaign=Campaign.Unknown
51 flags.LAr.doAlign=
False
52 flags.LAr.doHVCorr=
False
53 flags.Input.RunNumbers=[args.runnumber]
54 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags
55 flags.IOVDb.GlobalTag=defaultConditionsTags.RUN3_MC
if args.mc
else defaultConditionsTags.RUN3_DATA
56 flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3
57 flags.Common.isOnline = args.online
59 flags.Calo.Noise.fixedLumiForNoise = args.pileup
61 from AthenaCommon
import Constants
62 if hasattr(Constants,args.loglevel):
63 flags.Exec.OutputLevel=getattr(Constants,args.loglevel)
65 raise ValueError(
"Unknown log-level, allowed values are ALL, VERBOSE, DEBUG,INFO, WARNING, ERROR, FATAL")
69 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
72 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
74 FirstLB=args.lbnumber,
78 TimeStampInterval = 1))
79 cfg.addEventAlgo(CompFactory.xAODMaker.EventInfoCnvAlg(AODKey =
'McEventInfo'),sequenceName=
"AthAlgSeq")
85 dbstr=
"sqlite://;schema="+args.database+
";dbname=" + flags.IOVDb.DatabaseInstance
87 if args.tag
or args.database:
88 from IOVDbSvc.IOVDbSvcConfig
import addOverride
89 folder =
"/CALO/Noise/CellNoise" if flags.Common.isOnline
else "/LAR/NoiseOfl/CellNoise"
90 cfg.merge(
addOverride(flags, folder, tag=args.tag, db=dbstr))