CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Phase2OTValidateRecHitBase.h
Go to the documentation of this file.
1 // Package: Phase2OTValidateRecHitBase
2 // Class: Phase2OTValidateRecHitBase
3 //
7 //
8 // Author: Suvankar Roy Chowdhury
9 // Date: March 2021
10 //
11 // system include files
12 // STL includes
13 #include <memory>
14 #include <map>
15 #include <vector>
16 #include <algorithm>
17 
18 // system include files
29 
37 
38 //DQM
43 
45 public:
47  ~Phase2OTValidateRecHitBase() override;
48  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
49  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) override;
50  void fillOTRecHitHistos(const PSimHit* simhitClosest,
51  const Phase2TrackerRecHit1D* rechit,
52  const std::map<unsigned int, SimTrack>& selectedSimTrackMap,
53  std::map<std::string, unsigned int>& nrechitLayerMapP_primary,
54  std::map<std::string, unsigned int>& nrechitLayerMapS_primary);
55 
57  void bookLayerHistos(DQMStore::IBooker& ibooker, unsigned int det_id, std::string& subdir);
58 
59 protected:
64  const TrackerGeometry* tkGeom_ = nullptr;
65  const TrackerTopology* tTopo_ = nullptr;
66 
67  struct RecHitME {
68  // use TH1D instead of TH1F to avoid stauration at 2^31
69  // above this increments with +1 don't work for float, need double
74  MonitorElement* pullX_P = nullptr;
75  MonitorElement* pullX_S = nullptr;
76  MonitorElement* pullY_P = nullptr;
77  MonitorElement* pullY_S = nullptr;
90  //For rechits matched to simhits from highPT tracks
101  };
102  std::map<std::string, RecHitME> layerMEs_;
103 };
void fillOTRecHitHistos(const PSimHit *simhitClosest, const Phase2TrackerRecHit1D *rechit, const std::map< unsigned int, SimTrack > &selectedSimTrackMap, std::map< std::string, unsigned int > &nrechitLayerMapP_primary, std::map< std::string, unsigned int > &nrechitLayerMapS_primary)
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Phase2OTValidateRecHitBase(const edm::ParameterSet &)
void bookLayerHistos(DQMStore::IBooker &ibooker, unsigned int det_id, std::string &subdir)
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
Definition: Run.h:45
std::map< std::string, RecHitME > layerMEs_