Go to the documentation of this file.00001 #ifndef CalibMuon_DTT0Calibration_H
00002 #define CalibMuon_DTT0Calibration_H
00003
00016 #include "FWCore/Framework/interface/EDAnalyzer.h"
00017 #include "Geometry/DTGeometry/interface/DTGeometry.h"
00018 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00019 #include "FWCore/Framework/interface/ESHandle.h"
00020
00021 #include <string>
00022 #include <vector>
00023 #include <map>
00024
00025 class TFile;
00026 class TH1I;
00027 class TH1D;
00028 class DTT0;
00029
00030 class DTT0Calibration : public edm::EDAnalyzer {
00031 public:
00033 DTT0Calibration(const edm::ParameterSet& pset);
00034
00036 virtual ~DTT0Calibration();
00037
00038
00039
00041 void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
00042
00044 void endJob();
00045
00046
00047 protected:
00048
00049 private:
00050
00051 std::string getHistoName(const DTWireId& wId) const;
00052 std::string getHistoName(const DTLayerId& lId) const;
00053
00054
00055 bool debug;
00056
00057
00058 std::string digiLabel;
00059
00060
00061 TFile *theFile;
00062
00063 TFile *theOutputFile;
00064
00065
00066 unsigned int nevents;
00067
00068 unsigned int eventsForLayerT0;
00069
00070 unsigned int eventsForWireT0;
00071
00072
00073 unsigned int rejectDigiFromPeak;
00074
00075
00076 double tpPeakWidth;
00077
00078
00079 bool correctByChamberMean_;
00080
00081
00082 std::string theCalibWheel;
00083 int selWheel;
00084 std::string theCalibSector;
00085 int selSector;
00086
00087
00088 std::map<DTLayerId, TH1I*> theHistoLayerMap;
00089
00090 TH1D* hT0SectorHisto;
00091
00092
00093 std::vector<DTWireId> wireIdWithHistos;
00094 std::vector<std::string> cellsWithHistos;
00095
00096
00097 std::map<DTWireId,double> theAbsoluteT0PerWire;
00098 std::map<DTWireId,double> theRelativeT0PerWire;
00099 std::map<DTWireId,double> theSigmaT0PerWire;
00100 std::map<DTWireId,int> nDigiPerWire;
00101 std::map<DTWireId,int> nDigiPerWire_ref;
00102 std::map<DTWireId,double> mK;
00103 std::map<DTWireId,double> mK_ref;
00104 std::map<DTWireId,double> qK;
00105
00106 std::map<DTWireId,TH1I*> theHistoWireMap;
00107 std::map<DTWireId,TH1I*> theHistoWireMap_ref;
00108
00109 std::map<std::string,double> theT0LayerMap;
00110 std::map<std::string,double> theSigmaT0LayerMap;
00111
00112
00113 edm::ESHandle<DTGeometry> dtGeom;
00114 };
00115 #endif
00116