| 1 | 
 This directory contains some very simple macros, just to show how to use the PamLevel2 class. | 
 This directory contains some very simple macros, just to show how to use the PamLevel2 class. | 
| 2 | 
 The macros need as input the name of a Level2 .root file produced by DarthVader. | 
 The macros need as input the name of a Level2 .root file produced by DarthVader  | 
| 3 | 
  | 
 (example1 and example2) or a list of files (see example3). | 
| 4 | 
  | 
  | 
| 5 | 
 Class implementation is under development and some problems still need to be fixed. | 
 example1 - Example to integrate all detector info and solve the y-view tracks ambiguity | 
| 6 | 
 However this simple examples should allow to start working with Pamela data and to test the  | 
 example2 - Example to get pamela tracks and integrate the trajectory in the apparatus | 
| 7 | 
 general environment. | 
 example3 - Example to loop over events, reading more than one file | 
| 8 | 
  | 
 Loop     - Example to loop over events, apply some selection cuts (My-Selection.cpp) and filling an  | 
| 9 | 
  | 
            output file with histograms (My-Histos.cpp) and/or trees.  | 
| 10 | 
  | 
 Loop-1   - Example to loop over events, retrieve level0 data (only tracker... for the moment) and  | 
| 11 | 
  | 
            reprocess the event (Histo-test.cpp) | 
| 12 | 
  | 
  | 
| 13 | 
 In order to run the scripts: | 
 In order to run the scripts: | 
| 14 | 
  | 
  | 
| 22 | 
  | 
  | 
| 23 | 
 [] .x load.C | 
 [] .x load.C | 
| 24 | 
 [] .L example1.C | 
 [] .L example1.C | 
| 25 | 
 [] example1("level2-data-path/level2-file.root") | 
 [] example1("level2-data-path/level2-file, execute the command.root") | 
| 26 | 
 Tracker      : set branch address TrkLevel2 | 
 Tracker      : set branch address TrkLevel2 | 
| 27 | 
 Calorimeter  : set branch address CaloLevel2 | 
 Calorimeter  : set branch address CaloLevel2 | 
| 28 | 
 ToF          : set branch address ToFLevel2 | 
 ToF          : set branch address ToFLevel2 | 
| 35 | 
   | 
   | 
| 36 | 
  Done | 
  Done | 
| 37 | 
  | 
  | 
| 38 | 
 4) The macro creates some histograms, which you can list and plot as follows: | 
 4) Macros example1 and example2 produce some histograms. Example3 just loop over events and tracks and  | 
| 39 | 
  | 
 counts time. It is usefull to check processing time. | 
| 40 | 
  | 
  | 
| 41 | 
 [].ls | 
  | 
| 42 | 
 TROOT*          Rint    The ROOT of EVERYTHING | 
 5) To create Loop.exe execute the command (you need the PAMELA environment variables): | 
| 43 | 
  OBJ: TH1F      qtot    Total energy in the calorimeter : 0 at: 0xb3f7400 | 
  | 
| 44 | 
  OBJ: TH1F      npaddle Total number of hit ToF paddles : 0 at: 0xb3f8768 | 
 > make Loop.exe | 
| 45 | 
  OBJ: TH1F      ntr     Number of fitted tracks : 0 at: 0xb3f8b60 | 
  | 
| 46 | 
  OBJ: TH1F      rig     Particle rigidity : 0 at: 0xb3f8f30 | 
 The executable is create by compiling and linking the files: | 
| 47 | 
  OBJ: TH1F      resxs   Spatial residual (X) on the 1^ calo plane (sorted tracks) : 0 at: 0xb3f94a0 | 
  | 
| 48 | 
  OBJ: TH1F      resys   Spatial residual (Y) on the 1^ calo plane (sorted tracks) : 0 at: 0xb3f9a00 | 
 Loop.cpp | 
| 49 | 
  OBJ: TH1F      resxi   Spatial residual (X) on the 1^ calo plane (image tracks) : 0 at: 0xb3f9f70 | 
 My-Selection.cpp | 
| 50 | 
  OBJ: TH1F      resyi   Spatial residual (Y) on the 1^ calo plane (image tracks) : 0 at: 0xb3fa4e0 | 
 My-Histos.cpp | 
| 51 | 
 []rig->Draw() | 
  | 
| 52 | 
  | 
 You can use My-Selection.cpp and My-Histos.cpp as a template to inplement your own | 
| 53 | 
  | 
 selection cuts and analysis.  | 
| 54 | 
  | 
 More generally, you can compile and link Loop.cpp with your own source files (you need  | 
| 55 | 
  | 
 to edit also the Makefile), where you should implement at least the following functions: | 
| 56 | 
  | 
  | 
| 57 | 
  | 
 bool Select(PamLevel2*); | 
| 58 | 
  | 
 void CreateHistos(PamLevel2*,TFile*); | 
| 59 | 
  | 
 void FillHistos(PamLevel2*); | 
| 60 | 
  | 
 void SaveHistos(TFile*); | 
| 61 | 
  | 
  | 
| 62 | 
  | 
 To know how to use Loop.exe, issue: | 
| 63 | 
  | 
 ./Loop.exe --help | 
| 64 | 
  | 
  | 
| 65 | 
  | 
 (If you execute "make Loop-0.exe" the old example code, previously posted on the cvs,  | 
| 66 | 
  | 
 is compiled and linked. This is not a very general example, better use the new one) | 
| 67 | 
  | 
   |