def FastClusterMakerTool(name="FastClusterMakerTool", **kwargs): from Digitization.DigitizationFlags import digitizationFlags #FIXME: at some point we should move away from being dependent on the experimentalDigi flags. if 'doFastSCT_Digi' in digitizationFlags.experimentalDigi( ) and not 'doFastPixelDigi' in digitizationFlags.experimentalDigi(): kwargs.setdefault("UsePixelCalibCondDB", False) kwargs.setdefault("PixelCalibSvc", "") kwargs.setdefault("PixelOfflineCalibSvc", "") else: from AthenaCommon.Include import include include("PixelConditionsServices/PixelDCSSvc_jobOptions.py") include.block("PixelConditionsServices/PixelDCSSvc_jobOptions.py") from AthenaCommon.AppMgr import ToolSvc if not hasattr(ToolSvc, "PixelRecoDbTool"): from PixelConditionsTools.PixelConditionsToolsConf import PixelRecoDbTool ToolSvc += PixelRecoDbTool() ToolSvc.PixelRecoDbTool.InputSource = 1 # setup PixelCalibDbTool in ToolSvc if not hasattr(ToolSvc, "PixelCalibDbTool"): from PixelConditionsTools.PixelConditionsToolsConf import PixelCalibDbTool ToolSvc += PixelCalibDbTool() from IOVDbSvc.CondDB import conddb if not conddb.folderRequested('/PIXEL/PixCalib'): conddb.addFolder("PIXEL_OFL", "/PIXEL/PixCalib") if not conddb.folderRequested('/PIXEL/ReadoutSpeed'): conddb.addFolder("PIXEL_OFL", "/PIXEL/ReadoutSpeed") from AthenaCommon.AppMgr import ServiceMgr if not hasattr(ServiceMgr, "PixelCalibSvc"): from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibSvc InDetPixelCalibSvc = PixelCalibSvc() ServiceMgr += InDetPixelCalibSvc if not hasattr(ServiceMgr, "PixelSiPropertiesSvc"): from SiLorentzAngleSvc.LorentzAngleSvcSetup import lorentzAngleSvc from SiPropertiesSvc.SiPropertiesSvcConf import SiPropertiesSvc PixelSiPropertiesSvc = SiPropertiesSvc( name="PixelSiPropertiesSvc", DetectorName="Pixel", SiConditionsServices=lorentzAngleSvc.pixelSiliconConditionsSvc) ServiceMgr += PixelSiPropertiesSvc if not hasattr(ServiceMgr, "PixelOfflineCalibSvc"): from PixelConditionsServices.PixelConditionsServicesConf import PixelOfflineCalibSvc ServiceMgr += PixelOfflineCalibSvc() ServiceMgr.PixelOfflineCalibSvc.HDCFromCOOL = False from AthenaCommon import CfgMgr return CfgMgr.InDet__ClusterMakerTool(name, **kwargs)
include.block("PixelConditionsServices/PixelCalibSvc_jobOptions.py") # load library #theApp.Dlls += [ "PixelConditionsServices" ] #from AthenaCommon.AppMgr import ToolSvc # configure PixelCalibSvc from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibSvc ServiceMgr += PixelCalibSvc() PixelCalibSvc = ServiceMgr.PixelCalibSvc # configure PixelCalibDbTool #from PixelConditionsTools.PixelConditionsToolsConf import PixelCalibDbTool #ToolSvc +=PixelCalibDbTool() #theApp.ExtSvc += [ "PixelCalibSvc" ] #PixelCalibSvc = Service( "PixelCalibSvc" ) #theApp.Dlls += [ "PixelConditionsTools" ] #theApp.Dlls +=["DetDescrCondTools","DetDescrCondExample"] #if 'InDetCabling' not in theApp.Dlls: # theApp.Dlls += [ "InDetCabling" ] # setup for ToolSvc #ToolSvc = Service( "ToolSvc" ) #ToolSvc.ConditionsAlgStream.OutputFile="dummy.root" # this example is for a local SQlite file mysqlfile.db, COOL DB named COOLTEST #IOVDbSvc.dbConnection="impl=cool;techno=oracle;ATLAS_COOLPROD:COMP130:ATLAS_COOL_READER:COOLRED4PRD" #IOVDbSvc.Folders+=[CondDBCool.PIXEL + "/PIXEL/PixCalib" + "<tag>PixCalib-Assembly-01</tag>"] #IOVDbSvc.GlobalTag ="PixCalib-Assembly-00" #IOVDbSvc.OutputLevel = DEBUG
from IOVDbSvc.CondDB import conddb from PixelConditionsTools.PixelConditionsToolsConf import PixelRecoDbTool ToolSvc += PixelRecoDbTool() ToolSvc.PixelRecoDbTool.InputSource = 1 from PixelConditionsTools.PixelConditionsToolsConf import PixelCalibDbTool ToolSvc += PixelCalibDbTool() if not conddb.folderRequested('/PIXEL/PixCalib'): conddb.addFolder("PIXEL_OFL","/PIXEL/PixCalib") if not conddb.folderRequested('/PIXEL/ReadoutSpeed'): conddb.addFolder("PIXEL_OFL","/PIXEL/ReadoutSpeed") from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibSvc InDetPixelCalibSvc = PixelCalibSvc() ServiceMgr += InDetPixelCalibSvc from FastSiDigitization.FastSiDigitizationConf import PixelFastDigitization # now add config class to algsequence() from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() if digitizationFlags.doXingByXingPileUp(): from FastSiDigitization.FastSiDigitizationConf import PixelFastDigitizationTool job.PileUpToolsAlg.PileUpTools += [ PixelFastDigitizationTool() ] pix = job.PileUpToolsAlg.PileUpTools[ "PixelFastDigitizationTool" ] else: job += PixelFastDigitization("PixelFastDigitization")
def createSvc(self): from AthenaCommon.AppMgr import ToolSvc, ServiceMgr, theApp from IOVDbSvc.CondDB import conddb from PixelConditionsServices.PixelConditionsServicesConf import PixelConditionsSummarySvc as pixSummarySvc PixelConditionsSummarySvc = \ pixSummarySvc(name=self.instanceName('PixelConditionsSummarySvc'), UseDCS = self.useDCS, UseByteStream=self.useBS, #UseSpecialPixelMap= not self.onlineMode, UseSpecialPixelMap=True, UseTDAQ=self.useTDAQ ) #active states used by dcs (if on) if self.useDCS and not self.onlineMode: PixelConditionsSummarySvc.IsActiveStates = ['READY', 'ON'] PixelConditionsSummarySvc.IsActiveStatus = ['OK', 'WARNING'] ServiceMgr += PixelConditionsSummarySvc if self._print: print PixelConditionsSummarySvc # #create another instance of the PixelConditionsSummarySvc w/o BS # # service to be used with RegionSelector # InDetTrigRSPixelConditionsSummarySvc = pixSummarySvc(name='InDetTrigRSPixelConditionsSummarySvc', # UseDCS = self.useDCS, # UseByteStream=self.useBS # UseSpecialPixelMap= True, # ) # ServiceMgr += InDetTrigRSPixelConditionsSummarySvc # if self._print: print InDetTrigRSPixelConditionsSummarySvc if not self.onlineMode: from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibSvc PixelCalibSvc = PixelCalibSvc( name=self.instanceName('PixelCalibSvc')) if not conddb.folderRequested("/PIXEL/PixCalib"): conddb.addFolder("PIXEL_OFL", "/PIXEL/PixCalib") if self._print: print PixelCalibSvc #only when inputsource=1 #if not conddb.folderRequested("/PIXEL/PixReco"): # conddb.addFolder("PIXEL_OFL","/PIXEL/PixReco") if not conddb.folderRequested("/PIXEL/PixReco"): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/PixReco", "/PIXEL/PixReco") #Configure PixelRecoDbTool from PixelConditionsTools.PixelConditionsToolsConf import PixelRecoDbTool PixelRecoDbTool = PixelRecoDbTool( name=self.instanceName('PixelRecoDbTool')) ToolSvc += PixelRecoDbTool PixelRecoDbTool.InputSource = 2 # if self.onlineMode: # PixelRecoDbTool.InputSource = 1 #after change of run1 conditions # else: # PixelRecoDbTool.InputSource = 2 if self._print: print PixelRecoDbTool #use corresponding PixelRecoDBTool from PixelConditionsServices.PixelConditionsServicesConf import PixelOfflineCalibSvc PixelOfflineCalibSvc = PixelOfflineCalibSvc( self.instanceName('PixelOfflineCalibSvc')) PixelOfflineCalibSvc.PixelRecoDbTool = PixelRecoDbTool ServiceMgr += PixelOfflineCalibSvc if self._print: print PixelOfflineCalibSvc ### configure the special pixel map service if not (conddb.folderRequested("/PIXEL/PixMapShort") or conddb.folderRequested("/PIXEL/Onl/PixMapShort")): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/PixMapShort", "/PIXEL/PixMapShort") if not (conddb.folderRequested("/PIXEL/PixMapLong") or conddb.folderRequested("/PIXEL/Onl/PixMapLong")): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/PixMapLong", "/PIXEL/PixMapLong") if not (conddb.folderRequested("/PIXEL/NoiseMapShort") or conddb.folderRequested("/PIXEL/Onl/NoiseMapShort")): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/NoiseMapShort", "/PIXEL/NoiseMapShort") if not (conddb.folderRequested("/PIXEL/NoiseMapLong") or conddb.folderRequested("/PIXEL/Onl/NoiseMapLong")): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/NoiseMapLong", "/PIXEL/NoiseMapLong") if not (conddb.folderRequested("/PIXEL/PixMapOverlay") or conddb.folderRequested("/PIXEL/Onl/PixMapOverlay")): conddb.addFolderSplitOnline("PIXEL", "/PIXEL/Onl/PixMapOverlay", "/PIXEL/PixMapOverlay") from PixelConditionsServices.PixelConditionsServicesConf import SpecialPixelMapSvc SpecialPixelMapSvc = SpecialPixelMapSvc(name='SpecialPixelMapSvc') ServiceMgr += SpecialPixelMapSvc SpecialPixelMapSvc.DBFolders = [ "/PIXEL/PixMapShort", "/PIXEL/PixMapLong" ] SpecialPixelMapSvc.SpecialPixelMapKeys = [ "SpecialPixelMap", "SpecialPixelMapLong" ] SpecialPixelMapSvc.DBFolders += [ "/PIXEL/NoiseMapShort", "/PIXEL/NoiseMapLong" ] SpecialPixelMapSvc.SpecialPixelMapKeys += [ "NoiseMapShort", "NoiseMapLong" ] SpecialPixelMapSvc.OverlayKey = "PixMapOverlay" SpecialPixelMapSvc.OverlayFolder = "/PIXEL/PixMapOverlay" ServiceMgr += SpecialPixelMapSvc #theApp.CreateSvc += [ 'SpecialPixelMapSvc/%s' % self.instanceName('SpecialPixelMapSvc') ] if self._print: print SpecialPixelMapSvc from AthenaCommon.AthenaCommonFlags import athenaCommonFlags from AthenaCommon.GlobalFlags import globalflags if self.useDCS or self.onlineMode: #sim if globalflags.DataSource() == 'geant4' or ( not athenaCommonFlags.isOnline()): if not conddb.folderRequested('/PIXEL/DCS/TEMPERATURE'): conddb.addFolder("DCS_OFL", "/PIXEL/DCS/TEMPERATURE") if not conddb.folderRequested('/PIXEL/DCS/HV'): conddb.addFolder("DCS_OFL", "/PIXEL/DCS/HV") if not conddb.folderRequested('/PIXEL/DCS/FSMSTATUS'): conddb.addFolder("DCS_OFL", "/PIXEL/DCS/FSMSTATUS") if not conddb.folderRequested('/PIXEL/DCS/FSMSTATE'): conddb.addFolder("DCS_OFL", "/PIXEL/DCS/FSMSTATE") else: if not conddb.folderRequested('/PIXEL/HLT/DCS/TEMPERATURE'): conddb.addFolder("PIXEL_ONL", "/PIXEL/HLT/DCS/TEMPERATURE") #conddb.addFolder("PIXEL","/PIXEL/HLT/DCS/TEMPERATURE <tag>PixDCSTemp-UPD1-00</tag>") if not conddb.folderRequested('/PIXEL/HLT/DCS/HV'): conddb.addFolder("PIXEL_ONL", "/PIXEL/HLT/DCS/HV") #conddb.addFolder("PIXEL","/PIXEL/HLT/DCS/HV <tag>PixDCSHV-UPD1-00</tag>") from PixelConditionsServices.PixelConditionsServicesConf import PixelDCSSvc InDetPixelDCSSvc = PixelDCSSvc( name='TrigPixelDCSSvc', RegisterCallback=True, TemperatureFolder="/PIXEL/DCS/TEMPERATURE", HVFolder="/PIXEL/DCS/HV", FSMStatusFolder="/PIXEL/DCS/FSMSTATUS", FSMStateFolder="/PIXEL/DCS/FSMSTATE", TemperatureFieldName="temperature", HVFieldName="HV", FSMStatusFieldName="FSM_status", FSMStateFieldName="FSM_state", UseFSMStatus=False, UseFSMState=False) if globalflags.DataSource() == 'data': if (not athenaCommonFlags.isOnline()): InDetPixelDCSSvc.TemperatureFolder = "/PIXEL/DCS/TEMPERATURE" InDetPixelDCSSvc.HVFolder = "/PIXEL/DCS/HV" else: InDetPixelDCSSvc.TemperatureFolder = "/PIXEL/HLT/DCS/TEMPERATURE" InDetPixelDCSSvc.HVFolder = "/PIXEL/HLT/DCS/HV" ServiceMgr += InDetPixelDCSSvc if self.useDCS or self.onlineMode: if self._print: print InDetPixelDCSSvc #this needs also updates how LorentzAngleSvc is accessed () from SiLorentzAngleSvc.SiLorentzAngleSvcConf import SiLorentzAngleSvc PixelLorentzAngleSvc = SiLorentzAngleSvc(name='PixelLorentzAngleSvc') from PixelConditionsServices.PixelConditionsServicesConf import PixelSiliconConditionsSvc pixelSiliconConditionsSvc = PixelSiliconConditionsSvc( name=self.instanceName('PixelSiliconConditionsSvc'), PixelDCSSvc='TrigPixelDCSSvc') pixelSiliconConditionsSvc.ForceUseGeoModel = False pixelSiliconConditionsSvc.UseDBForHV = True pixelSiliconConditionsSvc.UseDBForTemperature = True ServiceMgr += pixelSiliconConditionsSvc PixelLorentzAngleSvc.SiConditionsServices = pixelSiliconConditionsSvc PixelLorentzAngleSvc.UseMagFieldSvc = True #may need also MagFieldSvc instance #if self.useDCS or self.onlineMode: #if (globalflags.DataSource() == 'data'): #else: #pixelSiliconConditionsSvc.ForceUseGeoModel = True #PixelLorentzAngleSvc.pixelForceUseGeoModel() if self._print: print pixelSiliconConditionsSvc print PixelLorentzAngleSvc
#conddb.addFolder("PIXEL_OFL","/PIXEL/PixMapOverlay") #conddb.addOverride('/PIXEL/PixMapShort','PixMapShort-Test-00') #conddb.addOverride('/PIXEL/PixMapLong','PixMapLong-Test-00') if mySQ: if isIBL: conddb.iovdbsvc.Folders = [ "<dbConnection>sqlite://;schema=pixmapdb_ibl3ddbm_IBL3D25DBM-04-01.db;dbname=OFLP200</dbConnection> /PIXEL/PixCalib <tag>PixCalib-IBL3D25DBM-04-01</tag>" ] else: conddb.iovdbsvc.Folders = [ "<dbConnection>sqlite://;schema=pixmapdb.db;dbname=OFLP200</dbConnection> /PIXEL/PixCalib <tag>PixCalib-IBL3D25DBM-04-01</tag>" ] else: conddb.addFolder("PIXEL_OFL","/PIXEL/PixCalib") ### configure the special pixel map service from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibSvc PixelCalibSvc = PixelCalibSvc() ServiceMgr.EventSelector.RunNumber = 282222 #ServiceMgr.EventSelector.RunNumber = 222222 #ServiceMgr.EventSelector.RunNumber = 200805 ### define the job from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() from PixelConditionsServices.PixelConditionsServicesConf import PixelCalibServiceTest job +=PixelCalibServiceTest(OutputTextFile =myOutput, MakeDummy = TRUE )