Skip to content
Snippets Groups Projects

Prototype of new alignment configuration

Merged Florian Reiss requested to merge pyconf into master
Compare and Show latest version
12 files
+ 440
13
Compare changes
  • Side-by-side
  • Inline
Files
12
+ 17
8
@@ -13,7 +13,6 @@ from PyConf.application import configure_input, configure
from PyConf.control_flow import CompositeNode, NodeLogic
from PyConf.tonic import configurable
from RecoConf.hlt2_tracking import make_hlt2_tracks
from RecoConf.hlt1_tracking import make_pvs, all_velo_track_types
from Moore import options
options.set_input_and_conds_from_testfiledb('MiniBrunel_2018_MinBias_FTv4_MDF')
@@ -34,6 +33,9 @@ from PyConf.Algorithms import AlignAlgorithm
from PyConf.Tools import AlignUpdateTool, EigenDiagSolvTool, AlignChisqConstraintTool
@configurable
def createAlignAlgorithm(pvs,
tracks,
@@ -49,10 +51,12 @@ def createAlignAlgorithm(pvs,
outputDataFile='',
onlineMode=False,
runList=[],
useLocalFrame=True):
useLocalFrame=True,
xmlWriters='[xml/Conditions/VP/Alignment/Global.xml:/dd/Structure/LHCb/BeforeMagnetRegion/VP:10:0/1:0:1,xml/Conditions/VP/Alignment/Modules.xml:/dd/Structure/LHCb/BeforeMagnetRegion/VP:10:2:0:1]'):
updatetool = createAlignUpdateTool()
alignment = AlignAlgorithm(
name='myAlignmentAlgorithm',
VertexLocation=pvs,
ODINLocation=odin,
TracksLocation=tracks,
@@ -68,7 +72,8 @@ def createAlignAlgorithm(pvs,
OutputDataFile=outputDataFile,
OnlineMode=onlineMode,
RunList=runList,
UseLocalFrame=useLocalFrame)
UseLocalFrame=useLocalFrame,
XmlWriters = xmlWriters)
return alignment
@@ -93,10 +98,12 @@ def createAlignUpdateTool(surveyconstraintTool=AlignChisqConstraintTool(),
from PyConf.Algorithms import VeloClusterTrackingSIMDFull
# note that the PVs reconstructed by TrackBeamLineVertexFinderSoA do not store the list of associated tracks. Use PatPV3DFuture instead
from RecoConf.hlt1_tracking import make_reco_pvs, make_PatPV3DFuture_pvs
with reconstruction.bind(from_file=False), make_reco_pvs.bind( make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs), make_hlt2_tracks.bind(light_reco=False):
from RecoConf.hlt1_tracking import make_reco_pvs, make_PatPV3DFuture_pvs, make_VeloClusterTrackingSIMD_tracks
#, make_reco_pvs.bind( make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs)
#with reconstruction.bind(from_file=False), make_hlt2_tracks.bind(light_reco=True, use_pr_kf=True, fast_reco=False), make_reco_pvs.bind( make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs):
with reconstruction.bind(from_file=False), make_hlt2_tracks.bind(light_reco=False), make_reco_pvs.bind( make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs), make_VeloClusterTrackingSIMD_tracks.bind(make_tracks=VeloClusterTrackingSIMDFull):
#make tracks and PVs
# TODO: in principle the PVs should be an optional input for the alignment
reco = reconstruction()
@@ -133,8 +140,10 @@ with reconstruction.bind(from_file=False), make_reco_pvs.bind( make_pvs_from_ve
InputLocation=pvs).OutputLocation
#create ODIN
from PyConf.application import default_raw_event, createODIN
odin = createODIN(RawEvent=default_raw_event(["ODIN"])).ODIN
from PyConf.application import default_raw_banks, createODIN
odin = createODIN( RawBanks=default_raw_banks(("ODIN"))).ODIN
# create input particles, use long pions as dummy for now
# TODO: in principle these should be composite particles and be an optional input for the alginment
Loading