# CMB switched on Vertex info # CMB added trigger decision #-------------------------------------------------------------- # Job configuration #-------------------------------------------------------------- from GaudiKernel.GaudiHandles import * from GaudiKernel.Proxy.Configurable import * import AthenaPoolCnvSvc.ReadAthenaPool from AthenaCommon.AppMgr import ServiceMgr from AthenaCommon.AppMgr import ToolSvc ServiceMgr.MessageSvc.defaultLimit = 9999999 DoReconstruction = False # True # DoTruth = True # False # DoTracklets = False # True # False # DoTrigger = True # False # if not DoReconstruction: DoTracklets = False #-------------------------------------------------------------- # load Global Flags and set defaults (import the new jobProperty globalflags) #-------------------------------------------------------------- ## Global flags #DetDescrVersion = 'ATLAS-GEO-14-01-01' DetDescrVersion = 'ATLAS-GEO-10-00-00' from AthenaCommon.GlobalFlags import globalflags from AthenaCommon.BeamFlags import jobproperties globalflags.DetGeo = 'atlas' globalflags.InputFormat = 'pool' globalflags.DetDescrVersion = DetDescrVersion globalflags.DataSource = 'data' # 'geant4' # jobproperties.Beam.beamType = 'collisions' # 'cosmics' # 'singlebeam' # if globalflags.DataSource != 'geant4': DoTruth = False else: globalflags.ConditionsTag = 'OFLCOND-DR-BS900-ANom-03' globalflags.print_JobProperties() ## Configure conditions if len(globalflags.ConditionsTag())!=0: from IOVDbSvc.CondDB import conddb conddb.setGlobalTag(globalflags.ConditionsTag()) ## Configure Pixel conditions from IOVDbSvc.CondDB import conddb conddb.addOverride('/PIXEL/PixMapOverlay', 'PixMapOverlay-Coll09-75-00') ## Beam properties import AthenaCommon.SystemOfUnits as Units jobproperties.Beam.numberOfCollisions = 2.0 # default in RecExCommon for 900 GeV jobproperties.Beam.energy = 450.*Units.GeV jobproperties.Beam.beamType = 'collisions' ## Solenoid state from AthenaCommon.BFieldFlags import jobproperties jobproperties.BField.solenoidOn=True ## Load Tracking Tools include( "MinBiasD3PDMaker/RecoOptions.py" ) ## Configure Trigger reading #if DoTrigger and False: # CMB original #if DoTrigger: # CMB change ## from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter # cfg = TriggerConfigGetter("ReadPool") # CMB original ## cfg = TriggerConfigGetter("ds") # CMB change # To read files with trigger config stored as in-file meta-data, ## CMB this block seems to work for trigger decision if DoTrigger: from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.configurationSourceList = ['ds'] # set up trigger config service from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter cfg = TriggerConfigGetter() ## CMB end of trigger block ## Configure Beam spot service if globalflags.DataSource == 'data': include("InDetBeamSpotService/BeamCondSvc.py") conddb.addOverride("/Indet/Beampos", 'IndetBeampos-r988-Collision_2009_02-v0') #-------------------------------------------------------------- # Configure the MinBiasD3PDMaker #-------------------------------------------------------------- import TrackD3PDMaker import D3PDMakerCoreComps import EventCommonD3PDMaker from D3PDMakerCoreComps.D3PDObject import D3PDObject ## Output file name #outFileName = '/tmp/pbehera/MinBiasD3PD-slim.root' outFileName = 'MinBiasD3PD.root' ## Top Sequence from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() ## Load MinBiasD3PDMaker if not "MinBiasD3PDMaker" in theApp.Dlls: theApp.Dlls += [ "MinBiasD3PDMaker" ] ## Preprocessing from MinBiasD3PDMaker.MinBiasD3PDMakerConf import MinBiasD3PD__MinBiasD3PDPreProcessing MinBiasD3PDPreProcessingAlg = MinBiasD3PD__MinBiasD3PDPreProcessing( name = "MinBiasD3PDPreProcessingAlg", OutputLevel = INFO ) topSequence += MinBiasD3PDPreProcessingAlg # TrackD3PDMaker Flags from TrackD3PDMaker.TrackD3PDMakerFlags import * TrackD3PDFlags.storeHitTruthMatching = True TrackD3PDFlags.storeDetailedTruth = True TrackD3PDFlags.storePixelHitsOnTrack = False TrackD3PDFlags.storeSCTHitsOnTrack = False TrackD3PDFlags.storeTRTHitsOnTrack = False TrackD3PDFlags.storePixelOutliersOnTrack = False TrackD3PDFlags.storeSCTOutliersOnTrack = False TrackD3PDFlags.storeTRTOutliersOnTrack = False TrackD3PDFlags.storePixelHolesOnTrack = False TrackD3PDFlags.storeSCTHolesOnTrack = False TrackD3PDFlags.storeTRTHolesOnTrack = False TrackD3PDFlags.storeTrackPredictionAtBLayer = True TrackD3PDFlags.storeTrackInfo = True TrackD3PDFlags.storeTrackFitQuality = True TrackD3PDFlags.storeTrackSummary = True TrackD3PDFlags.trackParametersAtGlobalPerigeeLevelOfDetails = 1 TrackD3PDFlags.trackParametersAtPrimaryVertexLevelOfDetails = 1 TrackD3PDFlags.trackParametersAtBeamSpotLevelOfDetails = 1 TrackD3PDFlags.storeTrackMomentum = True TrackD3PDFlags.vertexPositionLevelOfDetails = 1 TrackD3PDFlags.storeVertexTrackAssociation = True TrackD3PDFlags.storeVertexTrackIndexAssociation = True TrackD3PDFlags.doTruth = DoTruth ## Event Info from EventCommonD3PDMaker.EventInfoD3PDObject import makeEventInfoD3PDObject EventInfoD3PDObject = D3PDObject (makeEventInfoD3PDObject, 'ei_') EventInfoD3PDObject.defineBlock (0, 'eventID', EventCommonD3PDMaker.EventIDFillerTool) ## Beam Spot from MinBiasD3PDMaker.BeamSpotD3PDObject import BeamSpotD3PDObject ## BCM RDO from MinBiasD3PDMaker.BcmRdoD3PDObject import BcmRdoD3PDObject ## CTP RDO from MinBiasD3PDMaker.CtpRdoD3PDObject import CtpRdoD3PDObject ## CTP Decision from MinBiasD3PDMaker.CtpDecisionD3PDObject import CtpDecisionD3PDObject ## MBTS Tile Cells from MinBiasD3PDMaker.MbtsContainerD3PDObject import MbtsContainerD3PDObject ## MBTS LVL2 from MinBiasD3PDMaker.MbtsLvl2D3PDObject import MbtsLvl2D3PDObject ## SP LVL2 from MinBiasD3PDMaker.SpLvl2D3PDObject import SpLvl2D3PDObject ## TRT LVL2 from MinBiasD3PDMaker.TrtLvl2D3PDObject import TrtLvl2D3PDObject ## Trigger Track Counts from MinBiasD3PDMaker.TrkCntsEfD3PDObject import TrkCntsEfD3PDObject ## Trigger decisions ##from MinBiasD3PDMaker.TriggerDecisionD3PDObject import TriggerDecisionD3PDObject # CMB original ## CMB add in Attila's code for trigger decision from TriggerD3PDMaker.TrigDecisionD3PDObject import TrigDecisionD3PDObject #alg += TrigDecisionD3PDObject( 1 ) from TriggerD3PDMaker.TrigConfMetadata import addTrigConfMetadata #addTrigConfMetadata( d3pdalg ) ## Unassociated hits from MinBiasD3PDMaker.UnassociatedHitsD3PDObject import UnassociatedHitsD3PDObject from TrackD3PDMaker.TruthTrackD3PDObject import TruthTrackD3PDObject from TrackD3PDMaker.TruthVertexD3PDObject import TruthVertexD3PDObject from TrackD3PDMaker.TrackD3PDObject import TrackParticleD3PDObject from TrackD3PDMaker.TrackD3PDObject import PixelTrackD3PDObject from TrackD3PDMaker.TrackD3PDObject import SCTTrackD3PDObject from TrackD3PDMaker.TrackD3PDObject import TRTTrackD3PDObject from TrackD3PDMaker.VertexD3PDObject import PrimaryVertexD3PDObject from TrackD3PDMaker.V0D3PDObject import DefaultV0D3PDObject as V0D3PDObject from TrackD3PDMaker.PixelClusterD3PDObject import PixelClusterD3PDObject ## D3PD Maker alg alg = D3PDMakerCoreComps.MakerAlg('MinBiasTree', topSequence, outFileName) ## Add blocks to the tree alg += EventInfoD3PDObject(10) alg += BeamSpotD3PDObject(10) #alg += UnassociatedHitsD3PDObject(10) if DoTrigger: # alg += BcmRdoD3PDObject(10) alg += CtpRdoD3PDObject(10) alg += CtpDecisionD3PDObject(10) alg += MbtsContainerD3PDObject(10) alg += MbtsLvl2D3PDObject(10) alg += SpLvl2D3PDObject(10) alg += TrtLvl2D3PDObject(10) alg += TrkCntsEfD3PDObject(10) ## CMB add in Attila's code for trigger decision alg += TrigDecisionD3PDObject(10) addTrigConfMetadata( alg ) ## CMB end of trigger block #alg += V0D3PDObject(10) #alg += PixelClusterD3PDObject(10) if DoTruth: alg += TruthVertexD3PDObject(10) alg += TruthTrackD3PDObject(10) alg += PrimaryVertexD3PDObject(10) alg += TrackParticleD3PDObject(10) if DoTracklets: alg += PixelTrackD3PDObject(10) alg += SCTTrackD3PDObject(10) alg += TRTTrackD3PDObject(10) ## Configure input #ServiceMgr.EventSelector.InputCollections = [ "ESD.pool.root" ] #ServiceMgr.EventSelector.InputCollections = [ "/unix/atlas2/ESDs/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0241._SFO-7._0001.1" ] ServiceMgr.EventSelector.InputCollections = [ "/data/atlas04/buttar/data/vdm-r166850/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0166._SFO-6._0001.1", "/data/atlas04/buttar/data/vdm-r166850/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0286._SFO-9._0001.1", "/data/atlas04/buttar/data/vdm-r166850/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0245._SFO-1._0001.1", "/data/atlas04/buttar/data/vdm-r166850/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0289._SFO-5._0001.1", "/data/atlas04/buttar/data/vdm-r166850/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296/data10_7TeV.00166850.physics_MinBias.recon.ESD.f296._lb0261._SFO-1._0001.1"] theApp.EvtMax = -1 ServiceMgr.EventSelector.SkipEvents = 0