Last change
on this file since 9492 was 308, checked in by harald, 25 years ago |
This the starting point for CVS controlled further developments of the
camera program. The program was originally written by Jose Carlos.
But here you can find a "rootified" version to the program. This means
that there is no hbook stuff in it now. Also the output of the
program changed to the MagicRawDataFormat.
The "rootification" was done by Dirk Petry and Harald Kornmayer.
In the following you can see the README file of that version:
==================================================
Fri Oct 22 1999 D.P.
The MAGIC Monte Carlo System
Camera Simulation Programme
---------------------------
1) Description
This version is the result of the fusion of H.K.'s
root_camera which is described below (section 2)
and another version by D.P. which had a few additional
useful features.
The version compiles under Linux with ROOT 2.22 installed
(variable ROOTSYS has to be set).
Compile as before simply using "make" in the root_camera
directory.
All features of H.K.'s root_camera were retained.
Additional features of this version are:
a) HBOOK is no longer used and all references are removed.
b) Instead of HBOOK, the user is given now the possibility of
having Diagnostic data in ROOT format as a complement
to the ROOT Raw data.
This data is written to the file which is determined by
the new input parameter "diag_file" in the camera parameter
file.
All source code file belonging to this part have filenames
starting with "MDiag".
The user can read the output file using the following commands
in an interactive ROOT session:
root [0] .L MDiag.so
root [1] new TFile("diag.root");
root [2] new TTreeViewer("T");
This brings up a viewer from which all variables of the
TTree can be accessed and histogrammed. This example
assumes that you have named the file "diag.root", that
you are using ROOT version 2.22 or later and that you have
the shared object library "MDiag.so" which is produced
by the Makefile along with the executable "camera".
! The contents of the so-called diag file is not yet fixed.
! At the moment it is what J.C.G. used to put into the HBOOK
! ntuple. In future versions the moments calculation can be
! removed and the parameter list be modified correspondingly.
c) Now concatenated reflector files can be read. This is useful
if you have run the reflector with different parameters but
you want to continue the analysis with all reflector data
going into ONE ROOT outputfile.
The previous camera version contained a bug which made reading
of two or more concatenated reflector files impossible.
d) The reflector output format was changed. It is now version
0.4 .
The change solely consists in a shortening of the flag
definition in the file
include-MC/MCCphoton.hxx
! IF YOU WANT TO READ REFLECTOR FORMAT 0.3, you can easily
! do so by recompiling camera with the previous version of
! include-MC/MCCphoton.hxx.
The change was necessary for saving space and better
debugging. From now on, this format can be frozen.
! For producing reflector output in the new format, you
! of course have to recompile your reflector with the
! new include-MC/MCCphoton.hxx .
e) A first version of the pixelization with the larger
outer pixels is implemented. THIS IS NOT YET FULLY
TESTED, but first rough tests show that it works
at least to a good approximation.
The present version implements the camera outline
with 18 "gap-pixels" and 595 pixels in total as
shown in
http://sarastro.ifae.es/internal/home/hardware/camera/numbering.ps
This change involved
(i) The file pixels.dat is no longer needed. Instead
the coordinates are generated by the program itself
(takes maybe 1 second). In the file
pixel-coords.txt
in the same directory as this README, you find a list
of the coordinates generated by this new routine. It
has the format
number i j x y size-factor
where i and j are J.C.G.'s so called biaxis hexagonal
coordinates (for internal use) and x and y are the
coordinates of the pixel centers in the standard camera
coordinate system in units of centimeters. The value
of "size-factor" determines the linear size of the pixel
relative to the central pixels.
(ii) The magic.def file has two additional parameters
which give the number of central pixels and the
number of gap pixels
(iii) In camera.h and camera.cxx several changes were
necessary, among them the introduction of several
new functions
The newly suggested outline with asymmetric Winston cones
will be implemented in a later version.
f) phe files can no longer be read since this contradicts
our philosophy that the analysis should be done with other
programs like e.g. EVITA and not with "camera" itself.
This possibility was removed.
g) ROOT is no longer invoked with an interactive interface.
In this way, camera can better be run as a batch program and
it uses less memory.
h) small changes concerning the variable "t_chan" were necessary in
order to avoid segmentation faults: The variable is used as an
index and it went sometimes outside the limits when camera
was reading proton data. This is because the reflector files
don't contain the photons in a chronological order and also
the timespread can be considerably longer that the foreseen
digitisation timespan. Please see the source code of camera.cxx
round about line 1090.
j) several unused variables were removed, a few warning messages
occur when you compile camera.cxx but these can be ignored at
the moment.
In general the program is of course not finished. It still needs
debugging, proper trigger simulation, simulation of the asymmetric
version of the outer pixels, proper NSB simulation, adaption of
the diag "ntuple" contents to our need and others small improvements.
In the directory rfl-files there is now a file in reflector format 0.4
containing a single event produced by the starfiled adder. It has
a duration of 30 ns and represents the region around the Crab Nebula.
Using the enclosed input parameter file, camera should process this
file without problems.
2) The README for the previous version of root_camera
README for a preliminary version of the
root_camera program.
root_camera is based on the program "camera"of Jose Carlos
Gonzalez. It was changed in the way that only the pixelisation
and the distibution of the phe to the FADCs works in a
first version.
Using the #undef command most possibilities of the orignal
program are switched of.
The new parts are signed by
- ROOT or __ROOT__
nearly all important codelines for ROOT output are enclosed
in structures like
#ifdef __ROOT__
code
#endif __ROOT__
In same case the new lines are signed by a comment with the word
ROOT in it.
For timing of the pulse some variable names are changed.
(t0, t1, t --> t_ini, t_fin, t_1st, t_chan,...)
Look also for this changes.
For the new root-file is also a change in readparm-files
- __DETAIL_TRIGGER__
This is for the implementation of the current work on trigger
studies. Because the class MTrigger is not well documented it
isn´t a part of this tar file. Only a dummy File exists.
With all files in the archive, the root_camera program should run.
A reflector file is in the directory rfl-files
==================================================
From now on, use CVS for development!!!!
|
File size:
1.5 KB
|
Line | |
---|
1 | //!/////////////////////////////////////////////////////////////////////
|
---|
2 | //
|
---|
3 | // camera
|
---|
4 | //
|
---|
5 | // @file MDiag.h
|
---|
6 | // @title definition of the diagnostic output root tree
|
---|
7 | // @author DP
|
---|
8 | // @date Thu Oct 21
|
---|
9 | //
|
---|
10 | //----------------------------------------------------------------------
|
---|
11 | //
|
---|
12 | // $RCSfile: MDiag.h,v $
|
---|
13 | // $Revision: 1.1.1.1 $
|
---|
14 | // $Author: harald $
|
---|
15 | // $Date: 1999-11-05 11:59:33 $
|
---|
16 | //
|
---|
17 | ////////////////////////////////////////////////////////////////////////
|
---|
18 |
|
---|
19 | #include <stdlib.h>
|
---|
20 | #include <iostream.h>
|
---|
21 | #include <fstream.h>
|
---|
22 | #include <string.h>
|
---|
23 |
|
---|
24 | #include "TROOT.h"
|
---|
25 | #include "TFile.h"
|
---|
26 | #include "TRandom.h"
|
---|
27 | #include "TTree.h"
|
---|
28 |
|
---|
29 | class MDiagEventobject : public TObject{
|
---|
30 | public:
|
---|
31 |
|
---|
32 | Float_t n;
|
---|
33 | Float_t primary;
|
---|
34 | Float_t energy;
|
---|
35 | Float_t cored;
|
---|
36 | Float_t impact;
|
---|
37 | Float_t xcore;
|
---|
38 | Float_t ycore;
|
---|
39 | Float_t theta;
|
---|
40 | Float_t phi;
|
---|
41 | Float_t deviations;
|
---|
42 | Float_t dtheta;
|
---|
43 | Float_t dphi;
|
---|
44 | Float_t trigger;
|
---|
45 | Float_t ncphs;
|
---|
46 | Float_t maxpassthr_phe;
|
---|
47 | Float_t nphes;
|
---|
48 | Float_t nphes2;
|
---|
49 | Float_t length;
|
---|
50 | Float_t width;
|
---|
51 | Float_t dist;
|
---|
52 | Float_t xdist;
|
---|
53 | Float_t azw;
|
---|
54 | Float_t miss;
|
---|
55 | Float_t alpha;
|
---|
56 | Float_t conc2;
|
---|
57 | Float_t conc3;
|
---|
58 | Float_t conc4;
|
---|
59 | Float_t conc5;
|
---|
60 | Float_t conc6;
|
---|
61 | Float_t conc7;
|
---|
62 | Float_t conc8;
|
---|
63 | Float_t conc9;
|
---|
64 | Float_t conc10;
|
---|
65 | Float_t asymx;
|
---|
66 | Float_t asymy;
|
---|
67 | Float_t phiasym;
|
---|
68 |
|
---|
69 | MDiagEventobject();
|
---|
70 | virtual ~MDiagEventobject() {}
|
---|
71 |
|
---|
72 | ClassDef(MDiagEventobject,1)
|
---|
73 |
|
---|
74 | };
|
---|
Note:
See
TracBrowser
for help on using the repository browser.