Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
athena-acts
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Dimitra Amperiadou
athena-acts
Commits
0e2f7f50
Commit
0e2f7f50
authored
9 years ago
by
Simone Pagan Griso
Committed by
Graeme Stewart
9 years ago
Browse files
Options
Downloads
Patches
Plain Diff
'Added split tracks creation for cosmic reconstruction' (InDetPrepRawDataToxAOD-00-01-20)
parent
f119a5fb
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/share/InDetDxAOD.py
+157
-4
157 additions, 4 deletions
.../InDetEventCnv/InDetPrepRawDataToxAOD/share/InDetDxAOD.py
with
157 additions
and
4 deletions
InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/share/InDetDxAOD.py
+
157
−
4
View file @
0e2f7f50
#################
### Steering options
#################
## Load common flags
from
AthenaCommon.JobProperties
import
jobproperties
as
athCommonFlags
# Select active sub-systems
dumpPixInfo
=
True
dumpSctInfo
=
True
...
...
@@ -9,13 +12,25 @@ dumpTrtInfo=False
# Bytestream errors (for sub-systems who have implemented it)
dumpBytestreamErrors
=
True
# Unassociated hits decorations
dumpUnassociatedHits
=
True
# Add LArCollisionTime augmentation tool
dumpLArCollisionTime
=
True
# Force to do not dump truth info if set to False
# (otherwise determined by autoconf below)
dumpTruthInfo
=
True
# Saves partial trigger information in the output stream (none otherwise)
dumpTriggerInfo
=
True
# Print settings for main tools
printIdTrkDxAODConf
=
True
# Create split-tracks if running on cosmics
makeSplitTracks
=
True
and
athCommonFlags
.
Beam
.
beamType
()
==
'
cosmics
'
## Autoconfiguration adjustements
isIdTrkDxAODSimulation
=
False
if
(
globalflags
.
DataSource
==
'
geant4
'
):
...
...
@@ -24,9 +39,6 @@ if (globalflags.DataSource == 'geant4'):
if
(
'
dumpTruthInfo
'
in
dir
()
):
dumpTruthInfo
=
dumpTruthInfo
and
isIdTrkDxAODSimulation
print
"
isIdTrkDxAODSimulation=
"
,
isIdTrkDxAODSimulation
print
"
dumpTruthInfo=
"
,
dumpTruthInfo
if
InDetFlags
.
doSLHC
():
dumpTrtInfo
=
False
...
...
@@ -52,6 +64,7 @@ if dumpTrtInfo:
TRT_dEdx_Tool
=
TRT_ToT_dEdx
(
name
=
"
TRT_ToT_dEdx
"
)
ToolSvc
+=
TRT_dEdx_Tool
#Setup charge->ToT back-conversion to restore ToT info as well
if
dumpPixInfo
:
from
AthenaCommon.AlgSequence
import
AlgSequence
topSequence
=
AlgSequence
()
...
...
@@ -62,6 +75,57 @@ if dumpPixInfo:
print
PixelChargeToTConversionSetter
print
PixelChargeToTConversionSetter
.
properties
()
#Setup SCT extension efficiency algorithm if running pixel tracklets
#if InDetFlags.doTrackSegmentsPixel():
# include ("SCTExtension/SCTExtensionAlg.py")
#Setup split-tracks reconstruction in cosmic-mode and produce xAOD::TrackParticles
if
makeSplitTracks
:
# Set input/output container names
# Setup algorithm to create split tracks
from
InDetTrackSplitterTool.InDetTrackSplitterToolConf
import
InDet__InDetTrackSplitterTool
splittertoolcomb
=
InDet__InDetTrackSplitterTool
(
name
=
"
SplitterTool
"
,
TrackFitter
=
ToolSvc
.
InDetTrackFitter
,
OutputUpperTracksName
=
"
TracksUpperSplit
"
,
OutputLowerTracksName
=
"
TracksLowerSplit
"
)
ToolSvc
+=
splittertoolcomb
from
InDetTrackValidation.InDetTrackValidationConf
import
InDet__InDetSplittedTracksCreator
splittercomb
=
InDet__InDetSplittedTracksCreator
(
name
=
'
CombinedTrackSplitter
'
,
TrackSplitterTool
=
splittertoolcomb
,
TrackCollection
=
"
Tracks
"
,
OutputTrackCollection
=
"
Tracks_split
"
)
topSequence
+=
splittercomb
if
(
printIdTrkDxAODConf
):
print
splittercomb
print
splittercomb
.
properties
()
# Create xAOD::TrackParticles out of them
from
TrkParticleCreator.TrkParticleCreatorConf
import
Trk__TrackParticleCreatorTool
InDetxAODSplitParticleCreatorTool
=
Trk__TrackParticleCreatorTool
(
name
=
"
InDetSplitxAODParticleCreatorTool
"
,
Extrapolator
=
InDetExtrapolator
,
TrackSummaryTool
=
InDetTrackSummaryToolSharedHits
,
ForceTrackSummaryUpdate
=
False
,
KeepParameters
=
True
)
ToolSvc
+=
InDetxAODSplitParticleCreatorTool
# The following adds truth information, but needs further testing
#include ("InDetRecExample/ConfiguredInDetTrackTruth.py")
#if isIdTrkDxAODSimulation:
# InDetSplitTracksTruth = ConfiguredInDetTrackTruth("Tracks_split",'SplitTrackDetailedTruth','SplitTrackTruth')
xAODSplitTrackParticleCnvAlg
=
xAODMaker__TrackParticleCnvAlg
(
'
InDetSplitTrackParticles
'
)
xAODSplitTrackParticleCnvAlg
.
xAODContainerName
=
'
InDetSplitTrackParticles
'
xAODSplitTrackParticleCnvAlg
.
xAODTrackParticlesFromTracksContainerName
=
'
InDetSplitTrackParticles
'
xAODSplitTrackParticleCnvAlg
.
TrackParticleCreator
=
InDetxAODSplitParticleCreatorTool
xAODSplitTrackParticleCnvAlg
.
TrackContainerName
=
'
Tracks_split
'
xAODSplitTrackParticleCnvAlg
.
ConvertTrackParticles
=
False
xAODSplitTrackParticleCnvAlg
.
ConvertTracks
=
True
xAODSplitTrackParticleCnvAlg
.
AddTruthLink
=
False
#isIdTrkDxAODSimulation
if
(
isIdTrkDxAODSimulation
):
xAODSplitTrackParticleCnvAlg
.
TrackTruthContainerName
=
'
SplitTrackTruth
'
xAODSplitTrackParticleCnvAlg
.
PrintIDSummaryInfo
=
True
topSequence
+=
xAODSplitTrackParticleCnvAlg
#################
### Setup decorators tools
...
...
@@ -151,6 +215,22 @@ if (printIdTrkDxAODConf):
print
DFTSOS
print
DFTSOS
.
properties
()
# If requested, decorate also split tracks (for cosmics)
if
makeSplitTracks
:
DFTSOS_SplitTracks
=
DerivationFramework__TrackStateOnSurfaceDecorator
(
name
=
"
DFSplitTracksTrackStateOnSurfaceDecorator
"
,
ContainerName
=
"
InDetSplitTrackParticles
"
,
DecorationPrefix
=
prefixName
,
StoreTRT
=
dumpTrtInfo
,
TrtMsosName
=
'
TRT_SplitTracks_MSOSs
'
,
StoreSCT
=
dumpSctInfo
,
SctMsosName
=
'
SCT_SplitTracks_MSOSs
'
,
StorePixel
=
dumpPixInfo
,
PixelMsosName
=
'
Pixel_SplitTracks_MSOSs
'
,
IsSimulation
=
isIdTrkDxAODSimulation
,
OutputLevel
=
INFO
)
ToolSvc
+=
DFTSOS_SplitTracks
augmentationTools
+=
[
DFTSOS_SplitTracks
]
# Add BS error augmentation tool
if
dumpBytestreamErrors
:
from
DerivationFrameworkInDet.DerivationFrameworkInDetConf
import
DerivationFramework__EventInfoBSErrDecorator
...
...
@@ -164,6 +244,52 @@ if dumpBytestreamErrors:
print
DFEI
print
DFEI
.
properties
()
# Add Unassociated hits augmentation tool
if
dumpUnassociatedHits
:
from
DerivationFrameworkInDet.DerivationFrameworkInDetConf
import
DerivationFramework__UnassociatedHitsGetterTool
unassociatedHitsGetterTool
=
DerivationFramework__UnassociatedHitsGetterTool
(
name
=
'
unassociatedHitsGetter
'
,
TrackCollection
=
"
Tracks
"
,
PixelClusters
=
"
PixelClusters
"
,
SCTClusterContainer
=
"
SCT_Clusters
"
,
TRTDriftCircleContainer
=
"
TRT_DriftCircles
"
)
ToolSvc
+=
unassociatedHitsGetterTool
if
(
printIdTrkDxAODConf
):
print
unassociatedHitsGetterTool
print
unassociatedHitsGetterTool
.
properties
()
from
DerivationFrameworkInDet.DerivationFrameworkInDetConf
import
DerivationFramework__UnassociatedHitsDecorator
unassociatedHitsDecorator
=
DerivationFramework__UnassociatedHitsDecorator
(
name
=
'
unassociatedHitsDecorator
'
,
UnassociatedHitsGetter
=
unassociatedHitsGetterTool
,
ContainerName
=
"
EventInfo
"
,
DecorationPrefix
=
prefixName
,
OutputLevel
=
INFO
)
ToolSvc
+=
unassociatedHitsDecorator
augmentationTools
+=
[
unassociatedHitsDecorator
]
if
(
printIdTrkDxAODConf
):
print
unassociatedHitsDecorator
print
unassociatedHitsDecorator
.
properties
()
# Add LArCollisionTime augmentation tool
if
dumpLArCollisionTime
:
from
LArCellRec.LArCollisionTimeGetter
import
LArCollisionTimeGetter
from
RecExConfig.ObjKeyStore
import
cfgKeyStore
# We can only do this if we have the cell container.
if
cfgKeyStore
.
isInInput
(
'
CaloCellContainer
'
,
'
AllCalo
'
):
LArCollisionTimeGetter
(
topSequence
)
from
DerivationFrameworkInDet.DerivationFrameworkInDetConf
import
DerivationFramework__LArCollisionTimeDecorator
lArCollisionTimeDecorator
=
DerivationFramework__LArCollisionTimeDecorator
(
name
=
'
lArCollisionTimeDecorator
'
,
ContainerName
=
"
EventInfo
"
,
DecorationPrefix
=
prefixName
+
"
LArCollTime_
"
,
OutputLevel
=
INFO
)
ToolSvc
+=
lArCollisionTimeDecorator
augmentationTools
+=
[
lArCollisionTimeDecorator
]
if
(
printIdTrkDxAODConf
):
print
lArCollisionTimeDecorator
print
lArCollisionTimeDecorator
.
properties
()
# Add the derivation job to the top AthAlgSeqeuence
from
DerivationFrameworkCore.DerivationFrameworkCoreConf
import
DerivationFramework__CommonAugmentation
DerivationFrameworkJob
+=
CfgMgr
.
DerivationFramework__CommonAugmentation
(
"
DFTSOS_KERN
"
,
...
...
@@ -185,20 +311,32 @@ streamName = primDPD.WriteDAOD_IDTRKVALIDStream.StreamName
fileName
=
buildFileName
(
primDPD
.
WriteDAOD_IDTRKVALIDStream
)
IDTRKVALIDStream
=
MSMgr
.
NewPoolRootStream
(
streamName
,
fileName
)
excludedAuxData
=
"
-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition
"
# Add generic event information
IDTRKVALIDStream
.
AddItem
(
"
xAOD::EventInfo#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::EventAuxInfo#*
"
)
# Add track particles collection
# Add track particles collection and traclets (if available)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleContainer#InDetTrackParticles
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.
"
+
excludedAuxData
)
if
InDetFlags
.
doTrackSegmentsPixel
():
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleContainer#InDetPixelTrackParticles
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleAuxContainer#InDetPixelTrackParticlesAux.
"
+
excludedAuxData
)
# Add split tracks, if requested
if
makeSplitTracks
:
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleContainer#InDetSplitTrackParticles
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleAuxContainer#InDetSplitTrackParticlesAux.
"
+
excludedAuxData
)
# Add vertices
IDTRKVALIDStream
.
AddItem
(
"
xAOD::VertexContainer#PrimaryVertices
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex
"
)
# Add links and measurements
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackStateValidationContainer#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackStateValidationAuxContainer#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackMeasurementValidationContainer#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackMeasurementValidationAuxContainer#*
"
)
# Add info about electrons and muons (are small containers)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::MuonContainer#Muons
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::MuonAuxContainer#MuonsAux.
"
)
...
...
@@ -206,6 +344,7 @@ IDTRKVALIDStream.AddItem("xAOD::ElectronContainer#Electrons")
IDTRKVALIDStream
.
AddItem
(
"
xAOD::ElectronAuxContainer#ElectronsAux.
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleContainer#GSFTrackParticles
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux.
"
+
excludedAuxData
)
# Add truth-related information
if
dumpTruthInfo
:
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TruthParticleContainer#*
"
)
...
...
@@ -215,5 +354,19 @@ if dumpTruthInfo:
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TruthEventContainer#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TruthEventAuxContainer#*
"
)
# Add trigger information
if
dumpTriggerInfo
:
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigT2MbtsBitsContainer#*
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigDecision#xTrigDecision
"
)
IDTRKVALIDStream
.
AddItem
(
"
BCM_RDO_Container#BCM_RDOs
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigNavigation#TrigNavigation
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigConfKeys#TrigConfKeys
"
)
IDTRKVALIDStream
.
AddItem
(
"
HLT::HLTResult#HLTResult_HLT
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigNavigationAuxInfo#TrigNavigationAux.
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigT2MbtsBits#HLT_T2Mbts
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigT2MbtsBitsAuxContainer#HLT_T2MbtsAux.
"
)
IDTRKVALIDStream
.
AddItem
(
"
xAOD::TrigT2MbtsBitsAuxContainer#HLT_xAOD__TrigT2MbtsBitsContainer_T2MbtsAux.
"
)
if
(
printIdTrkDxAODConf
):
print
IDTRKVALIDStream
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment