Skip to content
Snippets Groups Projects
Commit 19846fba authored by Eric Torrence's avatar Eric Torrence
Browse files

Fix sim/digi in R24

parent 82ab0c24
No related branches found
No related tags found
No related merge requests found
Pipeline #10556934 failed
Showing
with 63 additions and 165 deletions
......@@ -64,10 +64,5 @@ def CaloWaveformDigitizationOutputCfg(flags, **kwargs):
ItemList = [
"RawWaveformContainer#*"
]
acc.merge(OutputStreamCfg(flags, "RDO"))
ostream = acc.getEventAlgo("OutputStreamRDO")
# ostream.TakeItemsFromInput = True # Copies all data from input file to output
# ostream.TakeItemsFromInput = False
# Try turning this off
ostream.ItemList += ItemList
acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
return acc
......@@ -9,7 +9,8 @@ atlas_subdir( Digitization )
atlas_install_scripts( scripts/*.sh scripts/*.py )
atlas_add_test( ProdDigi
SCRIPT scripts/faser_digi.py ${CMAKE_CURRENT_SOURCE_DIR}/../rawdata/FaserMC-MC22_PG_muon_fasernu_100GeV-100012-00000-HITS.root
PROPERTIES TIMEOUT 300 )
SCRIPT scripts/faser_digi.py ${CMAKE_CURRENT_SOURCE_DIR}/../rawdata/FaserMC-MC24_PG_muon_fasernu_100GeV-100012-00000-HITS.root
POST_EXEC_SCRIPT nopost.sh
PROPERTIES TIMEOUT 300 )
......@@ -70,7 +70,7 @@ configFlags.IOVDb.DatabaseInstance = "OFLP200" # Use MC conditions for now
configFlags.Input.ProjectName = "mc20"
#configFlags.GeoModel.Align.Dynamic = False
configFlags.Beam.NumberOfCollisions = 0.
configFlags.Digitization.TruthOutput = True
configFlags.Digitization.EnableTruth = True
# TI12 old geometry
if runtype == "TI12OldMC":
......
......@@ -180,7 +180,7 @@ configFlags.IOVDb.DatabaseInstance = "OFLP200" # Use MC conditions for now
configFlags.Input.ProjectName = "mc20"
#configFlags.GeoModel.Align.Dynamic = False
configFlags.Beam.NumberOfCollisions = 0.
configFlags.Digitization.TruthOutput = True
configFlags.Digitization.EnableTruth = True
# TI12 old geometry
if runtype == "TI12OldMC":
configFlags.GeoModel.FaserVersion = "FASER-01"
......
......@@ -66,6 +66,8 @@ if __name__ == '__main__':
#
# More config flags (R24)
#
from Campaigns.Utils import Campaign
from AthenaConfiguration.Enums import BeamType
configFlags.Common.MsgSourceLength = 30
configFlags.Input.MCCampaign = Campaign.Unknown
configFlags.Input.TypedCollections = []
......
......@@ -46,6 +46,12 @@ parser.add_argument("--isOverlay", action='store_true',
help="Set overlaid data input")
parser.add_argument("--noTracking", action='store_true',
help="Turn off tracking (for R24 debugging)")
parser.add_argument("--noIFT", action='store_true',
help="Turn off 4-station tracking")
parser.add_argument("--noForward", action='store_true',
help="Turn off forward CKF tracking")
parser.add_argument("--noBackward", action='store_true',
help="Turn off backward CKF tracking")
args = parser.parse_args()
......@@ -271,34 +277,38 @@ if useCKF:
# Do both forward and backward tracking
from FaserActsKalmanFilter.CKF2Config import CKF2Cfg
if not args.isOverlay:
if not args.isOverlay and not args.noIFT:
# 4-station tracking forward
acc.merge(CKF2Cfg(configFlags,
actsOutputTag=f"{filestem}_4station_forward",
noDiagnostics=True))
if not args.noForward:
acc.merge(CKF2Cfg(configFlags,
actsOutputTag=f"{filestem}_4station_forward",
noDiagnostics=True))
# 4-station tracking backward
acc.merge(CKF2Cfg(configFlags, name="CKF_Back",
actsOutputTag=f"{filestem}_4station_backward",
OutputCollection="CKFTrackCollectionBackward",
BackwardPropagation=True,
if not args.noBackward:
acc.merge(CKF2Cfg(configFlags, name="CKF_Back",
actsOutputTag=f"{filestem}_4station_backward",
OutputCollection="CKFTrackCollectionBackward",
BackwardPropagation=True,
noDiagnostics=True))
# Add tracking collection with no IFT
if not args.noForward:
acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT",
actsOutputTag=f"{filestem}_3station_forward",
OutputCollection="CKFTrackCollectionWithoutIFT",
BackwardPropagation=False,
noDiagnostics=True))
# Add tracking collection with no IFT
acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT",
actsOutputTag=f"{filestem}_3station_forward",
OutputCollection="CKFTrackCollectionWithoutIFT",
BackwardPropagation=False,
noDiagnostics=True))
# Backward tracking with no IFT
acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_Back_woIFT",
actsOutputTag=f"{filestem}_3station_backward",
OutputCollection="CKFTrackCollectionBackwardWithoutIFT",
BackwardPropagation=True,
noDiagnostics=True))
if not args.noBackward:
acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_Back_woIFT",
actsOutputTag=f"{filestem}_3station_backward",
OutputCollection="CKFTrackCollectionBackwardWithoutIFT",
BackwardPropagation=True,
noDiagnostics=True))
#
# Configure output
......
......@@ -43,9 +43,10 @@ if __name__ == "__main__":
configFlags.Input.ProjectName = "data20" # Needed to bypass autoconfig
#configFlags.GeoModel.Align.Dynamic = False
configFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
# configFlags.Output.RDOFileName = "my.RDO.pool.root"
configFlags.Output.RDOFileName = "my.RDO.pool.root"
configFlags.lock()
# Configure components
# Configure components
from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
# from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
......
......@@ -42,7 +42,7 @@ if __name__ == "__main__":
configFlags.Input.ProjectName = "data20"
#configFlags.GeoModel.Align.Dynamic = False
configFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
#configFlags.Output.RDOFileName = "trigger.RDO.pool.root"
configFlags.Output.RDOFileName = "trigger.RDO.pool.root"
configFlags.lock()
# Configure components
......@@ -53,13 +53,13 @@ if __name__ == "__main__":
#acc.merge(PoolWriteCfg(configFlags))
# Configure output
#from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
#itemList = [ "xAOD::EventInfo#*",
# "xAOD::EventAuxInfo#*",
# "xAOD::FaserTriggerData#*",
# "xAOD::FaserTriggerDataAux#*" ]
#acc.merge(OutputStreamCfg(configFlags, "RDO", itemList))
#ostream = acc.getEventAlgo("OutputStreamRDO")
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
itemList = [ "xAOD::EventInfo#*",
"xAOD::EventAuxInfo#*",
"xAOD::FaserTriggerData#*",
"xAOD::FaserTriggerDataAux#*" ]
# This causes an error...
# acc.merge(OutputStreamCfg(configFlags, "RDO", itemList))
# Set up algorithm
acc.merge(TriggerDataAccessExampleCfg(configFlags))
......
......@@ -63,9 +63,5 @@ def ScintWaveformDigitizationOutputCfg(flags, **kwargs):
ItemList = [
"RawWaveformContainer#*"
]
acc.merge(OutputStreamCfg(flags, "RDO"))
ostream = acc.getEventAlgo("OutputStreamRDO")
# ostream.TakeItemsFromInput = True # Copies all data from input file to output
# ostream.TakeItemsFromInput = False
ostream.ItemList += ItemList
acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
return acc
......@@ -5,6 +5,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
from AthenaCommon.Logging import logging
from AthenaConfiguration.Enums import BeamType
PileUpXingFolder=CompFactory.PileUpXingFolder
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
......@@ -16,8 +17,8 @@ from FaserSCT_ConditionsTools.FaserSCT_SiliconConditionsConfig import FaserSCT_S
from FaserSCT_ConditionsTools.FaserSCT_ReadCalibChipDataConfig import FaserSCT_ReadCalibChipDataCfg
from FaserSiPropertiesTool.FaserSCT_SiPropertiesConfig import FaserSCT_SiPropertiesCfg
from FaserSiLorentzAngleTool.FaserSCT_LorentzAngleConfig import FaserSCT_LorentzAngleCfg
from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
from Digitization.PileUpToolsConfig import PileUpToolsCfg
from DigitizationConfig.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
from DigitizationConfig.PileUpToolsConfig import PileUpToolsCfg
# The earliest and last bunch crossing times for which interactions will be sent
......@@ -40,7 +41,7 @@ def FaserSCT_DigitizationCommonCfg(flags, name="FaserSCT_DigitizationToolCommon"
kwargs.setdefault("EnableHits", True)
#kwargs.setdefault("BarrelOnly", False)
# Set FixedTime for cosmics for use in SurfaceChargesGenerator
if flags.Beam.Type == "cosmics":
if flags.Beam.Type is BeamType.Cosmics:
kwargs.setdefault("CosmicsRun", True)
kwargs.setdefault("FixedTime", 10)
if flags.Digitization.DoXingByXingPileUp:
......@@ -237,14 +238,14 @@ def FaserSCT_OutputCfg(flags):
"""Return ComponentAccumulator with Output for SCT. Not standalone."""
acc = ComponentAccumulator()
ItemList = ["FaserSCT_RDO_Container#*"]
if flags.Digitization.TruthOutput:
if flags.Digitization.EnableTruth:
ItemList += ["TrackerSimDataCollection#*"]
ItemList += ["FaserSiHitCollection#*"] # Also write out the raw hits
acc.merge(TruthDigitizationOutputCfg(flags))
acc.merge(OutputStreamCfg(flags, "RDO"))
ostream = acc.getEventAlgo("OutputStreamRDO")
acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
#ostream = acc.getEventAlgo("OutputStreamRDO")
#ostream.TakeItemsFromInput = True # Don't write hits to RDO by default
ostream.ItemList += ItemList
#ostream.ItemList += ItemList
return acc
......
#+Calorimeter/CaloDetDescr/CaloGeoModelUtils
#+Calorimeter/CaloDetDescr/CaloIdDictFiles
#+Calorimeter/CaloDetDescr/CaloReadoutGeometry
#+Calorimeter/CaloDetDescr/FaserCaloIdentifier
#+Calorimeter/CaloDetDescr/EcalGeoModel
#+Calorimeter/CaloDetDescrCnv/CaloIdCnv
#+Calorimeter/CaloDigiAlgs
#+Calorimeter/CaloEventCnv/FaserCaloSimEventAthenaPool
#+Calorimeter/CaloEventCnv/FaserCaloSimEventTPCnv
#+Calorimeter/CaloG4/EcalG4_SD
#+Calorimeter/CaloRecAlgs
#+Calorimeter/CaloRecTools
#+Calorimeter/FaserCaloSimEvent
+Calorimeter/.*
+Control/CalypsoConfiguration
+Control/CalypsoExample/Generation
+Control/CalypsoExample/GenEventExample
+Control/CalypsoExample/GeoModelTest
+Control/CalypsoExample/RDOReadExample
+Control/CalypsoExample/Reconstruction
+Control/CalypsoExample/SimHitExample
+Control/CalypsoExample/Simulation
+Control/CalypsoExample/TrackerDataAccessExample
+Control/CalypsoExample/TriggerDataAccessExample
+Control/CalypsoExample/WaveformAnalysisExample
+Control/CalypsoExample/WaveformDataAccessExample
+Control/CalypsoExample/WriteAlignment
-Control/.*
+Control/.*
+Database/ConnectionManagement/FaserAuthentication
#+Derivation/DerivationAlgs
#+Derivation/DerivationTools
+Derivation/.*
+DetectorDescription/DetDescrCnvSvc
+DetectorDescription/FaserDetDescr
+DetectorDescription/FaserReadoutGeometry
+DetectorDescription/GeoModel/FaserGeoAdaptors
+DetectorDescription/GeoModel/FaserGeoModel
+DetectorDescription/GeoModel/GeoModelFaserUtilities
+DetectorDescription/GeoModel/GeoModelInterfaces
+DetectorDescription/GeoModel/GeoModelSvc
+DetectorDescription/IdDictDetDescrCnv
#-DetectorDescription/.*
+DetectorDescription/.*
+Event/.*
+FaserGeometryCommon/.*
+Generators/.*
+LHCData/LHCDataAlgs
+LHCData/LHCDataTools
#-LHCData/.*
-LHCData/.*
+MagneticField/MagFieldConditions
+MagneticField/MagFieldElements
+MagneticField/MagFieldServices
-MagneticField/.*
-Monitoring
#+Neutrino/NeutrinoDetDescr/EmulsionGeoModel
#+Neutrino/NeutrinoDetDescr/NeutrinoGeoModelUtils
#+Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles
#+Neutrino/NeutrinoDetDescr/NeutrinoIdentifier
#+Neutrino/NeutrinoDetDescr/NeutrinoReadoutGeometry
#+Neutrino/NeutrinoDetDescrCnv/NeutrinoIdCnv
#+Neutrino/NeutrinoEventCnv/NeutrinoSimEventAthenaPool
#+Neutrino/NeutrinoEventCnv/NeutrinoSimEventTPCnv
#+Neutrino/NeutrinoRecAlgs
#+Neutrino/NeutrinoSimEvent
+Neutrino/.*
+PhysicsAnalysis/NtupleDumper
-PhysicsAnalysis/.*
#+Scintillator/ScintDetDescr/PreshowerGeoModel
#+Scintillator/ScintDetDescr/ScintGeoModelUtils
#+Scintillator/ScintDetDescr/ScintIdDictFiles
#+Scintillator/ScintDetDescr/ScintIdentifier
#+Scintillator/ScintDetDescr/ScintReadoutGeometry
#+Scintillator/ScintDetDescr/TriggerGeoModel
#+Scintillator/ScintDetDescr/VetoGeoModel
#+Scintillator/ScintDetDescr/VetoNuGeoModel
#+Scintillator/ScintDetDescrCnv/ScintIdCnv
#+Scintillator/ScintDigiAlgs
#+Scintillator/ScintEventCnv/ScintSimEventAthenaPool
#+Scintillator/ScintEventCnv/ScintSimEventTPCnv
#+Scintillator/ScintSimEvent
+Scintillator/.*
#+Simulation/G4Extensions/Pythia8Decayer
#+Simulation/G4Faser/G4FaserAlg
#+Simulation/G4Faser/G4FaserServices
#+Simulation/G4Faser/G4FaserTools
#+Simulation/G4Sim/FaserMCTruth
#+Simulation/G4Sim/FaserMCTruthBase
#+Simulation/G4Utilities/FaserGeo2G4
#+Simulation/G4Utilities/FaserGeoMaterial2G4
#+Simulation/G4Utilities/FaserG4UserActions
#+Simulation/ISF/ISF_Core/FaserISF_Event
#+Simulation/ISF/ISF_Core/FaserISF_Interfaces
#+Simulation/ISF/ISF_Core/FaserISF_Services
#+Simulation/ISF/ISF_Geant4/FaserISF_Geant4Event
#+Simulation/ISF/ISF_HepMC/FaserISF_HepMC_Interfaces
#+Simulation/ISF/ISF_HepMC/FaserISF_HepMC_Tools
+Simulation/.*
+Tracker/TrackerAlignTools/TrackerAlignGenTools
+Tracker/TrackerConditions/FaserSCT_ConditionsAlgorithms
......@@ -149,38 +72,7 @@
-Tracking/.*
+Trigger/FaserTrigEventCnv/FaserTriggerByteStream
#-Trigger/.*
#+Waveform/WaveDigiTools
#+Waveform/WaveEventCnv/WaveByteStream
#+Waveform/WaveEventCnv
#+Waveform/WaveformConditions
#+Waveform/WaveRawEvent
#+Waveform/WaveRecAlgs
#+Waveform/WaveRecTools
+Waveform/.*
+faser-common/EventFormats
+faser-common/Exceptions
+faser-common/Logging
#-faser-common/.*
#+graphics/VTI12/VTI12Algs
#+graphics/VTI12/VTI12Gui
#+graphics/VTI12/VTI12Plugins/VTI12FaserPlugin
#+graphics/VTI12/VTI12Plugins/VTI12GeometryPlugin
#+graphics/VTI12/VTI12Plugins/VTI12WaveformPlugin
#+graphics/VTI12/VTI12Systems/VTI12GeometrySystems
#+graphics/VTI12/VTI12Systems/VTI12GuideLineSystems
#+graphics/VTI12/VTI12Systems/VTI12PRDSystems
#+graphics/VTI12/VTI12Systems/VTI12RawDataSystems
#+graphics/VTI12/VTI12Systems/VTI12SimHitSystems
#+graphics/VTI12/VTI12Systems/VTI12TrackSystems
#+graphics/VTI12/VTI12Systems/VTI12WaveformSystems
#+graphics/VTI12/VTI12Utils
+faser-common/.*
+graphics/.*
#+xAOD/xAODFaserCalorimeter
#+xAOD/xAODFaserCalorimeterAthenaPool
#+xAOD/xAODFaserLHC
#+xAOD/xAODFaserLHCAthenaPool
#+xAOD/xAODFaserTrigger
#+xAOD/xAODFaserTriggerAthenaPool
#+xAOD/xAODFaserWaveform
#+xAOD/xAODFaserWaveformAthenaPool
+xAOD/.*
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