1 #ifndef ALIDIELECTRONPAIRLEGCUTS_H
2 #define ALIDIELECTRONPAIRLEGCUTS_H
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //#############################################################
9 //# Class AliDielectronPairLegCuts #
10 //# Manage Cuts on the legs of the pair #
13 //# Anton Andronic, GSI / A.Andronic@gsi.de #
14 //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de #
15 //# Julian Book, Uni Ffm / Julian.Book@cern.ch #
16 //# Frederick Kramer, Uni Ffm, / Frederick.Kramer@cern.ch #
17 //# Magnus Mager, CERN / Magnus.Mager@cern.ch #
18 //# WooJin J. Park, GSI / W.J.Park@gsi.de #
19 //# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
21 //#############################################################
23 #include <AliAnalysisFilter.h>
25 #include <AliAnalysisCuts.h>
27 class AliDielectronPairLegCuts : public AliAnalysisCuts {
29 enum CutType { kBothLegs=0, kAnyLeg, kMixLegs };
31 AliDielectronPairLegCuts();
32 AliDielectronPairLegCuts(const char* name, const char* title);
33 virtual ~AliDielectronPairLegCuts() {;}
34 //TODO: make copy constructor and assignment operator public
38 //AliAnalysisCuts interface
40 virtual Bool_t IsSelected(TObject* track);
41 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
42 // virtual Long64_t Merge(TCollection* /* list */) { return 0; }
44 AliAnalysisFilter& GetLeg1Filter() { return fFilterLeg1; }
45 AliAnalysisFilter& GetLeg2Filter() { return fFilterLeg2; }
47 void SetCutType(CutType type) {fCutType=type;}
49 AliAnalysisFilter fFilterLeg1; // Analysis Filter for leg1
50 AliAnalysisFilter fFilterLeg2; // Analysis Filter for leg2
52 CutType fCutType; // Type of the cut
54 AliDielectronPairLegCuts(const AliDielectronPairLegCuts &c);
55 AliDielectronPairLegCuts &operator=(const AliDielectronPairLegCuts &c);
57 ClassDef(AliDielectronPairLegCuts,1) //Cut class providing cuts for both legs of a pair