1 #ifndef ALIDIELECTRONV0CUTS_H
2 #define ALIDIELECTRONV0CUTS_H
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //#############################################################
9 //# Class AliDielectronV0Cuts #
10 //# Provide cuts for all variables handled in #
11 //# AliDielectronV0Manager #
14 //# Anton Andronic, GSI / A.Andronic@gsi.de #
15 //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.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 #
22 //#############################################################
26 #include <AliDielectronVarCuts.h>
28 class AliDielectronV0Cuts : public AliDielectronVarCuts {
35 enum PIDCutType { kBoth=0, kAny };
37 AliDielectronV0Cuts();
38 AliDielectronV0Cuts(const char* name, const char* title);
39 virtual ~AliDielectronV0Cuts();
40 //TODO: make copy constructor and assignment operator public
43 //Analysis cuts interface
45 void InitEvent(AliVTrack *trk);
46 Bool_t IsNewEvent(const AliVEvent *ev);
47 virtual Bool_t IsSelected(TObject* track);
48 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
49 void SetV0finder(EV0finder finder) {fV0finder=finder;}
50 void SetPdgCodes(Int_t mother, Int_t negDaughter, Int_t posDaughter) {fMotherPdg=mother; fNegPdg=negDaughter; fPosPdg=posDaughter;}
51 void SetExcludeTracks(Bool_t exclude) {fExcludeTracks=exclude;}
52 void SetDefaultPID(Int_t def, PIDCutType type=kBoth) {fPID=def; fPIDCutType=type; }
53 void ResetUniqueEventNumbers() { fOrbit=0; fPeriod=0; fBunchCross=0; }
56 virtual void Print(const Option_t* option = "") const;
60 TBits fV0TrackArr; // array with booleans where TrackID corresponds to bitnumber
61 Bool_t fExcludeTracks; // cut logic: exclude or include tracks corresponding to a V0 candidate
62 EV0finder fV0finder; // which v0 finder
64 Int_t fMotherPdg; // target pdg code of the mother
65 Int_t fNegPdg; // target pdg code of the negative daughter
66 Int_t fPosPdg; // target pdg code of the positive daughter
67 Int_t fPID; // default PID usage (see AliDielectronPID)
68 PIDCutType fPIDCutType; // apply PIDcuts to one or both daughter tracks
70 // memebers needed to identify an event
71 UInt_t fOrbit; // orbit number
72 UInt_t fPeriod; // period number
73 UShort_t fBunchCross; // bunch cross number
75 AliDielectronV0Cuts(const AliDielectronV0Cuts &c);
76 AliDielectronV0Cuts &operator=(const AliDielectronV0Cuts &c);
78 ClassDef(AliDielectronV0Cuts,3) // cut class for V0 candidates