]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliParticleContainer.h
From Marta:
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliParticleContainer.h
CommitLineData
e58333e0 1#ifndef AliParticleContainer_H
2#define AliParticleContainer_H
3
9239b066 4// $Id$
e58333e0 5
e58333e0 6class AliVEvent;
e58333e0 7class AliVParticle;
8
e58333e0 9#include "AliEmcalContainer.h"
10
e58333e0 11class AliParticleContainer : public AliEmcalContainer {
12 public:
13 AliParticleContainer();
14 AliParticleContainer(const char *name);
6421eeb0 15 virtual ~AliParticleContainer(){;}
e58333e0 16
ef46ebe5 17 void SetParticlePtCut(Double_t cut) { fParticlePtCut = cut ; }
18 void SetParticleEtaLimits(Double_t min, Double_t max) { fParticleMaxEta = max ; fParticleMinEta = min ; }
19 void SetParticlePhiLimits(Double_t min, Double_t max) { fParticleMaxPhi = max ; fParticleMinPhi = min ; }
e58333e0 20 void SetTrackBitMap(UInt_t m) { fTrackBitMap = m ; }
21 void SetMCTrackBitMap(UInt_t m) { fMCTrackBitMap = m ; }
6421eeb0 22 void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
e58333e0 23
ef46ebe5 24 Double_t GetParticlePtCut() const { return fParticlePtCut; }
25 Double_t GetParticleEtaMin() const { return fParticleMinEta; }
26 Double_t GetParticleEtaMax() const { return fParticleMaxEta; }
27 Double_t GetParticlePhiMin() const { return fParticleMinPhi; }
28 Double_t GetParticlePhiMax() const { return fParticleMaxPhi; }
29 AliVParticle *GetLeadingParticle(const char* opt="") ;
30 AliVParticle *GetParticle(Int_t i) const;
31 AliVParticle *GetAcceptParticle(Int_t i) const;
32 AliVParticle *GetParticleWithLabel(Int_t lab) const;
33 AliVParticle *GetAcceptParticleWithLabel(Int_t lab) const;
34 AliVParticle *GetNextAcceptParticle(Int_t i=-1) ;
35 AliVParticle *GetNextParticle(Int_t i=-1) ;
6421eeb0 36 void GetMomentum(TLorentzVector &mom, Int_t i) const;
ef46ebe5 37 Bool_t AcceptParticle(AliVParticle *vp) const;
38 Int_t GetNParticles() const {return GetNEntries();}
8612dfc8 39 Int_t GetNAcceptedParticles() ;
b6f970ad 40 void SetClassName(const char *clname);
e58333e0 41
42 protected:
43 Double_t fParticlePtCut; // cut on particle pt
44 Double_t fParticleMinEta; // cut on particle eta
45 Double_t fParticleMaxEta; // cut on particle eta
46 Double_t fParticleMinPhi; // cut on particle phi
47 Double_t fParticleMaxPhi; // cut on particle phi
48 UInt_t fTrackBitMap; // bit map of accepted tracks (non MC)
49 UInt_t fMCTrackBitMap; // bit map of accepted MC tracks
50 Int_t fMinMCLabel; // minimum MC label value for the tracks/clusters being considered MC particles
51
52 private:
53 AliParticleContainer(const AliParticleContainer& obj); // copy constructor
54 AliParticleContainer& operator=(const AliParticleContainer& other); // assignment
55
56 ClassDef(AliParticleContainer,1);
57
58};
59
60#endif
61