![]() |
ATLAS Offline Software
|
Pileup tool for BCM digitization. More...
#include <BCM_DigitizationTool.h>
Public Member Functions | |
| BCM_DigitizationTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Constructor with parameters. | |
| 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 |
| PileUpToolBase methods. | |
| virtual StatusCode | processBunchXing (int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final |
| virtual StatusCode | mergeEvent (const EventContext &ctx) override final |
Private Member Functions | |
| StatusCode | createOutputContainers (const EventContext &ctx) |
| Create the RDO and SDO containers. | |
| void | processSiHit (const SiHit ¤tHit, double eventTime, unsigned int evtIndex, const EventContext &ctx) |
| void | createRDOsAndSDOs (const EventContext &ctx) |
| float | computeEnergy (float simEner, const HepGeom::Point3D< double > &startPos, const HepGeom::Point3D< double > &endPos) |
| Compute energy deposit depending on hit position. | |
| std::vector< float > | createAnalog (int mod, const std::vector< float > &enerVect, const std::vector< float > &timeVect) |
| Fill in hit pulses on analog waveform. | |
| void | addNoise (int mod, std::vector< float > &analog, CLHEP::HepRandomEngine *randomEngine) |
| Add noise to analog waveform. | |
| std::bitset< 64 > | applyThreshold (int chan, const std::vector< float > &analog) |
| Do ToT digitization. | |
| void | fillRDO (unsigned int chan, int p1x, int p1w, int p2x, int p2w) |
| Create raw data object and put it in the container. | |
Static Private Member Functions | |
| static void | applyFilter (std::bitset< 64 > &digital) |
| Apply hole and spike filter to digital waveform. | |
| static void | findPulses (const std::bitset< 64 > &digital, int &p1x, int &p1w, int &p2x, int &p2w) |
| Find first two pulses on digital waveform. | |
Private Attributes | |
| std::vector< float > | m_modNoise |
| RMS Gaussian noise. | |
| std::vector< float > | m_modSignal |
| Most probable MIP signal. | |
| std::vector< float > | m_ninoThr |
| NINO threshold. | |
| Gaudi::Property< float > | m_mipDeposit {this, "MIPDeposit", 0.0f, "Most probable MIP deposit in BCM pad"} |
| Gaudi::Property< float > | m_effPrmDistance {this, "EffDistanceParam", 0.0f, "Distance parameter for efficiency calculation"} |
| Gaudi::Property< float > | m_effPrmSharpness {this, "EffSharpnessParam", 0.0f, "Sharpness parameter for efficiency calculation"} |
| Gaudi::Property< float > | m_timeDelay {this, "TimeDelay", 0.0f, "Pulse time delay"} |
| 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, "HitCollName", "BCMHits", "Input simulation hits collection name"} |
| std::string | m_inputObjectName {""} |
| SG::WriteHandleKey< BCM_RDO_Container > | m_outputKey {this, "OutputRDOKey", "BCM_RDOs", ""} |
| SG::WriteHandleKey< InDetSimDataCollection > | m_outputSDOKey {this, "OutputSDOKey", "BCM_SDO_Map", ""} |
| BCM_RDO_Container * | m_rdoContainer {} |
| Output RDO container. | |
| InDetSimDataCollection * | m_simDataCollMap {} |
| Output SDO map. | |
| ServiceHandle< PileUpMergeSvc > | m_mergeSvc {this, "MergeSvc", "PileUpMergeSvc", "Merge service used in digitization"} |
| ServiceHandle< IAthRNGSvc > | m_rndmGenSvc {this, "RndmSvc", "AthRNGSvc", ""} |
| Random number service. | |
| std::vector< float > | m_enerVect [8] |
| G4 hit energies, weighted. | |
| std::vector< float > | m_timeVect [8] |
| G4 hit times. | |
| std::vector< InDetSimData::Deposit > | m_depositVect [8] |
| Deposit vectors for SDO map. | |
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} |
Pileup tool for BCM digitization.
Definition at line 34 of file BCM_DigitizationTool.h.
| BCM_DigitizationTool::BCM_DigitizationTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Constructor with parameters.
Definition at line 26 of file BCM_DigitizationTool.cxx.
|
private |
Add noise to analog waveform.
Definition at line 315 of file BCM_DigitizationTool.cxx.
|
staticprivate |
Apply hole and spike filter to digital waveform.
Definition at line 336 of file BCM_DigitizationTool.cxx.
|
private |
Do ToT digitization.
Definition at line 323 of file BCM_DigitizationTool.cxx.
|
private |
Compute energy deposit depending on hit position.
Definition at line 264 of file BCM_DigitizationTool.cxx.
|
private |
Fill in hit pulses on analog waveform.
Definition at line 288 of file BCM_DigitizationTool.cxx.
|
private |
Create the RDO and SDO containers.
Definition at line 71 of file BCM_DigitizationTool.cxx.
|
private |
Definition at line 126 of file BCM_DigitizationTool.cxx.
|
private |
Create raw data object and put it in the container.
Definition at line 434 of file BCM_DigitizationTool.cxx.
|
inlineoverridevirtualinherited |
|
staticprivate |
Find first two pulses on digital waveform.
Definition at line 354 of file BCM_DigitizationTool.cxx.
|
finaloverridevirtual |
Reimplemented from PileUpToolBase.
Definition at line 37 of file BCM_DigitizationTool.cxx.
|
finaloverridevirtual |
Definition at line 252 of file BCM_DigitizationTool.cxx.
|
finaloverridevirtual |
PileUpToolBase methods.
Definition at line 150 of file BCM_DigitizationTool.cxx.
|
finaloverridevirtual |
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Reimplemented from PileUpToolBase.
Definition at line 162 of file BCM_DigitizationTool.cxx.
|
finaloverridevirtual |
Reimplemented from PileUpToolBase.
Definition at line 218 of file BCM_DigitizationTool.cxx.
|
private |
Definition at line 109 of file BCM_DigitizationTool.cxx.
|
inlineoverridevirtualinherited |
dummy implementation of filter reset
Reimplemented in MergeTruthJetsTool.
Definition at line 51 of file PileUpToolBase.h.
|
inlineoverridevirtualinherited |
the method this base class helps implementing
Reimplemented in MergeHijingParsTool, and MergeTrackRecordCollTool.
Definition at line 32 of file PileUpToolBase.h.
|
private |
Deposit vectors for SDO map.
Definition at line 106 of file BCM_DigitizationTool.h.
|
private |
Definition at line 84 of file BCM_DigitizationTool.h.
|
private |
Definition at line 85 of file BCM_DigitizationTool.h.
|
private |
G4 hit energies, weighted.
Definition at line 104 of file BCM_DigitizationTool.h.
|
protectedinherited |
Definition at line 60 of file PileUpToolBase.h.
|
protectedinherited |
Definition at line 54 of file PileUpToolBase.h.
|
private |
Definition at line 89 of file BCM_DigitizationTool.h.
|
private |
Definition at line 90 of file BCM_DigitizationTool.h.
|
protectedinherited |
Definition at line 56 of file PileUpToolBase.h.
|
private |
Definition at line 100 of file BCM_DigitizationTool.h.
|
private |
Definition at line 83 of file BCM_DigitizationTool.h.
|
private |
RMS Gaussian noise.
Definition at line 80 of file BCM_DigitizationTool.h.
|
private |
Most probable MIP signal.
Definition at line 81 of file BCM_DigitizationTool.h.
|
private |
NINO threshold.
Definition at line 82 of file BCM_DigitizationTool.h.
|
private |
Definition at line 88 of file BCM_DigitizationTool.h.
|
private |
Definition at line 93 of file BCM_DigitizationTool.h.
|
private |
Definition at line 94 of file BCM_DigitizationTool.h.
|
private |
|
private |
Random number service.
Definition at line 101 of file BCM_DigitizationTool.h.
|
private |
|
private |
Definition at line 86 of file BCM_DigitizationTool.h.
|
private |
G4 hit times.
Definition at line 105 of file BCM_DigitizationTool.h.
|
protectedinherited |
Definition at line 58 of file PileUpToolBase.h.