ROOT logo
//
// Class AliRsnCutEventUtils
//
// It works with ESD and AOD events.
//
// authors: F. Bellini (fbellini@cern.ch)

#ifndef ALIRSNCUTEVENTUTILS_H
#define ALIRSNCUTEVENTUTILS_H

#include "AliRsnCut.h"

class AliVVertex;
class AliAnalysisUtils;

class AliRsnCutEventUtils : public AliRsnCut {
 public:

  AliRsnCutEventUtils(const char *name = "cutEventUtils", Bool_t rmFirstEvInChunck = kFALSE, Bool_t checkPileUppA2013 = kTRUE);
  AliRsnCutEventUtils(const AliRsnCutEventUtils &copy);
  AliRsnCutEventUtils &operator=(const AliRsnCutEventUtils &copy);
  virtual ~AliRsnCutEventUtils() {;};
  
  void           SetRemovePileUppA2013(Bool_t doit = kTRUE) {fCheckPileUppA2013 = doit;}
  void           SetRemoveFirstEvtInChunk(Bool_t doit = kTRUE) {fIsRmFirstEvInChunck = doit;}
  void           SetUseMVPlpSelection(Bool_t useMVPlpSelection = kFALSE) { fUseMVPlpSelection = useMVPlpSelection;}
  void           SetUseVertexSelection2013pA(Bool_t zvtxpA2013 = kTRUE)   {fUseVertexSelection2013pA = zvtxpA2013;}
  Bool_t         IsSelected(TObject *object);
  AliAnalysisUtils* GetAnalysisUtils() { return fUtils; }
  void           SetAnalysisUtils(AliAnalysisUtils* utils){ fUtils = utils; }
  void           SetMinPlpContribMV(Int_t minPlpContribMV) { fMinPlpContribMV = minPlpContribMV;}
  void           SetMinPlpContribSPD(Int_t minPlpContribSPD) { fMinPlpContribSPD = minPlpContribSPD;}

 private:
  
  Bool_t              fIsRmFirstEvInChunck; // if kTRUE, remove the first event in the chunk (pA2013)
  Bool_t              fCheckPileUppA2013; // check and reject pileupped events (pA2013)
  Bool_t              fUseMVPlpSelection; // check for pile-up from multiple vtx 
  Int_t               fMinPlpContribMV; // min. n. of MV pile-up contributors
  Int_t               fMinPlpContribSPD; // min. n. of pile-up contributors from SPD
  Bool_t              fUseVertexSelection2013pA;// check and reject vertex of events for pA2013
 
  AliAnalysisUtils  * fUtils; //pointer to the AliAnalysisUtils object

  ClassDef(AliRsnCutEventUtils, 2)
    
    };

#endif
 AliRsnCutEventUtils.h:1
 AliRsnCutEventUtils.h:2
 AliRsnCutEventUtils.h:3
 AliRsnCutEventUtils.h:4
 AliRsnCutEventUtils.h:5
 AliRsnCutEventUtils.h:6
 AliRsnCutEventUtils.h:7
 AliRsnCutEventUtils.h:8
 AliRsnCutEventUtils.h:9
 AliRsnCutEventUtils.h:10
 AliRsnCutEventUtils.h:11
 AliRsnCutEventUtils.h:12
 AliRsnCutEventUtils.h:13
 AliRsnCutEventUtils.h:14
 AliRsnCutEventUtils.h:15
 AliRsnCutEventUtils.h:16
 AliRsnCutEventUtils.h:17
 AliRsnCutEventUtils.h:18
 AliRsnCutEventUtils.h:19
 AliRsnCutEventUtils.h:20
 AliRsnCutEventUtils.h:21
 AliRsnCutEventUtils.h:22
 AliRsnCutEventUtils.h:23
 AliRsnCutEventUtils.h:24
 AliRsnCutEventUtils.h:25
 AliRsnCutEventUtils.h:26
 AliRsnCutEventUtils.h:27
 AliRsnCutEventUtils.h:28
 AliRsnCutEventUtils.h:29
 AliRsnCutEventUtils.h:30
 AliRsnCutEventUtils.h:31
 AliRsnCutEventUtils.h:32
 AliRsnCutEventUtils.h:33
 AliRsnCutEventUtils.h:34
 AliRsnCutEventUtils.h:35
 AliRsnCutEventUtils.h:36
 AliRsnCutEventUtils.h:37
 AliRsnCutEventUtils.h:38
 AliRsnCutEventUtils.h:39
 AliRsnCutEventUtils.h:40
 AliRsnCutEventUtils.h:41
 AliRsnCutEventUtils.h:42
 AliRsnCutEventUtils.h:43
 AliRsnCutEventUtils.h:44
 AliRsnCutEventUtils.h:45
 AliRsnCutEventUtils.h:46
 AliRsnCutEventUtils.h:47
 AliRsnCutEventUtils.h:48
 AliRsnCutEventUtils.h:49