c1938083d0832fea2b17f33416519a5da3d4a236
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliDielectronCutGroup.h
1 #ifndef ALIDIELECTRONCUTGROUP_H
2 #define ALIDIELECTRONCUTGROUP_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */ 
8
9 //#################################################################
10 //#                                                               #
11 //#             Class AliDielectronCutGroup                       #
12 //#              Dielectron Group of cuts                         #
13 //#                                                               #
14 //#  Authors:                                                     #
15 //#   Anton     Andronic, GSI / A.Andronic@gsi.de                 #
16 //#   Ionut C.  Arsene,   GSI / I.C.Arsene@gsi.de                 #
17 //#   Christoph Baumann   uni Ffm / cbaumann@ikf.uni-frankfurt.de #
18 //#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch           #
19 //#   Frederick Kramer,   Uni Ffm, / Frederick.Kramer@cern.ch     #
20 //#   Magnus    Mager,    CERN / Magnus.Mager@cern.ch             #
21 //#   WooJin J. Park,     GSI / W.J.Park@gsi.de                   #
22 //#   Jens      Wiechula, Uni HD / Jens.Wiechula@cern.ch          #
23 //#                                                               #
24 //#################################################################
25
26 #include <AliAnalysisCuts.h>
27 #include <TList.h>
28
29 class TCollection;
30
31 class AliDielectronCutGroup : public AliAnalysisCuts {
32   
33 public:
34   enum TruthValues {
35     kCompAND = kTRUE,
36     kCompOR = kFALSE
37   };
38   
39   AliDielectronCutGroup(Bool_t compOperator=kCompOR);
40   AliDielectronCutGroup(const char*name, const char* title, Bool_t compOperator=kCompOR);
41   
42   virtual ~AliDielectronCutGroup();
43   
44   //Analysis cuts interface
45   //
46   virtual Bool_t IsSelected(TObject* track);
47   virtual Bool_t IsSelected(TList*   /* list */ ) {return kFALSE;}
48   
49   void AddCut(AliAnalysisCuts* fCut);
50   void SetCompOperator(Bool_t compOperator);
51   
52 private:
53   TList  fCutGroupList;  //for saving the different cuts
54   Bool_t fCompOperator;  //determines whether the cuts are AND/OR compared
55   
56   ClassDef(AliDielectronCutGroup,1) //Group of cuts
57 };
58
59 #endif