19 std::ifstream orgJSON;
20 if(input ==
"Golden" || input ==
"Prompt"){
21 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Prompt/Cert_190456-208686_8TeV_PromptReco_Collisions12_JSON.txt");
23 else if(input ==
"13Jul" || input ==
"Jul13"){
24 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Reprocessing/Cert_190456-196531_8TeV_13Jul2012ReReco_Collisions12_JSON_v2.txt");
26 else if(input ==
"06Aug" || input ==
"Aug06" || input ==
"Aug6"){
27 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Reprocessing/Cert_190782-190949_8TeV_06Aug2012ReReco_Collisions12_JSON.txt");
29 else if(input ==
"24Aug" || input ==
"Aug24"){
30 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Reprocessing/Cert_198022-198523_8TeV_24Aug2012ReReco_Collisions12_JSON.txt");
32 else if(input ==
"MuonPhys" || input ==
"Muon"){
33 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Prompt/Cert_190456-204567_8TeV_PromptReco_Collisions12_JSON_MuonPhys.txt");
35 else if(input ==
"DCS" || input ==
"DCSOnly"){
36 orgJSON.open(
"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt");
38 else if(input ==
"2015golden"){
39 orgJSON.open(
"txt/json/Cert_246908-256869_13TeV_PromptReco_Collisions15_25ns.json");
41 else if(input ==
"2015dcs"){
43 orgJSON.open(
"txt/json/dcs_DCSONLY_15_09_25.json");
46 orgJSON.open(input.c_str());
48 std::vector<int> VRunLumi;
49 if(orgJSON.is_open()){
53 while(!orgJSON.eof()){
54 char next = orgJSON.peek();
55 if( next ==
'1' || next ==
'2' || next ==
'3' ||
56 next ==
'4' || next ==
'5' || next ==
'6' ||
57 next ==
'7' || next ==
'8' || next ==
'9' ||
60 VRunLumi.push_back(inInt);
63 getline(orgJSON,str,
' ');
71 std::cout<<
"Invalid JSON File!\n";
74 if(VRunLumi.size() == 0){
75 std::cout<<
"No Lumiblock found in JSON file\n";
77 std::vector< std::vector<int> > VVRunLumi;
78 for(
unsigned int i = 0; i+2 < VRunLumi.size();){
79 if(VRunLumi[i] > 130000){
80 std::vector<int> RunLumi;
81 RunLumi.push_back(VRunLumi[i]);
82 while(VRunLumi[i+1] < 130000 && i+1 < VRunLumi.size()){
83 RunLumi.push_back(VRunLumi[i+1]);
86 VVRunLumi.push_back(RunLumi);
93 bool inJSON(std::vector< std::vector<int> > VVRunLumi,
int Run,
int LS){
99 for(
unsigned int i = 0; i < VVRunLumi.size();++i){
100 if(Run == VVRunLumi[i][0]){
101 for(
unsigned int j = 1; j+1 < VVRunLumi[i].size();j=j+2){
102 if(LS >= VVRunLumi[i][j] && LS <= VVRunLumi[i][j+1]){
113 for(
unsigned int i = 0; i < VVRunLumi.size();++i){
114 std::cout<<
"Run:"<<VVRunLumi[i][0]<<
" LS: ";
115 for(
unsigned int j = 1; j+1 < VVRunLumi[i].size();j=j+2){
116 std::cout<<VVRunLumi[i][j]<<
"-"<<VVRunLumi[i][j+1]<<
" ";
118 std::cout<<std::endl;
123 for(
unsigned int i = 0; i < VVRunLumi.size();++i){
124 for(
unsigned int j = 1; j+1 < VVRunLumi[i].size();j=j+2){
125 if(VVRunLumi[i][j] == VVRunLumi[i][j+1]){
126 std::cout<<VVRunLumi[i][0]<<
" "<<VVRunLumi[i][j]<<std::endl;
129 for(
int k=VVRunLumi[i][j];k<=VVRunLumi[i][j+1];++k){
130 std::cout<<VVRunLumi[i][0]<<
" "<<k<<std::endl;
134 std::cout<<std::endl;
std::vector< std::vector< int > > MakeVRunLumi(std::string input)
void CheckVRunLumi2(std::vector< std::vector< int > > VVRunLumi)
bool inJSON(std::vector< std::vector< int > > VVRunLumi, int Run, int LS)
void CheckVRunLumi(std::vector< std::vector< int > > VVRunLumi)