+AliVAODParticle& AliAODParticle::operator=(const AliVAODParticle& in)
+{
+//operator=
+// Info("operator=(const AliVAODParticle& in)","AliAODParticle");
+
+ if (&in == this) return *this;
+
+ delete [] fPids;
+ delete [] fPidProb;
+ fPids = 0x0;
+ fPidProb = 0x0;
+ fNPids = 0;
+
+ Int_t npids = in.GetNumberOfPids();
+ for (Int_t i = 0; i < npids; i++)
+ {
+ SetPIDprobability(in.GetNthPid(i),in.GetNthPidProb(i));
+ }
+
+ SetPdgCode(in.GetPdgCode(),in.GetPidProb());
+
+ SetUID(in.GetUID());
+
+ fCalcMass = in.Mass();
+
+ fPx = in.Px();
+ fPy = in.Py();
+ fPz = in.Pz();
+ fE = in.E();
+ fVx = in.Vx();
+ fVy = in.Vy();
+ fVz = in.Vz();
+ fVt = in.T();
+
+ delete fTPCTrackPoints;
+ AliTrackPoints* tpts = in.GetTPCTrackPoints();
+ fTPCTrackPoints = (tpts)?(AliTrackPoints*)tpts->Clone():0x0;
+
+ delete fITSTrackPoints;
+ tpts = in.GetITSTrackPoints();
+ fITSTrackPoints = (tpts)?(AliTrackPoints*)tpts->Clone():0x0;
+
+ delete fClusterMap;
+ AliClusterMap* incmap = in.GetClusterMap();
+ fClusterMap = (incmap)?(AliClusterMap*)incmap->Clone():0x0;
+
+ return *this;
+}
+//______________________________________________________________________________
+