1 |
// |
// |
2 |
// Check the calorimter calibrations - Emiliano Mocchiutti |
// Check the calorimter calibrations - Emiliano Mocchiutti |
3 |
// |
// |
4 |
// FCaloCHKCALIB.c version 1.04 (2006-03-20) |
// FCaloCHKCALIB.c version 1.07 (2006-05-29) |
5 |
// |
// |
6 |
// The only input needed is the path to the directory created by YODA for the data file you want to analyze. |
// The only input needed is the path to the directory created by YODA for the data file you want to analyze. |
7 |
// |
// |
8 |
// Changelog: |
// Changelog: |
9 |
// |
// |
10 |
|
// 1.06 - 1.07 (2006-05-29): Fixed bug in output filename when input is not in the form DW_YYMMDD_NNN. Changed threshold for bad strip warning (from 0.005 to 0.03). |
11 |
|
// |
12 |
|
// 1.05 - 1.06 (2006-03-22): Add optimize flag in compiling the script! |
13 |
|
// |
14 |
|
// 1.04 - 1.05 (2006-03-22): Corrected wrong .C files. |
15 |
|
// |
16 |
// 1.03 - 1.04 (2006-03-20): Documentation updated. |
// 1.03 - 1.04 (2006-03-20): Documentation updated. |
17 |
// |
// |
18 |
// 1.02 - 1.03 (2006-03-20): Changed name of shared libraries (for example from FCaloQLOOK_cxx.so to libFCaloQLOOK.so). |
// 1.02 - 1.03 (2006-03-20): Changed name of shared libraries (for example from FCaloQLOOK_cxx.so to libFCaloQLOOK.so). |
62 |
}; |
}; |
63 |
} |
} |
64 |
|
|
65 |
|
// TString getFilename(const TString filename){ |
66 |
|
// const string fil = (const char*)filename; |
67 |
|
// Int_t posiz = fil.find("dw_"); |
68 |
|
// if ( posiz == -1 ) posiz = fil.find("DW_"); |
69 |
|
// if ( posiz == -1 ) return 0; |
70 |
|
// Int_t posiz2 = posiz+13; |
71 |
|
// TString file2; |
72 |
|
// stringcopy(file2,filename,posiz,posiz2); |
73 |
|
// TString pdat(".dat"); |
74 |
|
// stringappend(file2,pdat); |
75 |
|
// return file2; |
76 |
|
// } |
77 |
TString getFilename(const TString filename){ |
TString getFilename(const TString filename){ |
78 |
const string fil = (const char*)filename; |
// |
79 |
Int_t posiz = fil.find("dw_"); |
const string fil = gSystem->BaseName(filename.Data()); |
80 |
if ( posiz == -1 ) posiz = fil.find("DW_"); |
Int_t posiz = fil.find(".root"); |
81 |
if ( posiz == -1 ) return 0; |
// |
82 |
Int_t posiz2 = posiz+13; |
TString file2; |
83 |
TString file2; |
if ( posiz == -1 ){ |
84 |
stringcopy(file2,filename,posiz,posiz2); |
file2 = gSystem->BaseName(filename.Data()); |
85 |
|
} else { |
86 |
|
Int_t posiz2 = 0; |
87 |
|
stringcopy(file2,gSystem->BaseName(filename.Data()),posiz2,posiz); |
88 |
TString pdat(".dat"); |
TString pdat(".dat"); |
89 |
stringappend(file2,pdat); |
stringappend(file2,pdat); |
90 |
return file2; |
}; |
91 |
|
return file2; |
92 |
} |
} |
93 |
|
|
94 |
typedef struct Calib { |
typedef struct Calib { |
110 |
// |
// |
111 |
Float_t ccalrmsthr=0.99; |
Float_t ccalrmsthr=0.99; |
112 |
Float_t ccalpedthr=0.99; |
Float_t ccalpedthr=0.99; |
113 |
Float_t ccalbadthr=0.005; |
Float_t ccalbadthr=0.03;// 0.005 |
114 |
Float_t ccalthrthr=0.98; |
Float_t ccalthrthr=0.98; |
115 |
Float_t ccalvarthr=0.99; |
Float_t ccalvarthr=0.99; |
116 |
Float_t ccalbasthr=0.99; |
Float_t ccalbasthr=0.99; |
196 |
}; |
}; |
197 |
}; |
}; |
198 |
// |
// |
199 |
|
// // |
200 |
|
// const string fil = (const char*)filename; |
201 |
|
// Int_t posiz = fil.find("dw_"); |
202 |
|
// if ( posiz == -1 ) posiz = fil.find("DW_"); |
203 |
|
// Int_t posiz2 = posiz+13; |
204 |
|
// TString file2; |
205 |
|
// stringcopy(file2,filename,posiz,posiz2); |
206 |
|
// // |
207 |
|
// const char *figrec = file2; |
208 |
// |
// |
209 |
const string fil = (const char*)filename; |
const string fil = gSystem->BaseName(filename.Data()); |
210 |
Int_t posiz = fil.find("dw_"); |
Int_t posiz = fil.find(".root"); |
|
if ( posiz == -1 ) posiz = fil.find("DW_"); |
|
|
Int_t posiz2 = posiz+13; |
|
|
TString file2; |
|
|
stringcopy(file2,filename,posiz,posiz2); |
|
211 |
// |
// |
212 |
|
TString file2; |
213 |
|
if ( posiz == -1 ){ |
214 |
|
file2 = gSystem->BaseName(filename.Data()); |
215 |
|
} else { |
216 |
|
Int_t posiz2 = 0; |
217 |
|
stringcopy(file2,gSystem->BaseName(filename.Data()),posiz2,posiz); |
218 |
|
}; |
219 |
const char *figrec = file2; |
const char *figrec = file2; |
220 |
|
// |
221 |
const char *outdir = outDir; |
const char *outdir = outDir; |
222 |
const char *format = saveas; |
const char *format = saveas; |
223 |
stringstream figsave; |
stringstream figsave; |
966 |
if ( ci == minev ) { |
if ( ci == minev ) { |
967 |
figsave.str(""); |
figsave.str(""); |
968 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
969 |
figsave << figrec << "_chkcalib."; |
figsave << figrec << "_CaloCHKCALIB."; |
970 |
figsave << format; |
figsave << format; |
971 |
figsave << "("; |
figsave << "("; |
972 |
}; |
}; |
975 |
if ( ci == minev ) { |
if ( ci == minev ) { |
976 |
figsave.str(""); |
figsave.str(""); |
977 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
978 |
figsave << figrec << "_chkcalib."; |
figsave << figrec << "_CaloCHKCALIB."; |
979 |
figsave << format; |
figsave << format; |
980 |
}; |
}; |
981 |
}; |
}; |
984 |
if ( ci == minev ) { |
if ( ci == minev ) { |
985 |
figsave.str(""); |
figsave.str(""); |
986 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
987 |
figsave << figrec << "_chkcalib."; |
figsave << figrec << "_CaloCHKCALIB."; |
988 |
figsave << format; |
figsave << format; |
989 |
}; |
}; |
990 |
// |
// |
993 |
if ( ci == maxev-4 ) { |
if ( ci == maxev-4 ) { |
994 |
figsave.str(""); |
figsave.str(""); |
995 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
996 |
figsave << figrec << "_chkcalib."; |
figsave << figrec << "_CaloCHKCALIB."; |
997 |
figsave << format; |
figsave << format; |
998 |
figsave << ")"; |
figsave << ")"; |
999 |
rapporto->Print(figsave.str().c_str(),"Portrait"); |
rapporto->Print(figsave.str().c_str(),"Portrait"); |
1002 |
if ( figmatra ) { |
if ( figmatra ) { |
1003 |
figsave.str(""); |
figsave.str(""); |
1004 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
1005 |
figsave << figrec << "_chkcalib1_"; |
figsave << figrec << "_CaloCHKCALIB1_"; |
1006 |
figsave << (i+1) << "."; |
figsave << (i+1) << "."; |
1007 |
figsave << format; |
figsave << format; |
1008 |
figura2->SaveAs(figsave.str().c_str()); |
figura2->SaveAs(figsave.str().c_str()); |
1010 |
// |
// |
1011 |
figsave1.str(""); |
figsave1.str(""); |
1012 |
figsave1 << outdir << "/" ; |
figsave1 << outdir << "/" ; |
1013 |
figsave1 << figrec << "_chkcalib2_"; |
figsave1 << figrec << "_CaloCHKCALIB2_"; |
1014 |
figsave1 << (i+1) << "."; |
figsave1 << (i+1) << "."; |
1015 |
figsave1 << format; |
figsave1 << format; |
1016 |
figura1->SaveAs(figsave1.str().c_str()); |
figura1->SaveAs(figsave1.str().c_str()); |
1017 |
// |
// |
1018 |
figsave2.str(""); |
figsave2.str(""); |
1019 |
figsave2 << outdir << "/" ; |
figsave2 << outdir << "/" ; |
1020 |
figsave2 << figrec << "_chkcalib3_"; |
figsave2 << figrec << "_CaloCHKCALIB3_"; |
1021 |
figsave2 << (i+1) << "."; |
figsave2 << (i+1) << "."; |
1022 |
figsave2 << format; |
figsave2 << format; |
1023 |
figura3->SaveAs(figsave2.str().c_str()); |
figura3->SaveAs(figsave2.str().c_str()); |
1025 |
if ( ci == maxev-4 ) { |
if ( ci == maxev-4 ) { |
1026 |
figsave.str(""); |
figsave.str(""); |
1027 |
figsave << outdir << "/" ; |
figsave << outdir << "/" ; |
1028 |
figsave << figrec << "_chkcalib_report."; |
figsave << figrec << "_CaloCHKCALIB_report."; |
1029 |
figsave << format; |
figsave << format; |
1030 |
rapporto->SaveAs(figsave.str().c_str()); |
rapporto->SaveAs(figsave.str().c_str()); |
1031 |
}; |
}; |