CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
void push_link(const DigitalVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< float > &, unsigned int)
std::vector< SiStripDigi > DigitalVecType
std::map< int, float, std::less< int > > hit_map_type
SiHitDigitizer * theSiHitDigitizer
DigitalRawVecType rawdigis
HepPDT::ParticleDataTable ParticleDataTable
edm::ParameterSet conf_
SiStripFedZeroSuppression * theSiZeroSuppress
std::vector< StripDigiSimLink > make_link()
const ParticleDataTable * pdt
void setParticleDataTable(const ParticleDataTable *pardt)
void push_link_raw(const DigitalRawVecType &, const HitToDigisMapType &, const HitCounterToDigisMapType &, const std::vector< float > &, unsigned int)
SiDigitalConverter::DigitalRawVecType DigitalRawVecType
SiDigitalConverter::DigitalVecType DigitalVecType
std::vector< StripDigiSimLink > link_coll
SiTrivialDigitalConverter * theSiDigitalConverter
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
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 *)
std::vector< SiStripRawDigi > DigitalRawVecType
std::vector< float > detAmpl
void setParticleDataTable(const ParticleDataTable *pdt)
SiGaussianTailNoiseAdder * theSiNoiseAdder
HepPDT::ParticleData ParticleData
DigiSimLinkPileUpSignals::HitCounterToDigisMapType HitCounterToDigisMapType
DigiSimLinkAlgorithm(const edm::ParameterSet &conf)
const ParticleData * particle
DigiSimLinkPileUpSignals::HitToDigisMapType HitToDigisMapType
DigiSimLinkPileUpSignals * theDigiSimLinkPileUpSignals
std::vector< float > locAmpl
std::map< int, std::vector< std::pair< const PSimHit *, int > >, std::less< int > > HitCounterToDigisMapType