ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/ITriggerRate.h
Revision: 1.3
Committed: Wed Jul 24 11:48:54 2013 UTC (11 years, 9 months ago) by grimes
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +10 -0 lines
Log Message:
Big commit of lots of changes before migrating to Git.

File Contents

# Content
1 #ifndef l1menu_ITriggerRate_h
2 #define l1menu_ITriggerRate_h
3
4 #include <vector>
5
6 //
7 // Forward declarations
8 //
9 namespace l1menu
10 {
11 class ITrigger;
12 }
13
14 namespace l1menu
15 {
16 /** @brief Interface to get information about the trigger rate. Read only.
17 *
18 * @author Mark Grimes (mark.grimes@bristol.ac.uk)
19 * @date 24/Jun/2013
20 */
21 class ITriggerRate
22 {
23 public:
24 virtual ~ITriggerRate() {}
25
26 /** @brief The trigger that gives the rate, which can be queiried for thresholds etcetera
27 * N.B. This trigger is a copy of whatever was used to calculate the rate. Changing one will
28 * have no affect on the other.
29 */
30 virtual const l1menu::ITrigger& trigger() const = 0;
31
32 /** @brief The fraction of events that this trigger passed, so before applying any scaling. */
33 virtual float fraction() const = 0;
34
35 /** @brief The rate, so fraction multiplied by the scaling. */
36 virtual float rate() const = 0;
37
38 /** @brief The fraction of events that pass only this trigger, with no scaling. */
39 virtual float pureFraction() const = 0;
40
41 /** @brief The pure rate, so pureFraction multiplied by the scaling. */
42 virtual float pureRate() const = 0;
43 };
44
45 } // end of namespace l1menu
46
47 #endif