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 Member Functions | Private Attributes
HcalDetDiagLEDData Class Reference

Public Member Functions

void add_statistics (double *data, int nTS)
 
void change_status (int val)
 
bool get_average_led (double *ave, double *rms)
 
bool get_average_time (double *ave, double *rms)
 
int get_overflow ()
 
bool get_reference (double *val, double *rms)
 
int get_statistics ()
 
int get_status ()
 
int get_undeflow ()
 
 HcalDetDiagLEDData ()
 
void reset ()
 
void set_reference (float val, float rms)
 

Private Member Functions

double GetEnergy (double *data, int n)
 
double GetTime (double *data, int n=10)
 

Private Attributes

bool IsRefetence
 
double n
 
int overflow
 
float ref_led
 
float ref_rms
 
int status
 
int undeflow
 
double Xe
 
double Xt
 
double XXe
 
double XXt
 

Detailed Description

Definition at line 24 of file HcalDetDiagLEDMonitor.cc.

Constructor & Destructor Documentation

HcalDetDiagLEDData::HcalDetDiagLEDData ( )
inline

Definition at line 26 of file HcalDetDiagLEDMonitor.cc.

References IsRefetence, reset(), and status.

Member Function Documentation

void HcalDetDiagLEDData::add_statistics ( double *  data,
int  nTS 
)
inline
void HcalDetDiagLEDData::change_status ( int  val)
inline

Definition at line 47 of file HcalDetDiagLEDMonitor.cc.

References status.

Referenced by HcalDetDiagLEDMonitor::CheckStatus().

47  {
48  status|=val;
49  }
bool HcalDetDiagLEDData::get_average_led ( double *  ave,
double *  rms 
)
inline

Definition at line 57 of file HcalDetDiagLEDMonitor.cc.

References n, mathSSE::sqrt(), Xe, and XXe.

Referenced by HcalDetDiagLEDMonitor::fillHistos(), and HcalDetDiagLEDMonitor::SaveReference().

57  {
58  if(n>0){ *ave=Xe/n; *rms=sqrt(XXe/n-(Xe*Xe)/(n*n));} else return false;
59  return true;
60  }
T sqrt(T t)
Definition: SSEVec.h:28
bool HcalDetDiagLEDData::get_average_time ( double *  ave,
double *  rms 
)
inline

Definition at line 61 of file HcalDetDiagLEDMonitor.cc.

References n, mathSSE::sqrt(), Xt, and XXt.

Referenced by HcalDetDiagLEDMonitor::CheckStatus(), HcalDetDiagLEDMonitor::fillHistos(), and HcalDetDiagLEDMonitor::SaveReference().

61  {
62  if(n>0){ *ave=Xt/n; *rms=sqrt(XXt/n-(Xt*Xt)/(n*n));} else return false;
63  return true;
64  }
T sqrt(T t)
Definition: SSEVec.h:28
int HcalDetDiagLEDData::get_overflow ( )
inline

Definition at line 68 of file HcalDetDiagLEDMonitor.cc.

References overflow.

Referenced by HcalDetDiagLEDMonitor::CheckStatus().

68  {
69  return overflow;
70  }
bool HcalDetDiagLEDData::get_reference ( double *  val,
double *  rms 
)
inline

Definition at line 53 of file HcalDetDiagLEDMonitor.cc.

References IsRefetence, ref_led, and ref_rms.

int HcalDetDiagLEDData::get_statistics ( )
inline

Definition at line 65 of file HcalDetDiagLEDMonitor.cc.

References n.

Referenced by HcalDetDiagLEDMonitor::CheckStatus().

65  {
66  return (int)n;
67  }
int HcalDetDiagLEDData::get_status ( )
inline

Definition at line 50 of file HcalDetDiagLEDMonitor.cc.

References status.

Referenced by HcalDetDiagLEDMonitor::SaveReference().

50  {
51  return status;
52  }
int HcalDetDiagLEDData::get_undeflow ( )
inline

Definition at line 71 of file HcalDetDiagLEDMonitor.cc.

References undeflow.

Referenced by HcalDetDiagLEDMonitor::CheckStatus().

71  {
72  return undeflow;
73  }
double HcalDetDiagLEDData::GetEnergy ( double *  data,
int  n 
)
inlineprivate

Definition at line 75 of file HcalDetDiagLEDMonitor.cc.

References j, and n.

Referenced by add_statistics().

75  {
76  int MaxI=0; double Energy,MaxE=0;
77  for(int j=0;j<n;++j) if(MaxE<data[j]){ MaxE=data[j]; MaxI=j; }
78  Energy=data[MaxI];
79  if(MaxI>0) Energy+=data[MaxI-1];
80  if(MaxI>1) Energy+=data[MaxI-2];
81  if(MaxI<(n-1)) Energy+=data[MaxI+1];
82  if(MaxI<(n-2)) Energy+=data[MaxI+2];
83  return Energy;
84  }
int j
Definition: DBlmapReader.cc:9
double HcalDetDiagLEDData::GetTime ( double *  data,
int  n = 10 
)
inlineprivate

Definition at line 85 of file HcalDetDiagLEDMonitor.cc.

References j, and n.

Referenced by add_statistics().

85  {
86  int MaxI=0; double Time=-9999,SumT=0,MaxT=-10;
87  for(int j=0;j<n;++j) if(MaxT<data[j]){ MaxT=data[j]; MaxI=j; }
88  Time=MaxI*data[MaxI];
89  SumT=data[MaxI];
90  if(MaxI>0){ Time+=(MaxI-1)*data[MaxI-1]; SumT+=data[MaxI-1]; }
91  if(MaxI<(n-1)){ Time+=(MaxI+1)*data[MaxI+1]; SumT+=data[MaxI+1]; }
92  Time=Time/SumT;
93  return Time;
94  }
int j
Definition: DBlmapReader.cc:9
void HcalDetDiagLEDData::reset ( void  )
inline
void HcalDetDiagLEDData::set_reference ( float  val,
float  rms 
)
inline

Member Data Documentation

bool HcalDetDiagLEDData::IsRefetence
private

Definition at line 98 of file HcalDetDiagLEDMonitor.cc.

Referenced by get_reference(), HcalDetDiagLEDData(), and set_reference().

double HcalDetDiagLEDData::n
private
int HcalDetDiagLEDData::overflow
private
float HcalDetDiagLEDData::ref_led
private

Definition at line 99 of file HcalDetDiagLEDMonitor.cc.

Referenced by get_reference(), and set_reference().

float HcalDetDiagLEDData::ref_rms
private

Definition at line 100 of file HcalDetDiagLEDMonitor.cc.

Referenced by get_reference(), and set_reference().

int HcalDetDiagLEDData::status
private

Definition at line 101 of file HcalDetDiagLEDMonitor.cc.

Referenced by change_status(), get_status(), and HcalDetDiagLEDData().

int HcalDetDiagLEDData::undeflow
private

Definition at line 96 of file HcalDetDiagLEDMonitor.cc.

Referenced by add_statistics(), get_undeflow(), and reset().

double HcalDetDiagLEDData::Xe
private

Definition at line 97 of file HcalDetDiagLEDMonitor.cc.

Referenced by add_statistics(), get_average_led(), and reset().

double HcalDetDiagLEDData::Xt
private

Definition at line 97 of file HcalDetDiagLEDMonitor.cc.

Referenced by add_statistics(), get_average_time(), and reset().

double HcalDetDiagLEDData::XXe
private

Definition at line 97 of file HcalDetDiagLEDMonitor.cc.

Referenced by add_statistics(), get_average_led(), and reset().

double HcalDetDiagLEDData::XXt
private

Definition at line 97 of file HcalDetDiagLEDMonitor.cc.

Referenced by add_statistics(), get_average_time(), and reset().