Changes to get AliPIDCombined also running for AODs
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Aug 2011 12:50:38 +0000 (12:50 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Aug 2011 12:50:38 +0000 (12:50 +0000)
Michael Weber

ANALYSIS/AliAnalysisTaskESDfilter.cxx
STEER/AOD/AliAODTrack.cxx
STEER/AOD/AliAODTrack.h
STEER/STEERBase/AliVTrack.h

index 13597d3..8df5901 100644 (file)
@@ -1313,6 +1313,8 @@ void AliAnalysisTaskESDfilter::ConvertTracks(const AliESDEvent& esd)
     aodTrack->SetTPCSharedMap (esdTrack->GetTPCSharedMap());\r
     aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));\r
     aodTrack->SetTPCPointsF(esdTrack->GetTPCNclsF());\r
+    if(esdTrack->IsEMCAL()) aodTrack->SetEMCALcluster(esdTrack->GetEMCALcluster());\r
+    if(esdTrack->IsPHOS())  aodTrack->SetPHOScluster(esdTrack->GetPHOScluster());\r
 \r
     fAODTrackRefs->AddAt(aodTrack, nTrack);\r
     \r
index b6b5b87..0dbf732 100644 (file)
@@ -44,6 +44,7 @@ AliAODTrack::AliAODTrack() :
   fID(-999),
   fCharge(-99),
   fType(kUndef),
+  fCaloIndex(kEMCALNoMatch),
   fCovMatrix(NULL),
   fDetPid(NULL),
   fProdVertex(NULL)
@@ -88,6 +89,7 @@ AliAODTrack::AliAODTrack(Short_t id,
   fID(id),
   fCharge(charge),
   fType(ttype),
+  fCaloIndex(kEMCALNoMatch),
   fCovMatrix(NULL),
   fDetPid(NULL),
   fProdVertex(prodVertex)
@@ -136,6 +138,7 @@ AliAODTrack::AliAODTrack(Short_t id,
   fID(id),
   fCharge(charge),
   fType(ttype),
+  fCaloIndex(kEMCALNoMatch),
   fCovMatrix(NULL),
   fDetPid(NULL),
   fProdVertex(prodVertex)
@@ -178,6 +181,7 @@ AliAODTrack::AliAODTrack(const AliAODTrack& trk) :
   fID(trk.fID),
   fCharge(trk.fCharge),
   fType(trk.fType),
+  fCaloIndex(trk.fCaloIndex),
   fCovMatrix(NULL),
   fDetPid(NULL),
   fProdVertex(trk.fProdVertex)
@@ -226,6 +230,8 @@ AliAODTrack& AliAODTrack::operator=(const AliAODTrack& trk)
     fCharge = trk.fCharge;
     fType = trk.fType;
 
+    fCaloIndex = trk.fCaloIndex;
+
     delete fCovMatrix;
     if(trk.fCovMatrix) fCovMatrix=new AliAODRedCov<6>(*trk.fCovMatrix);
     else fCovMatrix=NULL;
index b1ffa77..6448ac9 100644 (file)
@@ -244,6 +244,15 @@ class AliAODTrack : public AliVTrack {
 
   UShort_t GetTPCNclsF() const { return fTPCnclsF;}
 
+  // Calorimeter Cluster
+  Int_t GetEMCALcluster() const {return fCaloIndex;}
+  void SetEMCALcluster(Int_t index) {fCaloIndex=index;}
+  Bool_t IsEMCAL() const {return fFlags&kEMCALmatch;}
+
+  Int_t GetPHOScluster() const {return fCaloIndex;}
+  void SetPHOScluster(Int_t index) {fCaloIndex=index;}
+  Bool_t IsPHOS() const {return fFlags&kPHOSmatch;}
+
   //pid signal interface
   Double_t  GetITSsignal()       const { return fDetPid?fDetPid->GetITSsignal():0.;    }
   Double_t  GetTPCsignal()       const { return fDetPid?fDetPid->GetTPCsignal():0.;    }
@@ -361,6 +370,9 @@ class AliAODTrack : public AliVTrack {
 
   Char_t        fCharge;            // particle charge
   Char_t        fType;              // Track Type
+
+  Int_t         fCaloIndex;         // index of associated EMCAL/PHOS cluster (AliAODCaloCluster)
+
   
   AliAODRedCov<6> *fCovMatrix;      // covariance matrix (x, y, z, px, py, pz)
   AliAODPid    *fDetPid;            // more detailed or detector specific pid information
index f565043..fafc63c 100644 (file)
@@ -1,86 +1,91 @@
-#ifndef AliVTrack_H
-#define AliVTrack_H
-/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-
-//-------------------------------------------------------------------------
-//     base class for ESD and AOD tracks
-//     Author: A. Dainese
-//-------------------------------------------------------------------------
-
-#include <TBits.h>
-
-#include "AliVParticle.h"
-
-class AliVVertex;
-class AliExternalTrackParam;
-
-class AliVTrack: public AliVParticle {
-
-public:
-  enum {
-    kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
-    kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
-    kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
-    kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
-    kTOFmismatch=0x100000,
-    kHMPIDout=0x10000,kHMPIDpid=0x20000,
-    kEMCALmatch=0x40000,
-    kPHOSmatch=0x200000,
-    kTRDbackup =0x80000,
-    kTRDStop=0x20000000,
-    kESDpid=0x40000000,
-    kTIME=0x80000000,
-    kGlobalMerge=0x08000000,
-    kITSpureSA=0x10000000,
-    kMultInV0 =0x2000000,    //BIT(25): assumed to be belong to V0 in multiplicity estimates
-    kMultSec  =0x4000000,     //BIT(26): assumed to be secondary (due to the DCA) in multiplicity estimates
-    kEmbedded =0x8000000     // BIT(27), 1<<27: Is a track that has been embedded into the event
-  };
-  enum {
-    kTRDnPlanes = 6,
-    kEMCALNoMatch = -4096
-  };
-
-  AliVTrack() { }
-  virtual ~AliVTrack() { }
-  AliVTrack(const AliVTrack& vTrack); 
-  AliVTrack& operator=(const AliVTrack& vTrack);
-
-  virtual Int_t    GetID() const = 0;
-  virtual UChar_t  GetITSClusterMap() const = 0;
-  virtual Float_t  GetTPCClusterInfo(Int_t /*nNeighbours*/, Int_t /*type*/, Int_t /*row0*/=0, Int_t /*row1*/=159) const {return 0.;}
-  virtual UShort_t GetTPCNcls() const { return 0;}
-  virtual UShort_t GetTPCNclsF() const { return 0;}
-  virtual Double_t GetTRDslice(Int_t /*plane*/, Int_t /*slice*/) const { return -1.; }
-  
-  virtual Int_t GetEMCALcluster() const {return -1;}
-  virtual Int_t GetPHOScluster()  const {return -1;}
-  
-  //pid info
-  virtual Double_t  GetITSsignal()       const {return 0.;}
-  virtual Double_t  GetTPCsignal()       const {return 0.;}
-  virtual UShort_t  GetTPCsignalN()      const {return 0 ;}
-  virtual Double_t  GetTPCmomentum()     const {return 0.;}
-  virtual Double_t  GetTOFsignal()       const {return 0.;}
-  virtual void      GetIntegratedTimes(Double_t */*times*/) const { return; }
-  virtual Double_t  GetTRDmomentum(Int_t /*plane*/, Double_t */*sp*/=0x0) const {return 0.;}
-  virtual void      GetHMPIDpid(Double_t */*p*/) const {;}
-    
-  virtual ULong_t  GetStatus() const = 0;
-  virtual Bool_t   GetXYZ(Double_t *p) const = 0;
-  virtual Double_t GetBz() const;
-  virtual void     GetBxByBz(Double_t b[3]) const;
-  virtual Bool_t   GetCovarianceXYZPxPyPz(Double_t cv[21]) const = 0;
-  virtual Bool_t   PropagateToDCA(const AliVVertex *vtx,Double_t b,Double_t maxd,Double_t dz[2],Double_t covar[3]) = 0;
-  virtual const    AliExternalTrackParam * GetOuterParam() const { return NULL; }
-  virtual Int_t    GetNcls(Int_t /*idet*/) const { return 0; }
-  virtual Bool_t   GetPxPyPz(Double_t */*p*/) const { return kFALSE; }
-  virtual void     SetID(Short_t /*id*/) {;}
-  virtual Int_t    GetTOFBunchCrossing(Double_t = 0) const { return -1;}
-
-  ClassDef(AliVTrack,1)  // base class for tracks
-};
-
-#endif
+#ifndef AliVTrack_H\r
+#define AliVTrack_H\r
+/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *\r
+ * See cxx source for full Copyright notice                               */\r
+\r
+\r
+//-------------------------------------------------------------------------\r
+//     base class for ESD and AOD tracks\r
+//     Author: A. Dainese\r
+//-------------------------------------------------------------------------\r
+\r
+#include <TBits.h>\r
+\r
+#include "AliVParticle.h"\r
+\r
+class AliVVertex;\r
+class AliExternalTrackParam;\r
+\r
+class AliVTrack: public AliVParticle {\r
+\r
+public:\r
+  enum {\r
+    kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,\r
+    kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,\r
+    kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,\r
+    kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,\r
+    kTOFmismatch=0x100000,\r
+    kHMPIDout=0x10000,kHMPIDpid=0x20000,\r
+    kEMCALmatch=0x40000,\r
+    kPHOSmatch=0x200000,\r
+    kTRDbackup =0x80000,\r
+    kTRDStop=0x20000000,\r
+    kESDpid=0x40000000,\r
+    kTIME=0x80000000,\r
+    kGlobalMerge=0x08000000,\r
+    kITSpureSA=0x10000000,\r
+    kMultInV0 =0x2000000,    //BIT(25): assumed to be belong to V0 in multiplicity estimates\r
+    kMultSec  =0x4000000,     //BIT(26): assumed to be secondary (due to the DCA) in multiplicity estimates\r
+    kEmbedded =0x8000000     // BIT(27), 1<<27: Is a track that has been embedded into the event\r
+  };\r
+  enum {\r
+    kTRDnPlanes = 6,\r
+    kEMCALNoMatch = -4096\r
+  };\r
+\r
+  AliVTrack() { }\r
+  virtual ~AliVTrack() { }\r
+  AliVTrack(const AliVTrack& vTrack); \r
+  AliVTrack& operator=(const AliVTrack& vTrack);\r
+\r
+  virtual Int_t    GetID() const = 0;\r
+  virtual UChar_t  GetITSClusterMap() const = 0;\r
+  virtual Float_t  GetTPCClusterInfo(Int_t /*nNeighbours*/, Int_t /*type*/, Int_t /*row0*/=0, Int_t /*row1*/=159) const {return 0.;}\r
+  virtual UShort_t GetTPCNcls() const { return 0;}\r
+  virtual UShort_t GetTPCNclsF() const { return 0;}\r
+  virtual Double_t GetTRDslice(Int_t /*plane*/, Int_t /*slice*/) const { return -1.; }\r
+  \r
+  virtual Int_t GetEMCALcluster()     const {return -1;}\r
+  virtual void SetEMCALcluster(Int_t)       {;}\r
+  virtual Bool_t IsEMCAL()            const {return kFALSE;}\r
+\r
+  virtual Int_t GetPHOScluster()      const {return -1;}\r
+  virtual void SetPHOScluster(Int_t)        {;}\r
+  virtual Bool_t IsPHOS()             const {return kFALSE;}\r
+  \r
+  //pid info\r
+  virtual Double_t  GetITSsignal()       const {return 0.;}\r
+  virtual Double_t  GetTPCsignal()       const {return 0.;}\r
+  virtual UShort_t  GetTPCsignalN()      const {return 0 ;}\r
+  virtual Double_t  GetTPCmomentum()     const {return 0.;}\r
+  virtual Double_t  GetTOFsignal()       const {return 0.;}\r
+  virtual void      GetIntegratedTimes(Double_t */*times*/) const { return; }\r
+  virtual Double_t  GetTRDmomentum(Int_t /*plane*/, Double_t */*sp*/=0x0) const {return 0.;}\r
+  virtual void      GetHMPIDpid(Double_t */*p*/) const {;}\r
+    \r
+  virtual ULong_t  GetStatus() const = 0;\r
+  virtual Bool_t   GetXYZ(Double_t *p) const = 0;\r
+  virtual Double_t GetBz() const;\r
+  virtual void     GetBxByBz(Double_t b[3]) const;\r
+  virtual Bool_t   GetCovarianceXYZPxPyPz(Double_t cv[21]) const = 0;\r
+  virtual Bool_t   PropagateToDCA(const AliVVertex *vtx,Double_t b,Double_t maxd,Double_t dz[2],Double_t covar[3]) = 0;\r
+  virtual const    AliExternalTrackParam * GetOuterParam() const { return NULL; }\r
+  virtual Int_t    GetNcls(Int_t /*idet*/) const { return 0; }\r
+  virtual Bool_t   GetPxPyPz(Double_t */*p*/) const { return kFALSE; }\r
+  virtual void     SetID(Short_t /*id*/) {;}\r
+  virtual Int_t    GetTOFBunchCrossing(Double_t = 0) const { return -1;}\r
+\r
+  ClassDef(AliVTrack,1)  // base class for tracks\r
+};\r
+\r
+#endif\r