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 */
9 //#############################################################
11 //# Class AliDielectronPairLegCuts #
12 //# Manage Cuts on the legs of the pair #
15 //# Anton Andronic, GSI / A.Andronic@gsi.de #
16 //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de #
17 //# Julian Book, Uni Ffm / Julian.Book@cern.ch #
18 //# Frederick Kramer, Uni Ffm, / Frederick.Kramer@cern.ch #
19 //# Magnus Mager, CERN / Magnus.Mager@cern.ch #
20 //# WooJin J. Park, GSI / W.J.Park@gsi.de #
21 //# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
23 //#############################################################
25 #include <AliAnalysisFilter.h>
27 #include <AliAnalysisCuts.h>
29 class AliDielectronPairLegCuts : public AliAnalysisCuts {
31 enum CutType { kBothLegs=0, kAnyLeg, kMixLegs };
33 AliDielectronPairLegCuts();
34 AliDielectronPairLegCuts(const char* name, const char* title);
35 virtual ~AliDielectronPairLegCuts() {;}
36 //TODO: make copy constructor and assignment operator public
40 //AliAnalysisCuts interface
42 virtual Bool_t IsSelected(TObject* track);
43 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
44 // virtual Long64_t Merge(TCollection* /* list */) { return 0; }
46 AliAnalysisFilter& GetLeg1Filter() { return fFilterLeg1; }
47 AliAnalysisFilter& GetLeg2Filter() { return fFilterLeg2; }
49 void SetCutType(CutType type) {fCutType=type;}
51 AliAnalysisFilter fFilterLeg1; // Analysis Filter for leg1
52 AliAnalysisFilter fFilterLeg2; // Analysis Filter for leg2
54 CutType fCutType; // Type of the cut
56 AliDielectronPairLegCuts(const AliDielectronPairLegCuts &c);
57 AliDielectronPairLegCuts &operator=(const AliDielectronPairLegCuts &c);
59 ClassDef(AliDielectronPairLegCuts,1) //Cut class providing cuts for both legs of a pair