]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronEventCuts.h
including add task macro and link/builder changes for libPWGGAEMCALTask
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronEventCuts.h
CommitLineData
2a14a7b1 1#ifndef ALIDIELECTRONEVENTCUTS_H
2#define ALIDIELECTRONEVENTCUTS_H
3
4/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//#############################################################
8//# #
9//# Class AliDielectronEventCuts #
10//# #
11//# Authors: #
12//# Anton Andronic, GSI / A.Andronic@gsi.de #
13//# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de #
14//# Julian Book, Uni Ffm / Julian.Book@cern.ch #
15//# Frederick Kramer, Uni Ffm, / Frederick.Kramer@cern.ch #
16//# Magnus Mager, CERN / Magnus.Mager@cern.ch #
17//# WooJin J. Park, GSI / W.J.Park@gsi.de #
18//# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
19//# #
20//#############################################################
21
22#include <AliAnalysisCuts.h>
23
24class AliTriggerAnalysis;
25class AliESDVertex;
26
27class AliDielectronEventCuts : public AliAnalysisCuts {
28public:
1201a1a9 29 enum EVtxType { kVtxTracks=0, kVtxSPD, kVtxTPC, kVtxAny, kVtxTracksOrSPD };
2a14a7b1 30
31 AliDielectronEventCuts();
32 AliDielectronEventCuts(const char*name, const char* title);
33
34 virtual ~AliDielectronEventCuts();
35
36
37 void SetVertexType(EVtxType type) { fVtxType=type; }
38 void SetVertexZ(Double_t zmin, Double_t zmax) { fVtxZmin=zmin; fVtxZmax=zmax; }
39 void SetRequireVertex(Bool_t req=kTRUE) { fRequireVtx=req; }
40 void SetRequireV0and(UChar_t type=1) { fRequireV0and=type; }
41 void SetMinVtxContributors(Int_t min=1) { fMinVtxContributors=min; }
ffbede40 42 void SetCutOnMultipicityITSTPC(Bool_t mult=kTRUE) { fMultITSTPC=mult; }
ba15fdfb 43 void SetCentralityRange(Double_t min, Double_t max) { fCentMin=min; fCentMax=max; }
2a14a7b1 44 //
45 //Analysis cuts interface
46 //
47 virtual Bool_t IsSelected(TObject* event);
48 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
49
50
51private:
52
53 Double_t fVtxZmin; // minimum z vertex position
54 Double_t fVtxZmax; // maximum z vertex position
55 Bool_t fRequireVtx; // require a vertex
56 Int_t fMinVtxContributors; // min number of vertex contributors
ffbede40 57 Bool_t fMultITSTPC; // if to cut on the ITS TPC multiplicity correlation (Pb-Pb)
ba15fdfb 58 Double_t fCentMin; // minimum multiplity percentile
59 Double_t fCentMax; // maximum multiplity percentile
2a14a7b1 60 EVtxType fVtxType; // vertex type
61
62 UChar_t fRequireV0and; // use V0and triggered events only
63
64 AliTriggerAnalysis *fTriggerAnalysis; //! trigger analysis class
ffbede40 65 const AliESDVertex *fkVertex; //! current vertex
2a14a7b1 66
67 AliDielectronEventCuts(const AliDielectronEventCuts &c);
68 AliDielectronEventCuts &operator=(const AliDielectronEventCuts &c);
69
70
71 ClassDef(AliDielectronEventCuts,1) // Dielectron EventCuts
72};
73
74
75
76#endif