]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Implementation of track length in AOD
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 4 Apr 2013 13:18:57 +0000 (13:18 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 4 Apr 2013 13:18:57 +0000 (13:18 +0000)
Pietro Antonioli <pietro.antonioli@bo.infn.it>

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

index 3c6cd9dcd9d535a9f25cca058ff87d188f4dd567..52f8fc93216fddf2184d7979ea7829d27f799a87 100644 (file)
@@ -594,6 +594,7 @@ void AliAnalysisTaskESDfilter::ConvertCascades(const AliESDEvent& esd)
            aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeBach));
            aodTrack->SetTPCPointsF(esdCascadeBach->GetTPCNclsF());
            aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadeBach->GetTPCCrossedRows()));
+           aodTrack->SetIntegratedLength(esdCascadeBach->GetIntegratedLength());
            fAODTrackRefs->AddAt(aodTrack,idxBachFromCascade);
            
            if (esdCascadeBach->GetSign() > 0) ++fNumberOfPositiveTracks;
@@ -680,6 +681,7 @@ void AliAnalysisTaskESDfilter::ConvertCascades(const AliESDEvent& esd)
         aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadePos));
        aodTrack->SetTPCPointsF(esdCascadePos->GetTPCNclsF());
        aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadePos->GetTPCCrossedRows()));
+       aodTrack->SetIntegratedLength(esdCascadePos->GetIntegratedLength());
         fAODTrackRefs->AddAt(aodTrack,idxPosFromV0Dghter);
         
         if (esdCascadePos->GetSign() > 0) ++fNumberOfPositiveTracks;
@@ -728,6 +730,7 @@ void AliAnalysisTaskESDfilter::ConvertCascades(const AliESDEvent& esd)
         aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeNeg));
        aodTrack->SetTPCPointsF(esdCascadeNeg->GetTPCNclsF());
        aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadeNeg->GetTPCCrossedRows()));
+       aodTrack->SetIntegratedLength(esdCascadeNeg->GetIntegratedLength());
         fAODTrackRefs->AddAt(aodTrack,idxNegFromV0Dghter);
         
         if (esdCascadeNeg->GetSign() > 0) ++fNumberOfPositiveTracks;
@@ -972,6 +975,7 @@ void AliAnalysisTaskESDfilter::ConvertV0s(const AliESDEvent& esd)
            aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Pos));
            aodTrack->SetTPCPointsF(esdV0Pos->GetTPCNclsF());
            aodTrack->SetTPCNCrossedRows(UShort_t(esdV0Pos->GetTPCCrossedRows()));
+           aodTrack->SetIntegratedLength(esdV0Pos->GetIntegratedLength());
            fAODTrackRefs->AddAt(aodTrack,posFromV0);
            //      if (fDebug > 0) printf("-------------------Bo: pos track from original pt %.3f \n",aodTrack->Pt());
            if (esdV0Pos->GetSign() > 0) ++fNumberOfPositiveTracks;
@@ -1018,7 +1022,7 @@ void AliAnalysisTaskESDfilter::ConvertV0s(const AliESDEvent& esd)
            aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Neg));
            aodTrack->SetTPCPointsF(esdV0Neg->GetTPCNclsF());
            aodTrack->SetTPCNCrossedRows(UShort_t(esdV0Neg->GetTPCCrossedRows()));
-           
+           aodTrack->SetIntegratedLength(esdV0Neg->GetIntegratedLength());
            fAODTrackRefs->AddAt(aodTrack,negFromV0);
            //      if (fDebug > 0) printf("-------------------Bo: neg track from original pt %.3f \n",aodTrack->Pt());
            if (esdV0Neg->GetSign() > 0) ++fNumberOfPositiveTracks;
@@ -1227,6 +1231,7 @@ void AliAnalysisTaskESDfilter::ConvertTPCOnlyTracks(const AliESDEvent& esd)
     aodTrack->SetFlags(track->GetStatus());
     aodTrack->SetTPCPointsF(track->GetTPCNclsF());
     aodTrack->SetTPCNCrossedRows(UShort_t(track->GetTPCCrossedRows()));
+    aodTrack->SetIntegratedLength(track->GetIntegratedLength());
 
     //Perform progagation of tracks if needed
     if(fDoPropagateTrackToEMCal) PropagateTrackToEMCal(esdTrack);
@@ -1374,6 +1379,7 @@ void AliAnalysisTaskESDfilter::ConvertGlobalConstrainedTracks(const AliESDEvent&
     aodTrack->SetFlags(esdTrack->GetStatus());
     aodTrack->SetTPCPointsF(esdTrack->GetTPCNclsF());
     aodTrack->SetTPCNCrossedRows(UShort_t(esdTrack->GetTPCCrossedRows()));
+    aodTrack->SetIntegratedLength(esdTrack->GetIntegratedLength());
 
     if(isHybridGC){
       // only copy AOD information for hybrid, no duplicate information
@@ -1448,6 +1454,7 @@ void AliAnalysisTaskESDfilter::ConvertTracks(const AliESDEvent& esd)
     aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));
     aodTrack->SetTPCPointsF(esdTrack->GetTPCNclsF());
     aodTrack->SetTPCNCrossedRows(UShort_t(esdTrack->GetTPCCrossedRows()));
+    aodTrack->SetIntegratedLength(esdTrack->GetIntegratedLength());
     if(esdTrack->IsEMCAL()) aodTrack->SetEMCALcluster(esdTrack->GetEMCALcluster());
     if(esdTrack->IsPHOS())  aodTrack->SetPHOScluster(esdTrack->GetPHOScluster());
 
@@ -1828,6 +1835,7 @@ void AliAnalysisTaskESDfilter::ConvertKinks(const AliESDEvent& esd)
             mother->SetChi2perNDF(Chi2perNDF(esdTrackM));
             mother->SetTPCPointsF(esdTrackM->GetTPCNclsF());
            mother->SetTPCNCrossedRows(UShort_t(esdTrackM->GetTPCCrossedRows()));
+           mother->SetIntegratedLength(esdTrackM->GetIntegratedLength());
 
             fAODTrackRefs->AddAt(mother, imother);
             
@@ -1893,6 +1901,7 @@ void AliAnalysisTaskESDfilter::ConvertKinks(const AliESDEvent& esd)
             daughter->SetTPCSharedMap (esdTrackD->GetTPCSharedMap());
            daughter->SetTPCPointsF(esdTrackD->GetTPCNclsF());
            daughter->SetTPCNCrossedRows(UShort_t(esdTrackD->GetTPCCrossedRows()));
+           daughter->SetIntegratedLength(esdTrackD->GetIntegratedLength());
             fAODTrackRefs->AddAt(daughter, idaughter);
             
             if (esdTrackD->GetSign() > 0) ++fNumberOfPositiveTracks;
index 11de9d15700c03473efe72e07c46a68681c82775..0fab45e8c4ccded11050f6fa9ffd35d99ce37086 100644 (file)
@@ -42,6 +42,7 @@ AliAODTrack::AliAODTrack() :
   fFlags(0),
   fLabel(-999),
   fTOFLabel(),
+  fTrackLength(0),
   fITSMuonClusterMap(0),
   fMUONtrigHitsMapTrg(0),
   fMUONtrigHitsMapTrk(0),
@@ -99,6 +100,7 @@ AliAODTrack::AliAODTrack(Short_t id,
   fFlags(0),
   fLabel(label),
   fTOFLabel(),
+  fTrackLength(0),
   fITSMuonClusterMap(0),
   fMUONtrigHitsMapTrg(0),
   fMUONtrigHitsMapTrk(0),
@@ -160,6 +162,7 @@ AliAODTrack::AliAODTrack(Short_t id,
   fFlags(0),
   fLabel(label),
   fTOFLabel(),
+  fTrackLength(0),
   fITSMuonClusterMap(0),
   fMUONtrigHitsMapTrg(0),
   fMUONtrigHitsMapTrk(0),
@@ -216,6 +219,7 @@ AliAODTrack::AliAODTrack(const AliAODTrack& trk) :
   fFlags(trk.fFlags),
   fLabel(trk.fLabel),
   fTOFLabel(),
+  fTrackLength(trk.fTrackLength),
   fITSMuonClusterMap(trk.fITSMuonClusterMap),
   fMUONtrigHitsMapTrg(trk.fMUONtrigHitsMapTrg),
   fMUONtrigHitsMapTrk(trk.fMUONtrigHitsMapTrk),
@@ -272,6 +276,7 @@ AliAODTrack& AliAODTrack::operator=(const AliAODTrack& trk)
     trk.GetPID(fPID);
     fFlags             = trk.fFlags;
     fLabel             = trk.fLabel;    
+    fTrackLength       = trk.fTrackLength;
     fITSMuonClusterMap = trk.fITSMuonClusterMap;
     fMUONtrigHitsMapTrg = trk.fMUONtrigHitsMapTrg;
     fMUONtrigHitsMapTrk = trk.fMUONtrigHitsMapTrk;
index 98d7d40d2b0bf08e7ed23742fe673de1d54845a9..3f0f0c20447d884c3d2bf7303044e72dd41e54cd 100644 (file)
@@ -295,6 +295,8 @@ class AliAODTrack : public AliVTrack {
   virtual AliTPCdEdxInfo* GetTPCdEdxInfo() const {return fDetPid?fDetPid->GetTPCdEdxInfo():0;}
   Double_t  GetTPCmomentum()     const { return fDetPid?fDetPid->GetTPCmomentum():0.;  }
   Double_t  GetTOFsignal()       const { return fDetPid?fDetPid->GetTOFsignal():0.;    }
+  Double_t  GetIntegratedLength() const { return fTrackLength;}
+  void      SetIntegratedLength(Double_t l) {fTrackLength = l;}
   Double_t  GetTOFsignalTunedOnData() const { return fTOFsignalTuned;}
   void      SetTOFsignalTunedOnData(Double_t signal) {fTOFsignalTuned = signal;}
   Double_t  GetHMPIDsignal()     const; 
@@ -419,7 +421,8 @@ class AliAODTrack : public AliVTrack {
 
   ULong_t       fFlags;             // reconstruction status flags 
   Int_t         fLabel;             // track label, points back to MC track
-  Int_t         fTOFLabel[3];       // TOF label   
+  Int_t         fTOFLabel[3];       // TOF label
+  Double32_t    fTrackLength;       // Track length
   UInt_t        fITSMuonClusterMap; // map of ITS and muon clusters, one bit per layer
                                     // (ITS: bit 1-8, muon trigger: bit 9-16, muon tracker: bit 17-26, muon match trigger: bit 31-32) 
   UInt_t        fMUONtrigHitsMapTrg; // Muon trigger hits map from trigger
@@ -454,7 +457,7 @@ class AliAODTrack : public AliVTrack {
 
   const AliAODEvent* fAODEvent;     //! 
 
-  ClassDef(AliAODTrack, 20);
+  ClassDef(AliAODTrack, 21);
 };
 
 inline Bool_t  AliAODTrack::IsPrimaryCandidate() const
index 711c0f67e337d9c4649447bedd4d4d4fbaafe2ff..64b19961e811c3187620512a7b4a61ee48ef276b 100644 (file)
@@ -107,7 +107,8 @@ public:
   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 Double_t  GetIntegratedLength() const { return 0.;}
+  
   virtual ULong_t  GetStatus() const = 0;
   virtual Bool_t   GetXYZ(Double_t *p) const = 0;
   virtual Bool_t   GetXYZAt(Double_t /*x*/, Double_t /*b*/, Double_t* /*r*/ ) const {return kFALSE;}