![]() |
ATLAS Offline Software
|
#include <HGTD_DigitizationTool.h>
Public Member Functions | |
| HGTD_DigitizationTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual StatusCode | initialize () override final |
| virtual StatusCode | processAllSubEvents (const EventContext &ctx) override final |
| alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents. | |
| virtual StatusCode | prepareEvent (const EventContext &ctx, unsigned int) override final |
| called before the bunchXing loop | |
| virtual StatusCode | processBunchXing (int bunch_xing, SubEventIterator sub_event_itr, SubEventIterator sub_event_itr_end) override final |
| called for each active bunch-crossing (time in ns) | |
| virtual StatusCode | mergeEvent (const EventContext &ctx) override final |
| called at the end of the bunchXing loop | |
| virtual bool | toProcess (int bunchXing) const =0 |
| flags whether this tool is "live" for bunchXing (time in ns) implemented by default in PileUpToolBase as FirstXing<=bunchXing<=LastXing | |
| virtual bool | filterPassed () const =0 |
| flags whether the event should be removed or not | |
| virtual void | resetFilter ()=0 |
| reset the filter | |
| DeclareInterfaceID (IPileUpTool, 1, 0) | |
| Creates the InterfaceID and interfaceID() method. | |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
Private Member Functions | |
| StatusCode | retrieveHitCollection (const EventContext &ctx) |
| Retrieve the SiHit collection and place it in a TimedHitCollection. | |
| StatusCode | digitizeHitsPerDetectorElement (const EventContext &ctx, CLHEP::HepRandomEngine *rndmEngine) |
| void | applyProcessorTools (SiChargedDiodeCollection *, CLHEP::HepRandomEngine *rndmEngine) const |
| FIXME: will be implemented once we know how much noise we expect. | |
| StatusCode | createAndStoreRDO (SiChargedDiodeCollection *, const InDetDD::SolidStateDetectorElementBase *) |
| void | createAndStoreSDO (SiChargedDiodeCollection *collection) |
Private Attributes | |
| FloatProperty | m_charge_threshold {this, "ChargeThreshold", 625., "Minimum charge threshold in ASIC"} |
| BooleanProperty | m_onlyUseContainerName {this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."} |
| SG::ReadHandleKey< SiHitCollection > | m_hitsContainerKey {this, "InputObjectName", "HGTD_Hits", "Input HITS collection name"} |
| std::string | m_inputObjectName {""} |
| SG::WriteHandle< HGTD_RDO_Container > | m_hgtd_rdo_container |
| RDO container handle. | |
| SG::WriteHandleKey< HGTD_RDO_Container > | m_output_rdo_cont_key {this, "OutputObjectName", "HGTD_RDOs", "Output Object name"} |
| SG::WriteHandle< HGTD_ALTIROC_RDO_Container > | m_hgtd_altiroc_rdo_container |
| ALTIROC RDO container handle. | |
| SG::WriteHandleKey< HGTD_ALTIROC_RDO_Container > | m_output_altiroc_rdo_cont_key {this, "AltirocOutputObject", "", "Key of HGTD_ALTIROC_RDO container"} |
| SG::WriteHandle< InDetSimDataCollection > | m_sdo_collection_map |
| SDO Map handle. | |
| SG::WriteHandleKey< InDetSimDataCollection > | m_output_sdo_coll_key {this, "OutputSDOName", "HGTD_SDO_Map", "Output SDO container name"} |
| SG::ReadCondHandleKey< InDetDD::HGTD_DetectorElementCollection > | m_HGTDDetEleCollKey {this, "HGTDDetEleCollKey", "HGTD_DetectorElementCollection", "Key of HGTD_DetectorElementCollection for HGTD"} |
| ServiceHandle< PileUpMergeSvc > | m_merge_svc {this, "MergeSvc", "PileUpMergeSvc", "Merge service used in Pixel & HGTD digitization"} |
| ServiceHandle< IAthRNGSvc > | m_rndm_svc {this, "RndmSvc", "AthRNGSvc", "Random Number Service used in HGTD & Pixel digitization"} |
| Random number service. | |
| std::list< ISiChargedDiodesProcessorTool * > | m_diode_processor_tools |
| ToolHandle< IFrontEnd > | m_hgtd_front_end_tool {this, "FrontEnd", "HGTD_FrontEndTool", "Tool for pulse shape simulation"} |
| ToolHandle< IHGTD_SurfaceChargesGenerator > | m_hgtd_surf_charge_gen {this, "SurfaceChargesGenerator", "HGTD_SurfaceChargesGenerator", "Choice of using a more detailed charge drift model"} |
| ToolHandle< HGTD_TdcCalibrationTool > | m_hgtd_tdc_calib_tool {this, "HGTD_TdcCalibrationTool","HGTD_TdcCalibrationTool", "Tool that handles the Time to Digital Converter (TDC)"} |
| const HGTD_ID * | m_id_helper {nullptr} |
| Handle to the ID helper. | |
| std::unique_ptr< TimedHitCollection< SiHit > > | m_timed_hit_coll {nullptr} |
| std::vector< bool > | m_processed_elements |
| In order to process all element rather than just those with hits we create a vector to keep track of which elements have been processed. | |
| std::vector< std::unique_ptr< SiHitCollection > > | m_hit_coll_ptrs {} |
structors and AlgTool implementation | |
| virtual bool | toProcess (int bunchXing) const override |
| the method this base class helps implementing | |
| virtual bool | filterPassed () const override |
| dummy implementation of passing filter | |
| virtual void | resetFilter () override |
| dummy implementation of filter reset | |
| Gaudi::Property< int > | m_firstXing |
| Gaudi::Property< int > | m_lastXing |
| Gaudi::Property< int > | m_vetoPileUpTruthLinks |
| bool | m_filterPassed {true} |
Definition at line 51 of file HGTD_DigitizationTool.h.
| HGTD_DigitizationTool::HGTD_DigitizationTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 23 of file HGTD_DigitizationTool.cxx.
|
private |
FIXME: will be implemented once we know how much noise we expect.
Step by step processor tools applied on diodes. These should simulate: Preamplifier -> Discriminator -> TDC. Is called within digitizeHitsPerDetectorElement.
Used tools: FrontEndTool, which calls the Amplifier inside
Definition at line 320 of file HGTD_DigitizationTool.cxx.
|
private |
Definition at line 343 of file HGTD_DigitizationTool.cxx.
|
private |
Definition at line 455 of file HGTD_DigitizationTool.cxx.
|
inherited |
Creates the InterfaceID and interfaceID() method.
|
private |
Definition at line 251 of file HGTD_DigitizationTool.cxx.
|
pure virtualinherited |
flags whether the event should be removed or not
|
inlineoverridevirtualinherited |
|
finaloverridevirtual |
Reimplemented from PileUpToolBase.
Definition at line 29 of file HGTD_DigitizationTool.cxx.
|
inlinestatic |
Definition at line 143 of file HGTD_DigitizationTool.h.
|
finaloverridevirtual |
called at the end of the bunchXing loop
Reimplemented from IPileUpTool.
Definition at line 141 of file HGTD_DigitizationTool.cxx.
|
finaloverridevirtual |
called before the bunchXing loop
Reimplemented from IPileUpTool.
Definition at line 165 of file HGTD_DigitizationTool.cxx.
|
finaloverridevirtual |
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Implements IPileUpTool.
Definition at line 74 of file HGTD_DigitizationTool.cxx.
|
finaloverridevirtual |
called for each active bunch-crossing (time in ns)
Implements IPileUpTool.
Definition at line 102 of file HGTD_DigitizationTool.cxx.
|
pure virtualinherited |
reset the filter
|
inlineoverridevirtualinherited |
dummy implementation of filter reset
Reimplemented in MergeTruthJetsTool.
Definition at line 51 of file PileUpToolBase.h.
|
private |
Retrieve the SiHit collection and place it in a TimedHitCollection.
Definition at line 192 of file HGTD_DigitizationTool.cxx.
|
pure virtualinherited |
flags whether this tool is "live" for bunchXing (time in ns) implemented by default in PileUpToolBase as FirstXing<=bunchXing<=LastXing
|
inlineoverridevirtualinherited |
the method this base class helps implementing
Reimplemented in MergeHijingParsTool, and MergeTrackRecordCollTool.
Definition at line 32 of file PileUpToolBase.h.
|
private |
Definition at line 105 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 123 of file HGTD_DigitizationTool.h.
|
protectedinherited |
Definition at line 60 of file PileUpToolBase.h.
|
protectedinherited |
Definition at line 54 of file PileUpToolBase.h.
|
private |
ALTIROC RDO container handle.
Definition at line 114 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 124 of file HGTD_DigitizationTool.h.
|
private |
RDO container handle.
Definition at line 111 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 125 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 126 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 119 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 139 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 108 of file HGTD_DigitizationTool.h.
|
private |
|
private |
Definition at line 109 of file HGTD_DigitizationTool.h.
|
protectedinherited |
Definition at line 56 of file PileUpToolBase.h.
|
private |
Definition at line 121 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 107 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 115 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 112 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 118 of file HGTD_DigitizationTool.h.
|
private |
In order to process all element rather than just those with hits we create a vector to keep track of which elements have been processed.
This is useful for adding random noise (?!) NB. an element is an hgtd module
Definition at line 137 of file HGTD_DigitizationTool.h.
|
private |
Random number service.
Definition at line 122 of file HGTD_DigitizationTool.h.
|
private |
SDO Map handle.
Definition at line 117 of file HGTD_DigitizationTool.h.
|
private |
Definition at line 132 of file HGTD_DigitizationTool.h.
|
protectedinherited |
Definition at line 58 of file PileUpToolBase.h.