source: trunk/MagicSoft/Mars/mpedestal/MPedestalPix.cc@ 9035

Last change on this file since 9035 was 8912, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 4.4 KB
Line 
1/* ======================================================================== *\
2!
3! *
4! * This file is part of MARS, the MAGIC Analysis and Reconstruction
5! * Software. It is distributed to you in the hope that it can be a useful
6! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
7! * It is distributed WITHOUT ANY WARRANTY.
8! *
9! * Permission to use, copy, modify and distribute this software and its
10! * documentation for any purpose is hereby granted without fee,
11! * provided that the above copyright notice appear in all copies and
12! * that both that copyright notice and this permission notice appear
13! * in supporting documentation. It is provided "as is" without express
14! * or implied warranty.
15! *
16!
17!
18! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de>
19! Author(s): Markus Gaug 04/2004 <mailto:markus@ifae.es>
20! Author(s): Florian Goebel 06/2004 <mailto:fgoebel@mppmu.mpg.de>
21!
22! Copyright: MAGIC Software Development, 2000-2008
23!
24!
25\* ======================================================================== */
26
27/////////////////////////////////////////////////////////////////////////////
28//
29// MPedestalPix
30//
31// This is the storage container to hold informations about the pedestal
32// (offset) value of one Pixel (PMT).
33//
34// Float_t fPedestal:
35// - mean value of pedestal (PMT offset)
36// Float_t fPedestalRms:
37// - root mean square / sigma / standard deviation of pedestal
38// Float_t fPedestalABoffset:
39// - the difference between odd slice pedestal mean and the
40// total pedestal mean (fPedestal). For even slices pedestal
41// use -fPedestalABoffset.
42// UInt_t fNumEvents:
43// - number of times, the Process was executed (to estimate the error
44// of pedestal)
45//
46// version 2:
47// ----------
48// added:
49// fPedestalABoffset difference between pedestal mean of odd slices and
50// the total pedestal mean (fPedestal)
51// fNumEvents number of times, the Process was executed
52// (to estimate the error of pedestal)
53//
54// version 3:
55// ----------
56// - fValid removed
57//
58/////////////////////////////////////////////////////////////////////////////
59#include "MPedestalPix.h"
60
61#include <TMath.h>
62
63#include "MLog.h"
64#include "MLogManip.h"
65
66ClassImp(MPedestalPix);
67
68using namespace std;
69
70// ------------------------------------------------------------------------
71//
72// Default constructor. Calls Clear()
73//
74MPedestalPix::MPedestalPix()
75{
76 Clear();
77}
78
79// ------------------------------------------------------------------------
80//
81// return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents) : 0;
82//
83Float_t MPedestalPix::GetPedestalError() const
84{
85 return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents) : 0;
86}
87
88// ------------------------------------------------------------------------
89//
90// return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents*2) : 0;
91//
92Float_t MPedestalPix::GetPedestalRmsError() const
93{
94 return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents*2) : 0;
95}
96
97// ------------------------------------------------------------------------
98//
99// Invalidate values
100//
101void MPedestalPix::Clear(Option_t *o)
102{
103 fPedestal = -1;
104 fPedestalRms = -1;
105 fPedestalABoffset = -1;
106 fNumEvents = 0;
107}
108
109// --------------------------------------------------------------------------
110//
111// Copy 'constructor'
112//
113void MPedestalPix::Copy(TObject &object) const
114{
115
116 MPedestalPix &pix = (MPedestalPix&)object;
117
118 pix.fPedestal = fPedestal ;
119 pix.fPedestalRms = fPedestalRms ;
120 pix.fPedestalABoffset = fPedestalABoffset ;
121 pix.fNumEvents = fNumEvents;
122}
123
124// ------------------------------------------------------------------------
125//
126// Set all values to 0
127//
128void MPedestalPix::InitUseHists()
129{
130 fPedestal = 0;
131 fPedestalRms = 0;
132 fPedestalABoffset = 0;
133 fNumEvents = 0;
134}
135
136// ------------------------------------------------------------------------
137//
138// Set fPedestal=m, fPedestalRms=r, fPedestalABoffset=offs, fNumEvents=n
139//
140void MPedestalPix::Set(Float_t m, Float_t r, Float_t offs, UInt_t n)
141{
142 fPedestal = m;
143 fPedestalRms = r;
144 fPedestalABoffset = offs;
145 fNumEvents = n;
146}
147
148// ------------------------------------------------------------------------
149//
150// Return kTRUE if pedestal rms is valid (>=0)
151//
152Bool_t MPedestalPix::IsValid() const
153{
154 return fPedestalRms>=0;
155}
Note: See TracBrowser for help on using the repository browser.