1 /**************************************************************************
2 * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 /* $Id: AliAODPWG4ParticleCorrelation.h $ */
18 //-------------------------------------------------------------------------
19 // AOD class for photon and other particles storage and
20 // correlation studies
21 // Author: Yves Schutz, CERN, Gustavo Conesa, INFN
22 //-------------------------------------------------------------------------
27 #include "AliAODPWG4ParticleCorrelation.h"
28 #include "AliAODJet.h"
30 ClassImp(AliAODPWG4ParticleCorrelation)
33 //______________________________________________________________________________
34 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation() :
35 AliAODPWG4Particle(), fIsolated(kFALSE),
36 fLeadingParticle(kTRUE),
37 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(), fRefJet(0),
38 fListOfObjArrays(new TList)
41 fListOfObjArrays->SetOwner(kTRUE);
44 //______________________________________________________________________________
45 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e):
46 AliAODPWG4Particle(), fIsolated(kFALSE),
47 fLeadingParticle(kTRUE),
48 fLeadingDetector(""), fLeading(), fCorrJet(),
49 fCorrBkg(), fRefJet(0), fListOfObjArrays(new TList)
52 SetMomentum(new TLorentzVector(px, py, pz, e));
53 fListOfObjArrays->SetOwner(kTRUE);
57 //______________________________________________________________________________
58 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(TLorentzVector & p):
59 AliAODPWG4Particle(p), fIsolated(kFALSE),
60 fLeadingParticle(kTRUE),
61 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(), fRefJet(0), fListOfObjArrays(new TList)
64 fListOfObjArrays->SetOwner(kTRUE);
68 //______________________________________________________________________________
69 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p):
70 AliAODPWG4Particle(p), fIsolated(kFALSE),
71 fLeadingParticle(kTRUE),
72 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(),fRefJet(0), fListOfObjArrays(new TList)
75 fListOfObjArrays->SetOwner(kTRUE);
79 //______________________________________________________________________________
80 AliAODPWG4ParticleCorrelation::~AliAODPWG4ParticleCorrelation()
84 fListOfObjArrays->Clear();
85 delete fListOfObjArrays ;
89 //______________________________________________________________________________
90 void AliAODPWG4ParticleCorrelation::Clear(const Option_t* /*opt*/)
94 AliAODPWG4Particle::Clear(""); //delete fMomentum
97 fListOfObjArrays->Clear();
98 delete fListOfObjArrays ;
103 //______________________________________________________________________________
104 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& part) :
105 AliAODPWG4Particle(part), fIsolated(part.fIsolated),
106 fLeadingParticle(part.fLeadingParticle),
107 fLeadingDetector(part.fLeadingDetector), fLeading(part.fLeading),
108 fCorrJet(part.fCorrJet), fCorrBkg(part.fCorrBkg), fRefJet(part.fRefJet),
109 fListOfObjArrays(new TList)
115 //______________________________________________________________________________
116 //AliAODPWG4ParticleCorrelation& AliAODPWG4ParticleCorrelation::operator=(const AliAODPWG4ParticleCorrelation& part)
118 // // Assignment operator
121 // fIsolated = part.fIsolated;
122 // fRefJet = part.fRefJet ;
123 // fLeadingDetector =part.fLeadingDetector;
124 // fLeading = part.fLeading;
125 // fCorrJet = part.fCorrJet ;
126 // fCorrBkg = part.fCorrBkg;
127 // fListOfObjArrays = fListOfObjArrays;
134 //______________________________________________________________________________
135 void AliAODPWG4ParticleCorrelation::Print(Option_t* /*option*/) const
137 // Print information of all data members
138 AliAODPWG4Particle::Print("");
140 if(fIsolated) printf("Isolated! \n");
142 if(GetJet()) GetJet()->Print("");
144 printf("Leading Detector : %s\n",fLeadingDetector.Data());
145 printf("Leading Particle 4-vector:\n");
146 printf(" E = %13.3f", fLeading.E() );
147 printf(" Px = %13.3f", fLeading.Px());
148 printf(" Py = %13.3f", fLeading.Py());
149 printf(" Pz = %13.3f\n", fLeading.Pz());
151 if( fListOfObjArrays) fListOfObjArrays->Print("");