]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODJet.cxx
Protection added.
[u/mrichter/AliRoot.git] / STEER / AliAODJet.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line 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. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 //-------------------------------------------------------------------------
19 //     AOD class for jets
20 //     Author: Andreas Morsch, CERN
21 //-------------------------------------------------------------------------
22
23 #include <TLorentzVector.h>
24 #include "AliAODJet.h"
25
26 ClassImp(AliAODJet)
27
28
29 //______________________________________________________________________________
30 AliAODJet::AliAODJet() :
31     AliVParticle(),
32     fMomentum(0),
33     fRefTracks(new TRefArray())
34 {
35   // constructor
36     fBackgEnergy[0]   = 0.;     
37     fBackgEnergy[1]   = 0.;
38     fEffectiveArea[0] = 0.;   
39     fEffectiveArea[1] = 0.;   
40 }
41
42 AliAODJet::AliAODJet(Double_t px, Double_t py, Double_t pz, Double_t e):
43     AliVParticle(),
44     fMomentum(0),
45     fRefTracks(new TRefArray())
46 {
47   // constructor
48     fMomentum = new TLorentzVector(px, py, pz, e);
49     fBackgEnergy[0]   = 0.;     
50     fBackgEnergy[1]   = 0.;
51     fEffectiveArea[0] = 0.;   
52     fEffectiveArea[1] = 0.;   
53 }
54
55 AliAODJet::AliAODJet(TLorentzVector & p):
56     AliVParticle(),
57     fMomentum(0),
58     fRefTracks(new TRefArray())
59 {
60   // constructor
61     fMomentum = new TLorentzVector(p);
62     fBackgEnergy[0]   = 0.;     
63     fBackgEnergy[1]   = 0.;
64     fEffectiveArea[0] = 0.;   
65     fEffectiveArea[1] = 0.;   
66 }
67
68
69 //______________________________________________________________________________
70 AliAODJet::~AliAODJet() 
71 {
72   // destructor
73     delete fMomentum;
74     delete fRefTracks;
75 }
76
77 //______________________________________________________________________________
78 AliAODJet::AliAODJet(const AliAODJet& jet) :
79     AliVParticle(jet),
80     fMomentum(0)
81 {
82   // Copy constructor
83     fMomentum  = new TLorentzVector(*jet.fMomentum);
84     fRefTracks = new TRefArray(*jet.fRefTracks);
85     fBackgEnergy[0]   = jet.fBackgEnergy[0];
86     fBackgEnergy[1]   = jet.fBackgEnergy[1];
87     fEffectiveArea[0] = jet.fEffectiveArea[0];
88     fEffectiveArea[1] = jet.fEffectiveArea[1];
89 }
90
91 //______________________________________________________________________________
92 AliAODJet& AliAODJet::operator=(const AliAODJet& jet)
93 {
94   // Assignment operator
95   if(this!=&jet) {
96   }
97
98   return *this;
99 }
100
101 void AliAODJet::Print(Option_t* /*option*/) const 
102 {
103   // Print information of all data members
104   printf("Jet 4-vector:\n");
105   printf("     E  = %13.3f\n", E() );
106   printf("     Px = %13.3f\n", Px());
107   printf("     Py = %13.3f\n", Py());
108   printf("     Pz = %13.3f\n", Pz());
109   printf("Background Energy:\n");
110   printf("Charged:  %13.3f\n", ChargedBgEnergy());
111   printf("Neutral:  %13.3f\n", NeutralBgEnergy());
112   printf("Total:    %13.3f\n", TotalBgEnergy());
113   printf("Effective Area: \n");
114   printf("Charged:  %13.3f\n", EffectiveAreaCharged());
115   printf("Neutral:  %13.3f\n", EffectiveAreaNeutral());
116 }