Go to the documentation of this file.00001 #ifndef CalibTracker_SiStripLorentzAngle_EnsembleCalibrationLA_h
00002 #define CalibTracker_SiStripLorentzAngle_EnsembleCalibrationLA_h
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006 #include "CalibTracker/SiStripLorentzAngle/interface/LA_Filler_Fitter.h"
00007
00008 namespace sistrip {
00009 class EnsembleCalibrationLA : public edm::EDAnalyzer {
00010
00011 public:
00012
00013 explicit EnsembleCalibrationLA(const edm::ParameterSet&);
00014 void analyze(const edm::Event&, const edm::EventSetup&) {}
00015 void endJob();
00016
00017 private:
00018
00019 void write_ensembles_text(const Book&);
00020 void write_ensembles_plots(const Book&) const;
00021 void write_samples_plots(const Book&) const;
00022 void write_calibrations() const;
00023
00024 const std::vector<std::string> inputFiles;
00025 const std::string inFileLocation, Prefix;
00026 const unsigned maxEvents,samples, nbins;
00027 const double lowBin,highBin;
00028 std::vector<int> vMethods;
00029
00030 struct MethodCalibrations {
00031 MethodCalibrations() :
00032 slopes(std::vector<float>(14,0)),
00033 offsets(std::vector<float>(14,10)),
00034 pulls(std::vector<float>(14,0)) {}
00035 std::vector<float> slopes;
00036 std::vector<float> offsets;
00037 std::vector<float> pulls;
00038 };
00039 std::map<std::string,MethodCalibrations> calibrations;
00040
00041 };
00042 }
00043 #endif