CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CSCSegmentValidation.h
Go to the documentation of this file.
1 #ifndef Validation_CSCRecHits_CSCSegmentValidation_h
2 #define Validation_CSCRecHits_CSCSegmentValidation_h
3 
7 
9 public:
11  ~CSCSegmentValidation() override;
13  void analyze(const edm::Event &, const edm::EventSetup &) override;
14 
15 private:
16  void plotResolution(const PSimHit &simHit, const CSCSegment &recHit, const CSCLayer *layer, int chamberType);
17 
18  bool hasSegment(int chamberId) const;
19 
22 
23  // map to count how many layers are hit.
24  // First index is chamber detId
25  // second is layers that have hits
26  typedef std::map<int, std::vector<int>> ChamberHitMap;
29  void fillEfficiencyPlots();
30  // decide which SimHit to use for the direction
31  const PSimHit *keyHit(int chamberId) const;
32 
33  typedef std::map<int, std::vector<CSCSegment>> ChamberSegmentMap;
35  // the number of hits in a chamber to make it a shower
37 
48 
61 };
62 
63 #endif
MonitorElement * theNPerEventPlot
void plotResolution(const PSimHit &simHit, const CSCSegment &recHit, const CSCLayer *layer, int chamberType)
MonitorElement * theTypePlot5HitsNoShowerSeg
CSCSegmentValidation(const edm::ParameterSet &, edm::ConsumesCollector &&iC)
std::map< int, std::vector< int > > ChamberHitMap
MonitorElement * theTypePlot4HitsShowerSeg
MonitorElement * theNPerChamberTypePlot
MonitorElement * theTypePlot6HitsShower
MonitorElement * theTypePlot5HitsNoShower
edm::EDGetTokenT< CSCSegmentCollection > segments_Token_
MonitorElement * theNRecHitsPlot
MonitorElement * theTypePlot4HitsShower
MonitorElement * theRdPhiResolutionPlots[10]
MonitorElement * theTypePlot6HitsShowerSeg
constexpr std::array< uint8_t, layerIndexSize > layer
MonitorElement * theTypePlot4HitsNoShower
MonitorElement * theTypePlot6HitsNoShowerSeg
std::map< int, std::vector< CSCSegment > > ChamberSegmentMap
MonitorElement * theTypePlot6HitsNoShower
ChamberHitMap theLayerHitsPerChamber
MonitorElement * thedYdZResolutionPlots[10]
MonitorElement * theRdPhiPullPlots[10]
const PSimHit * keyHit(int chamberId) const
MonitorElement * thedXdZPullPlots[10]
bool hasSegment(int chamberId) const
MonitorElement * theTypePlot5HitsShowerSeg
MonitorElement * theThetaResolutionPlots[10]
ChamberSegmentMap theChamberSegmentMap
MonitorElement * theTypePlot4HitsNoShowerSeg
void bookHistograms(DQMStore::IBooker &)
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * theTypePlot5HitsShower
MonitorElement * thedXdZResolutionPlots[10]
MonitorElement * thedYdZPullPlots[10]