]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronV0Cuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronV0Cuts.h
CommitLineData
99345a64 1#ifndef ALIDIELECTRONV0CUTS_H
2#define ALIDIELECTRONV0CUTS_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 AliDielectronV0Cuts #
10//# Provide cuts for all variables handled in #
11//# AliDielectronV0Manager #
12//# #
13//# Authors: #
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 #
21//# #
22//#############################################################
23
24#include <Rtypes.h>
25
26#include <AliDielectronVarCuts.h>
27
28class AliDielectronV0Cuts : public AliDielectronVarCuts {
29public:
f1f59b2e 30 enum EV0finder {
31 kAll = 0,
32 kOffline,
33 kOnTheFly
34 };
6ed39778 35 enum PIDCutType { kBoth=0, kAny };
99345a64 36
37 AliDielectronV0Cuts();
38 AliDielectronV0Cuts(const char* name, const char* title);
39 virtual ~AliDielectronV0Cuts();
40 //TODO: make copy constructor and assignment operator public
41
42 //
43 //Analysis cuts interface
44 //
f2d9961b 45 void InitEvent(AliVTrack *trk);
46 Bool_t IsNewEvent(const AliVEvent *ev);
99345a64 47 virtual Bool_t IsSelected(TObject* track);
48 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
f1f59b2e 49 void SetV0finder(EV0finder finder) {fV0finder=finder;}
f2d9961b 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;}
6ed39778 52 void SetDefaultPID(Int_t def, PIDCutType type=kBoth) {fPID=def; fPIDCutType=type; }
061ca303 53 void ResetUniqueEventNumbers() { fOrbit=0; fPeriod=0; fBunchCross=0; }
99345a64 54
6ed39778 55 // cut information
56 virtual void Print(const Option_t* option = "") const;
57
99345a64 58private:
59
f2d9961b 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
f1f59b2e 62 EV0finder fV0finder; // which v0 finder
f2d9961b 63
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
882407d7 67 Int_t fPID; // default PID usage (see AliDielectronPID)
6ed39778 68 PIDCutType fPIDCutType; // apply PIDcuts to one or both daughter tracks
f2d9961b 69
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
99345a64 74
75 AliDielectronV0Cuts(const AliDielectronV0Cuts &c);
76 AliDielectronV0Cuts &operator=(const AliDielectronV0Cuts &c);
77
6ed39778 78 ClassDef(AliDielectronV0Cuts,3) // cut class for V0 candidates
99345a64 79};
80
81#endif
82