// loop over events and fill them\r
// Multiplicity information needed by the header (to be revised!)\r
Int_t nTracks = esd->GetNumberOfTracks();\r
+ for (Int_t iTrack=0; iTrack<nTracks; ++iTrack) esd->GetTrack(iTrack)->SetESDEvent(esd);\r
+\r
// if (fDebug > 0) printf("-------------------Bo: Number of ESD tracks %d \n",nTracks);\r
\r
Int_t nPosTracks = 0;\r
selectInfo);\r
aodTrack->SetTPCClusterMap(esdV0Pos->GetTPCClusterMap());\r
aodTrack->SetTPCSharedMap (esdV0Pos->GetTPCSharedMap());\r
-\r
aodTrackRefs->AddAt(aodTrack,posFromV0);\r
// if (fDebug > 0) printf("-------------------Bo: pos track from original pt %.3f \n",aodTrack->Pt());\r
if (esdV0Pos->GetSign() > 0) nPosTracks++;\r
}
//_____________________________________________________________________
-Bool_t AliESDpidCuts::IsSelected(TList *lst){
+Bool_t AliESDpidCuts::IsSelected(TObject *obj){
//
// Select Track
//
- AliESDtrack * trk = dynamic_cast<AliESDtrack*>(lst->At(0));
+ AliESDtrack * trk = dynamic_cast<AliESDtrack*>(obj);
if(!trk){
AliError("Provided object is not AliESDtrack!");
return kFALSE;
}
- AliESDEvent * evt = dynamic_cast<AliESDEvent*>(lst->At(1));
+ AliESDEvent* evt = trk->GetESDEvent();
if(!evt){
AliError("No AliESDEvent!");
return kFALSE;
}
- return AcceptTrack(trk,evt);
+ return AcceptTrack(trk, evt);
}
//_____________________________________________________________________
void DefineHistograms(Color_t color = kRed);
void DrawHistograms();
void SaveHistograms(const Char_t *location = NULL);
- virtual Bool_t IsSelected(TObject *){ return kTRUE; }
- virtual Bool_t IsSelected(TList * lst);
+ virtual Bool_t IsSelected(TObject *);
+ virtual Bool_t IsSelected(TList * /*lst*/) {return kTRUE; }
virtual Bool_t AcceptTrack(const AliESDtrack *track, const AliESDEvent *event);
void SetTPCclusterRatioCut(Float_t clr) { fCutTPCclusterRatio = clr; }
#include "AliESDVertex.h"
#include "AliESDtrack.h"
+#include "AliESDEvent.h"
#include "AliKalmanTrack.h"
#include "AliVTrack.h"
#include "AliLog.h"
fTRDntracklets(0),
fTRDnSlices(0),
fTRDslices(0x0),
- fVertexID(-2) // -2 means an orphan track
+ fVertexID(-2),// -2 means an orphan track
+ fESDEvent(0)
{
//
// The default ESD constructor
fTRDntracklets(track.fTRDntracklets),
fTRDnSlices(track.fTRDnSlices),
fTRDslices(0x0),
- fVertexID(track.fVertexID)
+ fVertexID(track.fVertexID),
+ fESDEvent(track.fESDEvent)
{
//
//copy constructor
fTRDntracklets(0),
fTRDnSlices(0),
fTRDslices(0x0),
- fVertexID(-2) // -2 means an orphan track
+ fVertexID(-2), // -2 means an orphan track
+ fESDEvent(0)
{
//
// ESD track from AliVTrack.
fTRDntracklets(0),
fTRDnSlices(0),
fTRDslices(0x0),
- fVertexID(-2) // -2 means an orphan track
+ fVertexID(-2), // -2 means an orphan track
+ fESDEvent(0)
{
//
// ESD track from TParticle
// in TRD layer "plane".
if (!fTRDnSlices) {
- // AliError("No TRD info allocated for this track !");
+ AliError("No TRD info allocated for this track !");
return -1.;
}
if ((plane<0) || (plane>=kTRDnPlanes)) {
class TParticle;
class AliESDVertex;
+class AliESDEvent;
class AliKalmanTrack;
class AliTrackPointArray;
class TPolyMarker3D;
void GetImpactParameters(Float_t p[2], Float_t cov[3]) const {
p[0]=fD; p[1]=fZ; cov[0]=fCdd; cov[1]=fCdz; cov[2]=fCzz;
}
- virtual void Print(Option_t * opt) const ;
+ virtual void Print(Option_t * opt) const ;
+ AliESDEvent* GetESDEvent() const {return fESDEvent;}
+ void SetESDEvent(AliESDEvent* evt) {fESDEvent = evt;}
//
// visualization (M. Ivanov)
//
Char_t fTRDTimBin[kTRDnPlanes]; // Time bin of Max cluster from all six planes
Char_t fVertexID; // ID of the primary vertex this track belongs to
-
+ AliESDEvent* fESDEvent; //!Pointer back to event to which the track belongs
+
private:
AliESDtrack & operator=(const AliESDtrack & );
- ClassDef(AliESDtrack,53) //ESDtrack
+ ClassDef(AliESDtrack,54) //ESDtrack
};