![]() |
![]() |
00001 /* 00002 * File: DataFormats/Scalers/interface/ScalersRaw.h (W.Badgett) 00003 * 00004 * Description of the raw data from the Scalers FED 00005 * 00006 */ 00007 00008 #ifndef SCALERSRAW_H 00009 #define SCALERSRAW_H 00010 00011 #include <ostream> 00012 #include <vector> 00013 00022 00023 00024 00025 class ScalersRaw 00026 { 00027 public: 00028 enum 00029 { 00030 N_L1_TRIGGERS_v1 = 128, 00031 N_L1_TEST_TRIGGERS_v1 = 64, 00032 N_LUMI_OCC_v1 = 2, 00033 N_BX_v2 = 4, 00034 SCALERS_FED_ID = 735 00035 }; 00036 }; 00037 00038 struct TriggerScalersRaw_v1 00039 { 00040 struct timespec collectionTimeSpecial; 00041 unsigned int ORBIT_NUMBER; /* ORBITNR */ 00042 unsigned int LUMINOSITY_SEGMENT; 00043 unsigned short BC_ERRORS; 00044 00045 struct timespec collectionTimeSummary; 00046 unsigned int TRIGGER_NR; /* TRIGNR_ */ 00047 unsigned int EVENT_NR; /* EVNR */ 00048 unsigned int FINOR_DISTRIBUTED; /* PHYS_L1A ?? */ 00049 unsigned int CAL_TRIGGER; /* CAL_L1A_ */ 00050 unsigned int RANDOM_TRIGGER; /* RNDM_L1A_ */ 00051 unsigned int TEST_TRIGGER; /* TECHTRIG_ */ 00052 unsigned int FINOR_GENERATED; /* FINOR_ ?? */ 00053 unsigned int FINOR_IN_INVALID_BC; /* LOST_BC_ ?? */ 00054 unsigned long long DEADTIME; /* DEADT_ */ 00055 unsigned long long LOST_FINOR; /* LOST_TRIG_ ?? */ 00056 unsigned long long DEADTIMEA; /* DEADT_A */ 00057 unsigned long long LOST_FINORA; /* LOST_TRIG_A ?? */ 00058 unsigned long long PRIV_DEADTIMEA; /* DEADT_PRIV_A */ 00059 unsigned long long PTCSTATUS_DEADTIMEA; /* DEADT_PSTATUS_A */ 00060 unsigned long long THROTTLE_DEADTIMEA; /* DEADT_THROTTLE_A */ 00061 unsigned long long CALIBRATION_DEADTIMEA; /* DEADT_CALIBR_A */ 00062 unsigned long long TIMESLOT_DEADTIMEA; /* */ 00063 unsigned int NR_OF_RESETS; /* NR_RESETS_ */ 00064 00065 struct timespec collectionTimeDetails; 00066 unsigned int ALGO_RATE[ScalersRaw::N_L1_TRIGGERS_v1]; 00067 unsigned int TEST_RATE[ScalersRaw::N_L1_TEST_TRIGGERS_v1]; 00068 }; 00069 00070 struct LumiScalersRaw_v1 00071 { 00072 struct timespec collectionTime; 00073 float DeadtimeNormalization; 00074 float Normalization; 00075 00076 float LumiFill; 00077 float LumiRun; 00078 float LiveLumiFill; 00079 float LiveLumiRun; 00080 float InstantLumi; 00081 float InstantLumiErr; 00082 unsigned char InstantLumiQlty; 00083 00084 float LumiETFill; 00085 float LumiETRun; 00086 float LiveLumiETFill; 00087 float LiveLumiETRun; 00088 float InstantETLumi; 00089 float InstantETLumiErr; 00090 unsigned char InstantETLumiQlty; 00091 00092 float LumiOccFill[ScalersRaw::N_LUMI_OCC_v1]; 00093 float LumiOccRun[ScalersRaw::N_LUMI_OCC_v1]; 00094 float LiveLumiOccFill[ScalersRaw::N_LUMI_OCC_v1]; 00095 float LiveLumiOccRun[ScalersRaw::N_LUMI_OCC_v1]; 00096 float InstantOccLumi[ScalersRaw::N_LUMI_OCC_v1]; 00097 float InstantOccLumiErr[ScalersRaw::N_LUMI_OCC_v1]; 00098 unsigned char InstantOccLumiQlty[ScalersRaw::N_LUMI_OCC_v1]; 00099 float lumiNoise[ScalersRaw::N_LUMI_OCC_v1]; 00100 00101 unsigned int sectionNumber; 00102 unsigned int startOrbit; 00103 unsigned int numOrbits; 00104 }; 00105 00106 struct ScalersEventRecordRaw_v1 00107 { 00108 unsigned long long header; 00109 int version; 00110 struct TriggerScalersRaw_v1 trig; 00111 struct LumiScalersRaw_v1 lumi; 00112 unsigned int filler; 00113 unsigned long long trailer; 00114 }; 00115 00116 struct ScalersEventRecordRaw_v2 00117 { 00118 unsigned long long header; 00119 int version; 00120 struct TriggerScalersRaw_v1 trig; 00121 struct LumiScalersRaw_v1 lumi; 00122 unsigned int filler; 00123 unsigned long long bx[ScalersRaw::N_BX_v2]; 00124 unsigned long long trailer; 00125 }; 00126 00127 #endif