6 from PyJobTransforms.CommonRunArgsToFlags 
import commonRunArgsToFlags
 
    7 from PyJobTransforms.TransformUtils 
import processPreExec, processPreInclude, processPostExec, processPostInclude
 
    8 from LArCalibTools.LArSC2NtupleConfig 
import LArSC2NtupleCfg
 
    9 from AthenaConfiguration.MainServicesConfig 
import MainServicesCfg
 
   14     from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
   17     from TrigConfigSvc.TrigConfigSvcCfg 
import L1ConfigSvcCfg, HLTConfigSvcCfg, L1PrescaleCondAlgCfg, HLTPrescaleCondAlgCfg
 
   18     from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig 
import L1TriggerByteStreamDecoderCfg
 
   27     from TrigConfigSvc.TrigConfigSvcCfg 
import BunchGroupCondAlgCfg
 
   30     from AthenaConfiguration.ComponentFactory 
import CompFactory
 
   31     tdm = CompFactory.getComp(
'TrigDec::TrigDecisionMakerMT')()
 
   34     acc.addEventAlgo( tdm, 
'AthAlgSeq' )
 
   41     from AthenaCommon.Logging 
import logging
 
   42     mlog_SCD = logging.getLogger( 
'LArSCDumpSkeleton' )
 
   44     from AthenaConfiguration.AllConfigFlags 
import initConfigFlags    
 
   47     from LArCafJobs.LArSCDumperFlags 
import addSCDumpFlags
 
   55     flags.Input.Files=runArgs.inputBSFile
 
   56     flags.LArSCDump.outputNtup=runArgs.outputNTUP_SCMONFile
 
   59     flags.LArSCDump.doGeom=
False 
   61     if hasattr(runArgs,
"ETThresh"):
 
   62          flags.LArSCDump.ETThresh=
float(runArgs.ETThresh)
 
   64     if hasattr(runArgs,
"ETThreshMain"):
 
   65          flags.LArSCDump.ETThreshMain=
float(runArgs.ETThreshMain)
 
   69        runinfo=
getLArDTInfoForRun(flags.Input.RunNumbers[0], connstring=
"COOLONL_LAR/CONDBR2")
 
   71        mlog_SCD.warning(
"Could not get DT run info, using defaults !")   
 
   72        flags.LArSCDump.doEt=
True 
   73        flags.LArSCDump.nSamples=5
 
   78        fw=runinfo.FWversion()
 
   80        flags.LArSCDump.digitsKey=
"" 
   81        for i 
in range(0,len(runinfo.streamTypes())):
 
   82           if runinfo.streamTypes()[i] ==  
"SelectedEnergy":
 
   84                 flags.LArSCDump.doEt=
True 
   85                 flags.LArSCDump.nEt=runinfo.streamLengths()[i]
 
   86           elif runinfo.streamTypes()[i] ==  
"Energy":
 
   88                 flags.LArSCDump.doEt=
True 
   89                 flags.LArSCDump.nEt=runinfo.streamLengths()[i]
 
   90           elif runinfo.streamTypes()[i] ==  
"RawADC":
 
   91                 flags.LArSCDump.digitsKey=
"SC" 
   92                 flags.LArSCDump.nSamples=runinfo.streamLengths()[i]
 
   93           elif runinfo.streamTypes()[i] ==  
"ADC":
 
   94                 CKeys += [
"SC_ADC_BAS"]
 
   95                 flags.LArSCDump.nSamples=runinfo.streamLengths()[i]
 
   98        flags.LArSCDump.doRawChan=
True 
   99        flags.LArSCDump.fillNoisyRO=
False 
  100        CKeys+=[
"LArRawChannels"]
 
  102     mlog_SCD.debug(
"CKeys generated %s",
str(CKeys))   
 
  104     flags.Trigger.triggerConfig = 
'DB' 
  105     flags.Trigger.L1.doCTP = 
True 
  106     flags.Trigger.L1.doMuon = 
False 
  107     flags.Trigger.L1.doCalo = 
False 
  108     flags.Trigger.L1.doTopo = 
False 
  110     flags.Trigger.enableL1CaloLegacy = 
True 
  111     flags.Trigger.enableL1CaloPhase1 = 
True 
  121     from TrigDecisionTool.TrigDecisionToolConfig 
import TrigDecisionToolCfg
 
  124     from LArGeoAlgsNV.LArGMConfig 
import LArGMCfg
 
  128        from IOVDbSvc.IOVDbSvcConfig 
import addOverride
 
  129        cfg.merge(
addOverride(flags,
"/LAR/Identifier/LatomeMapping",
"LARIdentifierLatomeMapping-fw6"))
 
  131     if flags.LArSCDump.doBC:
 
  133        from LArBadChannelTool.LArBadChannelConfig 
import  LArBadFebCfg, LArBadChannelCfg
 
  137     from LArCellRec.LArTimeVetoAlgConfig 
import LArTimeVetoAlgCfg
 
  140     cfg.merge(
LArSC2NtupleCfg(flags, AddBadChannelInfo=flags.LArSCDump.doBC, AddFEBTempInfo=
False, isSC=
True, isFlat=
False,
 
  141                             OffId=flags.LArSCDump.doOfflineId, AddHash=flags.LArSCDump.doHash, AddCalib=flags.LArSCDump.doCalib, 
 
  142                             RealGeometry=flags.LArSCDump.doGeom, ExpandId=flags.LArSCDump.expandId, BadChanKey=
"LArBadChannelSC", 
 
  143                             NSamples=flags.LArSCDump.nSamples, FTlist=[], FillBCID=flags.LArSCDump.doBCID, ContainerKey=flags.LArSCDump.digitsKey,  
 
  144                             SCContainerKeys=CKeys, OverwriteEventNumber = flags.LArSCDump.overwriteEvN, Net=flags.LArSCDump.nEt, 
 
  145                             FillRODEnergy = flags.LArSCDump.doRawChan, FillLB = 
True, FillTriggerType = 
True,
 
  146                             ETThreshold = flags.LArSCDump.ETThresh, ETThresholdMain = flags.LArSCDump.ETThreshMain, ADCThreshold=
int(runArgs.ADCThresh),
 
  147                             TrigNames=[
"L1_EM3",
"L1_EM7",
"L1_EM15",
"L1_EM22VHI",
"L1_eEM5",
"L1_eEM15",
"L1_eEM22M"],
 
  148                             TrigDecisionTool=tdt,
 
  151     if os.path.exists(flags.LArSCDump.outputNtup):
 
  152           os.remove(flags.LArSCDump.outputNtup)
 
  153     from AthenaConfiguration.ComponentFactory 
import CompFactory
 
  154     cfg.addService(CompFactory.NTupleSvc(Output = [ 
"FILE1 DATAFILE='"+flags.LArSCDump.outputNtup+
"' OPT='NEW'" ]))
 
  155     cfg.setAppProperty(
"HistogramPersistency",
"ROOT")
 
  167     sys.exit(
not sc.isSuccess())