1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
/*
* File: DataFormats/Scalers/interface/Level1TriggerRates.h (W.Badgett)
*
* Various Level 1 Trigger Rates from the GT/TS
*
*/
#ifndef DATAFORMATS_SCALERS_LEVEL1TRIGGERRATES_H
#define DATAFORMATS_SCALERS_LEVEL1TRIGGERRATES_H
#include "DataFormats/Scalers/interface/TimeSpec.h"
#include <ctime>
#include <iosfwd>
#include <string>
#include <vector>
/*! \file Level1TriggerRates.h
* \Header file for Level 1 Global Trigger Rates
*
* \author: William Badgett
*
*/
/// \class Level1TriggerRates.h
/// \brief Persistable copy of Level1 Trigger Rates
class Level1TriggerScalers;
class Level1TriggerRates {
public:
#define BX_SPACING (double)25E-9
Level1TriggerRates();
Level1TriggerRates(Level1TriggerScalers const& s);
Level1TriggerRates(Level1TriggerScalers const& s, int runNumber);
Level1TriggerRates(Level1TriggerScalers const& s1, Level1TriggerScalers const& s2);
Level1TriggerRates(Level1TriggerScalers const& s1, Level1TriggerScalers const& s2, int runNumber);
virtual ~Level1TriggerRates();
void computeRates(Level1TriggerScalers const& t1);
void computeRates(Level1TriggerScalers const& t1, int runNumber);
void computeRates(Level1TriggerScalers const& t1, Level1TriggerScalers const& t2);
void computeRates(Level1TriggerScalers const& t1, Level1TriggerScalers const& t2, int runNumber);
/// name method
std::string name() const { return "Level1TriggerRates"; }
/// empty method (= false)
bool empty() const { return false; }
/// get the data
int version() const { return (version_); }
timespec collectionTime() { return (collectionTime_.get_timespec()); }
unsigned long long deltaNS() const { return (deltaNS_); }
double deltaT() const { return (deltaT_); }
double gtTriggersRate() const { return (gtTriggersRate_); }
double gtEventsRate() const { return (gtEventsRate_); }
timespec collectionTimeLumiSeg() { return (collectionTimeLumiSeg_.get_timespec()); }
double triggersPhysicsGeneratedFDLRate() const { return (triggersPhysicsGeneratedFDLRate_); }
double triggersPhysicsLostRate() const { return (triggersPhysicsLostRate_); }
double triggersPhysicsLostBeamActiveRate() const { return (triggersPhysicsLostBeamActiveRate_); }
double triggersPhysicsLostBeamInactiveRate() const { return (triggersPhysicsLostBeamInactiveRate_); }
double l1AsPhysicsRate() const { return (l1AsPhysicsRate_); }
double l1AsRandomRate() const { return (l1AsRandomRate_); }
double l1AsTestRate() const { return (l1AsTestRate_); }
double l1AsCalibrationRate() const { return (l1AsCalibrationRate_); }
double deadtimePercent() const { return (deadtimePercent_); }
double deadtimeBeamActivePercent() const { return (deadtimeBeamActivePercent_); }
double deadtimeBeamActiveTriggerRulesPercent() const { return (deadtimeBeamActiveTriggerRulesPercent_); }
double deadtimeBeamActiveCalibrationPercent() const { return (deadtimeBeamActiveCalibrationPercent_); }
double deadtimeBeamActivePrivateOrbitPercent() const { return (deadtimeBeamActivePrivateOrbitPercent_); }
double deadtimeBeamActivePartitionControllerPercent() const {
return (deadtimeBeamActivePartitionControllerPercent_);
}
double deadtimeBeamActiveTimeSlotPercent() const { return (deadtimeBeamActiveTimeSlotPercent_); }
timespec collectionTime() const { return (collectionTime_.get_timespec()); }
timespec collectionTimeLumiSeg() const { return (collectionTimeLumiSeg_.get_timespec()); }
std::vector<double> gtAlgoCountsRate() const { return (gtAlgoCountsRate_); }
std::vector<double> gtTechCountsRate() const { return (gtTechCountsRate_); }
/// equality operator
int operator==(const Level1TriggerRates& e) const { return false; }
/// inequality operator
int operator!=(const Level1TriggerRates& e) const { return false; }
protected:
int version_;
TimeSpec collectionTime_;
unsigned long long deltaNS_;
double deltaT_;
double gtTriggersRate_;
double gtEventsRate_;
TimeSpec collectionTimeLumiSeg_;
double triggersPhysicsGeneratedFDLRate_;
double triggersPhysicsLostRate_;
double triggersPhysicsLostBeamActiveRate_;
double triggersPhysicsLostBeamInactiveRate_;
double l1AsPhysicsRate_;
double l1AsRandomRate_;
double l1AsTestRate_;
double l1AsCalibrationRate_;
double deadtimePercent_;
double deadtimeBeamActivePercent_;
double deadtimeBeamActiveTriggerRulesPercent_;
double deadtimeBeamActiveCalibrationPercent_;
double deadtimeBeamActivePrivateOrbitPercent_;
double deadtimeBeamActivePartitionControllerPercent_;
double deadtimeBeamActiveTimeSlotPercent_;
std::vector<double> gtAlgoCountsRate_;
std::vector<double> gtTechCountsRate_;
};
/// Pretty-print operator for Level1TriggerRates
std::ostream& operator<<(std::ostream& s, const Level1TriggerRates& c);
typedef std::vector<Level1TriggerRates> Level1TriggerRatesCollection;
#endif
|