CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LumiSummary.cc
Go to the documentation of this file.
1 
2 // $Id: LumiSummary.cc,v 1.20 2010/10/12 10:45:49 xiezhen Exp $
3 
5 
6 #include <iomanip>
7 #include <ostream>
8 #include <iostream>
9 float
11  return avginsdellumi_;
12 }
13 float
15  return avginsdellumi_*float(this->lumiSectionLength());
16 }
17 float
19  return avginsdellumierr_;
20 }
21 float
23  return this->avgInsRecLumi() *float(this->lumiSectionLength());
24 }
25 short
27  return lumisecqual_;
28 }
29 unsigned long long
31  return deadcount_;
32 }
33 float
35  //definition: deadcount/bizerocount
36  //if no trigger data, return deadfraction 1.0,mask out this LS
37  //if bitzerocount=0, return -1.0 meaning no beam
38  if (l1data_.size()==0) return 1.0;
39  if (l1data_.begin()->ratecount==0) return -1.0;
40  return float(deadcount_)/float(l1data_.begin()->ratecount*l1data_.begin()->prescale);
41 }
42 float
44  //1-deadfraction
45  //else if deadfraction<0 meaning no beam, live fraction=0
46  //
47  if (deadFrac()<0) return 0;
48  return 1-deadFrac();
49 }
50 float
52  //numorbits*3564*25e-09
53  return numorbit_*3564.0*25.0*10e-9;
54 }
55 unsigned int
57  return lsnumber_;
58 }
59 unsigned int
61  return startorbit_;
62 }
63 unsigned int
65  return numorbit_;
66 }
67 bool
69  return (lumiversion_!="-1");
70 }
72 LumiSummary::l1info(const std::string& name) const{
73  for(std::vector<L1>::const_iterator it=l1data_.begin();it!=l1data_.end();++it){
74  if(it->triggername==name) return *it;
75  }
76  return LumiSummary::L1();
77 }
79 LumiSummary::l1info(unsigned int idx)const{
80  return l1data_.at(idx);
81 }
83 LumiSummary::hltinfo(unsigned int idx) const {
84  return hltdata_.at(idx);
85 }
87 LumiSummary::hltinfo(const std::string& pathname) const {
88  for(std::vector<HLT>::const_iterator it=hltdata_.begin();it!=hltdata_.end();++it){
89  if(it->pathname==pathname) return *it;
90  }
91  return LumiSummary::HLT();
92 }
93 size_t
95  return l1data_.size();
96 }
97 size_t
99  return hltdata_.size();
100 }
101 std::vector<std::string>
103  std::vector<std::string> result;
104  for(std::vector<HLT>::const_iterator it=hltdata_.begin();it!=hltdata_.end();++it){
105  result.push_back(it->pathname);
106  }
107  return result;
108 }
109 float
111  return avginsdellumi_ * liveFrac();
112 }
113 float
115  return avginsdellumierr_ * liveFrac();
116 }
117 bool
119  return (avginsdellumi_ == next.avginsdellumi_ &&
121  lumisecqual_ == next.lumisecqual_ &&
122  deadcount_ == next.deadcount_ &&
123  lsnumber_ == next.lsnumber_ &&
124  startorbit_== next.startorbit_ &&
125  numorbit_==next.numorbit_&&
126  l1data_.size() == next.l1data_.size() &&
127  hltdata_.size() == next.hltdata_.size() &&
128  lumiversion_ == next.lumiversion_ );
129 }
130 std::string
132  return lumiversion_;
133 }
134 void
137 }
138 void
139 LumiSummary::setLumiData(float instlumi,float instlumierr,short lumiquality){
140  avginsdellumi_=instlumi;
141  avginsdellumierr_=instlumierr;
142  lumisecqual_=lumiquality;
143 }
144 void
145 LumiSummary::setDeadtime(unsigned long long deadcount){
147 }
148 void
149 LumiSummary::setlsnumber(unsigned int lsnumber){
150  lsnumber_=lsnumber;
151 }
152 void
153 LumiSummary::setOrbitData(unsigned int startorbit,unsigned int numorbit){
154  startorbit_=startorbit;
155  numorbit_=numorbit;
156 }
157 void
158 LumiSummary::swapL1Data(std::vector<L1>& l1data){
159  l1data_.swap(l1data);
160 }
161 void
163  hltdata_.swap(hltdata);
164 }
165 void
166 LumiSummary::copyL1Data(const std::vector<L1>& l1data){
167  l1data_.assign(l1data.begin(),l1data.end());
168 }
169 void
170 LumiSummary::copyHLTData(const std::vector<HLT>& hltdata){
171  hltdata_.assign(hltdata.begin(),hltdata.end());
172 }
173 std::ostream& operator<<(std::ostream& s, const LumiSummary& lumiSummary) {
174  s << "\nDumping LumiSummary\n\n";
175  if(!lumiSummary.isValid()){
176  s << " === Invalid Lumi values === \n";
177  }
178  s << " lumiVersion = " << lumiSummary.lumiVersion() << "\n";
179  s << " avgInsDelLumi = " << lumiSummary.avgInsDelLumi() << "\n";
180  s << " avgInsDelLumiErr = " << lumiSummary.avgInsDelLumiErr() << "\n";
181  s << " lumiSecQual = " << lumiSummary.lumiSecQual() << "\n";
182  s << " deadCount = " << lumiSummary.deadcount() << "\n";
183  s << " deadFrac = " << (float)lumiSummary.deadFrac() << "\n";
184  s << " liveFrac = " << (float)lumiSummary.liveFrac() << "\n";
185  s << " lsNumber = " << lumiSummary.lsNumber() << "\n";
186  s << " startOrbit = " << lumiSummary.startOrbit() <<"\n";
187  s << " numOrbit = " << lumiSummary.numOrbit() <<"\n";
188  s << " avgInsRecLumi = " << lumiSummary.avgInsRecLumi() << "\n";
189  s << " avgInsRecLumiErr = " << lumiSummary.avgInsRecLumiErr() << "\n\n";
190  s << std::setw(15) << "l1name";
191  s << std::setw(15) << "l1count";
192  s << std::setw(15) << "l1prescale";
193  s << "\n";
194  size_t nTriggers=lumiSummary.nTriggerLine();
195  size_t nHLTPath=lumiSummary.nHLTPath();
196  for(unsigned int i = 0; i < nTriggers; ++i) {
197  s << std::setw(15);
198  s << lumiSummary.l1info(i).triggername;
199 
200  s << std::setw(15);
201  s << lumiSummary.l1info(i).ratecount;
202 
203  s << std::setw(15);
204  s << lumiSummary.l1info(i).prescale;
205  s<<"\n";
206  }
207  s << std::setw(15) << "hltpath";
208  s << std::setw(15) << "hltcount";
209  s << std::setw(15) << "hltprescale";
210  s << std::setw(15) << "hltinput";
211  s << "\n";
212  for(unsigned int i = 0; i < nHLTPath; ++i) {
213  s << std::setw(15);
214  s << lumiSummary.hltinfo(i).pathname;
215  s << std::setw(15);
216  s << lumiSummary.hltinfo(i).ratecount;
217  s << std::setw(15);
218  s << lumiSummary.hltinfo(i).prescale;
219  s << std::setw(15);
220  s << lumiSummary.hltinfo(i).inputcount;
221  s << "\n";
222  }
223  return s << "\n";
224 }
std::vector< std::string > HLTPaths() const
Definition: LumiSummary.cc:102
int i
Definition: DBlmapReader.cc:9
unsigned int startOrbit() const
Definition: LumiSummary.cc:60
std::string triggername
Definition: LumiSummary.h:26
L1 l1info(unsigned int idx) const
Definition: LumiSummary.cc:79
void swapHLTData(std::vector< HLT > &hltdata)
Definition: LumiSummary.cc:162
float lumiSectionLength() const
Definition: LumiSummary.cc:51
unsigned int startorbit_
Definition: LumiSummary.h:159
tuple lumiSummary
Definition: runregparse.py:290
unsigned long long deadcount() const
Definition: LumiSummary.cc:30
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
float avgInsRecLumi() const
Definition: LumiSummary.cc:110
float intgRecLumi() const
Definition: LumiSummary.cc:22
unsigned int ratecount
Definition: LumiSummary.h:34
void setlsnumber(unsigned int lsnumber)
Definition: LumiSummary.cc:149
unsigned int lsnumber_
Definition: LumiSummary.h:153
std::vector< L1 > l1data_
Definition: LumiSummary.h:157
tuple hltdata
Definition: dataDML.py:1294
unsigned int inputcount
Definition: LumiSummary.h:35
unsigned int prescale
Definition: LumiSummary.h:28
bool isProductEqual(LumiSummary const &next) const
Definition: LumiSummary.cc:118
void setOrbitData(unsigned int startorbit, unsigned int numorbit)
Definition: LumiSummary.cc:153
float intgDelLumi() const
Definition: LumiSummary.cc:14
tuple result
Definition: query.py:137
unsigned int lsNumber() const
Definition: LumiSummary.cc:56
std::string pathname
Definition: LumiSummary.h:33
void copyL1Data(const std::vector< L1 > &l1data)
Definition: LumiSummary.cc:166
float avginsdellumierr_
Definition: LumiSummary.h:149
unsigned int numOrbit() const
Definition: LumiSummary.cc:64
float avgInsRecLumiErr() const
Definition: LumiSummary.cc:114
float avgInsDelLumi() const
Definition: LumiSummary.cc:10
float avgInsDelLumiErr() const
Definition: LumiSummary.cc:18
float liveFrac() const
Definition: LumiSummary.cc:43
void setLumiVersion(const std::string &lumiversion)
Definition: LumiSummary.cc:135
std::string lumiversion_
Definition: LumiSummary.h:145
void setLumiData(float instlumi, float instlumierr, short lumiquality)
Definition: LumiSummary.cc:139
void copyHLTData(const std::vector< HLT > &hltdata)
Definition: LumiSummary.cc:170
size_t nTriggerLine() const
Definition: LumiSummary.cc:94
short lumisecqual_
Definition: LumiSummary.h:151
unsigned int ratecount
Definition: LumiSummary.h:27
void swapL1Data(std::vector< L1 > &l1data)
Definition: LumiSummary.cc:158
HLT hltinfo(unsigned int idx) const
Definition: LumiSummary.cc:83
unsigned int numorbit_
Definition: LumiSummary.h:161
std::string lumiVersion() const
Definition: LumiSummary.cc:131
unsigned long long deadcount_
Definition: LumiSummary.h:152
float avginsdellumi_
Definition: LumiSummary.h:147
size_t nHLTPath() const
Definition: LumiSummary.cc:98
float deadFrac() const
Definition: LumiSummary.cc:34
bool isValid() const
Definition: LumiSummary.cc:68
string s
Definition: asciidump.py:422
std::vector< HLT > hltdata_
Definition: LumiSummary.h:155
void setDeadtime(unsigned long long deadcount)
Definition: LumiSummary.cc:145
short lumiSecQual() const
Definition: LumiSummary.cc:26
unsigned int prescale
Definition: LumiSummary.h:36