]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliParticleContainer.h
add protection agains null energy - A. Mas
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliParticleContainer.h
CommitLineData
e58333e0 1#ifndef AliParticleContainer_H
2#define AliParticleContainer_H
3
4//
5// container with name, TClonesArray and cuts for particles
6//
7
8
9class TClonesArray;
10class TString;
11class TList;
12
13class AliVEvent;
14class AliEmcalParticle;
15class AliMCParticle;
16class AliVTrack;
17class AliVParticle;
18
19#include "Rtypes.h"
20#include <TArrayS.h>
21#include "TString.h"
22#include "AliEmcalContainer.h"
23
24
25class AliParticleContainer : public AliEmcalContainer {
26 public:
27 AliParticleContainer();
28 AliParticleContainer(const char *name);
29 virtual ~AliParticleContainer();
30
31 void SetParticleArray(AliVEvent *event);
32
33 void SetParticlePtCut(Double_t cut) { fParticlePtCut = cut ; }
34 void SetParticleEtaLimits(Double_t min, Double_t max) { fParticleMaxEta = max ; fParticleMinEta = min ; }
35 void SetParticlePhiLimits(Double_t min, Double_t max) { fParticleMaxPhi = max ; fParticleMinPhi = min ; }
36 void SetTrackBitMap(UInt_t m) { fTrackBitMap = m ; }
37 void SetMCTrackBitMap(UInt_t m) { fMCTrackBitMap = m ; }
38 void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
39
40 AliVParticle *GetParticle(Int_t i) const;
41 AliVParticle *GetAcceptParticle(Int_t i) const;
42 Bool_t AcceptParticle(AliVParticle *vp) const;
43 Int_t GetNParticles() const {return GetNEntries();}
44
45 protected:
46 Double_t fParticlePtCut; // cut on particle pt
47 Double_t fParticleMinEta; // cut on particle eta
48 Double_t fParticleMaxEta; // cut on particle eta
49 Double_t fParticleMinPhi; // cut on particle phi
50 Double_t fParticleMaxPhi; // cut on particle phi
51 UInt_t fTrackBitMap; // bit map of accepted tracks (non MC)
52 UInt_t fMCTrackBitMap; // bit map of accepted MC tracks
53 Int_t fMinMCLabel; // minimum MC label value for the tracks/clusters being considered MC particles
54
55 private:
56 AliParticleContainer(const AliParticleContainer& obj); // copy constructor
57 AliParticleContainer& operator=(const AliParticleContainer& other); // assignment
58
59 ClassDef(AliParticleContainer,1);
60
61};
62
63#endif
64