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>
40 //For RecHit
44 
45 class SiStripDetCabling;
46 class SiStripDCSStatus;
47 
49 
50  public:
51 
53 
54  ~SiStripRecHitsValid() override;
55 
56  struct TotalMEs{ // MEs for total detector Level
60  };
61 
62  struct SubDetMEs{ // MEs for Subdetector Level
72  };
73 
74  struct LayerMEs{ // MEs for Layer Level
84 
85  };
86 
87  struct StereoAndMatchedMEs{ // MEs for Layer Level
105 
106  };
107 
109  float x;
110  float y;
111 // float z;
112  float resolxx;
113 // float resolxy;
114  float resolyy;
115  float resx;
116  float resy;
117  float pullMF;
118  int clusiz;
119  float cluchg;
120  float chi2;
121  int NsimHit;
122  int bunch;
123  int event;
124  };
125 
126 
127  protected:
128 
129  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
130  void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es) override;
131 
132  private:
133 
135 
139 
140 
150 
151 
178 
180  std::vector<std::string> SubDetList_;
181 
182  std::map<std::string, LayerMEs> LayerMEsMap;
183  std::map<std::string, StereoAndMatchedMEs> StereoAndMatchedMEsMap;
184  std::map<std::string, SubDetMEs> SubDetMEsMap;
185  std::map<std::string, std::vector< uint32_t > > LayerDetMap;
186  std::map<std::string, std::vector< uint32_t > > StereoAndMatchedDetMap;
187 
189 
190  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,
191  const BoundPlane& plane);
192  void createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es);
193  void createTotalMEs(DQMStore::IBooker & ibooker);
197 
198  MonitorElement* bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle);
199 
200  inline void fillME(MonitorElement* ME,float value1){if (ME!=nullptr)ME->Fill(value1);}
201  inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=nullptr)ME->Fill(value1,value2);}
202  inline void fillME(MonitorElement* ME,float value1,float value2,float value3){if (ME!=nullptr)ME->Fill(value1,value2,value3);}
203  inline void fillME(MonitorElement* ME,float value1,float value2,float value3,float value4){if (ME!=nullptr)ME->Fill(value1,value2,value3,value4);}
204 
207  unsigned long long m_cacheID_;
208  //const StripTopology* topol;
209 
210  /* static const int MAXHIT = 1000; */
211 
212 // std::vector<RecHitProperties> rechitrphi;
213 // std::vector<RecHitProperties> rechitstereo;
214 // std::vector<RecHitProperties> rechitmatched;
216 
217  void rechitanalysis(SiStripRecHit2D const rechit,const StripTopology &topol, TrackerHitAssociator& associate);
218  void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet* gluedDet, TrackerHitAssociator& associate);
219 
223 
224 };
225 
226 #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
std::map< std::string, std::vector< uint32_t > > LayerDetMap
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
void Fill(long long x)
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
Definition: ME.h:11
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::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
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_
Definition: Run.h:43