CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCSegmentValidation.h
Go to the documentation of this file.
1 #ifndef CSCSegmentValidation_h
2 #define CSCSegmentValidation_h
3 
11 
13 {
14 public:
16 
17  virtual ~CSCSegmentValidation() {}
18  virtual void analyze(const edm::Event&, const edm::EventSetup&);
19 
20  private:
21  void plotResolution(const PSimHit & simHit, const CSCSegment & recHit,
22  const CSCLayer * layer, int chamberType);
23 
24  bool hasSegment(int chamberId) const;
25  static int whatChamberType(int detId);
26 
28 
29  // map to count how many layers are hit. First index is chamber detId, second is layers
30  // that have hits
31  typedef std::map<int, std::vector<int> > ChamberHitMap;
34  void fillEfficiencyPlots();
35  // decide which SimHit to use for the direction
36  const PSimHit * keyHit(int chamberId) const;
37 
38  typedef std::map<int, std::vector<CSCSegment> > ChamberSegmentMap;
40  // the number of hits in a chamber to make it a shower
42 
54 
55 
56 
69 
70 
71 };
72 
73 #endif
74 
MonitorElement * theNPerEventPlot
void plotResolution(const PSimHit &simHit, const CSCSegment &recHit, const CSCLayer *layer, int chamberType)
MonitorElement * theTypePlot5HitsNoShowerSeg
std::map< int, std::vector< int > > ChamberHitMap
MonitorElement * theTypePlot4HitsShowerSeg
MonitorElement * theNPerChamberTypePlot
static int whatChamberType(int detId)
MonitorElement * theTypePlot6HitsShower
MonitorElement * theTypePlot5HitsNoShower
edm::EDGetTokenT< CSCSegmentCollection > segments_Token_
MonitorElement * theNRecHitsPlot
MonitorElement * theTypePlot4HitsShower
MonitorElement * theRdPhiResolutionPlots[10]
CSCSegmentValidation(DQMStore *dbe, const edm::InputTag &inputTag, edm::ConsumesCollector &&iC)
MonitorElement * theTypePlot6HitsShowerSeg
MonitorElement * theTypePlot4HitsNoShower
MonitorElement * theTypePlot6HitsNoShowerSeg
std::map< int, std::vector< CSCSegment > > ChamberSegmentMap
MonitorElement * theTypePlot6HitsNoShower
ChamberHitMap theLayerHitsPerChamber
MonitorElement * thedYdZResolutionPlots[10]
MonitorElement * theRdPhiPullPlots[10]
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * theThetaPullPlots[10]
const PSimHit * keyHit(int chamberId) const
MonitorElement * thedXdZPullPlots[10]
bool hasSegment(int chamberId) const
MonitorElement * theTypePlot5HitsShowerSeg
MonitorElement * theThetaResolutionPlots[10]
ChamberSegmentMap theChamberSegmentMap
MonitorElement * theTypePlot4HitsNoShowerSeg
MonitorElement * theTypePlot5HitsShower
MonitorElement * thedXdZResolutionPlots[10]
MonitorElement * thedYdZPullPlots[10]