]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliHFEextraEventCuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEextraEventCuts.h
index 1fceb42214a03374f88996fe5c0218d67c3a2391..ddb28d546a6303097a69d74eeeabf706e0f5d40c 100644 (file)
@@ -27,6 +27,9 @@
 #include "AliCFCutBase.h"
 class TH1F;
 class TBits;
+class AliVVertex;
+class AliVEvent;
+class AliAnalysisUtils;
 //_____________________________________________________________________________
 class AliHFEextraEventCuts: public AliCFCutBase 
 {
@@ -46,6 +49,8 @@ class AliHFEextraEventCuts: public AliCFCutBase
   void SetUseMixedVertex() {fVtxMixed=kTRUE; fVtxSPD=kFALSE;} //default is vertex from tracks
   void SetUseSPDVertex() {fVtxSPD=kTRUE; fVtxMixed=kFALSE;} //default is vertex from tracks
   void SetCheckCorrelationSPDVtx() {fCheckCorrelationSPDVtx=kTRUE;} // check the correlation between z of different vertices
+  void SetCheckSPDResolution() {fVtxResolution = kTRUE;} // check resolution on the SPD vertex
+  void SetpAPileupCut() { fPApileupCut = kTRUE; } 
  
   Bool_t   GetRequireVtxCuts() const {return fRequireVtxCuts;} // cut value getter
   Double_t GetVertexZMax() const {return fVtxZMax;} // cut values getter
@@ -57,6 +62,9 @@ class AliHFEextraEventCuts: public AliCFCutBase
   void SetHistogramBins(Int_t index, Int_t nbins, Double_t xmin, Double_t xmax);
   enum{kVtxPosZ,
        kVtxNCtrb,
+       kCorrelation,
+       kResolution,
+       kpApileup,
        kNCuts,
        kNStepQA=2
   };
@@ -67,14 +75,19 @@ class AliHFEextraEventCuts: public AliCFCutBase
   void DefineHistograms();             // books histograms 
   void Initialise();                   // sets everything to 0
   void FillHistograms(TObject* obj, Bool_t b);
+  const AliVVertex *GetPrimaryVertexSPD(const AliVEvent * const inputEvent);
+  const AliVVertex *GetPrimaryVertexTracks(const AliVEvent *const inputEvent);
 
-  Bool_t fRequireVtxCuts ; //The type of trigger to be checked
-  Double_t fVtxZMax ; //Z vertex position, maximum value
-  Double_t fVtxZMin ; //Z vertex position, minimum value
-  Int_t    fVtxNCtrbMin; //Min number of contributors to vertex
-  Bool_t   fVtxMixed;  //Flag for use of mixed vertex (primary vertex with track, if not SPD vertex)
-  Bool_t   fVtxSPD;    //Flag for use of SPD vertex 
-  Bool_t   fCheckCorrelationSPDVtx;   //Check the correlation SPD, track vertex
+  AliAnalysisUtils *fAnalysisUtils;     // Analysis Utils for pA pileup cut
+  Bool_t fRequireVtxCuts ;              // The type of trigger to be checked
+  Double_t fVtxZMax ;                   // Z vertex position, maximum value
+  Double_t fVtxZMin ;                   // Z vertex position, minimum value
+  Int_t    fVtxNCtrbMin;                // Min number of contributors to vertex
+  Bool_t   fVtxMixed;                   // Flag for use of mixed vertex (primary vertex with track, if not SPD vertex)
+  Bool_t   fVtxSPD;                     // Flag for use of SPD vertex 
+  Bool_t   fCheckCorrelationSPDVtx;     // Check the correlation SPD, track vertex
+  Bool_t   fVtxResolution;              // Check vertex resolution cut
+  Bool_t   fPApileupCut;                // Apply pA-pileup cut
  
   TBits *fBitMap ; //cut mask