23 #include "../../MACROS/ReadChunkList.C"
27 #define CHUNK_FILE_LIST "Chunk_List.txt"
28 #define CHUNK_MAX_SIZE 100
33 void shuffle(std::vector<int>& vector,
int seed=150914);
40 char cwb_config_env[1024] =
"";
41 if(gSystem->Getenv(
"CWB_CONFIG")!=NULL) {
42 strcpy(cwb_config_env,TString(gSystem->Getenv(
"CWB_CONFIG")).Data());
45 char chunk_file_list[1024];
47 cout << chunk_file_list << endl;
53 int nChunks =
ReadChunkList(chunk_file_list,chunk,start,stop);
58 char ifo[NIFO_MAX][8];
68 size_t* slagSite = NULL;
80 {
"L1" ,
"", CWB_CAT0, 0.,
false,
false},
81 {
"H1" ,
"", CWB_CAT0, 0.,
false,
false},
82 {
"V1" ,
"", CWB_CAT0, 0.,
false,
false},
84 {
"L1" ,
"", CWB_CAT1, 0.,
true,
false},
85 {
"H1" ,
"", CWB_CAT1, 0.,
true,
false},
86 {
"V1" ,
"", CWB_CAT1, 0.,
true,
false},
88 {
"L1" ,
"", CWB_CAT2, 0.,
true,
false},
89 {
"H1" ,
"", CWB_CAT2, 0.,
true,
false},
91 {
"L1" ,
"", CWB_CAT1, 0.,
true,
false},
92 {
"H1" ,
"", CWB_CAT1, 0.,
true,
false},
94 {
"L1" ,
"", CWB_CAT0, 0.,
false,
false},
95 {
"H1" ,
"", CWB_CAT0, 0.,
false,
false},
96 {
"V1" ,
"", CWB_CAT0, 0.,
false,
false}
100 sprintf(DQF[0].file,
"%s/O2/DATA/%s/DQ/%s/L1_cat0.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
101 sprintf(DQF[1].file,
"%s/O2/DATA/%s/DQ/%s/H1_cat0.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
102 sprintf(DQF[2].file,
"%s/O2/DATA/%s/DQ/%s/V1_cat0.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
104 sprintf(DQF[3].file,
"%s/O2/DATA/%s/DQ/%s/L1_cat1.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
105 sprintf(DQF[4].file,
"%s/O2/DATA/%s/DQ/%s/H1_cat1.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
106 sprintf(DQF[5].file,
"%s/O2/DATA/%s/DQ/%s/V1_cat1.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
108 sprintf(DQF[6].file,
"%s/O2/DATA/%s/DQ/%s/L1_cat2.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
109 sprintf(DQF[7].file,
"%s/O2/DATA/%s/DQ/%s/H1_cat2.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
111 sprintf(DQF[8].file,
"%s/O2/DATA/%s/DQ/%s/L1_cat4.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
112 sprintf(DQF[9].file,
"%s/O2/DATA/%s/DQ/%s/H1_cat4.txt",cwb_config_env,
calibVer.Data(),calibType.Data());
116 sprintf(ofile,
"%s/%s/%s/slagSizeMax.lst",slags_dir.Data(),
calibVer.Data(),calibType.Data());
117 cout << ofile << endl;
120 if (!out.good()) {cout <<
"Error Opening File : " << ofile << endl;
exit(1);}
121 out <<
"# chunk slagSize" << endl << endl;
123 cout <<
"# chunk slagSize" << endl << endl;
125 for(
int k=17;k<nChunks;k++) {
127 sprintf(DQF[10].file,
"%s/O2/CHUNKS/K%02d.period",cwb_config_env,chunk[k]);
128 sprintf(DQF[11].file,
"%s/O2/CHUNKS/K%02d.period",cwb_config_env,chunk[k]);
129 sprintf(DQF[12].file,
"%s/O2/CHUNKS/K%02d.period",cwb_config_env,chunk[k]);
131 vector<waveSegment> cat1List=TB.readSegList(
nDQF, DQF, CWB_CAT1);
135 char string[64];
sprintf(
string,
"K%02d\t%d",chunk[k],2*
slagMax+1);
136 cout <<
"slagSize = \t" <<
string << endl;
141 out <<
string << endl;
155 std::vector<int> RND_A(2*
slagMax);
156 std::vector<int> RND_B(2*
slagMax);
175 if(RND_A[
n]==A) nA++;
176 if(RND_A[
n]==
B) nB++;
179 cout <<
"ERROR !!!" << endl;
191 if(RND_B[
n]==A) nA++;
192 if(RND_B[
n]==
B) nB++;
195 cout <<
"ERROR !!!" << endl;
204 sprintf(ofile,
"%s/%s/%s/K%02d.slags",slags_dir.Data(),
calibVer,calibType,chunkID);
205 cout << ofile << endl;
210 if (!out.good()) {cout <<
"Error Opening File : " << ofile << endl;
exit(1);}
211 out << 0 <<
"\t" << 0 <<
"\t" << 0 <<
"\t" << 0 << endl;
213 out <<
n+1 <<
"\t" << 0 <<
"\t" << RND_A[
n] <<
"\t" << RND_B[
n] << endl;
225 size_t size = vector.size();
229 for(
size_t i=0; i<
size; i++) {
230 size_t j = int(rnd3.Uniform(0,
size));
232 vector[j] = vector[i];
void Create_O2_LHV_ChunkSlagRndFiles(TString slags_dir, TString calibVer, TString calibType)
void shuffle(std::vector< int > &vector, int seed=150914)
void Create_SlagRndFile(TString slags_dir, int chunkID, int slagMax, char *cwb_config_env, char *calibVer, char *calibType)
int ReadChunkList(TString ifile, int *chunk=NULL, double *start=NULL, double *stop=NULL)
sprintf(tag,"wave_%s", data_label)