1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#include "Calibration/Tools/interface/Pi0CalibXMLwriter.h"
#include <string>
#include <cstdio>
Pi0CalibXMLwriter::Pi0CalibXMLwriter(EcalSubdetector subdet) : subdet_(subdet) {
char filename[128];
if (subdet_ == EcalEndcap) {
sprintf(filename, "endcap_iniCalib.xml");
} else {
sprintf(filename, "barrel_iniCalib.xml");
}
FILENAME = fopen(filename, "w");
fprintf(FILENAME, "<?xml version=\"1.0\" ?>\n");
fprintf(FILENAME, "<CalibrationConstants>\n");
if (subdet == EcalEndcap) {
fprintf(FILENAME, "<EcalEndcap>\n");
} else {
fprintf(FILENAME, "<EcalBarrel>\n");
}
}
Pi0CalibXMLwriter::Pi0CalibXMLwriter(EcalSubdetector subdet, int loop) : subdet_(subdet), loop_(loop) {
char filename[128];
if (subdet_ == EcalEndcap) {
sprintf(filename, "endcap_calib_loop_%d.xml", loop);
} else {
sprintf(filename, "barrel_calib_loop_%d.xml", loop);
}
FILENAME = fopen(filename, "w");
fprintf(FILENAME, "<?xml version=\"1.0\" ?>\n");
fprintf(FILENAME, "<CalibrationConstants>\n");
if (subdet == EcalEndcap) {
fprintf(FILENAME, "<EcalEndcap>\n");
} else {
fprintf(FILENAME, "<EcalBarrel>\n");
}
}
Pi0CalibXMLwriter::~Pi0CalibXMLwriter() {
if (subdet_ == EcalEndcap) {
fprintf(FILENAME, "<EcalEndcap>\n");
} else {
fprintf(FILENAME, "<EcalBarrel>\n");
}
fprintf(FILENAME, "</CalibrationConstants>\n");
fclose(FILENAME);
}
void Pi0CalibXMLwriter::writeLine(EBDetId const& det, float calib) {
int eta = det.ieta();
int phi = det.iphi();
fprintf(FILENAME, "<Cell eta_index=\"%d\" phi_index=\"%d\" scale_factor=\"%f\"/>\n", eta, phi, calib);
}
void Pi0CalibXMLwriter::writeLine(EEDetId const& det, float calib) {
int x = det.ix();
int y = det.iy();
int z = det.zside() > 0 ? 1 : 0;
fprintf(FILENAME, "<Cell x_index=\"%d\" y_index=\"%d\" z_index=\"%d\" scale_factor=\"%f\"/>\n", x, y, z, calib);
}
|