3 from AthenaConfiguration.AthConfigFlags 
import AthConfigFlags
 
    4 from AthenaConfiguration.Enums 
import BeamType, ProductionStep
 
    5 from Campaigns.Utils 
import Campaign
 
    6 from TrkConfig.TrkConfigFlags 
import PrimaryPassConfig
 
   10     icf = AthConfigFlags()
 
   15     icf.addFlag(
"InDet.doSplitReco", 
False)
 
   17     icf.addFlag(
"InDet.doTruth", 
lambda prevFlags: 
 
   18         prevFlags.Input.isMC 
or 
   19         (prevFlags.Overlay.DataOverlay 
and prevFlags.Common.ProductionStep 
is not ProductionStep.MinbiasPreprocessing))
 
   22     icf.addFlag(
"InDet.selectSCTIntimeHits", 
lambda prevFlags: (
 
   23         not(prevFlags.Beam.Type 
is BeamType.Cosmics 
or 
   24             prevFlags.Tracking.PrimaryPassConfig 
is PrimaryPassConfig.VtxBeamSpot)))
 
   25     icf.addFlag(
"InDet.useDCS", 
True)
 
   26     icf.addFlag(
"InDet.usePixelDCS", 
lambda prevFlags: (
 
   27         prevFlags.InDet.useDCS 
and prevFlags.Detector.EnablePixel))
 
   28     icf.addFlag(
"InDet.useSctDCS", 
lambda prevFlags: (
 
   29         prevFlags.InDet.useDCS 
and prevFlags.Detector.EnableSCT))
 
   31     icf.addFlag(
"InDet.ForceCoraCool", 
False)
 
   33     icf.addFlag(
"InDet.ForceCoolVectorPayload", 
False)
 
   35     icf.addFlag(
"InDet.doSCTModuleVeto", 
False)
 
   37     icf.addFlag(
"InDet.doSCTSimpleWidth", 
True)
 
   40     icf.addFlag(
"InDet.JsonPathPixelModuleVeto", 
"")
 
   43     icf.addFlag(
"InDet.checkDeadElementsOnTrack", 
True)
 
   45     icf.addFlag(
"InDet.doTRTGlobalOccupancy", 
False)
 
   46     icf.addFlag(
"InDet.noTRTTiming", 
lambda prevFlags:
 
   47                 prevFlags.Beam.Type 
is BeamType.SingleBeam 
and 
   48                 prevFlags.Detector.EnableTRT)
 
   49     icf.addFlag(
"InDet.doTRTPhase", 
lambda prevFlags:
 
   50                 prevFlags.Beam.Type 
is BeamType.Cosmics 
and 
   51                 prevFlags.Detector.EnableTRT)
 
   53     icf.addFlag(
"InDet.doTRTArToTCorr", 
lambda prevFlags: (
 
   54         (
not prevFlags.Input.isMC 
and prevFlags.Input.DataYear >= 2025) 
or 
   55         (prevFlags.Input.isMC 
and prevFlags.Input.MCCampaign >= Campaign.MC23g)
 
   59     icf.addFlag(
"InDet.DRAWZSelection", 
False)
 
   60     icf.addFlag(
"InDet.DAODStorePixel", 
lambda prevFlags:
 
   61                 prevFlags.Detector.EnablePixel)
 
   62     icf.addFlag(
"InDet.DAODStoreSCT", 
lambda prevFlags:
 
   63                 prevFlags.Detector.EnableSCT)
 
   64     icf.addFlag(
"InDet.DAODStoreTRT", 
lambda prevFlags:
 
   65                 prevFlags.Detector.EnableTRT)
 
   66     icf.addFlag(
"InDet.DAODStoreExtra", 
True)
 
   69     icf.addFlag(
"InDet.PixelDumpMode", 1)
 
   70     icf.addFlag(
"InDet.PixelConfig.version", 
'PixelConditionsAlgorithms/v1/')
 
   71     icf.addFlag(
"InDet.PixelConfig.UserInputFileName", 
'')
 
   72     icf.addFlag(
"InDet.doPixelFEcheckExpHits", 
True)
 
   75     icf.addFlag(
"InDet.savePixelSiHits", 
lambda prevFlags:
 
   76                 prevFlags.BTagging.Trackless 
or 
   77                 prevFlags.BTagging.savePixelHits)
 
   78     icf.addFlag(
"InDet.saveSCTSiHits", 
lambda prevFlags:
 
   79                 prevFlags.BTagging.Trackless 
or 
   80                 prevFlags.BTagging.saveSCTHits)
 
   83     icf.addFlag(
"InDet.SCTxAODPrescale", 
 
   84                 lambda prevFlags: 50 
if prevFlags.Input.TriggerStream == 
'express' else (10 
if prevFlags.Input.TriggerStream == 
'IDprescaledL1' else 1))
 
   87     icf.addFlag(
"InDet.SCTxAODZmumuSkimming", 
False)
 
   88     icf.addFlag(
"InDet.SCTxAODSaveOnlyAssociatedMSOS", 
False)
 
   91     from InDetAlignConfig.IDAlignFlags 
import createInDetAlignFlags
 
   92     icf.addFlagsCategory(
"InDet.Align", createInDetAlignFlags, prefix=
True)
 
   96     from InDetAlignConfig.IDAlignFlags 
import createInDetAlignFlags
 
   97     icf.addFlagsCategory(
"InDet.Align", createInDetAlignFlags, prefix=
True)