CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
37 
38 #include <string>
41 //For RecHit
44 
45 class SiStripDetCabling;
46 class SiStripDCSStatus;
47 
49 
50  public:
51 
53 
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  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
130  void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es);
131  void beginJob(const edm::EventSetup& es);
132 
133  private:
134 
136 
140 
141 
151 
152 
179 
181  std::vector<std::string> SubDetList_;
182 
183  std::vector<PSimHit> matched;
184  std::map<std::string, LayerMEs> LayerMEsMap;
185  std::map<std::string, StereoAndMatchedMEs> StereoAndMatchedMEsMap;
186  std::map<std::string, SubDetMEs> SubDetMEsMap;
187  std::map<std::string, std::vector< uint32_t > > LayerDetMap;
188  std::map<std::string, std::vector< uint32_t > > StereoAndMatchedDetMap;
189 
191 
192  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,
193  const BoundPlane& plane);
194  void createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es);
195  void createTotalMEs(DQMStore::IBooker & ibooker);
199 
200  MonitorElement* bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle);
201 
202  inline void fillME(MonitorElement* ME,float value1){if (ME!=0)ME->Fill(value1);}
203  inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=0)ME->Fill(value1,value2);}
204  inline void fillME(MonitorElement* ME,float value1,float value2,float value3){if (ME!=0)ME->Fill(value1,value2,value3);}
205  inline void fillME(MonitorElement* ME,float value1,float value2,float value3,float value4){if (ME!=0)ME->Fill(value1,value2,value3,value4);}
206 
208  unsigned long long m_cacheID_;
210  //const StripTopology* topol;
211 
212  /* static const int MAXHIT = 1000; */
213 
214  std::vector<RecHitProperties> rechitrphi;
215  std::vector<RecHitProperties> rechitstereo;
216  std::vector<RecHitProperties> rechitmatched;
218 
219  void rechitanalysis(SiStripRecHit2D const rechit,const StripTopology &topol, TrackerHitAssociator& associate);
220  void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet* gluedDet, TrackerHitAssociator& associate);
221 
222  //edm::InputTag matchedRecHits_, rphiRecHits_, stereoRecHits_;
226 
227 };
228 
229 #endif
RecHitProperties rechitpro
std::vector< std::string > SubDetList_
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
edm::ParameterSet Parameters
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
void fillME(MonitorElement *ME, float value1, float value2, float value3)
std::map< std::string, std::vector< uint32_t > > LayerDetMap
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
std::vector< PSimHit > matched
std::map< std::string, SubDetMEs > SubDetMEsMap
void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
std::vector< RecHitProperties > rechitstereo
void Fill(long long x)
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
Definition: ME.h:11
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
std::vector< RecHitProperties > rechitmatched
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_
tuple conf
Definition: dbtoconf.py:185
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 beginJob(const edm::EventSetup &es)
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
void fillME(MonitorElement *ME, float value1)
unsigned long long m_cacheID_
Definition: Run.h:41
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es)
std::vector< RecHitProperties > rechitrphi