major dielectron update (included also the data and plotting macros for paper)
[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 //#################################################################
8 //#                                                               #
9 //#             Class AliDielectronCutGroup                       #
10 //#              Dielectron Group of cuts                         #
11 //#                                                               #
12 //#  Authors:                                                     #
13 //#   Anton     Andronic, GSI / A.Andronic@gsi.de                 #
14 //#   Ionut C.  Arsene,   GSI / I.C.Arsene@gsi.de                 #
15 //#   Christoph Baumann   uni Ffm / cbaumann@ikf.uni-frankfurt.de #
16 //#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch           #
17 //#   Frederick Kramer,   Uni Ffm, / Frederick.Kramer@cern.ch     #
18 //#   Magnus    Mager,    CERN / Magnus.Mager@cern.ch             #
19 //#   WooJin J. Park,     GSI / W.J.Park@gsi.de                   #
20 //#   Jens      Wiechula, Uni HD / Jens.Wiechula@cern.ch          #
21 //#                                                               #
22 //#################################################################
23
24 #include <AliAnalysisCuts.h>
25 #include <TList.h>
26
27 class TCollection;
28
29 class AliDielectronCutGroup : public AliAnalysisCuts {
30   
31 public:
32   enum TruthValues {
33     kCompAND = kTRUE,
34     kCompOR = kFALSE
35   };
36   
37   AliDielectronCutGroup(Bool_t compOperator=kCompOR);
38   AliDielectronCutGroup(const char*name, const char* title, Bool_t compOperator=kCompOR);
39   
40   virtual ~AliDielectronCutGroup();
41   
42   //Analysis cuts interface
43   //
44   virtual Bool_t IsSelected(TObject* track);
45   virtual Bool_t IsSelected(TList*   /* list */ ) {return kFALSE;}
46   
47   void AddCut(AliAnalysisCuts* fCut);
48   void SetCompOperator(Bool_t compOperator);
49   
50 private:
51   TList  fCutGroupList;  //for saving the different cuts
52   Bool_t fCompOperator;  //determines whether the cuts are AND/OR compared
53   
54   ClassDef(AliDielectronCutGroup,1) //Group of cuts
55 };
56
57 #endif