source: trunk/Mars/mcalib/MCalibrationBlindCamTwoNewStyle.cc@ 17879

Last change on this file since 17879 was 5126, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.7 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 CreatePixs ();
57 CreateAreas ();
58 CreateAtts ();
59 CreateQEs ();
60 CreateCollEffs();
61}
62
63
64// --------------------------------------------------------------------------
65//
66// Two blind pixels with ID 559 and 560 (software)
67//
68void MCalibrationBlindCamTwoNewStyle::CreatePixs()
69{
70
71 (*this)[0].SetPixId(559);
72 (*this)[1].SetPixId(560);
73
74}
75
76// --------------------------------------------------------------------------
77//
78// Two blind pixels with exactly 100 mm^2 area
79//
80void MCalibrationBlindCamTwoNewStyle::CreateAreas()
81{
82
83 MCalibrationBlindPix &pix0 = (MCalibrationBlindPix&)(*this)[0];
84 pix0.SetArea(100.);
85
86 MCalibrationBlindPix &pix1 = (MCalibrationBlindPix&)(*this)[1];
87 pix1.SetArea(100.);
88}
89
90
91// --------------------------------------------------------------------------
92//
93// Two blind pixels with very well known qe's: David's measurments with
94// 1% error.
95//
96void MCalibrationBlindCamTwoNewStyle::CreateQEs()
97{
98
99 MCalibrationBlindPix &pix0 = (MCalibrationBlindPix&)(*this)[0];
100
101 Float_t qe[4];
102
103 qe[ MCalibrationCam::kGREEN ] = 0.166;
104 qe[ MCalibrationCam::kBLUE ] = 0.240;
105 qe[ MCalibrationCam::kUV ] = 0.273;
106 qe[ MCalibrationCam::kCT1 ] = 0.273;
107
108 pix0.SetQE(4,qe);
109
110 Float_t qeerr[4];
111
112 qeerr[ MCalibrationCam::kGREEN ] = 0.004;
113 qeerr[ MCalibrationCam::kBLUE ] = 0.005;
114 qeerr[ MCalibrationCam::kUV ] = 0.006;
115 qeerr[ MCalibrationCam::kCT1 ] = 0.006;
116
117 pix0.SetQEErr(4,qeerr);
118
119 MCalibrationBlindPix &pix1 = (MCalibrationBlindPix&)(*this)[1];
120
121 qe[ MCalibrationCam::kGREEN ] = 0.155;
122 qe[ MCalibrationCam::kBLUE ] = 0.228;
123 qe[ MCalibrationCam::kUV ] = 0.261;
124 qe[ MCalibrationCam::kCT1 ] = 0.261;
125
126 pix1.SetQE(4,qe);
127
128 qeerr[ MCalibrationCam::kGREEN ] = 0.004;
129 qeerr[ MCalibrationCam::kBLUE ] = 0.005;
130 qeerr[ MCalibrationCam::kUV ] = 0.006;
131 qeerr[ MCalibrationCam::kCT1 ] = 0.006;
132
133 pix1.SetQEErr(4,qeerr);
134
135}
136
137// --------------------------------------------------------------------------
138//
139// One blind pixel with poorly known coll.eff's: email from Eckart with
140// estimates depending on colour, but 5% error (maybe more??)
141//
142void MCalibrationBlindCamTwoNewStyle::CreateCollEffs()
143{
144
145 MCalibrationBlindPix &pix0 = (MCalibrationBlindPix&)(*this)[0];
146
147 Float_t colleff[4];
148
149 colleff[ MCalibrationCam::kGREEN ] = 0.99;
150 colleff[ MCalibrationCam::kBLUE ] = 0.93;
151 colleff[ MCalibrationCam::kUV ] = 0.90;
152 colleff[ MCalibrationCam::kCT1 ] = 0.90;
153
154 pix0.SetCollEff(4,colleff);
155
156 Float_t collefferr[4];
157
158 collefferr[ MCalibrationCam::kGREEN ] = 0.05;
159 collefferr[ MCalibrationCam::kBLUE ] = 0.05;
160 collefferr[ MCalibrationCam::kUV ] = 0.05;
161 collefferr[ MCalibrationCam::kCT1 ] = 0.05;
162
163 pix0.SetCollEffErr(4,collefferr);
164
165 MCalibrationBlindPix &pix1 = (MCalibrationBlindPix&)(*this)[1];
166
167 colleff[ MCalibrationCam::kGREEN ] = 0.99;
168 colleff[ MCalibrationCam::kBLUE ] = 0.93;
169 colleff[ MCalibrationCam::kUV ] = 0.90;
170 colleff[ MCalibrationCam::kCT1 ] = 0.90;
171
172 pix1.SetCollEff(4,colleff);
173
174 collefferr[ MCalibrationCam::kGREEN ] = 0.05;
175 collefferr[ MCalibrationCam::kBLUE ] = 0.05;
176 collefferr[ MCalibrationCam::kUV ] = 0.05;
177 collefferr[ MCalibrationCam::kCT1 ] = 0.05;
178
179 pix1.SetCollEffErr(4,collefferr);
180}
181
182// --------------------------------------------------------------------------
183//
184// One blind pixel has a very well known attenuation 0.01 (datasheet delivered
185// with filter, precision better than 1%
186//
187// The second blind pixel is not yet so well known, the company does not reply.
188// Attenuation: 0.001 (datasheet not delivered with filter, precision guaranteed to 5%)
189//
190void MCalibrationBlindCamTwoNewStyle::CreateAtts()
191{
192
193 MCalibrationBlindPix &pix0 = (MCalibrationBlindPix&)(*this)[0];
194
195 Float_t att[4];
196
197 att[MCalibrationCam::kGREEN ] = 1.97;
198 att[MCalibrationCam::kBLUE ] = 1.96;
199 att[MCalibrationCam::kUV ] = 1.95;
200 att[MCalibrationCam::kCT1 ] = 1.95;
201
202 pix0.SetAtt(4,att);
203
204 Float_t atterr[4];
205
206 atterr[ MCalibrationCam::kGREEN ] = 0.01;
207 atterr[ MCalibrationCam::kBLUE ] = 0.01;
208 atterr[ MCalibrationCam::kUV ] = 0.01;
209 atterr[ MCalibrationCam::kCT1 ] = 0.01;
210
211 pix0.SetAttErr(4,atterr);
212
213 MCalibrationBlindPix &pix1 = (MCalibrationBlindPix&)(*this)[1];
214
215 att[MCalibrationCam::kGREEN ] = 3.00;
216 att[MCalibrationCam::kBLUE ] = 3.00;
217 att[MCalibrationCam::kUV ] = 3.00;
218 att[MCalibrationCam::kCT1 ] = 3.00;
219
220 pix1.SetAtt(4,att);
221
222 atterr[ MCalibrationCam::kGREEN ] = 0.15;
223 atterr[ MCalibrationCam::kBLUE ] = 0.15;
224 atterr[ MCalibrationCam::kUV ] = 0.15;
225 atterr[ MCalibrationCam::kCT1 ] = 0.15;
226
227 pix1.SetAttErr(4,atterr);
228
229}
230
Note: See TracBrowser for help on using the repository browser.