CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SiStripCalibLorentzAngle.h
Go to the documentation of this file.
1 #ifndef CalibTracker_SiStripLorentzAngle_SiStripCalibLorentzAngle_h
2 #define CalibTracker_SiStripLorentzAngle_SiStripCalibLorentzAngle_h
3 
4 // user includes
22 
23 // system includes
24 #include <memory>
25 #include <cstring>
26 #include <iostream>
27 #include <map>
28 
29 // ROOT includes
30 #include <TGraph.h>
31 #include <TProfile.h>
32 #include <TStyle.h>
33 #include <TH1D.h>
34 #include <TH2D.h>
35 #include <TF1.h>
36 #include <TFile.h>
37 #include <TTree.h>
38 #include <TGraphErrors.h>
39 #include <TDirectory.h>
40 #include "TROOT.h"
41 
42 class TrackerTopology;
43 
44 class SiStripCalibLorentzAngle : public ConditionDBWriter<SiStripLorentzAngle> {
45 public:
48  explicit SiStripCalibLorentzAngle(const edm::ParameterSet &conf);
49 
50  ~SiStripCalibLorentzAngle() override;
51 
52  std::unique_ptr<SiStripLorentzAngle> getNewObject() override;
53 
54  void algoBeginJob(const edm::EventSetup &) override;
55 
56 private:
61 
62  const TrackerGeometry *tkGeom_ = nullptr;
63  const TrackerTopology *tTopo_ = nullptr;
64 
65  typedef std::map<std::string, TProfile *> ProfileMap;
67  typedef std::map<std::string, TH1D *> TH1Dmap;
69  typedef std::map<std::string, TH2D *> TH2Dmap;
71  std::vector<MonitorElement *> histolist;
72 
74 
78 
80 
82 
84 
85  TGraphErrors *TIB_graph, *TOB_graph;
86 
87  TTree *ModuleTree;
88  TFile *hFile;
89 
91  *TIB_Eta, *TOB_Eta;
94 
95  std::map<uint32_t, float> detid_la;
97 };
98 
99 #endif
dqm::legacy::DQMStore DQMStore
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
SiStripCalibLorentzAngle(const edm::ParameterSet &conf)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::vector< MonitorElement * > histolist
dqm::legacy::MonitorElement MonitorElement
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
edm::ESGetToken< SiStripLorentzAngle, SiStripLorentzAngleRcd > lorentzAngleToken_
const TrackerGeometry * tkGeom_
void algoBeginJob(const edm::EventSetup &) override
std::map< std::string, TH2D * > TH2Dmap
std::unique_ptr< SiStripLorentzAngle > getNewObject() override
std::map< std::string, TProfile * > ProfileMap
std::map< uint32_t, float > detid_la
const TrackerTopology * tTopo_
std::map< std::string, TH1D * > TH1Dmap