Changes form Antonio
authorhristov <Peter.Hristov@cern.ch>
Tue, 25 Feb 2014 09:08:30 +0000 (10:08 +0100)
committerhristov <Peter.Hristov@cern.ch>
Tue, 25 Feb 2014 09:08:30 +0000 (10:08 +0100)
PWG/muon/AliAnalysisTaskESDMuonFilter.cxx
STEER/ESD/AliESDMuonGlobalTrack.cxx
STEER/ESD/AliESDMuonGlobalTrack.h

index 2c6f4f6..e75eed2 100644 (file)
@@ -384,8 +384,8 @@ void AliAnalysisTaskESDMuonFilter::ConvertESDtoAOD()
   Int_t nMuonGlobalTrack[100];
   itsClusMap = 0;
   
-  for (Int_t iMuon=0; iMuon<100; iMuon++) nMuonGlobalTrack[iMuon]=0;    // position of the i-th muon track in the tracks array of the AOD event
-  
+  for (Int_t iMuon=0; iMuon<100; iMuon++) nMuonGlobalTrack[iMuon]=0;    // position of the i-th muon track in the tracks array of the AOD event  
+
   for (Int_t nMuTrack=0; nMuTrack<nMuGlobalTracks; ++nMuTrack) {
 
     esdMuGlobalTrack = esd->GetMuonGlobalTrack(nMuTrack);
@@ -396,10 +396,10 @@ void AliAnalysisTaskESDMuonFilter::ConvertESDtoAOD()
     
     // Track selection
     if (fTrackFilter) {
-       selectInfo = fTrackFilter->IsSelected(esdMuGlobalTrack);
-       if (!selectInfo) {
-         continue;
-       }  
+      selectInfo = fTrackFilter->IsSelected(esdMuGlobalTrack);
+      if (!selectInfo) {
+       continue;
+      }  
     }
     
     p[0] = esdMuGlobalTrack->Px(); 
@@ -419,17 +419,18 @@ void AliAnalysisTaskESDMuonFilter::ConvertESDtoAOD()
                                                   0x0,                             // covariance matrix
                                                   esdMuGlobalTrack->Charge(),      // charge
                                                   itsClusMap,                      // ITSClusterMap
-                                                  primary,                         // primary vertex
+                                                  primary,                         // origin vertex
                                                   kFALSE,                          // used for vertex fit?
                                                   kFALSE,                          // used for primary vertex fit?
                                                   AliAODTrack::kPrimary,           // track type
-                                                  selectInfo); 
-    
+                                                  selectInfo);
+
     Double_t xyAtVertex[2] = {0};
     esdMuGlobalTrack -> GetXYAtVertex(xyAtVertex);
     
     aodTrack->SetIsMuonGlobalTrack(kTRUE);
 
+    aodTrack->SetMFTClusterPattern(esdMuGlobalTrack->GetMFTClusterPattern());
     aodTrack->SetXYAtDCA(xyAtVertex[0], xyAtVertex[1]);
     aodTrack->SetPxPyPzAtDCA(p[0], p[1], p[2]);
     aodTrack->SetRAtAbsorberEnd(esdMuGlobalTrack->GetRAtAbsorberEnd());
@@ -453,7 +454,7 @@ void AliAnalysisTaskESDMuonFilter::ConvertESDtoAOD()
     nMuonGlobalTrack[nGlobalMuons] = jTracks-1;
     ++nGlobalMuons;
   }
-  
+
   if (nGlobalMuons >= 2) { 
     for (Int_t i=0; i<nGlobalMuons; i++) {
       Int_t index0 = nMuonGlobalTrack[i];
index 93acbc6..a2ee2b8 100644 (file)
@@ -66,6 +66,10 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack():
 
   //  Default constructor
 
+  fProdVertexXYZ[0]=0;
+  fProdVertexXYZ[1]=0;
+  fProdVertexXYZ[2]=0;
+
 }
 
 //====================================================================================================================================================
@@ -105,6 +109,10 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(Double_t px, Double_t py, Double_t
 
   SetPxPyPz(px, py, pz);
 
+  fProdVertexXYZ[0]=0;
+  fProdVertexXYZ[1]=0;
+  fProdVertexXYZ[2]=0;
+
 }
 
 //====================================================================================================================================================
@@ -142,6 +150,10 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(const AliESDMuonGlobalTrack& muonTr
 
   // Copy constructor
   
+  fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+  fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+  fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
 }
 
 //====================================================================================================================================================
@@ -183,6 +195,10 @@ AliESDMuonGlobalTrack& AliESDMuonGlobalTrack::operator=(const AliESDMuonGlobalTr
   fIsConnected            = muonTrack.fIsConnected;
   fESDEvent               = muonTrack.fESDEvent;
 
+  fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+  fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+  fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
   return *this;
 
 }
index dd1fa4d..109cd80 100644 (file)
@@ -17,6 +17,8 @@
 #include "TDatabasePDG.h"
 #include "TArrayI.h"
 #include "TLorentzVector.h"
+#include "AliESDVertex.h"
+#include "TRef.h"
 
 #include "AliVParticle.h"
 
@@ -123,6 +125,9 @@ public:
   // Return the corresponding MC track number
   Int_t GetLabel() const { return fLabel; }
 
+  void SetProdVertexXYZ(Double_t x, Double_t y, Double_t z) { fProdVertexXYZ[0]=x; fProdVertexXYZ[1]=y; fProdVertexXYZ[2]=z; }
+  void GetProdVertexXYZ(Double_t *vertex) { vertex[0]=fProdVertexXYZ[0]; vertex[1]=fProdVertexXYZ[1]; vertex[2]=fProdVertexXYZ[2]; }
+
   AliESDEvent* GetESDEvent() const { return fESDEvent; }
   void         SetESDEvent(AliESDEvent* evt) { fESDEvent = evt; }  
   
@@ -154,9 +159,11 @@ protected:
   Int_t    fLoCircuit;
   Bool_t   fIsConnected;
   
+  Double_t fProdVertexXYZ[3];       // vertex of origin
+
   AliESDEvent *fESDEvent;           //! Pointer back to event to which the track belongs
   
-  ClassDef(AliESDMuonGlobalTrack,2) // MUON+MFT ESD track class 
+  ClassDef(AliESDMuonGlobalTrack,3) // MUON+MFT ESD track class 
 
 };