]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnEvent.h
Made a general review to fix as possible most coding conventions violations.
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnEvent.h
CommitLineData
06351446 1//
2// *** Class AliRsnEvent ***
3//
4// A container for a collection of AliRsnDaughter objects from an event.
5// Contains also the primary vertex, useful for some cuts.
6// In order to retrieve easily the tracks which have been identified
7// as a specific type and charge, there is an array of indexes which
8// allows to avoid to loop on all tracks and have only the neede ones.
9//
10// authors: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it)
11// M. Vala (email: martin.vala@cern.ch)
12//
0dffcc8a 13
14#ifndef ALIRSNEVENT_H
15#define ALIRSNEVENT_H
16
4fbb2459 17#include "AliPID.h"
18#include "AliRsnPIDDefESD.h"
e2bafbbc 19#include "AliRsnDaughter.h"
78b94cbd 20
5eb970a4 21class AliVEvent;
22class AliMCEvent;
7c2974c8 23
5eb970a4 24class AliRsnEvent : public TObject
0dffcc8a 25{
06351446 26 public:
27
5eb970a4 28 AliRsnEvent(AliVEvent *ref = 0, AliMCEvent *refMC = 0);
aec0ec32 29 AliRsnEvent(const AliRsnEvent& copy);
06351446 30 AliRsnEvent& operator= (const AliRsnEvent& copy);
7c2974c8 31 virtual ~AliRsnEvent();
32
4fbb2459 33 void SetRef(AliVEvent *const event, AliMCEvent *const mc = 0) {fRef = event; fRefMC = mc;}
34 void SetRefMC(AliMCEvent * const mc) {fRefMC = mc;}
35 AliVEvent* GetRef() {return fRef;}
36 AliMCEvent* GetRefMC() {return fRefMC;}
37 AliRsnPIDDefESD* GetPIDDefESD() {return &fPIDDefESD;}
38
39 void SetDaughter(AliRsnDaughter &daughter, Int_t index);
40 AliRsnDaughter GetDaughter(Int_t i);
41 Int_t GetMultiplicity();
42 Double_t GetVz();
43 AliRsnDaughter GetLeadingParticle(Double_t ptMin = 0.0, AliPID::EParticleType type = AliPID::kUnknown);
44 Double_t GetAverageMomentum(Int_t &count, AliPID::EParticleType type = AliPID::kUnknown);
45 Bool_t GetAngleDistr(Double_t &angleMean, Double_t &angleRMS, AliRsnDaughter d);
15d5fd02 46
4fbb2459 47 void SetPriorProbability(AliPID::EParticleType type, Double_t p) {if (type>=0&&type<(Int_t)AliPID::kSPECIES)fPrior[type]=p;}
48 void SetPriorProbability(Double_t* const out);
49 void DumpPriors();
50 void GetPriorProbability(Double_t *out) const;
06351446 51
52 private:
53
4fbb2459 54 Bool_t AcceptTrackPID(AliRsnDaughter*const d, AliPID::EParticleType type = AliPID::kUnknown);
15d5fd02 55
4fbb2459 56 Double_t fPrior[AliPID::kSPECIES]; // prior probabilities
57 AliVEvent *fRef; // pointer to input event
58 AliMCEvent *fRefMC; // pointer to reference MC event (if any)
59 AliRsnPIDDefESD fPIDDefESD; // (optional) customization of PID weights for ESD
06351446 60
15d5fd02 61 ClassDef(AliRsnEvent, 3);
0dffcc8a 62};
63
64#endif