Skip to content
Snippets Groups Projects
Commit 9e4e1685 authored by Michael Thomas Alexander's avatar Michael Thomas Alexander
Browse files

Add StrippingCache and tests for S31(r1).

parent aa445f41
No related branches found
No related tags found
1 merge request!120Add StrippingCache and tests for S31(r1)
"""
Options for building Stripping31 (PbPb stripping).
"""
#use CommonParticlesArchive
stripping='stripping31'
from CommonParticlesArchive import CommonParticlesArchiveConf
CommonParticlesArchiveConf().redirect(stripping)
from Gaudi.Configuration import *
MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
#
# Disable the cache in Tr/TrackExtrapolators
#
from Configurables import TrackStateProvider
TrackStateProvider().CacheStatesOnDemand = False
#
#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent (?)
#
#from Configurables import RawEventJuggler
#juggler = RawEventJuggler( DataOnDemand=True, Input=0.3, Output=4.2 )
#
#Fix for TrackEff lines (?)
#
from Configurables import DecodeRawEvent
DecodeRawEvent().setProp("OverrideInputs",4.2)
## remove GECs for pA
from Configurables import TrackSys
TrackSys().GlobalCuts = { 'Velo':20000, 'IT':999999, 'OT':999999 }
#
# Build the streams and stripping object
#
from StrippingConf.Configuration import StrippingConf, StrippingStream
from StrippingSettings.Utils import strippingConfiguration
from StrippingArchive.Utils import buildStreams
from StrippingArchive import strippingArchive
#get the configuration dictionary from the database
config = strippingConfiguration(stripping)
#get the line builders from the archive
archive = strippingArchive(stripping)
streams = buildStreams(stripping = config, archive = archive)
dstStreams = [ "IFT" ]
stripTESPrefix = 'Strip'
from Configurables import ProcStatusCheck, GaudiSequencer
filterBadEvents = ProcStatusCheck()
sc = StrippingConf( Streams = streams,
MaxCandidates = 2000,
AcceptBadEvents = False,
BadEventSelection = filterBadEvents,
TESPrefix = stripTESPrefix ,
DSTStreams = dstStreams)
#
# Configure the dst writers for the output
#
enablePacking = True
from DSTWriters.Configuration import (SelDSTWriter,
stripDSTStreamConf,
stripDSTElements
)
SelDSTWriterElements = { 'default' : stripDSTElements(pack=enablePacking) }
SelDSTWriterConf = { 'default' : stripDSTStreamConf(pack=enablePacking, selectiveRawEvent=True) }
dstWriter = SelDSTWriter( "MyDSTWriter",
StreamConf = SelDSTWriterConf,
MicroDSTElements = SelDSTWriterElements,
OutputFileSuffix ='000000',
SelectionSequences = sc.activeStreams()
)
# Add stripping TCK
from Configurables import StrippingTCK
stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x42153100)
#
# DaVinci Configuration
#
from Configurables import DaVinci
DaVinci().EvtMax = -1 # Number of events
DaVinci().HistogramFile = "DVHistos.root"
DaVinci().appendToMainSequence( [ sc.sequence() ] )
DaVinci().appendToMainSequence( [ stck ] )
DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
DaVinci().ProductionType = "Stripping"
# Change the column size of Timing table
from Configurables import TimingAuditor, SequencerTimerTool
TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
TimingAuditor().TIMER.NameSize = 60
"""
Options for building Stripping31r1 (2015 PbAr stripping).
"""
#use CommonParticlesArchive
stripping='stripping31r1'
from CommonParticlesArchive import CommonParticlesArchiveConf
CommonParticlesArchiveConf().redirect(stripping)
from Gaudi.Configuration import *
MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
#
# Disable the cache in Tr/TrackExtrapolators
#
from Configurables import TrackStateProvider
TrackStateProvider().CacheStatesOnDemand = False
#
#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent (?)
#
#from Configurables import RawEventJuggler
#juggler = RawEventJuggler( DataOnDemand=True, Input=0.3, Output=4.2 )
#
#Fix for TrackEff lines (?)
#
from Configurables import DecodeRawEvent
DecodeRawEvent().setProp("OverrideInputs",4.2)
## remove GECs for pA
from Configurables import TrackSys
TrackSys().GlobalCuts = { 'Velo':20000, 'IT':999999, 'OT':999999 }
#
# Build the streams and stripping object
#
from StrippingConf.Configuration import StrippingConf, StrippingStream
from StrippingSettings.Utils import strippingConfiguration
from StrippingArchive.Utils import buildStreams
from StrippingArchive import strippingArchive
#get the configuration dictionary from the database
config = strippingConfiguration(stripping)
#get the line builders from the archive
archive = strippingArchive(stripping)
streams = buildStreams(stripping = config, archive = archive)
dstStreams = [ "IFT" ]
stripTESPrefix = 'Strip'
from Configurables import ProcStatusCheck, GaudiSequencer
filterBadEvents = ProcStatusCheck()
sc = StrippingConf( Streams = streams,
MaxCandidates = 2000,
AcceptBadEvents = False,
BadEventSelection = filterBadEvents,
TESPrefix = stripTESPrefix ,
DSTStreams = dstStreams)
#
# Configure the dst writers for the output
#
enablePacking = True
from DSTWriters.Configuration import (SelDSTWriter,
stripDSTStreamConf,
stripDSTElements
)
SelDSTWriterElements = { 'default' : stripDSTElements(pack=enablePacking) }
SelDSTWriterConf = { 'default' : stripDSTStreamConf(pack=enablePacking, selectiveRawEvent=True) }
dstWriter = SelDSTWriter( "MyDSTWriter",
StreamConf = SelDSTWriterConf,
MicroDSTElements = SelDSTWriterElements,
OutputFileSuffix ='000000',
SelectionSequences = sc.activeStreams()
)
# Add stripping TCK
from Configurables import StrippingTCK
stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x42153110)
#
# DaVinci Configuration
#
from Configurables import DaVinci
DaVinci().EvtMax = -1 # Number of events
DaVinci().HistogramFile = "DVHistos.root"
DaVinci().appendToMainSequence( [ sc.sequence() ] )
DaVinci().appendToMainSequence( [ stck ] )
DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
DaVinci().ProductionType = "Stripping"
# Change the column size of Timing table
from Configurables import TimingAuditor, SequencerTimerTool
TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
TimingAuditor().TIMER.NameSize = 60
<?xml version="1.0" ?>
<!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'>
<extension class="GaudiTest.GaudiExeTest" kind="test">
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="timeout"><integer>3600</integer></argument>
<argument name="args"><set>
<text>-T</text>
<text>$DAVINCITESTSROOT/tests/options/Stripping/DV-Stripping31-Stripping.py</text>
<text>$APPCONFIGOPTS/DaVinci/DataType-2015.py</text>
<text>$STRIPPINGSELECTIONSROOT/tests/data/Reco15aLead15_Run169106_PbPb.py</text>
<text>$APPCONFIGOPTS/DaVinci/InputType-RDST.py</text>
<text>$APPCONFIGOPTS/DaVinci/DV-RawEventJuggler-0_3-to-4_2.py</text>
<text>$APPCONFIGOPTS/Persistency/Compression-ZLIB-1.py</text>
<text>$DAVINCITESTSROOT/tests/options/DaVinci-1000events.py</text>
<text>$DAVINCITESTSROOT/tests/options/DisableLoKiPythonFunctors.py</text>
<text>$DAVINCITESTSROOT/tests/options/EnableFPEAuditor.py</text>
</set></argument>
<argument name="reference"><text>../refs/test_stripping31_collision15_reco15aLead.ref</text></argument>
<argument name="validator"><text>
from DaVinciTests.QMTest.DaVinciExclusions import preprocessor
validateWithReference(preproc = preprocessor)
countErrorLines({"FATAL":0})
</text></argument>
</extension>
<?xml version="1.0" ?>
<!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'>
<extension class="GaudiTest.GaudiExeTest" kind="test">
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="timeout"><integer>3600</integer></argument>
<argument name="args"><set>
<text>-T</text>
<text>$DAVINCITESTSROOT/tests/options/Stripping/DV-Stripping31r1-Stripping.py</text>
<text>$APPCONFIGOPTS/DaVinci/DataType-2015.py</text>
<text>$STRIPPINGSELECTIONSROOT/tests/data/Reco16LeadSmog_Run168665_PbAr.py</text>
<text>$APPCONFIGOPTS/DaVinci/InputType-RDST.py</text>
<text>$APPCONFIGOPTS/DaVinci/DV-RawEventJuggler-0_3-to-4_2.py</text>
<text>$APPCONFIGOPTS/Persistency/Compression-ZLIB-1.py</text>
<text>$DAVINCITESTSROOT/tests/options/DaVinci-1000events.py</text>
<text>$DAVINCITESTSROOT/tests/options/DisableLoKiPythonFunctors.py</text>
<text>$DAVINCITESTSROOT/tests/options/EnableFPEAuditor.py</text>
</set></argument>
<argument name="reference"><text>../refs/test_stripping31r1_collision15_reco16LeadSmog.ref</text></argument>
<argument name="validator"><text>
from DaVinciTests.QMTest.DaVinciExclusions import preprocessor
validateWithReference(preproc = preprocessor)
countErrorLines({"FATAL":0})
</text></argument>
</extension>
source diff could not be displayed: it is too large. Options to address this: view the blob.
source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -42,7 +42,7 @@ if ( NOT "$ENV{CMTCONFIG}" STREQUAL "x86_64-slc6-gcc48-do0" )
set ( conf_deps ${deps} DaVinciConfUserDB )
# Build the caches, most recent first
foreach(strip 28 28r1 28r1p1)
foreach(strip 28 28r1 28r1p1 31)
# Stripping cache name
set ( sname S${strip}FunctorCache )
......
"""
Options for building Stripping31.
"""
stripping='stripping31'
#use CommonParticlesArchive
from CommonParticlesArchive import CommonParticlesArchiveConf
CommonParticlesArchiveConf().redirect(stripping)
from Gaudi.Configuration import *
MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
#
# Disable the cache in Tr/TrackExtrapolators
#
from Configurables import TrackStateProvider
TrackStateProvider().CacheStatesOnDemand = False
#
# Fix for TrackEff lines
#
from Configurables import DecodeRawEvent
DecodeRawEvent().setProp("OverrideInputs",4.2)
#
# Build the streams and stripping object
#
from StrippingConf.Configuration import StrippingConf, StrippingStream
from StrippingSettings.Utils import strippingConfiguration
from StrippingArchive.Utils import buildStreams
from StrippingArchive import strippingArchive
#get the configuration dictionary from the database
config = strippingConfiguration(stripping)
#get the line builders from the archive
archive = strippingArchive(stripping)
streams = buildStreams(stripping = config, archive = archive)
dstStreams = [ "IFT" ]
mdstStreams = []
stripTESPrefix = 'Strip'
from Configurables import ProcStatusCheck
# Fix for removal of default constructor for AALLSAMEBPV after DV v41r3.
# Thi has been fixed from S28 onwards.
#from Gaudi.Configuration import allConfigurables
#for conf in allConfigurables.values() :
# if hasattr(conf, 'CombinationCut') and 'AALLSAMEBPV' in conf.CombinationCut :
# conf.CombinationCut = conf.CombinationCut.replace('AALLSAMEBPV', 'AALLSAMEBPV(-1, -1, -1)')
sc = StrippingConf( Streams = streams,
MaxCandidates = 2000,
AcceptBadEvents = False,
BadEventSelection = ProcStatusCheck(),
TESPrefix = stripTESPrefix,
ActiveMDSTStream = True,
Verbose = True,
DSTStreams = dstStreams,
MicroDSTStreams = mdstStreams )
from Configurables import ApplicationMgr, AuditorSvc, SequencerTimerTool
# Initial IOV time
# http://www.onlineconversion.com/unix_time.htm
# values in ns (so multiply values from above link by 1e9)
#from Configurables import EventClockSvc
#EventClockSvc().EventTimeDecoder = "OdinTimeDecoder"
appMgr = ApplicationMgr()
appMgr.OutputLevel = 6
appMgr.ExtSvc += [ 'ToolSvc', 'AuditorSvc' ]
appMgr.HistogramPersistency = "ROOT"
ntSvc = NTupleSvc()
appMgr.ExtSvc += [ ntSvc ]
from Configurables import ( LHCbApp, PhysConf, AnalysisConf,
DstConf, LumiAlgsConf, DDDBConf )
#LHCbApp().DDDBtag = "dddb-20150724"
#LHCbApp().CondDBtag = "cond-20150805"
# Can be enabled for next full stack release
PhysConf().OutputLevel = appMgr.OutputLevel
#AnalysisConf().OutputLevel = appMgr.OutputLevel
datatype = "2015"
PhysConf().DataType = datatype
AnalysisConf().DataType = datatype
LumiAlgsConf().DataType = datatype
DDDBConf().DataType = datatype
inputType = "RDST"
LumiAlgsConf().InputType = inputType
PhysConf().InputType = inputType
unPack = ["Reconstruction"]
PhysConf().EnableUnpack = unPack
DstConf().EnableUnpack = unPack
lumiSeq = GaudiSequencer("LumiSeq")
LumiAlgsConf().LumiSequencer = lumiSeq
appMgr.TopAlg += [ PhysConf().initSequence(),
AnalysisConf().initSequence(),
sc.sequence(), lumiSeq ]
#from Configurables import DaVinci
#DaVinci().ProductionType = "Stripping"
#DaVinci().DataType = datatype
#DaVinci().DDDBtag = LHCbApp().DDDBtag
#DaVinci().CondDBtag = LHCbApp().CondDBtag
#DaVinci().appendToMainSequence( [ sc.sequence() ] )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment