]>
Commit | Line | Data |
---|---|---|
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 | ||
28 | class AliDielectronV0Cuts : public AliDielectronVarCuts { | |
29 | public: | |
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 | |
54 | private: | |
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 |