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

Last change on this file since 8911 was 8911, 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 "MLog.h"
62#include "MLogManip.h"
63
64ClassImp(MPedestalPix);
65
66using namespace std;
67
68// ------------------------------------------------------------------------
69//
70// Default constructor. Calls Clear()
71//
72MPedestalPix::MPedestalPix()
73{
74 Clear();
75}
76
77// ------------------------------------------------------------------------
78//
79// return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents) : 0;
80//
81Float_t MPedestalPix::GetPedestalError() const
82{
83 return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents) : 0;
84}
85
86// ------------------------------------------------------------------------
87//
88// return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents*2) : 0;
89//
90Float_t MPedestalPix::GetPedestalRmsError() const
91{
92 return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents*2) : 0;
93}
94
95// ------------------------------------------------------------------------
96//
97// Invalidate values
98//
99void MPedestalPix::Clear(Option_t *o)
100{
101 fPedestal = -1;
102 fPedestalRms = -1;
103 fPedestalABoffset = -1;
104 fNumEvents = 0;
105}
106
107// --------------------------------------------------------------------------
108//
109// Copy 'constructor'
110//
111void MPedestalPix::Copy(TObject &object) const
112{
113
114 MPedestalPix &pix = (MPedestalPix&)object;
115
116 pix.fPedestal = fPedestal ;
117 pix.fPedestalRms = fPedestalRms ;
118 pix.fPedestalABoffset = fPedestalABoffset ;
119 pix.fNumEvents = fNumEvents;
120}
121
122// ------------------------------------------------------------------------
123//
124// Set all values to 0
125//
126void MPedestalPix::InitUseHists()
127{
128 fPedestal = 0;
129 fPedestalRms = 0;
130 fPedestalABoffset = 0;
131 fNumEvents = 0;
132}
133
134// ------------------------------------------------------------------------
135//
136// Set fPedestal=m, fPedestalRms=r, fPedestalABoffset=offs, fNumEvents=n
137//
138void MPedestalPix::Set(Float_t m, Float_t r, Float_t offs, UInt_t n)
139{
140 fPedestal = m;
141 fPedestalRms = r;
142 fPedestalABoffset = offs;
143 fNumEvents = n;
144}
145
146// ------------------------------------------------------------------------
147//
148// Return kTRUE if pedestal rms is valid (>=0)
149//
150Bool_t MPedestalPix::IsValid() const
151{
152 return fPedestalRms>=0;
153}
Note: See TracBrowser for help on using the repository browser.