20-sep-2005 NvE Dummy values 0 set for KAPPA-ADC and KAPPA-TOT for OMs in IceCal2Root
[u/mrichter/AliRoot.git] / RALICE / icepack / macros / EvtAna.cxx
1 /*******************************************************************************
2  * Copyright(c) 2003, IceCube Experiment at the South Pole. All rights reserved.
3  *
4  * Author: The IceCube RALICE-based Offline Project.
5  * Contributors are mentioned in the code where appropriate.
6  *
7  * Permission to use, copy, modify and distribute this software and its
8  * documentation strictly for non-commercial purposes is hereby granted
9  * without fee, provided that the above copyright notice appears in all
10  * copies and that both the copyright notice and this permission notice
11  * appear in the supporting documentation.
12  * The authors make no claims about the suitability of this software for
13  * any purpose. It is provided "as is" without express or implied warranty.
14  *******************************************************************************/
15
16 // $Id$
17
18 ///////////////////////////////////////////////////////////////////////////
19 // Class EvtAna
20 // TTask derived class to demonstrate the concept of analysis via Tasks.
21 // This example task investigates an IceEvent structure and is invoked
22 // in the example macros icextalk.cc and icecalib.cc.
23 //
24 //--- Author: Nick van Eijndhoven 07-may-2005 Utrecht University
25 //- Modified: NvE $Date$ Utrecht University
26 ///////////////////////////////////////////////////////////////////////////
27  
28 #include "EvtAna.h"
29 #include "Riostream.h"
30
31 ClassImp(EvtAna) // Class implementation to enable ROOT I/O
32
33 EvtAna::EvtAna(const char* name,const char* title) : TTask(name,title)
34 {
35 // Default constructor.
36 }
37 ///////////////////////////////////////////////////////////////////////////
38 EvtAna::~EvtAna()
39 {
40 // Default destructor.
41 }
42 ///////////////////////////////////////////////////////////////////////////
43 void EvtAna::Exec(Option_t* opt)
44 {
45 // Implementation of the event analysis to be performed.
46
47  TString name=opt;
48  AliJob* parent=(AliJob*)(gROOT->GetListOfTasks()->FindObject(name.Data()));
49
50  if (!parent) return;
51
52  IceEvent* evt=(IceEvent*)parent->GetObject("IceEvent");
53  if (!evt) return;
54  
55  evt->Data();
56  evt->ShowDevices();
57
58   IceAOM* om=(IceAOM*)evt->GetIdDevice(125);
59   if (om)
60   {
61    om->Data();
62    AliSignal* sx=om->GetHit(1);
63    if (sx)
64    {
65     cout << " Calibrated ADC : " << sx->GetSignal("ADC",7) << endl;
66     cout << " De-calibrated ADC : " << sx->GetSignal("ADC",-7) << endl;
67     cout << " Calibrated LE : " << sx->GetSignal("LE",7) << endl;
68     cout << " De-calibrated LE : " << sx->GetSignal("LE",-7) << endl;
69     cout << " Calibrated TOT : " << sx->GetSignal("TOT",7) << endl;
70     cout << " De-calibrated TOT : " << sx->GetSignal("TOT",-7) << endl;
71    }
72   }
73 }
74 ///////////////////////////////////////////////////////////////////////////