ATLAS Offline Software
Loading...
Searching...
No Matches
TGoodRunsList.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6/**********************************************************************************
7 * Class : TGoodRunsList *
8 * *
9 * Authors (alphabetical): *
10 * Max Baak <mbaak@cern.ch> - CERN, Switzerland *
11 **********************************************************************************/
12
13#ifndef GOODRUNSLISTS_TGOODRUNSLIST_H
14#define GOODRUNSLISTS_TGOODRUNSLIST_H
15
18#include "TNamed.h"
19#include "TString.h"
20#include <map>
21#include <vector>
22#include <string>
23
24namespace Root {
25
26 class TGoodRunsList : public std::map< Int_t, TGoodRun >, public TNamed {
27
28 public:
29
31 TGoodRunsList(const char* name);
32 virtual ~TGoodRunsList();
33
34 TGoodRunsList(const TGoodRunsList&) = default;
38
39 void AddGRL(const TGoodRunsList& other);
40 const Root::TGoodRunsList GetOverlapWith(const TGoodRunsList& other) const ;
41 const Root::TGoodRunsList GetSumWith(const TGoodRunsList& other) const ;
42 const Root::TGoodRunsList GetPartOnlyIn(const TGoodRunsList& other) const ;
43 const Root::TGoodRunsList GetPartNotIn(const TGoodRunsList& other) const ;
44
45 Bool_t HasTriggerInfo() const;
46 Bool_t HasRun( Int_t runnr ) const;
47 Bool_t HasRunLumiBlock( Int_t runnr, Int_t lumiblocknr ) const ;
48 Bool_t HasSameGRLInfo( const TGoodRunsList& other ) const;
49 Bool_t HasOverlapWith( const TGoodRunsList& other, bool verb=false ) const;
50
51 void AddRunLumiBlock( Int_t runnr, Int_t lumiblocknr );
52 inline void SetVersion(const TString& version) { m_version = version; }
53 inline void AddMetaData(const TString& key, const TString& value) { m_metadata[key] = value; }
54 inline void SetMetaData(const std::map<TString,TString>& metadata) { m_metadata = metadata; }
55 inline void SetCheckGRLInfo(Bool_t check=kTRUE) { m_checkGRLInfo=check; }
56
57 inline const Bool_t& GetCheckGRLInfo() const { return m_checkGRLInfo; }
58 inline const TString& GetVersion() const { return m_version; }
59 inline const std::map<TString,TString>& GetMetaData() const { return m_metadata; }
60 inline unsigned int GetMetaDataSize() const { return m_metadata.size(); }
61
62 void Summary(Bool_t verbose = kFALSE) const;
63 Bool_t IsEmpty() const;
64
65 std::vector<int> GetRunlist() const;
66 std::vector<Root::TGoodRun> GetGoodRuns() const;
67 std::vector<std::string> GetTriggerList() const;
68 std::vector<std::string> GetStreamList() const;
69
70 TString GetSuggestedName() const;
71 void Compress();
72
73 private:
74
75 TString m_version;
76 std::map<TString,TString> m_metadata;
77 bool m_checkGRLInfo{false};
78
79 ClassDef(TGoodRunsList,1)
80 };
81}
82
83#endif
84
#define verb
Define macros for attributes used to control the static checker.
std::vector< int > GetRunlist() const
Bool_t HasTriggerInfo() const
TGoodRunsList & operator=(TGoodRunsList &&)=default
void Summary(Bool_t verbose=kFALSE) const
TGoodRunsList(TGoodRunsList &&)=default
TGoodRunsList(const TGoodRunsList &)=default
void SetVersion(const TString &version)
void SetCheckGRLInfo(Bool_t check=kTRUE)
Bool_t HasRun(Int_t runnr) const
Bool_t HasSameGRLInfo(const TGoodRunsList &other) const
void AddMetaData(const TString &key, const TString &value)
const TString & GetVersion() const
TGoodRunsList & operator=(const TGoodRunsList &)=default
std::vector< std::string > GetTriggerList() const
unsigned int GetMetaDataSize() const
const Root::TGoodRunsList GetSumWith(const TGoodRunsList &other) const
const Root::TGoodRunsList GetPartNotIn(const TGoodRunsList &other) const
Bool_t HasOverlapWith(const TGoodRunsList &other, bool verb=false) const
Bool_t HasRunLumiBlock(Int_t runnr, Int_t lumiblocknr) const
const Root::TGoodRunsList GetPartOnlyIn(const TGoodRunsList &other) const
void SetMetaData(const std::map< TString, TString > &metadata)
void AddRunLumiBlock(Int_t runnr, Int_t lumiblocknr)
const std::map< TString, TString > & GetMetaData() const
std::vector< Root::TGoodRun > GetGoodRuns() const
void AddGRL(const TGoodRunsList &other)
std::vector< std::string > GetStreamList() const
std::map< TString, TString > m_metadata
Bool_t IsEmpty() const
const Root::TGoodRunsList GetOverlapWith(const TGoodRunsList &other) const
const Bool_t & GetCheckGRLInfo() const
TString GetSuggestedName() const
bool verbose
Definition hcg.cxx:73