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"
29 ClassImp(AliAODPWG4ParticleCorrelation)
32 //______________________________________________________________________________
33 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation() :
34 AliAODPWG4Particle(), fIsolated(kFALSE),
35 fRefTracks(new TRefArray()), fRefClusters(new TRefArray()),
36 fRefIsolationConeTracks(new TRefArray()), fRefIsolationConeClusters(new TRefArray()),
37 fRefBackgroundTracks(new TRefArray()), fRefBackgroundClusters(new TRefArray()),
38 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(), fRefJet(0)
43 //______________________________________________________________________________
44 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e):
45 AliAODPWG4Particle(), fIsolated(kFALSE),
46 fRefTracks(new TRefArray()), fRefClusters(new TRefArray()),
47 fRefIsolationConeTracks(new TRefArray()), fRefIsolationConeClusters(new TRefArray()),
48 fRefBackgroundTracks(new TRefArray()), fRefBackgroundClusters(new TRefArray()),
49 fLeadingDetector(""), fLeading(), fCorrJet(),
50 fCorrBkg(), fRefJet(0)
53 SetMomentum(new TLorentzVector(px, py, pz, e));
56 //______________________________________________________________________________
57 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(TLorentzVector & p):
58 AliAODPWG4Particle(p), fIsolated(kFALSE),
59 fRefTracks(new TRefArray()), fRefClusters(new TRefArray()),
60 fRefIsolationConeTracks(new TRefArray()), fRefIsolationConeClusters(new TRefArray()),
61 fRefBackgroundTracks(new TRefArray()), fRefBackgroundClusters(new TRefArray()),
62 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(),fRefJet(0)
67 //______________________________________________________________________________
68 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p):
69 AliAODPWG4Particle(p), fIsolated(kFALSE),
70 fRefTracks(new TRefArray()), fRefClusters(new TRefArray()),
71 fRefIsolationConeTracks(new TRefArray()), fRefIsolationConeClusters(new TRefArray()),
72 fRefBackgroundTracks(new TRefArray()), fRefBackgroundClusters(new TRefArray()),
73 fLeadingDetector(""), fLeading(), fCorrJet(), fCorrBkg(),fRefJet(0)
79 //______________________________________________________________________________
80 AliAODPWG4ParticleCorrelation::~AliAODPWG4ParticleCorrelation()
85 delete fRefIsolationConeTracks;
86 delete fRefIsolationConeClusters;
87 delete fRefBackgroundTracks;
88 delete fRefBackgroundClusters;
92 //______________________________________________________________________________
93 AliAODPWG4ParticleCorrelation::AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& part) :
94 AliAODPWG4Particle(part), fIsolated(part.fIsolated),
95 fRefTracks(), fRefClusters(),
96 fRefIsolationConeTracks(), fRefIsolationConeClusters(),
97 fRefBackgroundTracks(), fRefBackgroundClusters(),
98 fLeadingDetector(part.fLeadingDetector), fLeading(part.fLeading),
99 fCorrJet(part.fCorrJet), fCorrBkg(part.fCorrBkg), fRefJet(part.fRefJet)
102 fRefTracks = new TRefArray(*part.fRefTracks);
103 fRefClusters = new TRefArray(*part.fRefClusters);
104 fRefIsolationConeTracks = new TRefArray(*part.fRefIsolationConeTracks);
105 fRefIsolationConeClusters = new TRefArray(*part.fRefIsolationConeClusters);
106 fRefBackgroundTracks = new TRefArray(*part.fRefBackgroundTracks);
107 fRefBackgroundClusters = new TRefArray(*part.fRefBackgroundClusters);
110 //______________________________________________________________________________
111 AliAODPWG4ParticleCorrelation& AliAODPWG4ParticleCorrelation::operator=(const AliAODPWG4ParticleCorrelation& part)
113 // Assignment operator
116 fIsolated = part.fIsolated;
117 fRefJet = part.fRefJet ;
118 fLeadingDetector =part.fLeadingDetector;
119 fLeading = part.fLeading;
120 fCorrJet = part.fCorrJet ;
121 fCorrBkg = part.fCorrBkg;
123 if( fRefTracks ) delete fRefTracks ;
124 if( fRefClusters) delete fRefClusters ;
125 if( fRefIsolationConeTracks ) delete fRefIsolationConeTracks ;
126 if( fRefIsolationConeClusters) delete fRefIsolationConeClusters ;
127 if( fRefBackgroundTracks ) delete fRefBackgroundTracks ;
128 if( fRefBackgroundClusters ) delete fRefBackgroundClusters ;
130 fRefTracks = new TRefArray(*part.fRefTracks);
131 fRefClusters = new TRefArray(*part.fRefClusters);
132 fRefIsolationConeTracks = new TRefArray(*part.fRefIsolationConeTracks);
133 fRefIsolationConeClusters = new TRefArray(*part.fRefIsolationConeClusters);
134 fRefBackgroundTracks = new TRefArray(*part.fRefBackgroundTracks);
135 fRefBackgroundClusters = new TRefArray(*part.fRefBackgroundClusters);
142 //______________________________________________________________________________
143 void AliAODPWG4ParticleCorrelation::Print(Option_t* /*option*/) const
145 // Print information of all data members
146 AliAODPWG4Particle::Print("");
147 if(fIsolated) printf("Isolated! \n");
148 printf("Leading Detector : %s\n",fLeadingDetector.Data());
149 // if(fRefJet) fRefJet.Print();