Go to the documentation of this file. 1 #ifndef SiStripDigitizerAlgorithm_h
2 #define SiStripDigitizerAlgorithm_h
54 class HepRandomEngine;
77 const std::vector<PSimHit>::const_iterator inputEnd,
78 size_t inputBeginGlobalIndex,
83 CLHEP::HepRandomEngine*);
96 bool simulateAPVInThisEvent,
98 std::vector<std::pair<
int, std::bitset<6>>>& theAffectedAPVvector,
99 CLHEP::HepRandomEngine*,
std::map< unsigned int, size_t > firstChannelsWithSignal
const double APVSaturationProbScaling_
int NumberOfBxBetweenHIPandEvent
const bool CommonModeNoise
const bool makeDigiSimLinks_
bool includeAPVSimulation_
const bool SingleStripNoise
std::map< uint32_t, AssociationInfoForChannel > AssociationInfoForDetId
const ParticleData * particle
std::map< unsigned int, std::vector< bool > > allHIPChannels
void digitize(edm::DetSet< SiStripDigi > &outDigis, edm::DetSet< SiStripRawDigi > &outRawDigis, edm::DetSet< SiStripRawDigi > &outStripAmplitudes, edm::DetSet< SiStripRawDigi > &outStripAmplitudesPostAPV, edm::DetSet< SiStripRawDigi > &outStripAPVBaselines, edm::DetSet< StripDigiSimLink > &outLink, const StripGeomDetUnit *stripdet, edm::ESHandle< SiStripGain > &, edm::ESHandle< SiStripThreshold > &, edm::ESHandle< SiStripNoises > &, edm::ESHandle< SiStripPedestals > &, bool simulateAPVInThisEvent, edm::ESHandle< SiStripApvSimulationParameters > &, std::vector< std::pair< int, std::bitset< 6 >>> &theAffectedAPVvector, CLHEP::HepRandomEngine *, const TrackerTopology *tTopo)
AssociationInfoForDetId associationInfoForDetId_
Structure that holds the information on the SimTrack contributions. Only filled if makeDigiSimLinks_ ...
void calculateInstlumiScale(PileupMixingContent *puInfo)
const double theTOFCutForDeconvolution
const double theThreshold
void initializeDetUnit(StripGeomDetUnit const *det, const edm::EventSetup &iSetup)
HepPDT::ParticleData ParticleData
size_t simHitGlobalIndex
The array index of the sim hit, but in the array for all crossings.
const ParticleDataTable * pdt
std::map< unsigned int, size_t > lastChannelsWithSignal
std::map< int, float, std::less< int > > hit_map_type
SiDigitalConverter::DigitalRawVecType DigitalRawVecType
const double theElectronPerADC
~SiStripDigitizerAlgorithm()
std::map< unsigned int, std::vector< bool > > allBadChannels
const double inefficiency
std::vector< SiStripDigi > DigitalVecType
const std::unique_ptr< SiTrivialDigitalConverter > theSiDigitalConverter
std::map< int, std::vector< AssociationInfo > > AssociationInfoForChannel
const std::unique_ptr< SiHitDigitizer > theSiHitDigitizer
const double apv_maxResponse_
const std::unique_ptr< SiStripFedZeroSuppression > theSiZeroSuppress
SiStripDigitizerAlgorithm(const edm::ParameterSet &conf)
void setParticleDataTable(const ParticleDataTable *pardt)
void accumulateSimHits(const std::vector< PSimHit >::const_iterator inputBegin, const std::vector< PSimHit >::const_iterator inputEnd, size_t inputBeginGlobalIndex, unsigned int tofBin, const StripGeomDetUnit *stripdet, const GlobalVector &bfield, const TrackerTopology *tTopo, CLHEP::HepRandomEngine *)
const bool zeroSuppression
std::map< int, Amplitude > SignalMapType
SiDigitalConverter::DigitalVecType DigitalVecType
const bool APVSaturationFromHIP
const std::unique_ptr< SiPileUpSignals > theSiPileUpSignals
std::map< int, float > mapOfAPVprobabilities
double APVSaturationProb_
const std::unique_ptr< const SiGaussianTailNoiseAdder > theSiNoiseAdder
edm::ESHandle< SiStripLorentzAngle > lorentzAngleHandle
const std::string lorentzAngleName
const double theTOFCutForPeak
const double apv_fCPerElectron_
HepPDT::ParticleDataTable ParticleDataTable
edm::FileInPath APVProbabilityFile
void initializeEvent(const edm::EventSetup &iSetup)
std::vector< SiStripRawDigi > DigitalRawVecType
std::map< int, std::bitset< 6 > > SiStripTrackerAffectedAPVMap
SiPileUpSignals::SignalMapType SignalMapType
std::ifstream APVProbaFile