Commit 86548a09ca2d64130325136641b6c2ea631e9214

Authored by Jürgen Knödlseder
1 parent 57ab5a21

Also enhance logging in ctselect.

Showing 1 changed file with 59 additions and 26 deletions
src/ctselect/ctselect.cpp
@@ -243,6 +243,18 @@ void ctselect::run(void) @@ -243,6 +243,18 @@ void ctselect::run(void)
243 // Loop over all observation in the container 243 // Loop over all observation in the container
244 for (int i = 0; i < m_obs.size(); ++i) { 244 for (int i = 0; i < m_obs.size(); ++i) {
245 245
  246 + // Write header for observation
  247 + if (logTerse()) {
  248 + std::string header = m_obs[i]->instrument() + " observation";
  249 + if (m_obs[i]->name().length() > 1) {
  250 + header += " \"" + m_obs[i]->name() + "\"";
  251 + }
  252 + if (m_obs[i]->id().length() > 1) {
  253 + header += " (id=" + m_obs[i]->id() +")";
  254 + }
  255 + log.header3(header);
  256 + }
  257 +
246 // Initialise event input and output filenames 258 // Initialise event input and output filenames
247 m_infiles.push_back(""); 259 m_infiles.push_back("");
248 260
@@ -252,9 +264,9 @@ void ctselect::run(void) @@ -252,9 +264,9 @@ void ctselect::run(void)
252 // Skip observation if it's not CTA 264 // Skip observation if it's not CTA
253 if (obs == NULL) { 265 if (obs == NULL) {
254 if (logTerse()) { 266 if (logTerse()) {
255 - log << "Warning: Skipping "+m_obs[i]->instrument();  
256 - log << " observation \"";  
257 - log << m_obs[i]->name() << "\"" << std::endl; 267 + log << " Skipping ";
  268 + log << m_obs[i]->instrument();
  269 + log << " observation" << std::endl;
258 } 270 }
259 continue; 271 continue;
260 } 272 }
@@ -262,22 +274,13 @@ void ctselect::run(void) @@ -262,22 +274,13 @@ void ctselect::run(void)
262 // Skip observation if we have a binned observation 274 // Skip observation if we have a binned observation
263 if (obs->eventtype() == "CountsCube") { 275 if (obs->eventtype() == "CountsCube") {
264 if (logTerse()) { 276 if (logTerse()) {
265 - log << "Warning: Skipping binned observation \"";  
266 - log << obs->name()+"\"" << std::endl; 277 + log << " Skipping binned ";
  278 + log << obs->instrument();
  279 + log << " observation" << std::endl;
267 } 280 }
268 continue; 281 continue;
269 } 282 }
270 283
271 - // Write header for observation  
272 - if (logTerse()) {  
273 - if (obs->name().length() > 1) {  
274 - log.header3("Observation "+obs->name());  
275 - }  
276 - else {  
277 - log.header3("Observation");  
278 - }  
279 - }  
280 -  
281 // Increment counter 284 // Increment counter
282 n_observations++; 285 n_observations++;
283 286
@@ -1149,8 +1152,23 @@ void ctselect::save_fits(void) @@ -1149,8 +1152,23 @@ void ctselect::save_fits(void)
1149 // Get CTA observation from observation container 1152 // Get CTA observation from observation container
1150 GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[0]); 1153 GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[0]);
1151 1154
1152 - // Save event list  
1153 - save_event_list(obs, m_infiles[0], m_outobs); 1155 + // Save only if it's a CTA observation
  1156 + if (obs != NULL) {
  1157 +
  1158 + // Save only if filename is non-empty
  1159 + if (m_infiles[0].length() > 0) {
  1160 +
  1161 + // Dump filename
  1162 + if (logTerse()) {
  1163 + log << "Save \""+m_infiles[0]+"\"" << std::endl;
  1164 + }
  1165 +
  1166 + // Save event list
  1167 + save_event_list(obs, m_infiles[0], m_outobs);
  1168 +
  1169 + } // endif: filename was non empty
  1170 +
  1171 + } // endif: observation was CTA observation
1154 1172
1155 // Return 1173 // Return
1156 return; 1174 return;
@@ -1191,22 +1209,37 @@ void ctselect::save_xml(void) @@ -1191,22 +1209,37 @@ void ctselect::save_xml(void)
1191 // Get CTA observation 1209 // Get CTA observation
1192 GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[i]); 1210 GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[i]);
1193 1211
1194 - // Handle only CTA observations  
1195 - if (obs != NULL) { 1212 + // Skip observations that are no CTA observations
  1213 + if (obs == NULL) {
  1214 + continue;
  1215 + }
1196 1216
1197 - // Set event output file name  
1198 - std::string outfile = set_outfile_name(m_infiles[i]); 1217 + // Skip observations that have empty names
  1218 + if (m_infiles[i].length() == 0) {
  1219 + continue;
  1220 + }
1199 1221
1200 - // Store output file name in observation  
1201 - obs->eventfile(outfile); 1222 + // Set event output file name
  1223 + std::string outfile = set_outfile_name(m_infiles[i]);
1202 1224
1203 - // Save event list  
1204 - save_event_list(obs, m_infiles[i], outfile); 1225 + // Dump filename
  1226 + if (logTerse()) {
  1227 + log << "Save \""+outfile+"\"" << std::endl;
  1228 + }
1205 1229
1206 - } // endif: observation was a CTA observations 1230 + // Store output file name in observation
  1231 + obs->eventfile(outfile);
  1232 +
  1233 + // Save event list
  1234 + save_event_list(obs, m_infiles[i], outfile);
1207 1235
1208 } // endfor: looped over observations 1236 } // endfor: looped over observations
1209 1237
  1238 + // Dump filename
  1239 + if (logTerse()) {
  1240 + log << "Save \""+m_outobs+"\"" << std::endl;
  1241 + }
  1242 +
1210 // Save observations in XML file 1243 // Save observations in XML file
1211 m_obs.save(m_outobs); 1244 m_obs.save(m_outobs);
1212 1245