]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronV0Cuts.h
-increase class def
[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 };
99345a64 35
36 AliDielectronV0Cuts();
37 AliDielectronV0Cuts(const char* name, const char* title);
38 virtual ~AliDielectronV0Cuts();
39 //TODO: make copy constructor and assignment operator public
40
41 //
42 //Analysis cuts interface
43 //
f2d9961b 44 void InitEvent(AliVTrack *trk);
45 Bool_t IsNewEvent(const AliVEvent *ev);
99345a64 46 virtual Bool_t IsSelected(TObject* track);
47 virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;}
f1f59b2e 48 void SetV0finder(EV0finder finder) {fV0finder=finder;}
f2d9961b 49 void SetPdgCodes(Int_t mother, Int_t negDaughter, Int_t posDaughter) {fMotherPdg=mother; fNegPdg=negDaughter; fPosPdg=posDaughter;}
50 void SetExcludeTracks(Bool_t exclude) {fExcludeTracks=exclude;}
882407d7 51 void SetDefaultPID(Int_t def) {fPID=def;}
061ca303 52 void ResetUniqueEventNumbers() { fOrbit=0; fPeriod=0; fBunchCross=0; }
99345a64 53
54private:
55
f2d9961b 56 TBits fV0TrackArr; // array with booleans where TrackID corresponds to bitnumber
57 Bool_t fExcludeTracks; // cut logic: exclude or include tracks corresponding to a V0 candidate
f1f59b2e 58 EV0finder fV0finder; // which v0 finder
f2d9961b 59
60 Int_t fMotherPdg; // target pdg code of the mother
61 Int_t fNegPdg; // target pdg code of the negative daughter
62 Int_t fPosPdg; // target pdg code of the positive daughter
882407d7 63 Int_t fPID; // default PID usage (see AliDielectronPID)
f2d9961b 64
65 // memebers needed to identify an event
66 UInt_t fOrbit; // orbit number
67 UInt_t fPeriod; // period number
68 UShort_t fBunchCross; // bunch cross number
99345a64 69
70 AliDielectronV0Cuts(const AliDielectronV0Cuts &c);
71 AliDielectronV0Cuts &operator=(const AliDielectronV0Cuts &c);
72
8c84f569 73 ClassDef(AliDielectronV0Cuts,2) // cut class for V0 candidates
99345a64 74};
75
76#endif
77