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
|
#include "CondFormats/SiPixelObjects/interface/SiPixelCPEGenericErrorParm.h"
#include <fstream>
void SiPixelCPEGenericErrorParm::fillCPEGenericErrorParm(double version, std::string file) {
//--- Open the file
std::ifstream in(file.c_str(), std::ios::in);
//--- Currently do not need to store part of detector, but is in input file
int part;
set_version(version);
DbEntry Entry;
in >> part >> Entry.bias >> Entry.pix_height >> Entry.ave_Qclus >> Entry.sigma >> Entry.rms;
while (!in.eof()) {
errors_.push_back(Entry);
in >> part >> Entry.bias >> Entry.pix_height >> Entry.ave_Qclus >> Entry.sigma >> Entry.rms;
}
//--- Finished parsing the file, we're done.
in.close();
//--- Specify the current binning sizes to use
DbEntryBinSize ErrorsBinSize;
//--- Part = 1 By
ErrorsBinSize.partBin_size = 0;
ErrorsBinSize.sizeBin_size = 40;
ErrorsBinSize.alphaBin_size = 10;
ErrorsBinSize.betaBin_size = 1;
errorsBinSize_.push_back(ErrorsBinSize);
//--- Part = 2 Bx
ErrorsBinSize.partBin_size = 240;
ErrorsBinSize.alphaBin_size = 1;
ErrorsBinSize.betaBin_size = 10;
errorsBinSize_.push_back(ErrorsBinSize);
//--- Part = 3 Fy
ErrorsBinSize.partBin_size = 360;
ErrorsBinSize.alphaBin_size = 10;
ErrorsBinSize.betaBin_size = 1;
errorsBinSize_.push_back(ErrorsBinSize);
//--- Part = 4 Fx
ErrorsBinSize.partBin_size = 380;
ErrorsBinSize.alphaBin_size = 1;
ErrorsBinSize.betaBin_size = 10;
errorsBinSize_.push_back(ErrorsBinSize);
}
std::ostream& operator<<(std::ostream& s, const SiPixelCPEGenericErrorParm& genericErrors) {
for (unsigned int count = 0; count < genericErrors.errors_.size(); ++count) {
s.precision(6);
s << genericErrors.errors_[count].bias << " " << genericErrors.errors_[count].pix_height << " "
<< genericErrors.errors_[count].ave_Qclus << " " << std::fixed << genericErrors.errors_[count].sigma << " "
<< genericErrors.errors_[count].rms << std::endl;
s.unsetf(std::ios_base::fixed);
}
return s;
}
|