]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
adding optional checks on 1st event in chunk and pileup events (MW)
authormiweber <miweber@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 May 2013 16:34:36 +0000 (16:34 +0000)
committermiweber <miweber@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 May 2013 16:34:36 +0000 (16:34 +0000)
PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskBFPsi.cxx
PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskBFPsi.h

index c7049b2f2c95243ddf0164f5a7b0fc8011e03ec5..7a615da6b80c79b0faa4269e318063fede0b1bc3 100755 (executable)
@@ -31,6 +31,7 @@
 #include "AliEventplane.h"\r
 #include "AliTHn.h"    \r
 #include "AliLog.h"\r
+#include "AliAnalysisUtils.h"\r
 \r
 #include "AliEventPoolManager.h"           \r
 \r
@@ -128,6 +129,8 @@ AliAnalysisTaskBFPsi::AliAnalysisTaskBFPsi(const char *name)
   fNumberOfAcceptedTracksMax(10000),\r
   fHistNumberOfAcceptedTracks(0),\r
   fUseOfflineTrigger(kFALSE),\r
+  fCheckFirstEventInChunk(kFALSE),\r
+  fCheckPileUp(kFALSE),\r
   fVxMax(0.3),\r
   fVyMax(0.3),\r
   fVzMax(10.),\r
@@ -270,12 +273,12 @@ void AliAnalysisTaskBFPsi::UserCreateOutputObjects() {
   }\r
 \r
   //Event stats.\r
-  TString gCutName[5] = {"Total","Offline trigger",\r
-                         "Vertex","Analyzed","sel. Centrality"};\r
+  TString gCutName[7] = {"Total","Offline trigger",\r
+                         "Vertex","Analyzed","sel. Centrality","Not1stEvInChunk","No Pile-Up"};\r
   fHistEventStats = new TH2F("fHistEventStats",\r
                              "Event statistics;;Centrality percentile;N_{events}",\r
-                             5,0.5,5.5,220,-5,105);\r
-  for(Int_t i = 1; i <= 5; i++)\r
+                             7,0.5,7.5,220,-5,105);\r
+  for(Int_t i = 1; i <= 7; i++)\r
     fHistEventStats->GetXaxis()->SetBinLabel(i,gCutName[i-1].Data());\r
   fList->Add(fHistEventStats);\r
 \r
@@ -717,6 +720,24 @@ Double_t AliAnalysisTaskBFPsi::IsEventAccepted(AliVEvent *event){
 \r
   fHistEventStats->Fill(1,gCentrality); //all events\r
 \r
+  // check first event in chunk (is not needed for new reconstructions)\r
+  if(fCheckFirstEventInChunk){\r
+    AliAnalysisUtils ut;\r
+    if(ut.IsFirstEventInChunk(event)) \r
+      return -1.;\r
+    fHistEventStats->Fill(6,gCentrality); \r
+  }\r
+\r
+  // check for pile-up event\r
+  if(fCheckPileUp){\r
+    AliAnalysisUtils ut;\r
+    ut.SetUseMVPlpSelection(kTRUE);\r
+    ut.SetUseOutOfBunchPileUp(kTRUE);\r
+    if(ut.IsPileUpEvent(event))\r
+      return -1.;\r
+    fHistEventStats->Fill(7,gCentrality); \r
+  }\r
+\r
   // Event trigger bits\r
   fHistTriggerStats->Fill(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected());\r
   if(fUseOfflineTrigger)\r
index 453fb820d878d19fef7cae874288c212000902d5..eefd2b0a6244407add36a381c15b568427c4568f 100755 (executable)
@@ -123,7 +123,10 @@ class AliAnalysisTaskBFPsi : public AliAnalysisTaskSE {
     fNumberOfAcceptedTracksMin = min;\r
     fNumberOfAcceptedTracksMax = max;}\r
   \r
+  // additional event cuts (default = kFALSE)\r
   void UseOfflineTrigger() {fUseOfflineTrigger = kTRUE;}\r
+  void CheckFirstEventInChunk() {fCheckFirstEventInChunk = kTRUE;}\r
+  void CheckPileUp() {fCheckPileUp = kTRUE;}\r
   \r
   //Acceptance filter\r
   void SetAcceptanceParameterization(TF1 *parameterization) {\r
@@ -264,6 +267,8 @@ class AliAnalysisTaskBFPsi : public AliAnalysisTaskSE {
   TH2F *fHistNumberOfAcceptedTracks;//hisot to store the number of accepted tracks\r
 \r
   Bool_t fUseOfflineTrigger;//Usage of the offline trigger selection\r
+  Bool_t fCheckFirstEventInChunk;//Usage of the "First Event in Chunk" check (not needed for new productions)\r
+  Bool_t fCheckPileUp;//Usage of the "Pile-Up" event check\r
 \r
   Double_t fVxMax;//vxmax\r
   Double_t fVyMax;//vymax\r