]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
ZNA centr selection & bug fix
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Oct 2012 09:47:29 +0000 (09:47 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Oct 2012 09:47:29 +0000 (09:47 +0000)
PWGCF/Correlations/Base/AliAnalyseLeadingTrackUE.cxx
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.cxx

index a8851ceac793cacefc0b4697a69730283d33e794..66ad6bb313d32a3d37f18a70d4c0edcde6b3bf2c 100644 (file)
@@ -362,13 +362,26 @@ TObjArray* AliAnalyseLeadingTrackUE::GetFakeParticles(TObject* obj, TObject* arr
     Int_t label = partReconstructed->GetLabel();
     if (label == 0)
     {
+      /*
+      Printf(">>> TPC only track:");
+      partReconstructed->Print();
+      partReconstructed->Dump();
+      Printf(">>> Global track:");
+      ((AliESDEvent*) obj)->GetTrack(ipart)->Dump();
+      Printf("Fake (TPC only): eta = %f, phi = %f, pT = %f, ncl = %d, dedx = %f", partReconstructed->Eta(), partReconstructed->Phi(), partReconstructed->Pt(), ((AliESDtrack*) partReconstructed)->GetTPCclusters(0), ((AliESDtrack*) partReconstructed)->GetTPCsignal());
+      Printf("Fake (global  ): eta = %f, phi = %f, pT = %f, ncl = %d, dedx = %f", ((AliESDEvent*) obj)->GetTrack(ipart)->Eta(), ((AliESDEvent*) obj)->GetTrack(ipart)->Phi(), ((AliESDEvent*) obj)->GetTrack(ipart)->Pt(), ((AliESDEvent*) obj)->GetTrack(ipart)->GetTPCclusters(0), ((AliESDEvent*) obj)->GetTrack(ipart)->GetTPCsignal());
+      */
       tracksFake->AddLast(partReconstructed);
       continue;
     }
-    if (hasOwnership)
-      delete partReconstructed;
+
     AliVParticle* partOriginal = ParticleWithCuts(arrayMC, TMath::Abs(label),onlyprimaries, particleSpecies);
-    if (!partOriginal)continue;
+    if (!partOriginal)
+    {
+      if (hasOwnership)
+       delete partReconstructed;
+      continue;
+    }
 
     tracksReconstructed->AddLast(partReconstructed);
     tracksOriginal->AddLast(partOriginal);
index e2fad594fbefc5f73477b1746ebcbab6c99222a2..e56b1459ff06e5186de262363f245e00f057899f 100644 (file)
@@ -50,6 +50,8 @@
 
 #include "AliEventPoolManager.h"
 
+#include "AliESDZDC.h"
+
 
 ////////////////////////////////////////////////////////////////////////
 //
@@ -541,7 +543,7 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseCorrectionMode()
       }
       fHistos->FillTrackingEfficiency(0, 0, 0, (TObjArray*) fakeParticles->At(2), -1, centrality);
       fHistos->FillFakePt(fakeParticles, centrality);
-      Printf(">>>>> %d fakes", ((TObjArray*) fakeParticles->At(2))->GetEntriesFast());
+//       Printf(">>>>> %d %d %d fakes", ((TObjArray*) fakeParticles->At(0))->GetEntriesFast(), ((TObjArray*) fakeParticles->At(1))->GetEntriesFast(), ((TObjArray*) fakeParticles->At(2))->GetEntriesFast());
       delete fakeParticles;
     
       // (MC-true all particles)
@@ -674,7 +676,7 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseDataMode()
     return;
     
   // skip not selected events here (the AOD is not updated for those)
-  if (!(fInputHandler->IsEventSelected() & fSelectBit))
+  if (!fSkipTrigger && !(fInputHandler->IsEventSelected() & fSelectBit))
     return;
 
   Double_t centrality = 0;
@@ -682,31 +684,45 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseDataMode()
   AliCentrality *centralityObj = 0;
   if (fCentralityMethod.Length() > 0)
   {
-    if (fAOD)
-      centralityObj = fAOD->GetHeader()->GetCentralityP();
-    else if (fESD)
-      centralityObj = fESD->GetCentrality();
-    
-    if (centralityObj)
-      centrality = centralityObj->GetCentralityPercentile(fCentralityMethod);
-      //centrality = centralityObj->GetCentralityPercentileUnchecked(fCentralityMethod);
+    if (fCentralityMethod == "ZNA_MANUAL")
+    {
+      // code from Chiara O (23.10.12)
+      const Double_t *fZNAtower = fESD->GetZDCData()->GetZN2TowerEnergy();
+      Float_t znacut[3] = {680., 562., 412.};
+
+      if(fZNAtower[0]>znacut[0]) centrality = 1;
+      else if(fZNAtower[0]<=znacut[0] && fZNAtower[0]>znacut[1]) centrality = 21;
+      else if(fZNAtower[0]<=znacut[1] && fZNAtower[0]>znacut[2]) centrality = 41;
+      else if(fZNAtower[0]<=znacut[2]) centrality = 61;
+    }
     else
-      centrality = -1;
-
-    if (fAOD)
     {
-      // remove outliers
-      if (centrality == 0)
+      if (fAOD)
+       centralityObj = fAOD->GetHeader()->GetCentralityP();
+      else if (fESD)
+       centralityObj = fESD->GetCentrality();
+      
+      if (centralityObj)
+       centrality = centralityObj->GetCentralityPercentile(fCentralityMethod);
+       //centrality = centralityObj->GetCentralityPercentileUnchecked(fCentralityMethod);
+      else
+       centrality = -1;
+
+      if (fAOD)
       {
-       if (fAOD->GetVZEROData())
+       // remove outliers
+       if (centrality == 0)
        {
-         Float_t multV0 = 0;
-         for (Int_t i=0; i<64; i++)
-           multV0 += fAOD->GetVZEROData()->GetMultiplicity(i);
-         if (multV0 < 19500)
+         if (fAOD->GetVZEROData())
          {
-           centrality = -1;
-           AliInfo("Rejecting event due to too small V0 multiplicity");
+           Float_t multV0 = 0;
+           for (Int_t i=0; i<64; i++)
+             multV0 += fAOD->GetVZEROData()->GetMultiplicity(i);
+           if (multV0 < 19500)
+           {
+             centrality = -1;
+             AliInfo("Rejecting event due to too small V0 multiplicity");
+           }
          }
        }
       }
@@ -728,7 +744,7 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseDataMode()
   fHistos->FillEvent(centrality, AliUEHist::kCFStepAll);
   
   // Trigger selection ************************************************
-  if (!fAnalyseUE->TriggerSelection(fInputHandler)) return;
+  if (!fSkipTrigger && !fAnalyseUE->TriggerSelection(fInputHandler)) return;
   
   // Fill the "event-counting-container", it is needed to get the number of events remaining after each event-selection cut
   fHistos->FillEvent(centrality, AliUEHist::kCFStepTriggered);