Main Page
Namespaces
Classes
Package Documentation
OnlineDB
CSCCondDB
interface
AutoCorrMat.h
Go to the documentation of this file.
1
/*
2
Author: Stan Durkin
3
4
*/
5
6
#include <stdio.h>
7
#include <
math.h
>
8
#define LAYERS_ma 6
9
#define STRIPS_ma 80
10
11
class
AutoCorrMat
{
12
13
public
:
14
15
AutoCorrMat
(){
16
for
(
int
i
=0;
i
<12;
i
++){
17
Mat
[
i
]=0.0;
18
N
[
i
]=0.0;
19
}
20
}
21
22
~AutoCorrMat
(){}
23
24
void
zero
(){
25
for
(
int
i
=0;
i
<12;
i
++){
26
Mat
[
i
]=0.0;
27
N
[
i
]=0.0;
28
}
29
for
(
int
i
=3;
i
<12;
i
++){
30
evar
[
i
]=1;
31
variance
[
i
]=10.0;
32
mymean
[
i
]=3.2;
33
}
34
evt
=0;
35
}
36
37
void
add
(
int
*
adc
){
38
int
pairs[12][2]={{3,3},{3,4},{4,4},{3,5},{4,5},{5,5},{4,6},{5,6},{6,6},{5,7},{6,7},{7,7}};
39
double
ped=(adc[0]+adc[1])/2.;
40
evt
++;
41
42
for
(
int
i
=3;
i
<8;
i
++){
43
if
(fabs(adc[
i
]-ped)<25.){
44
evar
[
i
]++;
45
mymean
[
i
] += adc[
i
]-ped;
46
variance
[
i
] += (adc[
i
]-ped)*(adc[
i
]-ped);
47
}
48
}
49
50
for
(
int
i
=0;
i
<12;
i
++){
51
52
//Add values within 3 sigma of mean only
53
float
threeSigma0 = 3. *
sqrt
(
variance
[pairs[
i
][0]]/
evar
[pairs[
i
][0]]);
54
float
threeSigma1 = 3. *
sqrt
(
variance
[pairs[i][1]]/
evar
[pairs[i][1]]);
55
56
if
(fabs(adc[pairs[i][0]]-ped)<threeSigma0 && fabs(adc[pairs[i][1]]-ped)<threeSigma1){
57
N
[
i
]=
N
[
i
]+1;
58
Mat
[
i
]=
Mat
[
i
]+(adc[pairs[
i
][0]]-ped)*(adc[pairs[i][1]]-ped);
59
}
60
//end 3 sigma
61
}
62
}
63
64
float
*
mat
(){
65
float
*
tmp
;
66
for
(
int
i
=0;
i
<12;
i
++)
tMat
[
i
]=
Mat
[
i
]/
N
[
i
];
67
tmp=
tMat
;
68
return
tmp
;
69
}
70
71
private
:
72
73
float
Mat
[12];
74
float
N
[12];
75
float
tMat
[12];
76
float
mymean
[12];
77
float
variance
[12];
78
int
evt
;
79
int
evar
[12];
80
};
81
82
class
Chamber_AutoCorrMat
{
83
public
:
84
85
Chamber_AutoCorrMat
(){}
86
~Chamber_AutoCorrMat
(){}
87
88
void
zero
(){
89
for
(
int
lay=0;lay<6;lay++){
90
for
(
int
strip
=0;
strip
<
STRIPS_ma
;
strip
++){
91
CMat[lay][
strip
].zero();
92
}
93
}
94
}
95
96
void
add
(
int
lay,
int
strip
,
int
*
adc
){
97
CMat[lay][
strip
].add(adc);
98
}
99
100
float
*
autocorrmat
(
int
lay,
int
strip
){
101
float
*
tmp
;
102
tmp=
m
;
103
tmp=CMat[lay][
strip
].mat();
104
return
tmp
;
105
}
106
107
private
:
108
109
AutoCorrMat
CMat[
LAYERS_ma
][
STRIPS_ma
];
110
float
m
[12];
111
112
};
math.h
AutoCorrMat::tMat
float tMat[12]
Definition:
AutoCorrMat.h:75
AutoCorrMat::mymean
float mymean[12]
Definition:
AutoCorrMat.h:76
AutoCorrMat::evar
int evar[12]
Definition:
AutoCorrMat.h:79
mps_fire.i
i
Definition:
mps_fire.py:338
Chamber_AutoCorrMat::~Chamber_AutoCorrMat
~Chamber_AutoCorrMat()
Definition:
AutoCorrMat.h:86
Chamber_AutoCorrMat::add
void add(int lay, int strip, int *adc)
Definition:
AutoCorrMat.h:96
Chamber_AutoCorrMat::autocorrmat
float * autocorrmat(int lay, int strip)
Definition:
AutoCorrMat.h:100
AutoCorrMat::N
float N[12]
Definition:
AutoCorrMat.h:74
AutoCorrMat::~AutoCorrMat
~AutoCorrMat()
Definition:
AutoCorrMat.h:22
Chamber_AutoCorrMat
Definition:
AutoCorrMat.h:82
Chamber_AutoCorrMat::Chamber_AutoCorrMat
Chamber_AutoCorrMat()
Definition:
AutoCorrMat.h:85
AutoCorrMat::zero
void zero()
Definition:
AutoCorrMat.h:24
LAYERS_ma
#define LAYERS_ma
Definition:
AutoCorrMat.h:8
AutoCorrMat
Definition:
AutoCorrMat.h:11
STRIPS_ma
#define STRIPS_ma
Definition:
AutoCorrMat.h:9
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:18
Chamber_AutoCorrMat::zero
void zero()
Definition:
AutoCorrMat.h:88
AutoCorrMat::mat
float * mat()
Definition:
AutoCorrMat.h:64
ecalMGPA::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition:
EcalMGPASample.h:11
AutoCorrMat::variance
float variance[12]
Definition:
AutoCorrMat.h:77
AutoCorrMat::Mat
float Mat[12]
Definition:
AutoCorrMat.h:73
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
funct::m
m
Definition:
Factorize.h:56
tmp
std::vector< std::vector< double > > tmp
Definition:
MVATrainer.cc:100
AutoCorrMat::AutoCorrMat
AutoCorrMat()
Definition:
AutoCorrMat.h:15
AutoCorrMat::evt
int evt
Definition:
AutoCorrMat.h:78
AutoCorrMat::add
void add(int *adc)
Definition:
AutoCorrMat.h:37
Generated for CMSSW Reference Manual by
1.8.11