]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
fake rate calculation (Monika)
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 14 Sep 2012 09:57:29 +0000 (09:57 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 14 Sep 2012 09:57:29 +0000 (09:57 +0000)
skip events for which kine info is not filled

PWGCF/Correlations/Base/AliUEHist.cxx
PWGCF/Correlations/Base/AliUEHist.h
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.cxx

index 03363d646f85dd9e6734fbc20264c1383f17a4b7..782b3f8fb76d248b5300555892af77008f414986 100644 (file)
@@ -2187,6 +2187,11 @@ TH1D* AliUEHist::GetTrackingEfficiency(Int_t axis)
   return dynamic_cast<TH1D*> (GetTrackEfficiency(kCFStepAnaTopology, kCFStepTrackedOnlyPrim, axis));
 }
 
+//____________________________________________________________________
+TH1D* AliUEHist::GetFakeRate(Int_t axis)
+{
+  return dynamic_cast<TH1D*> (GetTrackEfficiency(kCFStepTracked, kCFStepReconstructed, axis));
+}
 //____________________________________________________________________
 TH2D* AliUEHist::GetTrackingCorrection()
 {
index 62e399fa635cb11edd0423add624ce69ad314c50..086ae962ffa84ecfd65ea291e8edd28f73878cb4 100644 (file)
@@ -69,6 +69,7 @@ class AliUEHist : public TObject
   TH2D* GetTrackingEfficiencyCentrality();
   
   TH2D* GetFakeRate();
+  TH1D* GetFakeRate(Int_t axis);
 
   TH1D* GetTrackingContamination(Int_t axis);
   TH2D* GetTrackingContamination();
index c5bdd0d8610c6855419950ea0c1ea41a2495ffa6..9d004e87be7edc9cbd3b9e4db32c2d5a0e8bf1e5 100644 (file)
@@ -439,7 +439,13 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseCorrectionMode()
     }
     
     if (!eventHeader)
-      AliFatal("First event header not found");
+    {
+      // We avoid AliFatal here, because the AOD productions sometimes have events where the MC header is missing 
+      // (due to unreadable Kinematics) and we don't want to loose the whole job because of a few events
+      AliError("First event header not found. Skipping this event.");
+      fHistos->FillEvent(centrality, AliUEHist::kCFStepAnaTopology);
+      return;
+    }
     
     skipParticlesAbove = eventHeader->NProduced();
     AliInfo(Form("Injected signals in this event (%d headers). Keeping events of %s. Will skip particles/tracks above %d.", headers, eventHeader->ClassName(), skipParticlesAbove));
@@ -528,6 +534,11 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseCorrectionMode()
         delete allRecoTracksMatched;
       }
       TObjArray* fakeParticles = fAnalyseUE->GetFakeParticles(inputEvent, mc, kFALSE, -1, kTRUE);
+      if (fInjectedSignals)
+      {
+       fAnalyseUE->RemoveInjectedSignals((TObjArray*) fakeParticles->At(0), mc, skipParticlesAbove);
+       fAnalyseUE->RemoveInjectedSignals((TObjArray*) fakeParticles->At(1), mc, skipParticlesAbove);
+      }
       fHistos->FillTrackingEfficiency(0, 0, 0, (TObjArray*) fakeParticles->At(2), -1, centrality);
       fHistos->FillFakePt(fakeParticles, centrality);
       delete fakeParticles;