00001 /* 00002 * File: DataFormats/Scalers/interface/LumiScalers.h (W.Badgett) 00003 * 00004 * Various Luminosity Scalers from the HF Lumi System 00005 * 00006 */ 00007 00008 #ifndef DATAFORMATS_SCALERS_LUMISCALERS_H 00009 #define DATAFORMATS_SCALERS_LUMISCALERS_H 00010 00011 #include <ostream> 00012 #include <vector> 00013 00022 00023 00024 00025 class LumiScalers 00026 { 00027 public: 00028 00029 LumiScalers(); 00030 LumiScalers(const unsigned char * rawData); 00031 virtual ~LumiScalers(); 00032 00033 enum 00034 { 00035 nOcc = 2 00036 }; 00037 00039 std::string name() const { return "LumiScalers"; } 00040 00042 bool empty() const { return false; } 00043 00044 unsigned int trigType() const { return(trigType_);} 00045 unsigned int eventID() const { return(eventID_);} 00046 unsigned int sourceID() const { return(sourceID_);} 00047 unsigned int bunchNumber() const { return(bunchNumber_);} 00048 00049 int version() const { return(version_);} 00050 struct timespec collectionTime() const { return(collectionTime_);} 00051 float normalization() const { return(normalization_);} 00052 float deadTimeNormalization() const 00053 { return(deadTimeNormalization_);} 00054 00055 float lumiFill() const { return(lumiFill_);} 00056 float lumiRun() const { return(lumiRun_);} 00057 float liveLumiFill() const { return(liveLumiFill_);} 00058 float liveLumiRun() const { return(liveLumiRun_);} 00059 float instantLumi() const { return(instantLumi_);} 00060 float instantLumiErr() const { return(instantLumiErr_);} 00061 unsigned char instantLumiQlty() const { return(instantLumiQlty_);} 00062 00063 float lumiETFill() const { return(lumiETFill_);} 00064 float lumiETRun() const { return(lumiETRun_);} 00065 float liveLumiETFill() const { return(liveLumiETFill_);} 00066 float liveLumiETRun() const { return(liveLumiETRun_);} 00067 float instantETLumi() const { return(instantETLumi_);} 00068 float instantETLumiErr() const { return(instantETLumiErr_);} 00069 unsigned char instantETLumiQlty() const { return(instantETLumiQlty_);} 00070 00071 std::vector<float> lumiOccFill() const 00072 { return(lumiOccFill_);} 00073 std::vector<float> lumiOccRun() const 00074 { return(lumiOccRun_);} 00075 std::vector<float> liveLumiOccFill() const 00076 { return(liveLumiOccFill_);} 00077 std::vector<float> liveLumiOccRun() const 00078 { return(liveLumiOccRun_);} 00079 std::vector<float> instantOccLumi() const 00080 { return(instantOccLumi_);} 00081 std::vector<float> instantOccLumiErr() const 00082 { return(instantOccLumiErr_);} 00083 std::vector<unsigned char> instantOccLumiQlty() const 00084 { return(instantOccLumiQlty_);} 00085 std::vector<float> lumiNoise() const { return(lumiNoise_);} 00086 00087 unsigned int sectionNumber() const { return(sectionNumber_);} 00088 unsigned int startOrbit() const { return(startOrbit_);} 00089 unsigned int numOrbits() const { return(numOrbits_);} 00090 00092 int operator==(const LumiScalers& e) const { return false; } 00093 00095 int operator!=(const LumiScalers& e) const { return false; } 00096 00097 protected: 00098 00099 unsigned int trigType_; 00100 unsigned int eventID_; 00101 unsigned int sourceID_; 00102 unsigned int bunchNumber_; 00103 00104 int version_; 00105 00106 struct timespec collectionTime_; 00107 00108 float normalization_; 00109 float deadTimeNormalization_; 00110 00111 float lumiFill_; 00112 float lumiRun_; 00113 float liveLumiFill_; 00114 float liveLumiRun_; 00115 float instantLumi_; 00116 float instantLumiErr_; 00117 unsigned char instantLumiQlty_; 00118 00119 float lumiETFill_; 00120 float lumiETRun_; 00121 float liveLumiETFill_; 00122 float liveLumiETRun_; 00123 float instantETLumi_; 00124 float instantETLumiErr_; 00125 00126 unsigned char instantETLumiQlty_; 00127 00128 std::vector<float> lumiOccFill_; 00129 std::vector<float> lumiOccRun_; 00130 std::vector<float> liveLumiOccFill_; 00131 std::vector<float> liveLumiOccRun_; 00132 std::vector<float> instantOccLumi_; 00133 std::vector<float> instantOccLumiErr_; 00134 std::vector<unsigned char> instantOccLumiQlty_; 00135 std::vector<float> lumiNoise_; 00136 00137 unsigned int sectionNumber_; 00138 unsigned int startOrbit_; 00139 unsigned int numOrbits_; 00140 }; 00141 00142 00144 std::ostream& operator<<(std::ostream& s, const LumiScalers& c); 00145 00146 typedef std::vector<LumiScalers> LumiScalersCollection; 00147 00148 #endif