CMS 3D CMS Logo

LumiDetails.h

Go to the documentation of this file.
00001 #ifndef DataFormats_Luminosity_LumiDetails_h
00002 #define DataFormats_Luminosity_LumiDetails_h
00003  
00018 #include <vector>
00019 #include <ostream>
00020 
00021 
00022 class LumiDetails {
00023 
00024   public:
00025 
00027     LumiDetails() {}
00028 
00030     LumiDetails(const std::vector<float>& lumietsum, const std::vector<float>& lumietsumerr, 
00031                 const std::vector<int>& lumietsumqual, const std::vector<float>& lumiocc,
00032                 const std::vector<float>& lumioccerr, const std::vector<int>& lumioccqual):
00033       lumietsum_(lumietsum), lumietsumerr_(lumietsumerr), lumietsumqual_(lumietsumqual),
00034       lumiocc_(lumiocc), lumioccerr_(lumioccerr), lumioccqual_(lumioccqual)
00035     { }
00036 
00038     ~LumiDetails() {}
00039 
00040     // BX definition: There are 3564 bunch crossing (BX) in each LHC orbit 
00041     // each event will occur at one of these BX. BX is defined to be the number of the
00042     // bunch crossing where this event occurred.
00043 
00044     float lumiEtSum(int bx) const { return lumietsum_.at(bx); }
00045     float lumiEtSumErr(int bx) const { return lumietsumerr_.at(bx); }
00046     int lumiEtSumQual(int bx) const { return lumietsumqual_.at(bx); }
00047 
00048     float lumiOcc(int bx) const { return lumiocc_.at(bx); }
00049     float lumiOccErr(int bx) const { return lumioccerr_.at(bx); }
00050     int lumiOccQual(int bx) const { return lumioccqual_.at(bx); }
00051 
00052     //get array of lumi values per BX based on EtSum method
00053     const std::vector<float>&  lumiEtSum() const {return lumietsum_;}
00054        
00055     //get array of lumi values errors per BX based on EtSum method
00056     const std::vector<float>&  lumiEtSumErr() const {return lumietsumerr_;}
00057        
00058     //get array of lumi values quality per BX based on EtSum method
00059     const std::vector<int>&  lumiEtSumQual() const {return lumietsumqual_;}
00060        
00061     //get array of lumi values per BX based on Occupancy method
00062     const std::vector<float>&  lumiOcc() const {return lumiocc_;}
00063        
00064     //get array of lumi values errors per BX based on Occupancy method
00065     const std::vector<float>&  lumiOccErr() const {return lumioccerr_;}
00066        
00067     //get array of lumi values errors per BX based on Occupancy method
00068     const std::vector<int>&  lumiOccQual() const {return lumioccqual_;}
00069 
00070     bool isProductEqual(LumiDetails const& next);
00071 
00072   private :
00073 
00074     std::vector<float> lumietsum_;
00075     std::vector<float> lumietsumerr_;
00076     std::vector<int> lumietsumqual_;
00077 
00078     std::vector<float> lumiocc_;
00079     std::vector<float> lumioccerr_;
00080     std::vector<int> lumioccqual_;
00081 }; 
00082 
00083 std::ostream& operator<<(std::ostream& s, const LumiDetails& lumiDetails);
00084 
00085 #endif // DataFormats_Luminosity_LumiDetails_h

Generated on Tue Jun 9 17:31:14 2009 for CMSSW by  doxygen 1.5.4