CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h

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