CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiTrackerGaussianSmearingRecHitConverter.h
Go to the documentation of this file.
1 #ifndef FastSimulation_TrackingRecHitProducer_SiTrackerGaussianSmearingRecHitConverter_h
2 #define FastSimulation_TrackingRecHitProducer_SiTrackerGaussianSmearingRecHitConverter_h
3 
4 //---------------------------------------------------------------------------
9 //---------------------------------------------------------------------------
10 
11 // Framework
15 
16 // PSimHit
19 
20 // Data Formats
27 
28 // For Dead Channels
31 
32 // STL
33 #include <vector>
34 #include <map>
35 #include <string>
36 
37 class TFile;
38 class TH1F;
39 class TrackerGeometry;
42 class RandomEngine;
43 
44 namespace edm {
45  class ParameterSet;
46  class Event;
47  class EventSetup;
48 }
49 
50 
52 {
53  public:
54  //--- Constructor, virtual destructor (just in case)
57 
58  //--- The top-level event method.
59  virtual void produce(edm::Event& e, const edm::EventSetup& c);
60 
61  // Begin Run
62  virtual void beginRun(edm::Run & run, const edm::EventSetup & es);
63 
65  std::map<unsigned, edm::OwnVector<SiTrackerGSRecHit2D> >& theRecHits,
66  std::map<unsigned, edm::OwnVector<FastTrackerCluster> >& theClusters);
67 
68  void matchHits( std::map<unsigned, edm::OwnVector<SiTrackerGSRecHit2D> >& theRecHits,
70  MixCollection<PSimHit>& simhits);
71 
72  void loadRecHits(std::map<unsigned,edm::OwnVector<SiTrackerGSRecHit2D> >& theRecHits,
73  SiTrackerGSRecHit2DCollection& theRecHitCollection) const;
74 
76  SiTrackerGSMatchedRecHit2DCollection& theRecHitCollection) const;
77 
78  void loadClusters(std::map<unsigned,edm::OwnVector<FastTrackerCluster> >& theClusterMap,
79  FastTrackerClusterCollection& theClusterCollection) const;
80 
81  private:
82  //
83  bool gaussianSmearing(const PSimHit& simHit,
85  LocalError& error,
86  unsigned& alphaMult,
87  unsigned& betaMult);
88  //
89  void loadPixelData();
90  //
91  void loadPixelData(TFile* pixelDataFile, unsigned int nMultiplicity, std::string histName,
92  std::vector<TH1F*>& theMultiplicityCumulativeProbabilities, bool bigPixels = false);
93  //
94  //
95  // parameters
96  std::vector<edm::InputTag> trackerContainers;
98  double deltaRaysPCut; // GeV/c
99  bool trackingPSimHits; // in case it is true make RecHit = replica of PSimHit without errors (1 um)
100  //
103 
104 
105  // Vector with the list of dead modules
106  std::vector<SiPixelQuality::disabledModuleType> * disabledModules;
108 
109 
110  // Switch between old (ORCA) and new (CMSSW) pixel parameterization
114 
117  //
118  // Pixel
125  //
126  // multiplicity bins
128  // internal vector: bins ; external vector: multiplicity
133  // resolution bins
135  unsigned int resAlphaBarrel_binN;
137  unsigned int resBetaBarrel_binN;
139  unsigned int resAlphaForward_binN;
141  unsigned int resBetaForward_binN;
142  //
145  //
146  // Strips
147  // TIB
156  //
161  //
162  // TID
169  //
173  //
174  // TOB
187  //
194  //
195  // TEC
210  //
218  //
219  // valid for all the detectors
221  //
222  // typedef std::map<unsigned int, std::vector<PSimHit>,std::less<unsigned int> > simhit_map;
223 
224  // Pixel Error Parametrization (barrel)
226  // Pixel Error Parametrization (barrel)
228  // Si Strip Error parametrization (generic)
230 
231  // Temporary RecHit map
232  // std::map< DetId, edm::OwnVector<SiTrackerGSRecHit2D> > temporaryRecHits;
233 
234  // Local correspondence between RecHits and SimHits
236  std::vector<SimHiterator> correspondingSimHit;
237 
238  // The random engine
240 
243  // Added for cluster reference
245 
246 };
247 
248 
249 #endif
void loadRecHits(std::map< unsigned, edm::OwnVector< SiTrackerGSRecHit2D > > &theRecHits, SiTrackerGSRecHit2DCollection &theRecHitCollection) const
SiStripGaussianSmearingRecHitConverterAlgorithm * theSiStripErrorParametrization
void smearHits(MixCollection< PSimHit > &input, std::map< unsigned, edm::OwnVector< SiTrackerGSRecHit2D > > &theRecHits, std::map< unsigned, edm::OwnVector< FastTrackerCluster > > &theClusters)
SiPixelGaussianSmearingRecHitConverterAlgorithm * thePixelEndcapParametrization
virtual void produce(edm::Event &e, const edm::EventSetup &c)
void loadClusters(std::map< unsigned, edm::OwnVector< FastTrackerCluster > > &theClusterMap, FastTrackerClusterCollection &theClusterCollection) const
void loadMatchedRecHits(std::map< unsigned, edm::OwnVector< SiTrackerGSMatchedRecHit2D > > &theRecHits, SiTrackerGSMatchedRecHit2DCollection &theRecHitCollection) const
bool gaussianSmearing(const PSimHit &simHit, Local3DPoint &position, LocalError &error, unsigned &alphaMult, unsigned &betaMult)
SiPixelGaussianSmearingRecHitConverterAlgorithm * thePixelBarrelParametrization
std::vector< SiPixelQuality::disabledModuleType > * disabledModules
tuple conf
Definition: dbtoconf.py:185
static int position[264][3]
Definition: ReadPGInfo.cc:509
void matchHits(std::map< unsigned, edm::OwnVector< SiTrackerGSRecHit2D > > &theRecHits, std::map< unsigned, edm::OwnVector< SiTrackerGSMatchedRecHit2D > > &matchedMap, MixCollection< PSimHit > &simhits)
virtual void beginRun(edm::Run &run, const edm::EventSetup &es)
Definition: Run.h:33