source: trunk/MagicSoft/Mars/mcalib/MCalibrationBlindCamTwoNewStyle.cc@ 5124

Last change on this file since 5124 was 4986, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.6 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): Markus Gaug 07/2004 <mailto:markus@ifae.es>
19!
20! Copyright: MAGIC Software Development, 2000-2004
21!
22!
23\* ======================================================================== */
24
25/////////////////////////////////////////////////////////////////////////////
26//
27// MCalibrationBlindCamTwoNewStyle
28//
29// Blind Pixels Calibration camera after run 31693. The blind pixel camera
30// consisted then of two non-coated blind pixel with very well known
31// quantum efficiency read out in hardware ID 560 and 561.
32//
33// See also: MCalibrationBlindCam
34//
35/////////////////////////////////////////////////////////////////////////////
36#include "MCalibrationBlindCamTwoNewStyle.h"
37#include "MCalibrationBlindPix.h"
38
39ClassImp(MCalibrationBlindCamTwoNewStyle);
40
41using namespace std;
42
43// --------------------------------------------------------------------------
44//
45// Default constructor.
46//
47// - CreatePixs();
48// - CreateAreas();
49// - CreateAtts();
50// - CreateQEs();
51// - CreateCollEffs();
52//
53MCalibrationBlindCamTwoNewStyle::MCalibrationBlindCamTwoNewStyle(const char *name)
54 : MCalibrationBlindCam(2,name,"Two Blind Pixels in camera - new style")
55{
56
57 CreatePixs ();
58 CreateAreas ();
59 CreateAtts ();
60 CreateQEs ();
61 CreateCollEffs();
62
63}
64
65
66// --------------------------------------------------------------------------
67//
68// Two blind pixels with ID 559 and 560 (software)
69//
70void MCalibrationBlindCamTwoNewStyle::CreatePixs()
71{
72
73 (*this)[0].SetPixId(559);
74 (*this)[1].SetPixId(560);
75
76}
77
78// --------------------------------------------------------------------------
79//
80// Two blind pixels with exactly 100 mm^2 area
81//
82void MCalibrationBlindCamTwoNewStyle::CreateAreas()
83{
84
85 MCalibrationBlindPix &pix = (MCalibrationBlindPix&)(*this)[0];
86 pix.SetArea(100.);
87
88 pix = (MCalibrationBlindPix&)(*this)[1];
89 pix.SetArea(100.);
90
91}
92
93// --------------------------------------------------------------------------
94//
95// Two blind pixels with very well known qe's: David's measurments with
96// 1% error.
97//
98void MCalibrationBlindCamTwoNewStyle::CreateQEs()
99{
100
101 MCalibrationBlindPix &pix = (MCalibrationBlindPix&)(*this)[0];
102
103 Float_t qe[4];
104
105 qe[ MCalibrationCam::kGREEN ] = 0.166;
106 qe[ MCalibrationCam::kBLUE ] = 0.240;
107 qe[ MCalibrationCam::kUV ] = 0.273;
108 qe[ MCalibrationCam::kCT1 ] = 0.273;
109
110 pix.SetQE(4,qe);
111
112 Float_t qeerr[4];
113
114 qeerr[ MCalibrationCam::kGREEN ] = 0.004;
115 qeerr[ MCalibrationCam::kBLUE ] = 0.005;
116 qeerr[ MCalibrationCam::kUV ] = 0.006;
117 qeerr[ MCalibrationCam::kCT1 ] = 0.006;
118
119 pix.SetQEErr(4,qeerr);
120
121 pix = (MCalibrationBlindPix&)(*this)[1];
122
123 qe[ MCalibrationCam::kGREEN ] = 0.155;
124 qe[ MCalibrationCam::kBLUE ] = 0.228;
125 qe[ MCalibrationCam::kUV ] = 0.261;
126 qe[ MCalibrationCam::kCT1 ] = 0.261;
127
128 pix.SetQE(4,qe);
129
130 qeerr[ MCalibrationCam::kGREEN ] = 0.004;
131 qeerr[ MCalibrationCam::kBLUE ] = 0.005;
132 qeerr[ MCalibrationCam::kUV ] = 0.006;
133 qeerr[ MCalibrationCam::kCT1 ] = 0.006;
134
135 pix.SetQEErr(4,qeerr);
136
137}
138
139// --------------------------------------------------------------------------
140//
141// One blind pixel with poorly known coll.eff's: email from Eckart with
142// estimates depending on colour, but 5% error (maybe more??)
143//
144void MCalibrationBlindCamTwoNewStyle::CreateCollEffs()
145{
146
147 MCalibrationBlindPix &pix = (MCalibrationBlindPix&)(*this)[0];
148
149 Float_t colleff[4];
150
151 colleff[ MCalibrationCam::kGREEN ] = 0.99;
152 colleff[ MCalibrationCam::kBLUE ] = 0.93;
153 colleff[ MCalibrationCam::kUV ] = 0.90;
154 colleff[ MCalibrationCam::kCT1 ] = 0.90;
155
156 pix.SetCollEff(4,colleff);
157
158 Float_t collefferr[4];
159
160 collefferr[ MCalibrationCam::kGREEN ] = 0.05;
161 collefferr[ MCalibrationCam::kBLUE ] = 0.05;
162 collefferr[ MCalibrationCam::kUV ] = 0.05;
163 collefferr[ MCalibrationCam::kCT1 ] = 0.05;
164
165 pix.SetCollEffErr(4,collefferr);
166
167 pix = (MCalibrationBlindPix&)(*this)[1];
168
169 colleff[ MCalibrationCam::kGREEN ] = 0.99;
170 colleff[ MCalibrationCam::kBLUE ] = 0.93;
171 colleff[ MCalibrationCam::kUV ] = 0.90;
172 colleff[ MCalibrationCam::kCT1 ] = 0.90;
173
174 pix.SetCollEff(4,colleff);
175
176 collefferr[ MCalibrationCam::kGREEN ] = 0.05;
177 collefferr[ MCalibrationCam::kBLUE ] = 0.05;
178 collefferr[ MCalibrationCam::kUV ] = 0.05;
179 collefferr[ MCalibrationCam::kCT1 ] = 0.05;
180
181 pix.SetCollEffErr(4,collefferr);
182}
183
184// --------------------------------------------------------------------------
185//
186// One blind pixel has a very well known attenuation 0.01 (datasheet delivered
187// with filter, precision better than 1%
188//
189// The second blind pixel is not yet so well known, the company does not reply.
190// Attenuation: 0.001 (datasheet not delivered with filter, precision guaranteed to 5%)
191//
192void MCalibrationBlindCamTwoNewStyle::CreateAtts()
193{
194
195 MCalibrationBlindPix &pix = (MCalibrationBlindPix&)(*this)[0];
196
197 Float_t att[4];
198
199 att[MCalibrationCam::kGREEN ] = 1.97;
200 att[MCalibrationCam::kBLUE ] = 1.96;
201 att[MCalibrationCam::kUV ] = 1.95;
202 att[MCalibrationCam::kCT1 ] = 1.95;
203
204 pix.SetAtt(4,att);
205
206 Float_t atterr[4];
207
208 atterr[ MCalibrationCam::kGREEN ] = 0.01;
209 atterr[ MCalibrationCam::kBLUE ] = 0.01;
210 atterr[ MCalibrationCam::kUV ] = 0.01;
211 atterr[ MCalibrationCam::kCT1 ] = 0.01;
212
213 pix.SetAttErr(4,atterr);
214
215 pix = (MCalibrationBlindPix&)(*this)[1];
216
217 att[MCalibrationCam::kGREEN ] = 3.00;
218 att[MCalibrationCam::kBLUE ] = 3.00;
219 att[MCalibrationCam::kUV ] = 3.00;
220 att[MCalibrationCam::kCT1 ] = 3.00;
221
222 pix.SetAtt(4,att);
223
224 atterr[ MCalibrationCam::kGREEN ] = 0.15;
225 atterr[ MCalibrationCam::kBLUE ] = 0.15;
226 atterr[ MCalibrationCam::kUV ] = 0.15;
227 atterr[ MCalibrationCam::kCT1 ] = 0.15;
228
229 pix.SetAttErr(4,atterr);
230
231}
232
Note: See TracBrowser for help on using the repository browser.