CMS 3D CMS Logo

DigiSimLinkAlgorithm.h
Go to the documentation of this file.
1 #ifndef DigiSimLinkAlgorithm_h
2 #define DigiSimLinkAlgorithm_h
3 
9 #include <string>
10 
12 
26 #include "SiHitDigitizer.h"
34 
35 namespace CLHEP {
36  class HepRandomEngine;
37 }
38 
39 class TrackerTopolgoy;
40 
42 public:
47  typedef std::map<int, float, std::less<int> > hit_map_type;
48  typedef float Amplitude;
49 
50  // Constructor
52 
53  // Destructor
55 
56  // Runs the algorithm
59  const std::vector<std::pair<const PSimHit *, int> > &,
60  StripGeomDetUnit const *,
62  float,
68  const TrackerTopology *tTopo,
69  CLHEP::HepRandomEngine *);
70 
71  // digisimlink
72  std::vector<StripDigiSimLink> make_link() { return link_coll; }
73 
74  // ParticleDataTable
77  pdt = pardt;
78  }
79 
80 private:
83  double theThreshold;
84  double cmnRMStib;
85  double cmnRMStob;
86  double cmnRMStid;
87  double cmnRMStec;
89  bool peakMode;
90  bool noise;
96 
101  double tofCut;
103  int strip;
104  //double noiseRMS;
105  //double pedValue;
106  double cosmicShift;
107  double inefficiency;
108  double pedOffset;
110 
115 
116  // local amplitude of detector channels (from processed PSimHit)
117  std::vector<float> locAmpl;
118  // total amplitude of detector channels
119  std::vector<float> detAmpl;
120 
123 
129 
132  std::vector<StripDigiSimLink> link_coll;
133 
134  void push_link(const DigitalVecType &,
135  const HitToDigisMapType &,
136  const HitCounterToDigisMapType &,
137  const std::vector<float> &,
138  unsigned int);
139 
140  void push_link_raw(const DigitalRawVecType &,
141  const HitToDigisMapType &,
142  const HitCounterToDigisMapType &,
143  const std::vector<float> &,
144  unsigned int);
145 };
146 
147 #endif
Vector3DBase
Definition: Vector3DBase.h:8
DigiSimLinkAlgorithm::particle
const ParticleData * particle
Definition: DigiSimLinkAlgorithm.h:122
DigiSimLinkAlgorithm::locAmpl
std::vector< float > locAmpl
Definition: DigiSimLinkAlgorithm.h:117
DigiSimLinkAlgorithm::push_link
void push_link(const DigitalVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< float > &, unsigned int)
Definition: DigiSimLinkAlgorithm.cc:313
StripGeomDetUnit.h
DigiSimLinkAlgorithm::cmnRMStid
double cmnRMStid
Definition: DigiSimLinkAlgorithm.h:86
DigiSimLinkAlgorithm::localLastChannel
size_t localLastChannel
Definition: DigiSimLinkAlgorithm.h:114
SiStripGain.h
edm::DetSet< SiStripDigi >
TrackerTopology
Definition: TrackerTopology.h:16
SiStripRawDigi.h
DigiSimLinkAlgorithm::firstChannelWithSignal
size_t firstChannelWithSignal
Definition: DigiSimLinkAlgorithm.h:111
DigiSimLinkPileUpSignals::HitCounterToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, int > >, std::less< int > > HitCounterToDigisMapType
Definition: DigiSimLinkPileUpSignals.h:22
GeomDetType.h
DigiSimLinkAlgorithm::strip
int strip
Definition: DigiSimLinkAlgorithm.h:103
DigiSimLinkAlgorithm::make_link
std::vector< StripDigiSimLink > make_link()
Definition: DigiSimLinkAlgorithm.h:72
DigiSimLinkAlgorithm::run
void run(edm::DetSet< SiStripDigi > &, edm::DetSet< SiStripRawDigi > &, const std::vector< std::pair< const PSimHit *, int > > &, StripGeomDetUnit const *, GlobalVector, float, edm::ESHandle< SiStripGain > &, edm::ESHandle< SiStripThreshold > &, edm::ESHandle< SiStripNoises > &, edm::ESHandle< SiStripPedestals > &, edm::ESHandle< SiStripBadStrip > &, const TrackerTopology *tTopo, CLHEP::HepRandomEngine *)
Definition: DigiSimLinkAlgorithm.cc:71
SiStripNoises.h
DigiSimLinkAlgorithm::Amplitude
float Amplitude
Definition: DigiSimLinkAlgorithm.h:48
StripTopology.h
SiStripBadStrip.h
DigiSimLinkAlgorithm::setParticleDataTable
void setParticleDataTable(const ParticleDataTable *pardt)
Definition: DigiSimLinkAlgorithm.h:75
DigiSimLinkAlgorithm::digis
DigitalVecType digis
Definition: DigiSimLinkAlgorithm.h:130
DigiSimLinkAlgorithm::DigitalRawVecType
SiDigitalConverter::DigitalRawVecType DigitalRawVecType
Definition: DigiSimLinkAlgorithm.h:44
DigiSimLinkAlgorithm::cmnRMStob
double cmnRMStob
Definition: DigiSimLinkAlgorithm.h:85
DigiSimLinkAlgorithm::~DigiSimLinkAlgorithm
~DigiSimLinkAlgorithm()
Definition: DigiSimLinkAlgorithm.cc:58
ParticleData
HepPDT::ParticleData ParticleData
Definition: ParticleDataTable.h:9
SiHitDigitizer::setParticleDataTable
void setParticleDataTable(const ParticleDataTable *pdt)
Definition: SiHitDigitizer.h:43
DigiSimLinkAlgorithm::APVSaturationProb
double APVSaturationProb
Definition: DigiSimLinkAlgorithm.h:88
DigiSimLinkAlgorithm::cmnRMStib
double cmnRMStib
Definition: DigiSimLinkAlgorithm.h:84
DigiSimLinkAlgorithm::BaselineShift
bool BaselineShift
Definition: DigiSimLinkAlgorithm.h:94
PSimHit.h
DigiSimLinkAlgorithm::theSiHitDigitizer
SiHitDigitizer * theSiHitDigitizer
Definition: DigiSimLinkAlgorithm.h:124
DigiSimLinkPileUpSignals
Definition: DigiSimLinkPileUpSignals.h:13
SiStripFedZeroSuppression.h
DigiSimLinkAlgorithm::lastChannelWithSignal
size_t lastChannelWithSignal
Definition: DigiSimLinkAlgorithm.h:112
DigiSimLinkAlgorithm::theTOFCutForPeak
double theTOFCutForPeak
Definition: DigiSimLinkAlgorithm.h:99
SiStripDigi.h
SiStripFedZeroSuppression
Definition: SiStripFedZeroSuppression.h:16
DigiSimLinkAlgorithm::localFirstChannel
size_t localFirstChannel
Definition: DigiSimLinkAlgorithm.h:113
DigiSimLinkAlgorithm::DigitalVecType
SiDigitalConverter::DigitalVecType DigitalVecType
Definition: DigiSimLinkAlgorithm.h:43
edm::ESHandle< SiStripGain >
DigiSimLinkAlgorithm::tofCut
double tofCut
Definition: DigiSimLinkAlgorithm.h:101
SiHitDigitizer.h
DigiSimLinkAlgorithm::HitCounterToDigisMapType
DigiSimLinkPileUpSignals::HitCounterToDigisMapType HitCounterToDigisMapType
Definition: DigiSimLinkAlgorithm.h:46
DigiSimLinkAlgorithm::push_link_raw
void push_link_raw(const DigitalRawVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< float > &, unsigned int)
Definition: DigiSimLinkAlgorithm.cc:363
DigiSimLinkAlgorithm::cosmicShift
double cosmicShift
Definition: DigiSimLinkAlgorithm.h:106
DigiSimLinkAlgorithm::theThreshold
double theThreshold
Definition: DigiSimLinkAlgorithm.h:83
SiStripThreshold.h
CLHEP
Definition: CocoaGlobals.h:27
SiDigitalConverter::DigitalVecType
std::vector< SiStripDigi > DigitalVecType
Definition: SiDigitalConverter.h:14
DigiSimLinkAlgorithm::DigiSimLinkAlgorithm
DigiSimLinkAlgorithm(const edm::ParameterSet &conf)
Definition: DigiSimLinkAlgorithm.cc:20
SiGaussianTailNoiseAdder
Definition: SiGaussianTailNoiseAdder.h:17
edm::ParameterSet
Definition: ParameterSet.h:36
DigiSimLinkAlgorithm::theSiNoiseAdder
SiGaussianTailNoiseAdder * theSiNoiseAdder
Definition: DigiSimLinkAlgorithm.h:126
ParticleDataTable.h
DigiSimLinkAlgorithm::theFedAlgo
int theFedAlgo
Definition: DigiSimLinkAlgorithm.h:97
DigiSimLinkAlgorithm::conf_
edm::ParameterSet conf_
Definition: DigiSimLinkAlgorithm.h:81
DigiSimLinkAlgorithm::theSiZeroSuppress
SiStripFedZeroSuppression * theSiZeroSuppress
Definition: DigiSimLinkAlgorithm.h:128
DigiSimLinkAlgorithm::CommonModeNoise
bool CommonModeNoise
Definition: DigiSimLinkAlgorithm.h:93
DigiSimLinkAlgorithm::link_coll
std::vector< StripDigiSimLink > link_coll
Definition: DigiSimLinkAlgorithm.h:132
DigiSimLinkAlgorithm::SingleStripNoise
bool SingleStripNoise
Definition: DigiSimLinkAlgorithm.h:92
DigiSimLinkAlgorithm::peakMode
bool peakMode
Definition: DigiSimLinkAlgorithm.h:89
DigiSimLinkAlgorithm::theTOFCutForDeconvolution
double theTOFCutForDeconvolution
Definition: DigiSimLinkAlgorithm.h:100
DigiSimLinkAlgorithm::RealPedestals
bool RealPedestals
Definition: DigiSimLinkAlgorithm.h:91
DigiSimLinkAlgorithm::PreMixing_
bool PreMixing_
Definition: DigiSimLinkAlgorithm.h:109
DigiSimLinkAlgorithm::pdt
const ParticleDataTable * pdt
Definition: DigiSimLinkAlgorithm.h:121
DigiSimLinkAlgorithm::numStrips
int numStrips
Definition: DigiSimLinkAlgorithm.h:102
DigiSimLinkAlgorithm::cmnRMStec
double cmnRMStec
Definition: DigiSimLinkAlgorithm.h:87
GeomDet.h
DigiSimLinkAlgorithm::noise
bool noise
Definition: DigiSimLinkAlgorithm.h:90
DetId.h
DigiSimLinkPileUpSignals.h
DigiSimLinkAlgorithm::inefficiency
double inefficiency
Definition: DigiSimLinkAlgorithm.h:107
SiTrivialDigitalConverter
Definition: SiTrivialDigitalConverter.h:8
DigiSimLinkAlgorithm::zeroSuppression
bool zeroSuppression
Definition: DigiSimLinkAlgorithm.h:98
DigiSimLinkAlgorithm::detAmpl
std::vector< float > detAmpl
Definition: DigiSimLinkAlgorithm.h:119
SiStripPedestals.h
DigiSimLinkPileUpSignals::HitToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
Definition: DigiSimLinkPileUpSignals.h:19
DigiSimLinkAlgorithm::hit_map_type
std::map< int, float, std::less< int > > hit_map_type
Definition: DigiSimLinkAlgorithm.h:47
DigiSimLinkAlgorithm
Definition: DigiSimLinkAlgorithm.h:41
DetSet.h
DigiSimLinkAlgorithm::rawdigis
DigitalRawVecType rawdigis
Definition: DigiSimLinkAlgorithm.h:131
ParameterSet.h
SiHitDigitizer
Definition: SiHitDigitizer.h:31
SiGaussianTailNoiseAdder.h
DigiSimLinkAlgorithm::APVSaturationFromHIP
bool APVSaturationFromHIP
Definition: DigiSimLinkAlgorithm.h:95
DigiSimLinkAlgorithm::HitToDigisMapType
DigiSimLinkPileUpSignals::HitToDigisMapType HitToDigisMapType
Definition: DigiSimLinkAlgorithm.h:45
DigiSimLinkAlgorithm::pedOffset
double pedOffset
Definition: DigiSimLinkAlgorithm.h:108
DigiSimLinkAlgorithm::theDigiSimLinkPileUpSignals
DigiSimLinkPileUpSignals * theDigiSimLinkPileUpSignals
Definition: DigiSimLinkAlgorithm.h:125
DigiSimLinkAlgorithm::theElectronPerADC
double theElectronPerADC
Definition: DigiSimLinkAlgorithm.h:82
SiTrivialDigitalConverter.h
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition: ParticleDataTable.h:8
SiDigitalConverter::DigitalRawVecType
std::vector< SiStripRawDigi > DigitalRawVecType
Definition: SiDigitalConverter.h:15
DigiSimLinkAlgorithm::theSiDigitalConverter
SiTrivialDigitalConverter * theSiDigitalConverter
Definition: DigiSimLinkAlgorithm.h:127
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15