Commit 8edb4176 authored by Alex Pearce's avatar Alex Pearce
Browse files

added GaudiConf from LHCb (LHCb/v41r0)

parent da11bc8b
......@@ -34,3 +34,6 @@
[lb-checkout "LHCb.Event/EventPacker"]
base = bc8b6f3624f30836b6286160a8ae09798f5ad829
imported = 26b40caca408e53f5959c238cd35d37f88411761
[lb-checkout "LHCb.GaudiConf"]
base = 6f88dc5a9b461c38a49a258e1eb975555c7dd0ae
imported = 26b40caca408e53f5959c238cd35d37f88411761
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>GaudiConf</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>
################################################################################
# Package: GaudiConf
################################################################################
gaudi_subdir(GaudiConf v19r20)
gaudi_depends_on_subdirs(Kernel/LHCbKernel
L0/L0DU
DAQ/RawEventCompat
Event/EventPacker
)
set_property(DIRECTORY PROPERTY CONFIGURABLE_USER_MODULES
GaudiConf.SimConf GaudiConf.DigiConf GaudiConf.CaloPackingConf
GaudiConf.DstConf GaudiConf.TurboConf)
gaudi_install_python_modules()
gaudi_env(SET STDOPTS \${GAUDICONFROOT}/options)
gaudi_add_test(QMTest QMTEST)
package GaudiConf
version v19r20
branches doc cmt options python src tests
include_path none
use LHCbKernel v* Kernel # For LHCbConfigurableUser dependency
use GaudiPolicy v*
# For L0 Decoding (Awaiting reorganisation of DAQ decoding options).
use L0DU v* L0
use RawEventCompat v* DAQ
use RawEventFormat v*
use EventPacker v* Event
ignore_pattern package_stamps
set STDOPTS $(GaudiConf_root)/options
macro_append cppflags ' -DAPPNAME=\"${package}\" -DAPPVERS=\"${version}\" '
macro GaudiConfConfUserModules "GaudiConf.SimConf GaudiConf.DigiConf GaudiConf.CaloPackingConf GaudiConf.DstConf GaudiConf.TurboConf"
apply_pattern install_python_modules
#QM tests
private
macro MDF_use "" QMTest "MDF v* DAQ -no_auto_imports"
use $(MDF_use)
apply_pattern QMTest
end_private
This diff is collapsed.
from Gaudi.Configuration import *
# Job options to configure the data on demand service for decoding the RawEvent
print "# WARNING: You have imported DecodeRawEvent.py, this is now replaced with a configurable. See savannah task #19106."
from Configurables import DecodeRawEvent
DecodeRawEvent().DataOnDemand=True
importOptions( "$L0TCK/L0DUConfig.opts" )
OutputDSTSeq.Members += { "TrackToDST/MuonTrackToDST" };
MuonTrackToDST.TracksInContainer = "/Event/Rec/Muon/MuonsTrackForAlignment";
MuonTrackToDST.StoreAllStates = True;
MuonTrackToDST.OutputLevel = 5;
DstWriter.ItemList += { "/Event/Rec/Muon/MuonsTrackForAlignment#1" }
// Options for enabling FPEAuditor
ApplicationMgr.ExtSvc += { "AuditorSvc" };
AuditorSvc.Auditors += { "FPEAuditor" };
// .TrapOn takes a list of floating point exceptions
FPEAuditor.TrapOn = { "DivByZero", "Overflow", "Underflow" };
//.ActivateAt takes a list of 'standard events', i.e. "Initialize","BeginRun", ... , "Finalize"
FPEAuditor.ActivateAt = {"Execute" };
// You can also skip some algorithms:
//FPEAuditor.DisableTrapFor = {"AnAlg","AnotherAlg" };
This diff is collapsed.
// $Id: GenContent.opts,v 1.3 2006-10-23 07:04:41 gcorti Exp $
/** @file
*
* Contents of .sim generator level output
*
* @author F.Ranjard
* @author G.Corti
* @date: modified 21 Feb 2001
*/
// Generator output
GaussTape.ItemList = {
"/Event/Gen/Header#1"
,"/Event/Gen/Collisions#1"
,"/Event/Gen/HepMCEvents#1"
};
// $Header: /afs/cern.ch/project/cvs/reps/lhcb/GaudiConf/options/Hbook.opts,v 1.3 2006-12-20 12:57:25 cattanem Exp $
//-------------------------------------------------------------
// Standard options for HBOOK histogram and N-tuple persistency
//-------------------------------------------------------------
ApplicationMgr.HistogramPersistency = "HBOOK";
//--------------------------------------------------------------
// Interactive Gaudi setup
//--------------------------------------------------------------
ApplicationMgr.Runable = "PythonScriptingSvc";
ApplicationMgr.ExtSvc += {"IntrospectionSvc"};
IntrospectionSvc.Dictionaries += {"LHCbKernelDict",
"EventDict",
"EventKernelDict",
"PhysEventDict" };
//IntrospectionSvc.OutputLevel = 1;
PythonScriptingSvc.StartupScript = "../options/startup.py";
{
XmlTools : string setItem
Memcheck:Leak
fun:_Znam
fun:_ZL7setItemPKcS0_RK4ItemP6Struct
}
{
XmlTools::Evaluator::setVariable(char const*, char const*)
Memcheck:Leak
fun:_Znam
fun:_ZN8XmlTools9Evaluator11setVariableEPKcS2_
}
// Job options to be included by a standard LHCb application
// Allow units to be used in jobOptions
#units "$STDOPTS/units.opts"
// Set up the transient data store
EventDataSvc.ForceLeaves = true;
EventDataSvc.RootCLID = 1;
// Geometry
#include "$DDDBROOT/options/DDDB.opts"
// Configure the DataOnDemand Service
EventDataSvc.EnableFaultHandler = true ;
//---------------------------------------------------------------------------
// Job options to copy one or more raw data input files onto an output file
//---------------------------------------------------------------------------
ApplicationMgr.HistogramPersistency = "NONE";
EventSelector.PrintFreq = 1;
// Set up the transient data store
EventDataSvc.RootCLID = 1;
// Conversion service for Raw data
EventPersistencySvc.CnvServices += { "LHCb::RawDataCnvSvc" };
// Set up the output file (change MyCopy.mdf to name wanted for the file copy)
ApplicationMgr.OutStream += { "LHCb::MDFWriter/Writer_2" };
Writer_2.Connection = "PFN:root:file:TheCopy.mdf";
Writer_2.Compress = 0;
Writer_2.GenerateMD5 = true;
// Input file to be copied. Change the file name to the file to be copied
EventSelector.Input = { "DATA='file:TheOriginal.mdf' SVC='LHCb::MDFSelector'" };
/* $Id : $
*
* Preload units of you want to include .opts options from py.
*/
#units "$STDOPTS/units.opts"
// Job options to set up the persistency service for IO of MDF files
EventPersistencySvc.CnvServices += { "LHCb::RawDataCnvSvc" };
// $Id: RootHist.opts,v 1.3 2006-12-20 12:57:26 cattanem Exp $
//-------------------------------------------------------------
// Standard options for ROOT histogram and N-tuple persistency
//-------------------------------------------------------------
ApplicationMgr.HistogramPersistency = "ROOT";
from Gaudi.Configuration import *
#for triggered slot t0
importOptions('$STDOPTS/DecodeRawEvent.py')
#for the rest (except RICH and L0)
bunch = ["Prev3","Next3","Prev2","Next2","Prev1","Next1"]
dondem = DataOnDemandSvc()
# calos
from Configurables import CaloDigitsFromRaw,CaloZSupAlg
calo_conf = {}
for d in ["Spd","Prs","Ecal","Hcal"] :
for b in bunch :
if d=="Spd" or d=="Prs" :
calo_conf[d+b] = CaloDigitsFromRaw(d+'FromRaw'+b)
else :
calo_conf[d+b] = CaloZSupAlg(d+'ZSup'+b)
calo_conf[d+b].RootInTES = b
dondem.AlgMap['/Event/'+b+'/Raw/'+d+'/Digits']=calo_conf[d+b].getFullName()
# ot
from Configurables import OTTimeCreator,OTRawBankDecoder
ot_conf = {}
for b in bunch :
ot_conf['oTTimeCreator'+b] = OTTimeCreator('OTTimeCreator'+b)
ot_conf['oTTimeCreator'+b].OutputLocation = b+'/Raw/OT/Times'
ot_conf['oTTimeCreator'+b].addTool(OTRawBankDecoder, name='OTRawBankDecoder')
ot_conf['oTTimeCreator'+b].OTRawBankDecoder.RawEventLocation = b+'/DAQ/RawEvent'
dondem.AlgMap['/Event/'+b+'/Raw/OT/Times'] = ot_conf['oTTimeCreator'+b].getFullName()
from Configurables import MuonRec, MuonRawBuffer
muon_conf = {}
for b in bunch :
muon_conf['MuonRec'+b] = MuonRec('MuonRec'+b)
muon_conf['MuonRec'+b].RootInTES = b
muon_conf['MuonRec'+b].Context = 'TAE'
dondem.AlgMap['/Event/'+b+'/Raw/Muon/Coords'] = muon_conf['MuonRec'+b].getFullName()
from Configurables import DecodeVeloRawBuffer
velo_conf = {}
for b in bunch :
velo_conf['createVeloClusters'+b] = DecodeVeloRawBuffer('createVeloClusters'+b)
velo_conf['createVeloClusters'+b].ForceBankVersion=3
velo_conf['createVeloClusters'+b].RawEventLocation=b+'/DAQ/RawEvent'
velo_conf['createVeloClusters'+b].VeloClusterLocation=b+'/Raw/Velo/Clusters'
velo_conf['createVeloClusters'+b].DecodeToVeloClusters = True
velo_conf['createVeloClusters'+b].DecodeToVeloLiteClusters = False
velo_conf['createVeloLiteClusters'+b] = DecodeVeloRawBuffer('createVeloLiteClusters'+b)
velo_conf['createVeloLiteClusters'+b].ForceBankVersion=3
velo_conf['createVeloLiteClusters'+b].RawEventLocation=b+'/DAQ/RawEvent'
velo_conf['createVeloLiteClusters'+b].VeloLiteClustersLocation=b+'/Raw/Velo/LiteClusters'
dondem.AlgMap['/Event/'+b+'/Raw/Velo/LiteClusters'] = velo_conf['createVeloLiteClusters'+b].getFullName()
dondem.AlgMap['/Event/'+b+'/Raw/Velo/Clusters'] = velo_conf['createVeloClusters'+b].getFullName()
from Configurables import RawBankToSTClusterAlg,RawBankToSTLiteClusterAlg
st_conf = {}
for d in ['IT','TT']:
for b in bunch :
st_conf['create'+d+'Clusters'+b] = RawBankToSTClusterAlg('Create'+d+'Clusters'+b)
st_conf['create'+d+'Clusters'+b].rawEventLocation = b+'/DAQ/RawEvent'
st_conf['create'+d+'Clusters'+b].clusterLocation = b+'/Raw/'+d+'/Clusters'
st_conf['create'+d+'Clusters'+b].summaryLocation = b+'/Rec/'+d+'/Summary'
st_conf['create'+d+'Clusters'+b].detType = d
st_conf['create'+d+'LiteClusters'+b] = RawBankToSTLiteClusterAlg('Create'+d+'LiteClusters'+b)
st_conf['create'+d+'LiteClusters'+b].rawEventLocation = b+'/DAQ/RawEvent'
st_conf['create'+d+'LiteClusters'+b].clusterLocation = b+'/Raw/'+d+'/LiteClusters'
st_conf['create'+d+'LiteClusters'+b].detType = d
dondem.AlgMap['/Event/'+b+'/Raw/'+d+'/Clusters'] = st_conf['create'+d+'Clusters'+b].getFullName()
dondem.AlgMap['/Event/'+b+'/Raw/'+d+'/LiteClusters'] = st_conf['create'+d+'LiteClusters'+b].getFullName()
# to trigger decoding on demand:
#containers = ['Raw/Ecal/Digits','Raw/Hcal/Digits','Raw/Prs/Digits','Raw/Spd/Digits'
#,'Raw/IT/Clusters','Raw/IT/LiteClusters','Raw/Muon/Coords','Raw/OT/Times'
#,'Raw/Rich/Digits','Raw/TT/Clusters','Raw/TT/LiteClusters'
#,'Raw/Velo/Clusters','Raw/Velo/LiteClusters'
#,'Trig/L0/L0DUReport','Trig/L0/MuonData','Trig/L0/Calo']
# check also for tae slots
#for b in ["Prev3/","Next3/","Prev2/","Next2/","Prev1/","Next1/",""]:
# if evt[b.replace('/','')]!=None :
# for c in containers:
# sc = evt[b+c]
// Job options to set up DataOnDemandSvc for unpacking Digi objects
DataOnDemandSvc.AlgMap += { "MC/Particles" : "UnpackMCParticle"
, "MC/Vertices" : "UnpackMCVertex"
};
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment