source: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeHiGainPix.cc@ 3308

Last change on this file since 3308 was 3264, checked in by gaug, 21 years ago
*** empty log message ***
File size: 3.8 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 02/2004 <mailto:markus@ifae.es>
19!
20! Copyright: MAGIC Software Development, 2000-2004
21!
22!
23\* ======================================================================== */
24
25//////////////////////////////////////////////////////////////////////////////
26//
27// MHCalibrationChargeHiGainPix
28//
29// Performs all the necessary fits to extract the mean number of summed FADC slices
30//
31//////////////////////////////////////////////////////////////////////////////
32#include "MHCalibrationChargeHiGainPix.h"
33
34#include <TH1.h>
35#include <TPad.h>
36#include <TVirtualPad.h>
37#include <TCanvas.h>
38
39#include "MLog.h"
40#include "MLogManip.h"
41
42#include "MParList.h"
43
44#include "MExtractedSignalCam.h"
45
46
47ClassImp(MHCalibrationChargeHiGainPix);
48
49using namespace std;
50
51const Int_t MHCalibrationChargeHiGainPix::fgChargeNbins = 2000;
52const Axis_t MHCalibrationChargeHiGainPix::fgChargeFirst = -0.5;
53const Axis_t MHCalibrationChargeHiGainPix::fgChargeLast = 1999.5;
54const Int_t MHCalibrationChargeHiGainPix::fgAbsTimeNbins = 20;
55const Axis_t MHCalibrationChargeHiGainPix::fgAbsTimeFirst = -0.5;
56const Axis_t MHCalibrationChargeHiGainPix::fgAbsTimeLast = 19.5;
57// --------------------------------------------------------------------------
58//
59// Default Constructor.
60//
61MHCalibrationChargeHiGainPix::MHCalibrationChargeHiGainPix(const char *name, const char *title)
62{
63
64 fName = name ? name : "MHCalibrationChargeHiGainPix";
65 fTitle = title ? title : "Fill the FADC sums of the HiGainPix events and perform the fits Pixel ";
66
67 SetChargeNbins();
68 SetChargeFirst();
69 SetChargeLast();
70
71 SetAbsTimeNbins();
72 SetAbsTimeFirst();
73 SetAbsTimeLast();
74}
75
76
77void MHCalibrationChargeHiGainPix::Init()
78{
79
80 fHGausHist.SetName("HCalibrationChargeHiGainPix");
81 fHGausHist.SetTitle("Distribution of Summed Hi Gain FADC slices Pixel ");
82 fHGausHist.SetXTitle("Sum FADC Slices");
83 fHGausHist.SetYTitle("Nr. of events");
84 fHGausHist.SetBins(fChargeNbins,fChargeFirst,fChargeLast);
85 // fHGausHist.Sumw2();
86
87 fHAbsTime.SetName("HAbsTimeHiGainPix");
88 fHAbsTime.SetTitle("Distribution of Absolute Arrival Times Hi Gain Pixel ");
89 fHAbsTime.SetXTitle("Absolute Arrival Time [FADC slice nr]");
90 fHAbsTime.SetYTitle("Nr. of events");
91 fHAbsTime.SetBins(fAbsTimeNbins,fAbsTimeFirst,fAbsTimeLast);
92
93}
94
95
96
97void MHCalibrationChargeHiGainPix::ChangeHistId(Int_t id)
98{
99
100 fPixId = id;
101
102 fHGausHist.SetName(Form("%s%d", fHGausHist.GetName(), id));
103 fHGausHist.SetTitle(Form("%s%d", fHGausHist.GetTitle(), id));
104
105 fHAbsTime.SetName(Form("%s%d", fHAbsTime.GetName(), id));
106 fHAbsTime.SetTitle(Form("%s%d", fHAbsTime.GetTitle(), id));
107
108 fName = Form("%s%d", fName.Data(), id);
109 fTitle = Form("%s%d", fTitle.Data(), id);
110}
111
112
113void MHCalibrationChargeHiGainPix::Draw(const Option_t *opt)
114{
115
116 TString option(opt);
117 option.ToLower();
118
119 Int_t win = 1;
120
121 TVirtualPad *pad = gPad ? gPad : MH::MakeDefCanvas(this,600, 600);
122
123 pad->SetTicks();
124 pad->SetBorderMode(0);
125
126
127 pad->Divide(1,win);
128 pad->cd(1);
129
130 if (!IsEmpty())
131 pad->SetLogy();
132
133 MHGausEvents::Draw(opt);
134
135}
136
137
138
Note: See TracBrowser for help on using the repository browser.