test
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
66  };
67 
68  struct LayerMEs{ // MEs for Layer Level
77 
78  };
79 
80  struct StereoAndMatchedMEs{ // MEs for Layer Level
96 
97  };
98 
100  float x;
101  float y;
102  float z;
103  float resolxx;
104  float resolxy;
105  float resolyy;
106  float resx;
107  float resy;
108  float pullMF;
109  int clusiz;
110  float cluchg;
111  float chi2;
112  };
113 
114 
115  protected:
116 
117  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
118  void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es);
119  void beginJob(const edm::EventSetup& es);
120  void endJob();
121 
122  private:
123  //Back-End Interface
128 
130 
134 
135 
139 
140 
164 
166  std::vector<std::string> SubDetList_;
167 
168  std::vector<PSimHit> matched;
169  std::map<std::string, LayerMEs> LayerMEsMap;
170  std::map<std::string, StereoAndMatchedMEs> StereoAndMatchedMEsMap;
171  std::map<std::string, SubDetMEs> SubDetMEsMap;
172  std::map<std::string, std::vector< uint32_t > > LayerDetMap;
173  std::map<std::string, std::vector< uint32_t > > StereoAndMatchedDetMap;
174 
176 
177  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,
178  const BoundPlane& plane);
179  void createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es);
180  void createTotalMEs(DQMStore::IBooker & ibooker);
184 
185  MonitorElement* bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle);
186 
187  inline void fillME(MonitorElement* ME,float value1){if (ME!=0)ME->Fill(value1);}
188  inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=0)ME->Fill(value1,value2);}
189  inline void fillME(MonitorElement* ME,float value1,float value2,float value3){if (ME!=0)ME->Fill(value1,value2,value3);}
190  inline void fillME(MonitorElement* ME,float value1,float value2,float value3,float value4){if (ME!=0)ME->Fill(value1,value2,value3,value4);}
191 
193  unsigned long long m_cacheID_;
195  //const StripTopology* topol;
196 
197  /* static const int MAXHIT = 1000; */
198 
199  std::vector<RecHitProperties> rechitrphi;
200  std::vector<RecHitProperties> rechitstereo;
201  std::vector<RecHitProperties> rechitmatched;
203 
204  void rechitanalysis(SiStripRecHit2D const rechit,const StripTopology &topol, TrackerHitAssociator& associate);
205  void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet* gluedDet, TrackerHitAssociator& associate);
206 
207  //edm::InputTag matchedRecHits_, rphiRecHits_, stereoRecHits_;
211 
212 };
213 
214 #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