CMS 3D CMS Logo

SiStripRecHitsValid.h
Go to the documentation of this file.
1 #ifndef SiStripRecHitsValid_h
2 #define SiStripRecHitsValid_h
3 
10 //only mine
15 
16 //DQM services for histogram
18 
20 
21 //--- for SimHit association
24 
36 
37 #include <string>
39 //For RecHit
43 
44 class SiStripDetCabling;
45 class SiStripDCSStatus;
46 
48 public:
50 
51  ~SiStripRecHitsValid() override;
52 
53  struct TotalMEs { // MEs for total detector Level
57  };
58 
59  struct SubDetMEs { // MEs for Subdetector Level
69  };
70 
71  struct LayerMEs { // MEs for Layer Level
81  };
82 
83  struct StereoAndMatchedMEs { // MEs for Layer Level
101  };
102 
104  float x;
105  float y;
106  // float z;
107  float resolxx;
108  // float resolxy;
109  float resolyy;
110  float resx;
111  float resy;
112  float pullMF;
113  int clusiz;
114  float cluchg;
115  float chi2;
116  int NsimHit;
117  int bunch;
118  int event;
119  };
120 
121 protected:
122  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
123  void bookHistograms(DQMStore::IBooker& ibooker, const edm::Run& run, const edm::EventSetup& es) override;
124 
125 private:
127 
131 
141 
168 
170  std::vector<std::string> SubDetList_;
171 
172  std::map<std::string, LayerMEs> LayerMEsMap;
173  std::map<std::string, StereoAndMatchedMEs> StereoAndMatchedMEsMap;
174  std::map<std::string, SubDetMEs> SubDetMEsMap;
175  std::map<std::string, std::vector<uint32_t> > LayerDetMap;
176  std::map<std::string, std::vector<uint32_t> > StereoAndMatchedDetMap;
177 
179 
180  std::pair<LocalPoint, LocalVector> projectHit(const PSimHit& hit,
181  const StripGeomDetUnit* stripDet,
182  const BoundPlane& plane);
183  void createMEs(DQMStore::IBooker& ibooker, const edm::EventSetup& es);
184  void createTotalMEs(DQMStore::IBooker& ibooker);
188 
190  const char* ParameterSetLabel,
191  const char* HistoName,
192  const char* HistoTitle);
193 
194  inline void fillME(MonitorElement* ME, float value1) {
195  if (ME != nullptr)
196  ME->Fill(value1);
197  }
198  inline void fillME(MonitorElement* ME, float value1, float value2) {
199  if (ME != nullptr)
200  ME->Fill(value1, value2);
201  }
202  inline void fillME(MonitorElement* ME, float value1, float value2, float value3) {
203  if (ME != nullptr)
204  ME->Fill(value1, value2, value3);
205  }
206  inline void fillME(MonitorElement* ME, float value1, float value2, float value3, float value4) {
207  if (ME != nullptr)
208  ME->Fill(value1, value2, value3, value4);
209  }
210 
213  unsigned long long m_cacheID_;
214  //const StripTopology* topol;
215 
216  /* static const int MAXHIT = 1000; */
217 
218  // std::vector<RecHitProperties> rechitrphi;
219  // std::vector<RecHitProperties> rechitstereo;
220  // std::vector<RecHitProperties> rechitmatched;
222 
223  void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology& topol, TrackerHitAssociator& associate);
225  const GluedGeomDet* gluedDet,
226  TrackerHitAssociator& associate);
227 
231 };
232 
233 #endif
RecHitProperties rechitpro
std::vector< std::string > SubDetList_
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
void fillME(MonitorElement *ME, float value1, float value2, float value3)
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
TrackerHitAssociator::Config trackerHitAssociatorConfig_
std::map< std::string, SubDetMEs > SubDetMEsMap
void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
void analyze(const edm::Event &e, const edm::EventSetup &c) override
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
void Fill(long long x)
Definition: ME.h:11
char const * label
std::map< std::string, std::vector< uint32_t > > LayerDetMap
void fillME(MonitorElement *ME, float value1, float value2, float value3, float value4)
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
SiStripRecHitsValid(const edm::ParameterSet &conf)
std::map< std::string, LayerMEs > LayerMEsMap
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
std::string HistoName
void createTotalMEs(DQMStore::IBooker &ibooker)
edm::ParameterSet conf_
void fillME(MonitorElement *ME, float value1, float value2)
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
void fillME(MonitorElement *ME, float value1)
unsigned long long m_cacheID_
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
Definition: Run.h:45