CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
CastorPedestalWidth Class Reference

#include <CastorPedestalWidth.h>

Public Member Functions

 CastorPedestalWidth (int fId=0)
 
float getSigma (int fCapId1, int fCapId2) const
 get correlation element for capId1/2 = 0..3 More...
 
const float * getValues () const
 get value for all capId = 0..3, 10 values in total More...
 
float getWidth (int fCapId) const
 get width (sqrt(sigma_i_i)) for capId = 0..3 More...
 
void makeNoise (unsigned fFrames, const double *fGauss, double *fNoise) const
 
uint32_t rawId () const
 
void setSigma (int fCapId1, int fCapId2, float fSigma)
 

Private Attributes

uint32_t mId
 
float mSigma00
 
float mSigma01
 
float mSigma02
 
float mSigma03
 
float mSigma10
 
float mSigma11
 
float mSigma12
 
float mSigma13
 
float mSigma20
 
float mSigma21
 
float mSigma22
 
float mSigma23
 
float mSigma30
 
float mSigma31
 
float mSigma32
 
float mSigma33
 

Detailed Description

Author
Fedor Ratnikov (UMd) POOL object to store PedestalWidth values 4xCapId $Author: ratnikov
Date:
2009/03/24 16:05:29
Revision:
1.10

Adapted for CASTOR by L. Mundim

Author
Fedor Ratnikov (UMd) correlation matrix for pedestals $Author: ratnikov
Date:
2009/03/24 16:05:35
Revision:
1.9

Adapted for CASTOR by L. Mundim

Definition at line 15 of file CastorPedestalWidth.h.

Constructor & Destructor Documentation

CastorPedestalWidth::CastorPedestalWidth ( int  fId = 0)

Definition at line 27 of file CastorPedestalWidth.cc.

References i, and mSigma00.

27  : mId (fId) {
28  for (int i = 16; --i >= 0; *(&mSigma00 + i) = 0) {}
29 }
int i
Definition: DBlmapReader.cc:9

Member Function Documentation

float CastorPedestalWidth::getSigma ( int  fCapId1,
int  fCapId2 
) const

get correlation element for capId1/2 = 0..3

Definition at line 35 of file CastorPedestalWidth.cc.

References getValues(), and evf::evtn::offset().

Referenced by CastorPedestalAnalysis::CastorPedVal(), and makeNoise().

35  {
36  return *(getValues () + offset (fCapId1, fCapId2));
37 }
unsigned int offset(bool)
const float * getValues() const
get value for all capId = 0..3, 10 values in total
const float* CastorPedestalWidth::getValues ( ) const
inline

get value for all capId = 0..3, 10 values in total

Definition at line 18 of file CastorPedestalWidth.h.

References mSigma00.

Referenced by getSigma(), and getWidth().

18 {return &mSigma00;}
float CastorPedestalWidth::getWidth ( int  fCapId) const

get width (sqrt(sigma_i_i)) for capId = 0..3

Definition at line 31 of file CastorPedestalWidth.cc.

References getValues(), evf::evtn::offset(), and mathSSE::sqrt().

Referenced by CastorDbService::makeCastorCalibrationWidth(), and CastorDbHardcode::makePedestal().

31  {
32  return sqrt (*(getValues () + offset (fCapId, fCapId)));
33 }
T sqrt(T t)
Definition: SSEVec.h:48
unsigned int offset(bool)
const float * getValues() const
get value for all capId = 0..3, 10 values in total
void CastorPedestalWidth::makeNoise ( unsigned  fFrames,
const double *  fGauss,
double *  fNoise 
) const

Definition at line 44 of file CastorPedestalWidth.cc.

References alignCSCRings::corr, getSigma(), i, and mathSSE::sqrt().

Referenced by CastorAmplifier::amplify().

44  {
45  double s_xx_mean = (getSigma (0,0) + getSigma (1,1) + getSigma (2,2) + getSigma (3,3)) / 4;
46  double s_xy_mean = (getSigma (1,0) + getSigma (2,1) + getSigma (3,2) + getSigma (3,0)) / 4;
47  double sigma = sqrt (0.5 * (s_xx_mean + sqrt (s_xx_mean*s_xx_mean - 2*s_xy_mean*s_xy_mean)));
48  double corr = sigma == 0 ? 0 : 0.5*s_xy_mean / sigma;
49  for (unsigned i = 0; i < fFrames; i++) {
50  fNoise [i] = fGauss[i]*sigma;
51  if (i > 0) fNoise [i] += fGauss[i-1]*corr;
52  if (i < fFrames-1) fNoise [i] += fGauss[i+1]*corr;
53  }
54 }
int i
Definition: DBlmapReader.cc:9
T sqrt(T t)
Definition: SSEVec.h:48
float getSigma(int fCapId1, int fCapId2) const
get correlation element for capId1/2 = 0..3
uint32_t CastorPedestalWidth::rawId ( ) const
inline

Definition at line 30 of file CastorPedestalWidth.h.

References mId.

30 {return mId;}
void CastorPedestalWidth::setSigma ( int  fCapId1,
int  fCapId2,
float  fSigma 
)

Member Data Documentation

uint32_t CastorPedestalWidth::mId
private

Definition at line 36 of file CastorPedestalWidth.h.

Referenced by rawId().

float CastorPedestalWidth::mSigma00
private

Definition at line 37 of file CastorPedestalWidth.h.

Referenced by CastorPedestalWidth(), getValues(), and setSigma().

float CastorPedestalWidth::mSigma01
private

Definition at line 38 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma02
private

Definition at line 39 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma03
private

Definition at line 40 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma10
private

Definition at line 41 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma11
private

Definition at line 42 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma12
private

Definition at line 43 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma13
private

Definition at line 44 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma20
private

Definition at line 45 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma21
private

Definition at line 46 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma22
private

Definition at line 47 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma23
private

Definition at line 48 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma30
private

Definition at line 49 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma31
private

Definition at line 50 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma32
private

Definition at line 51 of file CastorPedestalWidth.h.

float CastorPedestalWidth::mSigma33
private

Definition at line 52 of file CastorPedestalWidth.h.