CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripDigitizerAlgorithm.h
Go to the documentation of this file.
1 #ifndef SiStripDigitizerAlgorithm_h
2 #define SiStripDigitizerAlgorithm_h
3 
10 #include <string>
11 
13 
34 
35 namespace CLHEP {
36  class HepRandomEngine;
37 }
38 
40  public:
45  typedef std::map< int, float, std::less<int> > hit_map_type;
46  typedef float Amplitude;
47 
48  // Constructor
49  SiStripDigitizerAlgorithm(const edm::ParameterSet& conf, CLHEP::HepRandomEngine&);
50 
51  // Destructor
53 
54  // Runs the algorithm
56  const std::vector<std::pair<const PSimHit*, int > > &,
57  StripGeomDetUnit *, GlobalVector, float,
60 
61  // digisimlink
62  std::vector<StripDigiSimLink> make_link() { return link_coll; }
63 
64  // ParticleDataTable
67  pdt= pardt;
68  }
69 
70  private:
73  double theThreshold;
74  double cmnRMStib;
75  double cmnRMStob;
76  double cmnRMStid;
77  double cmnRMStec;
79  bool peakMode;
80  bool noise;
86 
91  double tofCut;
92  int numStrips;
93  int strip;
94  //double noiseRMS;
95  //double pedValue;
96  double cosmicShift;
97  double inefficiency;
98  double pedOffset;
99 
104 
105  // local amplitude of detector channels (from processed PSimHit)
106  std::vector<double> locAmpl;
107  // total amplitude of detector channels
108  std::vector<double> detAmpl;
109 
112 
118  CLHEP::HepRandomEngine& rndEngine;
119 
122  std::vector<StripDigiSimLink> link_coll;
123  CLHEP::RandFlat *theFlatDistribution;
124 
125  void push_link(const DigitalVecType&,
126  const HitToDigisMapType&,
128  const std::vector<double>&,
129  unsigned int);
130 
131  void push_link_raw(const DigitalRawVecType&,
132  const HitToDigisMapType&,
134  const std::vector<double>&,
135  unsigned int);
136 };
137 
138 #endif
std::vector< SiStripDigi > DigitalVecType
HepPDT::ParticleDataTable ParticleDataTable
SiDigitalConverter::DigitalRawVecType DigitalRawVecType
SiDigitalConverter::DigitalVecType DigitalVecType
CLHEP::HepRandomEngine & rndEngine
std::map< int, float, std::less< int > > hit_map_type
void push_link_raw(const DigitalRawVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< double > &, unsigned int)
void push_link(const DigitalVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< double > &, unsigned int)
SiStripDigitizerAlgorithm(const edm::ParameterSet &conf, CLHEP::HepRandomEngine &)
SiPileUpSignals::HitToDigisMapType HitToDigisMapType
std::vector< SiStripRawDigi > DigitalRawVecType
void setParticleDataTable(const ParticleDataTable *pdt)
SiPileUpSignals::HitCounterToDigisMapType HitCounterToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, int > >, std::less< int > > HitCounterToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
HepPDT::ParticleData ParticleData
tuple conf
Definition: dbtoconf.py:185
void setParticleDataTable(const ParticleDataTable *pardt)
SiTrivialDigitalConverter * theSiDigitalConverter
std::vector< StripDigiSimLink > make_link()
SiStripFedZeroSuppression * theSiZeroSuppress
SiGaussianTailNoiseAdder * theSiNoiseAdder
void run(edm::DetSet< SiStripDigi > &, edm::DetSet< SiStripRawDigi > &, const std::vector< std::pair< const PSimHit *, int > > &, StripGeomDetUnit *, GlobalVector, float, edm::ESHandle< SiStripGain > &, edm::ESHandle< SiStripThreshold > &, edm::ESHandle< SiStripNoises > &, edm::ESHandle< SiStripPedestals > &, edm::ESHandle< SiStripBadStrip > &)
std::vector< StripDigiSimLink > link_coll
const ParticleDataTable * pdt