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;
35 
37 public:
38  //--- Constructor, virtual destructor (just in case)
40  const edm::ParameterSet& pset,
41  GeomDetType::SubDetector pixelPart);
42 
43  // destructor
45 
46  // return results
48  double getPositionX() {return thePositionX;}
49  double getPositionY() {return thePositionY;}
50  double getPositionZ() {return thePositionZ;}
52  double getErrorX() {return theErrorX;}
53  double getErrorY() {return theErrorY;}
54  double getErrorZ() {return theErrorZ;}
55  unsigned int getPixelMultiplicityAlpha() {return theClslenx;}
56  unsigned int getPixelMultiplicityBeta() {return theClsleny;}
57  //
58 
59  //
60  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
67  std::vector< SiPixelTemplateStore > thePixelTemp_;
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 #endif
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, RandomEngineAndDistribution const *)
SiPixelGaussianSmearingRecHitConverterAlgorithm(const edm::ParameterSet &pset, GeomDetType::SubDetector pixelPart)