]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fill Chi2perNDF (from TPC) for AliAODtrack
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Apr 2010 10:19:15 +0000 (10:19 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Apr 2010 10:19:15 +0000 (10:19 +0000)
ANALYSIS/AliAnalysisTaskESDfilter.cxx
ANALYSIS/AliAnalysisTaskESDfilter.h

index d7497661bd605898eb87c2bd0585fa478321a8e5..e446e7c89be323138bd57ca4a9c47881392260a8 100644 (file)
@@ -405,6 +405,7 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                          selectInfo);\r
            aodTrack->SetTPCClusterMap(esdCascadeBach->GetTPCClusterMap());\r
            aodTrack->SetTPCSharedMap (esdCascadeBach->GetTPCSharedMap());\r
+           aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeBach));\r
            aodTrackRefs->AddAt(aodTrack,idxBachFromCascade);\r
            \r
            if (esdCascadeBach->GetSign() > 0) nPosTracks++;\r
@@ -486,8 +487,9 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                                selectInfo);\r
                aodTrack->SetTPCClusterMap(esdCascadePos->GetTPCClusterMap());\r
                aodTrack->SetTPCSharedMap (esdCascadePos->GetTPCSharedMap());\r
+               aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadePos));\r
                aodTrackRefs->AddAt(aodTrack,idxPosFromV0Dghter);\r
-               \r
+\r
                if (esdCascadePos->GetSign() > 0) nPosTracks++;\r
                aodTrack->ConvertAliPIDtoAODPID();\r
                aodTrack->SetFlags(esdCascadePos->GetStatus());\r
@@ -530,6 +532,7 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                                selectInfo);\r
                aodTrack->SetTPCClusterMap(esdCascadeNeg->GetTPCClusterMap());\r
                aodTrack->SetTPCSharedMap (esdCascadeNeg->GetTPCSharedMap());\r
+               aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeNeg));\r
                aodTrackRefs->AddAt(aodTrack,idxNegFromV0Dghter);\r
                \r
                if (esdCascadeNeg->GetSign() > 0) nPosTracks++;\r
@@ -746,6 +749,7 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                          selectInfo);\r
            aodTrack->SetTPCClusterMap(esdV0Pos->GetTPCClusterMap());\r
            aodTrack->SetTPCSharedMap (esdV0Pos->GetTPCSharedMap());\r
+           aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Pos));\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
@@ -788,6 +792,7 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                          selectInfo);\r
            aodTrack->SetTPCClusterMap(esdV0Neg->GetTPCClusterMap());\r
            aodTrack->SetTPCSharedMap (esdV0Neg->GetTPCSharedMap());\r
+           aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Neg));\r
            \r
            aodTrackRefs->AddAt(aodTrack,negFromV0);\r
            //      if (fDebug > 0) printf("-------------------Bo: neg track from original pt %.3f \n",aodTrack->Pt());\r
@@ -921,6 +926,8 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                                                               selectInfo);\r
                        mother->SetTPCClusterMap(esdTrackM->GetTPCClusterMap());\r
                        mother->SetTPCSharedMap (esdTrackM->GetTPCSharedMap());\r
+                       mother->SetChi2perNDF(Chi2perNDF(esdTrackM));\r
+\r
                        aodTrackRefs->AddAt(mother, imother);\r
                        \r
                        if (esdTrackM->GetSign() > 0) nPosTracks++;\r
@@ -1041,6 +1048,8 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
                             );\r
        aodTrack->SetTPCClusterMap(esdTrack->GetTPCClusterMap());\r
        aodTrack->SetTPCSharedMap (esdTrack->GetTPCSharedMap());\r
+       aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));\r
+\r
        aodTrackRefs->AddAt(aodTrack, nTrack);\r
 \r
        \r
@@ -1296,6 +1305,20 @@ void AliAnalysisTaskESDfilter::SetDetectorRawSignals(AliAODPid *aodpid, AliESDtr
 \r
 }\r
 \r
+Double_t  AliAnalysisTaskESDfilter::Chi2perNDF(AliESDtrack* track)\r
+{\r
+    // Calculate chi2 per ndf for track\r
+    Int_t  nClustersTPC = track->GetTPCNcls();\r
+\r
+    if ( nClustersTPC > 5) {\r
+       return (track->GetTPCchi2()/Float_t(nClustersTPC - 5));\r
+    } else {\r
+       return (-1.);\r
+    }\r
+ }\r
+\r
+\r
+\r
 void AliAnalysisTaskESDfilter::Terminate(Option_t */*option*/)\r
 {\r
 // Terminate analysis\r
index 58b79c0cac13f47d134dd8f8f239a711a744d01a..97bcac882a4bf43cd7fac38fd4be4140514ceffa 100644 (file)
@@ -14,8 +14,7 @@
 #include "AliAODPid.h"
 class AliAnalysisFilter;
 class AliStack;
-
-
+class AliESDtrack;
 
 class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
 {
@@ -46,7 +45,8 @@ class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
     AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
     AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);
     void PrintMCInfo(AliStack *pStack,Int_t label); // for debugging
-
+    Double_t Chi2perNDF(AliESDtrack* track);
+    
     // Filtering
     AliAnalysisFilter* fTrackFilter;      //  Track   Filter
     AliAnalysisFilter* fKinkFilter;       //  Kink    Filter