15 : std::
vector<TGoodRunsList>()
17 , m_checkGRLInfo( checkGRLInfo )
31 , m_checkGRLInfo(
other.m_checkGRLInfo)
42 std::vector<TGoodRunsList>::operator=(
other);
43 m_checkGRLInfo=
other.m_checkGRLInfo;
53 m_checkGRLInfo=kFALSE;
62 for (; itr!=
end; ++itr) itr->SetVersion(
version);
77 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
78 std::vector<TGoodRunsList>::const_iterator
end = this->
end();
80 for (; itr!=
end; ++itr)
88 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
89 std::vector<TGoodRunsList>::const_iterator
end = this->
end();
92 for (; itr!=
end && !pass; ++itr)
93 pass = itr->HasRun(
runnr);
102 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
103 std::vector<TGoodRunsList>::const_iterator
end = this->
end();
106 for (; itr!=
end && !pass; ++itr)
107 pass = itr->HasRunLumiBlock(
runnr,lumiblocknr);
116 if (this->
empty())
return kTRUE;
118 Bool_t isEmpty(kTRUE);
119 std::vector< TGoodRunsList >::const_iterator litr = this->
begin();
120 for (; litr!=this->
end() && isEmpty; ++litr)
121 isEmpty = isEmpty && litr->IsEmpty();
134 std::vector<Root::TGoodRunsList>::const_iterator itr = this->
begin();
136 if (this->
size()==1) {
142 mylogger <<
kINFO <<
"Now merging GRLs." <<
GEndl;
145 grl.SetCheckGRLInfo(m_checkGRLInfo);
148 mylogger <<
kINFO <<
"Metadata and other info not required to be identical between GRLs." <<
GEndl;
151 for (++itr; itr!=this->
end(); ++itr) {
154 if (
grl.HasOverlapWith(*itr,
false) ) {
161 grl =
grl.GetOverlapWith(*itr);
184 if (this->
empty() )
return *
this;
187 mylogger <<
kINFO <<
"Now merging GRLs where possible. Metadata required to be identical." <<
GEndl;
191 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
192 std::vector<TGoodRunsList>::const_iterator
end = this->
end();
195 for (; itr!=
end; ++itr) {
196 bool matchFound(
false);
197 for (mitr=mergevec.begin(); mitr!=mergevec.end() && !matchFound ; ++mitr) {
198 if (mitr->HasSameGRLInfo(*itr)) {
202 if ( mitr->HasOverlapWith(*itr,
false) ) {
206 mitr->AddGRL( *itr );
209 *mitr = mitr->GetOverlapWith( *itr );
216 mergevec.push_back(*itr);
217 mergevec.rbegin()->Compress();
233 for (; itr!=
end; ++itr) {
234 found = (
name==TString(itr->GetName()) ) ;
242 std::vector<Root::TGoodRunsList>::const_iterator
247 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
248 std::vector<TGoodRunsList>::const_iterator
end = this->
end();
250 for (; itr!=
end; ++itr) {
251 found = (
name==TString(itr->GetName()) ) ;
262 return (this->
find(name)!=this->
end());
271 std::vector<TGoodRunsList>::const_iterator itr = this->
begin();
272 for (; itr!=this->
end(); ++itr) {
274 overlapgrl.SetName(itr->GetName());
278 overlapvec.push_back(overlapgrl);