2 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
    3 from AthenaCommon.Logging 
import logging
 
    7                           IOVStart=[0,0],IOVEnd=[0x7FFFFFFF,0xFFFFFFFF]):
 
    9     logger = logging.getLogger( 
"LArBadFebDBAlgCfg" )
 
   10     from LArGeoAlgsNV.LArGMConfig 
import LArGMCfg
 
   13     from LArCabling.LArCablingConfig 
import LArOnOffIdMappingCfg
 
   17         if dbname == 
"LAR_ONL":
 
   18             folder=
"/LAR/BadChannels/KnownBADFEBs" 
   20             folder=
"/LAR/BadChannelsOfl/KnownBADFEBs" 
   23         if not tag.startswith(
"LAR"):
 
   24             if not tag.startswith(
"-"): tag= 
"-"+tag
 
   25             tag=
"".
join(folder.split(
"/"))+tag
 
   30     logger.info(
"Writing to folder %s, tag %s",folder,tag)
 
   31     result.addCondAlgo(CompFactory.LArBadFebCondAlg(
"LArKnownBadFebAlg",ReadKey=
"",InputFileName=InputFile,WriteKey=
"LArBadFeb"))
 
   34     theLArDBAlg=CompFactory.LArBadChannelDBAlg()
 
   35     theLArDBAlg.WritingMode = 1
 
   36     theLArDBAlg.FEBFolder=folder
 
   37     result.addEventAlgo(theLArDBAlg)
 
   39     from RegistrationServices.OutputConditionsAlgConfig 
import OutputConditionsAlgCfg
 
   41                                         ObjectList=[
"AthenaAttributeList#"+folder],
 
   43                                         Run1=IOVStart[0],LB1=IOVStart[1],
 
   44                                         Run2=IOVEnd[0],LB2=IOVEnd[1]))
 
   49 if __name__==
"__main__":
 
   51     parser= argparse.ArgumentParser()
 
   52     parser.add_argument(
"inputfile")
 
   53     parser.add_argument(
"--loglevel", default=
None, help=
"logging level (ALL, VERBOSE, DEBUG,INFO, WARNING, ERROR, or FATAL")
 
   54     parser.add_argument(
"-r",
"--runnumber",default=0, type=int, help=
"IOV start (runnumber)")
 
   55     parser.add_argument(
"-l",
"--lbnumber",default=0, type=int, help=
"IOV start (LB number)")
 
   56     parser.add_argument(
"--runnumber2",default=0x7FFFFFFF, type=int, help=
"IOV start (runnumber)")
 
   57     parser.add_argument(
"--lbnumber2",default=0xFFFFFFFF, type=int, help=
"IOV start (LB number)")
 
   58     parser.add_argument(
"-o",
"--output",default=
"BadFebs.db", help=
"sqlite output file name")
 
   59     parser.add_argument(
"-f",
"--folder",default=
None, help=
"database folder to create")
 
   60     parser.add_argument(
"-t",
"--tag",default=
None, help=
"folder-level tag (or tag-suffix) to create")
 
   61     parser.add_argument(
"--MC", action=
'store_true', default=
False, help=
"Work on MC DB")
 
   64     (args,leftover)=parser.parse_known_args(sys.argv[1:])
 
   67         print(
"ERROR, unhandled argument(s):",leftover)
 
   70     from AthenaConfiguration.AllConfigFlags 
import initConfigFlags
 
   71     from LArCalibProcessing.LArCalibConfigFlags 
import addLArCalibFlags
 
   76     flags.Input.isMC = args.MC
 
   77     flags.IOVDb.DatabaseInstance=
"OFLP200" if args.MC 
else "CONDBR2" 
   78     flags.LAr.doAlign=
False 
   79     flags.Input.RunNumbers=[args.runnumber 
if args.runnumber>0 
else 300000]
 
   80     flags.IOVDb.GlobalTag=
"OFLCOND-MC21-SDR-RUN3-11" if args.MC 
else "CONDBR2-ES1PA-2023-02" 
   82        from Campaigns.Utils 
import Campaign
 
   83        flags.Input.MCCampaign = Campaign.MC21a
 
   84     from AthenaConfiguration.TestDefaults 
import defaultGeometryTags
 
   85     flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3
 
   87     flags.IOVDb.DBConnection=
"sqlite://;schema="+args.output+
";dbname="+flags.IOVDb.DatabaseInstance
 
   90         from AthenaCommon 
import Constants
 
   91         if hasattr(Constants,args.loglevel):
 
   92             flags.Exec.OutputLevel=getattr(Constants,args.loglevel)
 
   94             raise ValueError(
"Unknown log-level, allowed values are ALL, VERBOSE, DEBUG,INFO, WARNING, ERROR, FATAL")
 
   98     from AthenaConfiguration.MainServicesConfig 
import MainServicesCfg
 
  101     from McEventSelector.McEventSelectorConfig 
import McEventSelectorCfg
 
  103                                  FirstLB=args.lbnumber,
 
  106                                  InitialTimeStamp  = 0,
 
  107                                  TimeStampInterval = 1))
 
  113                                 IOVStart=[args.runnumber,args.lbnumber],
 
  114                                 IOVEnd=[args.runnumber2,args.lbnumber2]