CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelGaussianSmearingRecHitConverterAlgorithm.h
Go to the documentation of this file.
1 #ifndef FastSimulation_TrackingRecHitProducer_SiPixelGaussianSmearingRecHitConverterAlgorithm_h
2 #define FastSimulation_TrackingRecHitProducer_SiPixelGaussianSmearingRecHitConverterAlgorithm_h
3 
4 //---------------------------------------------------------------------------
9 //---------------------------------------------------------------------------
10 
11 
12 //Framework
14 
15 // PSimHit
17 
18 // Geometry
21 // template object
23 
24 // Vectors
27 
28 // STL
29 #include <vector>
30 #include <string>
31 
32 class TFile;
33 class RandomEngine;
35 
37 public:
38  //--- Constructor, virtual destructor (just in case)
40  const edm::ParameterSet& pset,
41  GeomDetType::SubDetector pixelPart,
42  const RandomEngine* engine);
43 
44  // destructor
46 
47  // return results
49  double getPositionX() {return thePositionX;}
50  double getPositionY() {return thePositionY;}
51  double getPositionZ() {return thePositionZ;}
53  double getErrorX() {return theErrorX;}
54  double getErrorY() {return theErrorY;}
55  double getErrorZ() {return theErrorZ;}
56  unsigned int getPixelMultiplicityAlpha() {return theClslenx;}
57  unsigned int getPixelMultiplicityBeta() {return theClsleny;}
58  //
59 
60  //
61  void smearHit( const PSimHit& simHit, const PixelGeomDetUnit* detUnit, const double boundX, const double boundY);
62 
63 private:
64  // Switch between old (ORCA) and new (CMSSW) pixel parameterization
66  // template object
68  int tempId;
69  //
70  bool isFlipped(const PixelGeomDetUnit* theDet) const;
71  void initializeBarrel();
72  void initializeForward();
73  //isForward, true for forward, false for barrel
74  bool isForward;
75  //
76  //
77  // resolution bins
79  unsigned int rescotAlpha_binN;
81  unsigned int rescotBeta_binN;
83  unsigned int resqbin_binN;
84  //
86  // Useful private members
88 
89  std::map<unsigned,const SimpleHistogramGenerator*> theXHistos;
90  std::map<unsigned,const SimpleHistogramGenerator*> theYHistos;
91 
94  //Splite the resolution histograms for cvs uploading
97 
98  unsigned int theLayer;
99  // output
101  double thePositionX;
102  double thePositionY;
103  double thePositionZ;
105  double theErrorX;
106  double theErrorY;
107  double theErrorZ;
108  unsigned int theClslenx;
109  unsigned int theClsleny;
110  //
111  // The random engine
113 
114 };
115 
116 #endif
SiPixelGaussianSmearingRecHitConverterAlgorithm(const edm::ParameterSet &pset, GeomDetType::SubDetector pixelPart, const RandomEngine *engine)
std::map< unsigned, const SimpleHistogramGenerator * > theXHistos
std::map< unsigned, const SimpleHistogramGenerator * > theYHistos
void smearHit(const PSimHit &simHit, const PixelGeomDetUnit *detUnit, const double boundX, const double boundY)