ATLAS Offline Software
MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MDT_DIGITIZATIONR4_MDTDIGITIZATIONTOOL_H
5 #define MDT_DIGITIZATIONR4_MDTDIGITIZATIONTOOL_H
6 
7 
14 
15 namespace MuonR4{
17  public:
18  MdtDigitizationTool(const std::string& type, const std::string& name, const IInterface* pIID);
19 
20  StatusCode initialize() override final;
21  protected:
22  StatusCode digitize(const EventContext& ctx,
23  const TimedHits& hitsToDigit,
24  xAOD::MuonSimHitContainer* sdoContainer) const override final;
25 
26 
27  private:
28  SG::WriteHandleKey<MdtDigitContainer> m_writeKey{this, "OutputObjectName", "MDT_Digits"};
29 
30  SG::ReadCondHandleKey<MuonCalib::MdtCalibDataContainer> m_calibDbKey{this, "CalibDataKey", "MdtCalibConstants",
31  "Conditions object containing the calibrations"};
32 
33 
34  SG::ReadCondHandleKey<MdtCondDbData> m_badTubeKey{this, "BadTubeKey", "MdtCondDbData", "Key of MdtCondDbData"};
35 
36  SG::ReadCondHandleKey<Muon::TwinTubeMap> m_twinTubeKey{this, "TwinTubeKey", "MdtTwinTubeMap"};
37 
38  ToolHandle<IMDT_DigitizationTool> m_digiTool{this, "DigitizationTool", ""};
39 
40  Gaudi::Property<double> m_timeResTDC{this, "ResolutionTDC", 0.5 * Gaudi::Units::ns, "TDC time resolution"};
41  Gaudi::Property<double> m_timeResADC{this, "ResolutionADC", 0.5 * Gaudi::Units::ns, "ADC time resolution"};
42  Gaudi::Property<double> m_deadTime{this, "DeadTime", 700., "MDT drift tube dead time"};
43  Gaudi::Property<bool> m_digitizeMuonOnly{this, "ProcessTrueMuonsOnly", false, "If set to true hit with pdgId != 13 are skipped"};
45  Gaudi::Property<bool> m_useTwinTube{this, "useTwinTubes", false};
46  Gaudi::Property<double> m_resTwin{this, "ResolutionTwinTube", 1.05 * Gaudi::Units::ns, "Twin Tube resolution"};
47 
48 
50 
51  };
52 }
53 #endif
MuonR4::MdtDigitizationTool::m_deadTime
Gaudi::Property< double > m_deadTime
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:42
MuonR4::MdtDigitizationTool::m_badTubeKey
SG::ReadCondHandleKey< MdtCondDbData > m_badTubeKey
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:34
MdtCalibDataContainer.h
MuonR4::MuonDigitizationTool::OutDigitCache_t
std::vector< std::unique_ptr< DetType > > OutDigitCache_t
DigitContainers are sorted by DigitCollections which are the ensemble of all hits in a given MuonCham...
Definition: MuonDigitizationTool.h:109
MuonR4::MdtDigitizationTool::m_timeResTDC
Gaudi::Property< double > m_timeResTDC
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:40
MuonDigitizationTool.h
MuonR4::MdtDigitizationTool::m_timeResADC
Gaudi::Property< double > m_timeResADC
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:41
MuonR4::MdtDigitizationTool::m_calibDbKey
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > m_calibDbKey
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:30
IMDT_DigitizationTool.h
SG::WriteHandleKey< MdtDigitContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonR4::MdtDigitizationTool::m_resTwin
Gaudi::Property< double > m_resTwin
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:46
MuonR4::MdtDigitizationTool::initialize
StatusCode initialize() override final
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.cxx:19
MuonR4::MdtDigitizationTool
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:16
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
MuonR4::MdtDigitizationTool::DigiCache
OutDigitCache_t< MdtDigitCollection > DigiCache
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:49
MuonR4::MdtDigitizationTool::digitize
StatusCode digitize(const EventContext &ctx, const TimedHits &hitsToDigit, xAOD::MuonSimHitContainer *sdoContainer) const override final
Digitize the time ordered hits and write them to the digit format specific for the detector technolog...
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.cxx:27
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer >
MuonR4::MuonDigitizationTool
Barebone implementation of the I/O infrastructure for all MuonDigitizationTools.
Definition: MuonDigitizationTool.h:41
MdtDigitContainer.h
MuonR4::MuonDigitizationTool::TimedHits
std::vector< TimedHitPtr< xAOD::MuonSimHit > > TimedHits
Definition: MuonDigitizationTool.h:71
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonR4::MdtDigitizationTool::m_digitizeMuonOnly
Gaudi::Property< bool > m_digitizeMuonOnly
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:43
MuonR4::MdtDigitizationTool::MdtDigitizationTool
MdtDigitizationTool(const std::string &type, const std::string &name, const IInterface *pIID)
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.cxx:16
python.SystemOfUnits.ns
int ns
Definition: SystemOfUnits.py:130
MuonR4::MdtDigitizationTool::m_useTwinTube
Gaudi::Property< bool > m_useTwinTube
Properties to model the Twin tube signals.
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:45
MuonR4::MdtDigitizationTool::m_digiTool
ToolHandle< IMDT_DigitizationTool > m_digiTool
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:38
MuonR4::MdtDigitizationTool::m_twinTubeKey
SG::ReadCondHandleKey< Muon::TwinTubeMap > m_twinTubeKey
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:36
TwinTubeMap.h
MdtCondDbData.h
MuonR4::MdtDigitizationTool::m_writeKey
SG::WriteHandleKey< MdtDigitContainer > m_writeKey
Definition: MuonPhaseII/MuonDigitization/MdtDigitizationR4/src/MdtDigitizationTool.h:28