CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CondFormats/RunInfo/interface/L1TriggerScaler.h

Go to the documentation of this file.
00001 #ifndef L1TriggerScaler_h
00002 #define L1TriggerScaler_h
00003 
00004 #include <iostream>
00005 #include<vector>
00006 
00007 /*
00008  *  \class L1TriggerScaler
00009  *  
00010  *  hosting L1TriggerScaler information
00011  *
00012  *  \author Michele de Gruttola (degrutto) - INFN Naples / CERN (August-21-2008)
00013  *
00014 */
00015 
00016 
00017 class L1TriggerScaler {
00018 public:
00019   // a struct with the information for each lumi
00020 
00021   struct Lumi{
00022     Lumi(){}
00023     ~Lumi(){}
00024     int m_runnumber;
00025     long long m_lumi_id;
00026     std::string m_start_time; 
00027     // std::string m_date_str;
00028     //std::string  m_string_value;
00029     std::string  m_string_format;
00030     long m_rn;
00031     int m_lumisegment;
00032     // std::string m_version;
00033     //std::string m_context;
00034     std::string m_date; 
00035    
00036     
00037    
00038     
00039     std::vector<int> m_GTAlgoCounts;   
00040     // m_GTAlgoCounts.reserve(128);
00041     
00042     std::vector<float> m_GTAlgoRates;
00043     
00044     std::vector<int> m_GTAlgoPrescaling;
00045    
00046     std::vector<int> m_GTTechCounts;
00047    
00048     std::vector<float> m_GTTechRates;
00049    
00050     std::vector<int> m_GTTechPrescaling;
00051    
00052     std::vector<int> m_GTPartition0TriggerCounts;
00053    
00054     std::vector<float> m_GTPartition0TriggerRates;
00055     
00056     std::vector<int> m_GTPartition0DeadTime;
00057     
00058     std::vector<float> m_GTPartition0DeadTimeRatio;
00059     
00060    };
00061    
00062 // the fondamental object is a vector of struct Lumi   
00063   L1TriggerScaler();
00064   virtual ~L1TriggerScaler(){}
00065   // fondamental object   
00066   std::vector<Lumi> m_run;
00067     
00068  
00069    // printing everything
00070   void printAllValues() const;
00071   void printRunValue()const;
00072   void printLumiSegmentValues() const;
00073   void printFormat() const;
00074   void printGTAlgoCounts() const;
00075   void printGTAlgoRates() const;
00076   void printGTAlgoPrescaling() const;
00077   void printGTTechCounts() const;
00078   void printGTTechRates() const;
00079   void printGTTechPrescaling() const;
00080   void printGTPartition0TriggerCounts() const;
00081   void printGTPartition0TriggerRates() const;
00082   void printGTPartition0DeadTime() const;
00083   void printGTPartition0DeadTimeRatio() const;  
00084 
00085   typedef std::vector<Lumi>::const_iterator LumiIterator;
00086  
00087 
00088 
00089  
00090  
00091 
00092 
00093  
00094 
00095 void SetRunNumber(int n) {
00096     m_runnumber= n;
00097   }
00098 
00099 
00100  private:
00101  int  m_lumisegment; 
00102  int m_runnumber;
00103  // std::string  m_string_value;
00104  //std::vector<int>  m_GTAlgoCounts;
00105 };
00106 
00107 #endif