]>
Commit | Line | Data |
---|---|---|
0dffcc8a | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * See cxx source for full Copyright notice * | |
4 | **************************************************************************/ | |
5 | ||
d51554df | 6 | /* $Id$ */ |
7 | ||
06351446 | 8 | // |
9 | // *** Class AliRsnEvent *** | |
10 | // | |
11 | // A container for a collection of AliRsnDaughter objects from an event. | |
12 | // Contains also the primary vertex, useful for some cuts. | |
13 | // In order to retrieve easily the tracks which have been identified | |
14 | // as a specific type and charge, there is an array of indexes which | |
15 | // allows to avoid to loop on all tracks and have only the neede ones. | |
16 | // | |
17 | // authors: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it) | |
18 | // M. Vala (email: martin.vala@cern.ch) | |
19 | // | |
0dffcc8a | 20 | |
21 | #ifndef ALIRSNEVENT_H | |
22 | #define ALIRSNEVENT_H | |
23 | ||
e2bafbbc | 24 | #include "AliRsnDaughter.h" |
78b94cbd | 25 | |
5eb970a4 | 26 | class AliVEvent; |
27 | class AliMCEvent; | |
7c2974c8 | 28 | |
5eb970a4 | 29 | class AliRsnEvent : public TObject |
0dffcc8a | 30 | { |
06351446 | 31 | public: |
32 | ||
5eb970a4 | 33 | AliRsnEvent(AliVEvent *ref = 0, AliMCEvent *refMC = 0); |
aec0ec32 | 34 | AliRsnEvent(const AliRsnEvent& copy); |
06351446 | 35 | AliRsnEvent& operator= (const AliRsnEvent& copy); |
7c2974c8 | 36 | virtual ~AliRsnEvent(); |
37 | ||
6f4a992c | 38 | void SetRef(AliVEvent *event, AliMCEvent *mc = 0) {fRef = event; fRefMC = mc;} |
39 | void SetRefMC(AliMCEvent *mc) {fRefMC = mc;} | |
40 | AliVEvent* GetRef() {return fRef;} | |
41 | AliMCEvent* GetRefMC() {return fRefMC;} | |
15d5fd02 | 42 | |
5eb970a4 | 43 | void SetDaughter(AliRsnDaughter &daughter, Int_t index); |
44 | AliRsnDaughter GetDaughter(Int_t i); | |
45 | Int_t GetMultiplicity(); | |
46 | Double_t GetVz(); | |
47 | AliRsnDaughter GetLeadingParticle(Double_t ptMin = 0.0, AliPID::EParticleType type = AliPID::kUnknown); | |
48 | Double_t GetAverageMomentum(Int_t &count, AliPID::EParticleType type = AliPID::kUnknown); | |
49 | Bool_t GetAngleDistr(Double_t &angleMean, Double_t &angleRMS, AliRsnDaughter d); | |
06351446 | 50 | |
51 | private: | |
52 | ||
5eb970a4 | 53 | Bool_t AcceptTrackPID(AliRsnDaughter *d, AliPID::EParticleType type = AliPID::kUnknown); |
15d5fd02 | 54 | |
5eb970a4 | 55 | AliVEvent *fRef; // pointer to input event (if it is an AOD, this is NULL) |
56 | AliMCEvent *fRefMC; // pointer to reference MC event (if any) | |
06351446 | 57 | |
15d5fd02 | 58 | ClassDef(AliRsnEvent, 3); |
0dffcc8a | 59 | }; |
60 | ||
61 | #endif |