![]() |
![]() |
00001 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentDataCollector_h 00002 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentDataCollector_h 00003 00004 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00005 00006 #include <vector> 00007 #include <map> 00008 #include <string> 00009 00011 00012 class KalmanAlignmentDataCollector 00013 { 00014 00015 public: 00016 00017 KalmanAlignmentDataCollector( void ); 00018 KalmanAlignmentDataCollector( const edm::ParameterSet& config ); 00019 ~KalmanAlignmentDataCollector( void ); 00020 00021 static KalmanAlignmentDataCollector* get( void ); 00022 00023 static void configure( const edm::ParameterSet& config ); 00024 00025 static void fillHistogram( std::string histo_name, float data ); 00026 static void fillHistogram( std::string histo_name, int histo_number, float data ); 00027 00028 static void fillGraph( std::string graph_name, float x_data, float y_data ); 00029 static void fillGraph( std::string graph_name, int graph_number, float x_data, float y_data ); 00030 00031 static void fillNtuple( std::string ntuple_name, float data ); 00032 00033 static void write( void ); 00034 static void write( std::string file_name, std::string mode = "RECREATE" ); 00035 00036 static void clear( void ); 00037 00038 private: 00039 00040 void config( const edm::ParameterSet & config ); 00041 00042 void fillTH1F( std::string histo_name, float data ); 00043 void fillTH1F( std::string histo_name, int histo_number, float data ); 00044 00045 void fillTGraph( std::string graph_name, float x_data, float y_data ); 00046 void fillTGraph( std::string graph_name, int graph_number, float x_data, float y_data ); 00047 00048 void fillTNtuple( std::string ntuple_name, float data ); 00049 00050 void writeToTFile( void ); 00051 void writeToTFile( std::string file_name, std::string mode = "RECREATE" ); 00052 00053 void clearData( void ); 00054 00055 std::string toString( int ); 00056 00057 static KalmanAlignmentDataCollector* theDataCollector; 00058 00059 edm::ParameterSet theConfiguration; 00060 00061 std::map< std::string, std::vector< float > > theHistoData; 00062 std::map< std::string, std::vector< float > > theXGraphData; 00063 std::map< std::string, std::vector< float > > theYGraphData; 00064 std::map< std::string, std::vector< float > > theNtupleData; 00065 }; 00066 00067 00068 #endif