Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:31

0001 #ifndef L1TriggerScaler_h
0002 #define L1TriggerScaler_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include <iostream>
0007 #include <vector>
0008 
0009 /*
0010  *  \class L1TriggerScaler
0011  *  
0012  *  hosting L1TriggerScaler information
0013  *
0014  *  \author Michele de Gruttola (degrutto) - INFN Naples / CERN (August-21-2008)
0015  *
0016 */
0017 
0018 class L1TriggerScaler {
0019 public:
0020   // a struct with the information for each lumi
0021 
0022   struct Lumi {
0023     Lumi() {}
0024     ~Lumi() {}
0025     int m_runnumber;
0026     long long m_lumi_id;
0027     std::string m_start_time;
0028     // std::string m_date_str;
0029     //std::string  m_string_value;
0030     std::string m_string_format;
0031     long m_rn;
0032     int m_lumisegment;
0033     // std::string m_version;
0034     //std::string m_context;
0035     std::string m_date;
0036 
0037     std::vector<int> m_GTAlgoCounts;
0038     // m_GTAlgoCounts.reserve(128);
0039 
0040     std::vector<float> m_GTAlgoRates;
0041 
0042     std::vector<int> m_GTAlgoPrescaling;
0043 
0044     std::vector<int> m_GTTechCounts;
0045 
0046     std::vector<float> m_GTTechRates;
0047 
0048     std::vector<int> m_GTTechPrescaling;
0049 
0050     std::vector<int> m_GTPartition0TriggerCounts;
0051 
0052     std::vector<float> m_GTPartition0TriggerRates;
0053 
0054     std::vector<int> m_GTPartition0DeadTime;
0055 
0056     std::vector<float> m_GTPartition0DeadTimeRatio;
0057 
0058     COND_SERIALIZABLE;
0059   };
0060 
0061   // the fondamental object is a vector of struct Lumi
0062   L1TriggerScaler();
0063   virtual ~L1TriggerScaler() {}
0064   // fondamental object
0065   std::vector<Lumi> m_run;
0066 
0067   // printing everything
0068   void printAllValues() const;
0069   void printRunValue() const;
0070   void printLumiSegmentValues() const;
0071   void printFormat() const;
0072   void printGTAlgoCounts() const;
0073   void printGTAlgoRates() const;
0074   void printGTAlgoPrescaling() const;
0075   void printGTTechCounts() const;
0076   void printGTTechRates() const;
0077   void printGTTechPrescaling() const;
0078   void printGTPartition0TriggerCounts() const;
0079   void printGTPartition0TriggerRates() const;
0080   void printGTPartition0DeadTime() const;
0081   void printGTPartition0DeadTimeRatio() const;
0082 
0083   typedef std::vector<Lumi>::const_iterator LumiIterator;
0084 
0085   void SetRunNumber(int n) { m_runnumber = n; }
0086 
0087 private:
0088   int m_lumisegment;
0089   int m_runnumber;
0090   // std::string  m_string_value;
0091   //std::vector<int>  m_GTAlgoCounts;
0092 
0093   COND_SERIALIZABLE;
0094 };
0095 
0096 #endif