New classes for MUON and PHOS ESD (Yu.Belikov
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 4 Dec 2003 15:12:05 +0000 (15:12 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 4 Dec 2003 15:12:05 +0000 (15:12 +0000)
STEER/AliESD.cxx
STEER/AliESD.h
STEER/AliESDCaloTrack.cxx [new file with mode: 0644]
STEER/AliESDCaloTrack.h [new file with mode: 0644]
STEER/AliESDMuonTrack.cxx [new file with mode: 0644]
STEER/AliESDMuonTrack.h [new file with mode: 0644]
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h
STEER/STEERLinkDef.h
STEER/libSTEER.pkg

index ea915ff4bdaaf49cf30f2aaf1885182ad3a32311..e7e39a912d8181ecc4564eb5957f82dcb0ada514 100644 (file)
@@ -33,6 +33,8 @@ AliESD::AliESD():
   fTrigger(0),
   fRecoVersion(0),
   fTracks("AliESDtrack",15000),
+  fCaloTracks("AliESDCaloTrack",500),
+  fMuonTracks("AliESDMuonTrack",30),
   fV0s("AliESDv0",200),
   fCascades("AliESDcascade",20)
 {
index eed56ba097614ba1e66690dd21c6a357ab68198a..19df050e99a2c9c2ee8fd169d22a3d3383cee155 100644 (file)
@@ -16,6 +16,8 @@
 #include "TObject.h"
 #include "TClonesArray.h"
 #include  "AliESDtrack.h"
+#include  "AliESDMuonTrack.h"
+#include  "AliESDCaloTrack.h"
 #include  "AliESDv0.h"
 #include  "AliESDcascade.h"
 
@@ -24,6 +26,8 @@ public:
   AliESD();
   virtual ~AliESD() {
     fTracks.Delete();
+    fCaloTracks.Delete();
+    fMuonTracks.Delete();
     fV0s.Delete();
     fCascades.Delete();
   }
@@ -33,9 +37,22 @@ public:
   AliESDtrack *GetTrack(Int_t i) {
     return (AliESDtrack *)fTracks.UncheckedAt(i);
   }
+  AliESDCaloTrack *GetCaloTrack(Int_t i) {
+    return (AliESDCaloTrack *)fCaloTracks.UncheckedAt(i);
+  }
+  AliESDMuonTrack *GetMuonTrack(Int_t i) {
+    return (AliESDMuonTrack *)fMuonTracks.UncheckedAt(i);
+  }
+
   void AddTrack(const AliESDtrack *t) {
     new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t);
   }
+  void AddCaloTrack(const AliESDCaloTrack *t) {
+    new(fCaloTracks[fCaloTracks.GetEntriesFast()]) AliESDCaloTrack(*t);
+  }
+  void AddMuonTrack(const AliESDMuonTrack *t) {
+    new(fMuonTracks[fMuonTracks.GetEntriesFast()]) AliESDMuonTrack(*t);
+  }
 
   AliESDv0 *GetV0(Int_t i) {
     return (AliESDv0 *)fV0s.UncheckedAt(i);
@@ -55,7 +72,9 @@ public:
   Int_t  GetRunNumber() const {return fRunNumber;}
   Long_t GetTrigger() const {return fTrigger;}
   
-  Int_t GetNumberOfTracks()   const {return fTracks.GetEntriesFast();}
+  Int_t GetNumberOfTracks()     const {return fTracks.GetEntriesFast();}
+  Int_t GetNumberOfCaloTracks() const {return fCaloTracks.GetEntriesFast();}
+  Int_t GetNumberOfMuonTracks() const {return fMuonTracks.GetEntriesFast();}
   Int_t GetNumberOfV0s()      const {return fV0s.GetEntriesFast();}
   Int_t GetNumberOfCascades() const {return fCascades.GetEntriesFast();}
   
@@ -68,6 +87,8 @@ protected:
   Int_t        fRecoVersion;     // Version of reconstruction 
 
   TClonesArray  fTracks;         // ESD tracks
+  TClonesArray  fCaloTracks;     // Calorimeters' ESD tracks
+  TClonesArray  fMuonTracks;     // MUON ESD tracks
   TClonesArray  fV0s;            // V0 vertices
   TClonesArray  fCascades;       // Cascade vertices
   
diff --git a/STEER/AliESDCaloTrack.cxx b/STEER/AliESDCaloTrack.cxx
new file mode 100644 (file)
index 0000000..7992644
--- /dev/null
@@ -0,0 +1,4 @@
+#include "AliESDCaloTrack.h"
+
+ClassImp(AliESDCaloTrack)
+
diff --git a/STEER/AliESDCaloTrack.h b/STEER/AliESDCaloTrack.h
new file mode 100644 (file)
index 0000000..b983b0f
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef ALIESDCALOTRACK_H
+#define ALIESDCALOTRACK_H
+
+#include "TObject.h"
+
+class AliESDCaloTrack : public TObject {
+  ClassDef(AliESDCaloTrack,1)  //ESD calorimeter track class 
+};
+
+#endif 
diff --git a/STEER/AliESDMuonTrack.cxx b/STEER/AliESDMuonTrack.cxx
new file mode 100644 (file)
index 0000000..e9b970b
--- /dev/null
@@ -0,0 +1,4 @@
+#include "AliESDMuonTrack.h"
+
+ClassImp(AliESDMuonTrack)
+
diff --git a/STEER/AliESDMuonTrack.h b/STEER/AliESDMuonTrack.h
new file mode 100644 (file)
index 0000000..18d872a
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef ALIESDMUONTRACK_H
+#define ALIESDMUONTRACK_H
+
+#include "TObject.h"
+
+class AliESDMuonTrack : public TObject {
+  ClassDef(AliESDMuonTrack,1)  //MUON ESD track class 
+};
+
+#endif 
index 60076dd448ea02e1bb01b7a83fd3cc76b29b0b4e..6fbe66e8a6ac5844bdc1cf9efa14b4dfb50ae566 100644 (file)
@@ -130,7 +130,17 @@ Bool_t AliESDtrack::UpdateTrackParams(AliKalmanTrack *t, ULong_t flags) {
     else fR[3]=1.;}                 //
     break;
 
-  case kTRDin: case kTRDout: case kTRDrefit:
+  case kTRDout:
+    { //requested by the PHOS  ("temporary solution")
+      Double_t r=474.;
+      t->PropagateTo(r,30.,0.);  
+      fOalpha=fRalpha;
+      fOx=fRx;
+      Int_t i;
+      for (i=0; i<5; i++) fOp[i]=fRp[i];
+      for (i=0; i<15;i++) fOc[i]=fRc[i];
+    }
+  case kTRDin: case kTRDrefit:
     fTRDncls=t->GetNumberOfClusters();
     fTRDchi2=t->GetChi2();
     for (Int_t i=0;i<fTRDncls;i++) fTRDindex[i]=t->GetClusterIndex(i);
@@ -201,6 +211,26 @@ void AliESDtrack::GetInnerXYZ(Double_t *xyz) const {
   xyz[0]=r*TMath::Cos(phi); xyz[1]=r*TMath::Sin(phi); xyz[2]=fIp[1]; 
 }
 
+void AliESDtrack::GetOuterPxPyPz(Double_t *p) const {
+  //---------------------------------------------------------------------
+  // This function returns the global track momentum components
+  // af the radius of the PHOS
+  //---------------------------------------------------------------------
+  Double_t phi=TMath::ASin(fOp[2]) + fOalpha;
+  Double_t pt=1./TMath::Abs(fOp[4]);
+  p[0]=pt*TMath::Cos(phi); p[1]=pt*TMath::Sin(phi); p[2]=pt*fOp[3]; 
+}
+
+void AliESDtrack::GetOuterXYZ(Double_t *xyz) const {
+  //---------------------------------------------------------------------
+  // This function returns the global track position
+  // af the radius of the PHOS
+  //---------------------------------------------------------------------
+  Double_t phi=TMath::ATan2(fOp[0],fOx) + fOalpha;
+  Double_t r=TMath::Sqrt(fOx*fOx + fOp[0]*fOp[0]);
+  xyz[0]=r*TMath::Cos(phi); xyz[1]=r*TMath::Sin(phi); xyz[2]=fOp[1]; 
+}
+
 //_______________________________________________________________________
 void AliESDtrack::GetExternalCovariance(Double_t c[15]) const {
   //---------------------------------------------------------------------
index 79e1de9131a65dbbea871ebb27139a1b6815aa1f..3b57394ec0f1eec50812893d83ed2d64a2d576f6 100644 (file)
@@ -40,6 +40,9 @@ public:
   void GetInnerPxPyPz(Double_t *p) const;
   void GetInnerXYZ(Double_t *r) const;
 
+  void GetOuterPxPyPz(Double_t *p) const;
+  void GetOuterXYZ(Double_t *r) const;
+
   void SetTPCpid(const Double_t *p);
   void GetTPCpid(Double_t *p) const;
   Float_t GetTPCsignal() const {return fTPCsignal;}
@@ -90,11 +93,11 @@ protected:
   Double_t fRp[5];   // external track parameters  
   Double_t fRc[15];  // external cov. matrix of the track parameters
 
-//Track parameters at the innermost measured point in the TPC
+//Track parameters at the inner wall of the TPC
   Double_t fIalpha,fIx,fIp[5],fIc[15];
 
-//Track parameters at the outermost measured point
-  //Double_t fOalpha,fOx,fOp[5],fOc[15];
+//Track parameters at the radius of the PHOS
+  Double_t fOalpha,fOx,fOp[5],fOc[15];
 
   // ITS related track information
   Float_t fITSchi2;        // chi2 in the ITS
index 0ee5cb5f841b1ef1e182f2744ccc317805803d0a..24b4e174ecc4f8bc697064ca9130a41aff830a29 100644 (file)
@@ -10,8 +10,6 @@
  
 #pragma link C++ global gAlice;
 #pragma link C++ global gMC;
-#pragma link C++ global kAliDetMax;
-#pragma link C++ global kAliDetAll;
  
 #pragma link C++ enum VertexSmear_t;
 #pragma link C++ enum VertexSource_t;
@@ -67,6 +65,8 @@
 #pragma link C++ class  AliTrackReference+;
 #pragma link C++ class  AliESD+;
 #pragma link C++ class  AliESDtrack+;
+#pragma link C++ class  AliESDCaloTrack+;
+#pragma link C++ class  AliESDMuonTrack+;
 #pragma link C++ class  AliESDv0+;
 #pragma link C++ class  AliESDcascade+;
 #pragma link C++ class  AliESDvertex+;
@@ -77,7 +77,6 @@
 #pragma link C++ class  AliMemoryWatcher+;
 #pragma link C++ class  AliBarrelTrack+;
 #pragma link C++ class  AliMC+;
-#pragma link C++ class  AliSimulation+;
 #endif
 
 
index d5767b8e2276994e03f4962c9340b9da1fcce04e..3c022fe2741d9b4e4072f837b7b19184f678cd5d 100644 (file)
@@ -16,8 +16,8 @@ AliMergeCombi.cxx AliMagFMaps.cxx AliFieldMap.cxx \
 AliGausCorr.cxx AliTrackReference.cxx AliESD.cxx \
 AliTrackMap.cxx AliTrackMapper.cxx AliCollisionGeometry.cxx \
 AliMemoryWatcher.cxx AliBarrelTrack.cxx \
-AliESDtrack.cxx AliESDv0.cxx AliESDcascade.cxx AliESDvertex.cxx AliESDpid.cxx \
-AliMC.cxx AliSimulation.cxx
+AliESDtrack.cxx AliESDCaloTrack.cxx AliESDMuonTrack.cxx AliESDv0.cxx AliESDcascade.cxx AliESDvertex.cxx AliESDpid.cxx \
+AliMC.cxx
 HDRS:= $(SRCS:.cxx=.h) 
 
 DHDR= STEERLinkDef.h