Skip to content
Snippets Groups Projects
Commit 20383504 authored by Eduardo Rodrigues's avatar Eduardo Rodrigues
Browse files

Merge branch 'patch-gaudiconf' into 'master'

added GaudiConf from LHCb (LHCb/2017-patches)

See merge request !70
parents 41847f68 7545ede9
No related branches found
No related tags found
2 merge requests!85merge master to future,!70added GaudiConf from LHCb (LHCb/2017-patches)
Showing
with 2638 additions and 0 deletions
[lb-checkout "Rec.Calo/CaloTools"]
base = e8ce20aec159697d12d1204f99bd9916ad5b5f45
imported = 03cc78ab4f1e07eb0aa96cdfda70fb025f4ce440
[lb-checkout "LHCb.GaudiConf"]
base = 04d19975d60545afdf1728096b07a6d60b2ad97f
imported = b9279f49d09d68ee5d5069f18a14c3e283a552a4
......@@ -6,6 +6,7 @@ gaudi_subdir(DaVinciSys v42r4)
gaudi_depends_on_subdirs(DaVinciTests
##############################
# Patch just for this release!
GaudiConf
Velo/VeloDAQ
Calo/CaloTools
##############################
......
<?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)
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"
};
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