ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/LuminosityUtils.h
Revision: 1.1
Committed: Fri May 25 09:31:04 2012 UTC (12 years, 11 months ago) by peiffer
Content type: text/plain
Branch: MAIN
CVS Tags: Makefile, v1-00, Feb-15-2013-v1, Feb-14-2013, Feb-07-2013-v1, Jan-17-2013-v2, Jan-17-2013-v1, Jan-16-2012-v1, Jan-09-2012-v2, Jan-09-2012-v1, Dec-26-2012-v1, Dec-20-2012-v1, Dec-17-2012-v1, Nov-30-2012-v2, Nov-30-2012-v1, HEAD
Error occurred while calculating annotation data.
Log Message:
move files to SFrameTools

File Contents

# Content
1 /**********************************************************************************
2 * @Project: SFrame - ROOT-based analysis framework
3 * @Package: SFrame
4 * @Class : LuminosityUtils
5 *
6 * @brief : This is a collection of classes which are used
7 * by the LuminosityHandler.
8 *
9 * @author : Martin Goebel (martin.goebel@desy.de)
10 *
11 **********************************************************************************/
12
13 #ifndef SFRAME_LuminosityUtils_H
14 #define SFRAME_LuminosityUtils_H
15
16 // STL include(s):
17 #include <iostream>
18
19 namespace LuminosityUtils {
20
21 // class merged run Nr and LB Nr
22 class RunNr_LbNr{
23 public:
24 RunNr_LbNr() {
25 runNr = 0;
26 lbNr = 0;
27 }
28 RunNr_LbNr( const RunNr_LbNr& obj ) {
29 runNr = obj.runNr;
30 lbNr = obj.lbNr;
31 }
32 RunNr_LbNr(long rNr, long lNr) {
33 runNr = rNr;
34 lbNr = lNr;
35 }
36 ~RunNr_LbNr(){}
37
38 long runNr;
39 long lbNr;
40
41 // overloading operators (inline implementation)
42 RunNr_LbNr& operator = ( const RunNr_LbNr& obj ) {
43 runNr = obj.runNr;
44 lbNr = obj.lbNr;
45 return *this;
46 }
47 friend bool operator== ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
48 return ( lhs.runNr == rhs.runNr && lhs.lbNr == rhs.lbNr );
49 }
50 friend bool operator< ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
51 return ( lhs.runNr < rhs.runNr ) || ( lhs.runNr == rhs.runNr&& lhs.lbNr < rhs.lbNr );
52 }
53 friend bool operator<= ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
54 return ( lhs.runNr < rhs.runNr ) || ( lhs.runNr == rhs.runNr&& lhs.lbNr <= rhs.lbNr );
55 }
56 friend bool operator> ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
57 return ( lhs.runNr > rhs.runNr ) || ( lhs.runNr == rhs.runNr&& lhs.lbNr > rhs.lbNr );
58 }
59 friend bool operator>= ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
60 return ( lhs.runNr > rhs.runNr ) || ( lhs.runNr == rhs.runNr&& lhs.lbNr >= rhs.lbNr );
61 }
62 friend bool operator!= ( const RunNr_LbNr lhs, const RunNr_LbNr rhs ) {
63 return !(lhs == rhs);
64 }
65 friend ostream& operator<< (ostream& os, RunNr_LbNr& obj){
66 os << "(Run Nr, LB Nr) = (" << obj.runNr << ", " << obj.lbNr << ")";
67 return os;
68 }
69 }; // end RunNr_LbNr class
70
71
72 // class containing LumiBin infos
73 class LumiBinInfo{
74 public:
75 LumiBinInfo(){}
76 ~LumiBinInfo(){}
77
78 RunNr_LbNr start_runNrLbNr;
79 RunNr_LbNr end_runNrLbNr;
80 Double_t lumiInBin;
81 }; // end LumiBinInfo class
82
83 };
84
85
86 #endif // SFRAME_LuminosityUtils_H
87