diff --git a/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py index b02a8b7d2b9b22193ff2a7d5e01efa36a89730cc..527c4e289eb1533e130301ee3a9c916d48d8e129 100644 --- a/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py +++ b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py @@ -19,12 +19,24 @@ def WaveformReconstructionCfg(flags): if not flags.Input.isMC: acc.merge(WaveformClockRecCfg(flags, "ClockRecAlg")) - if "TB" not in flags.GeoModel.FaserVersion: - acc.merge(WaveformHitRecCfg(flags, "TriggerWaveformRecAlg", "Trigger")) - acc.merge(WaveformHitRecCfg(flags, "VetoNuWaveformRecAlg", "VetoNu")) + if "TB" in flags.GeoModel.FaserVersion: + acc.merge(WaveformHitRecCfg(flags, "CaloWaveformRecAlg", "Calo")) - acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto")) - acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower")) + # Make preshower/veto window 200 ns wide (100 digitizer clock ticks) + acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto", FitWindowWidth=100 )) + acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower", FitWindowWidth=100 )) + + else: + acc.merge(WaveformHitRecCfg(flags, "CaloWaveformRecAlg", "Calo")) + + acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto", FitWindowWidth=100 )) + acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower", FitWindowWidth=100 )) + acc.merge(WaveformHitRecCfg(flags, "TriggerWaveformRecAlg", "Trigger", FitWindowWidth=100)) + acc.merge(WaveformHitRecCfg(flags, "VetoNuWaveformRecAlg", "VetoNu", FitWindowWidth=100)) + + acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto", FitWindowWidth=100 )) + # Make preshower window 200 ns wide (value in digitizer clock ticks) + acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower", FitWindowWidth=100 )) acc.merge(WaveformHitRecCfg(flags, "CaloWaveformRecAlg", "Calo")) acc.merge(WaveformTimingCfg(flags)) @@ -55,9 +67,12 @@ def WaveformHitRecCfg(flags, name="WaveformRecAlg", source="", **kwargs): #if flags.Input.isMC: # kwargs.setdefault("PeakThreshold", 5) + tool = WaveformReconstructionTool(name=source+"WaveformRecTool", **kwargs) + # Remove arguments intended for WaveRecTool if "PeakThreshold" in kwargs: kwargs.pop("PeakThreshold") + if "FitWindowWidth" in kwargs: kwargs.pop("FitWindowWidth") kwargs.setdefault("WaveformContainerKey", source+"Waveforms") kwargs.setdefault("WaveformHitContainerKey", source+"WaveformHits") diff --git a/Waveform/WaveRecTools/src/WaveformReconstructionTool.h b/Waveform/WaveRecTools/src/WaveformReconstructionTool.h index 45402ff505f5fd89420299f69cbc5a1ae9ab593b..3a6224b1f70ea1909da79431f6c54383c4177984 100644 --- a/Waveform/WaveRecTools/src/WaveformReconstructionTool.h +++ b/Waveform/WaveRecTools/src/WaveformReconstructionTool.h @@ -96,8 +96,9 @@ class WaveformReconstructionTool: public extends<AthAlgTool, IWaveformReconstruc // // Window to define fitting range, in samples (2ns/sample) + // Make this longer by default, from 120 to 150 ns IntegerProperty m_windowStart{this, "FitWindowStart", -20}; - IntegerProperty m_windowWidth{this, "FitWindowWidth", 60}; + IntegerProperty m_windowWidth{this, "FitWindowWidth", 75}; // // Remove overflow values from CB fit