]>
Commit | Line | Data |
---|---|---|
e58333e0 | 1 | #ifndef AliParticleContainer_H |
2 | #define AliParticleContainer_H | |
3 | ||
9239b066 | 4 | // $Id$ |
e58333e0 | 5 | |
e58333e0 | 6 | class AliVEvent; |
e58333e0 | 7 | class AliVParticle; |
8 | ||
bf9072ca | 9 | #include "AliAODMCParticle.h" |
10 | ||
e58333e0 | 11 | #include "AliEmcalContainer.h" |
12 | ||
e58333e0 | 13 | class AliParticleContainer : public AliEmcalContainer { |
14 | public: | |
15 | AliParticleContainer(); | |
16 | AliParticleContainer(const char *name); | |
6421eeb0 | 17 | virtual ~AliParticleContainer(){;} |
e58333e0 | 18 | |
6504c17f | 19 | Bool_t AcceptParticle(AliVParticle *vp) ; |
ef46ebe5 | 20 | Double_t GetParticlePtCut() const { return fParticlePtCut; } |
21 | Double_t GetParticleEtaMin() const { return fParticleMinEta; } | |
22 | Double_t GetParticleEtaMax() const { return fParticleMaxEta; } | |
23 | Double_t GetParticlePhiMin() const { return fParticleMinPhi; } | |
24 | Double_t GetParticlePhiMax() const { return fParticleMaxPhi; } | |
25 | AliVParticle *GetLeadingParticle(const char* opt="") ; | |
26 | AliVParticle *GetParticle(Int_t i) const; | |
6504c17f | 27 | AliVParticle *GetAcceptParticle(Int_t i) ; |
ef46ebe5 | 28 | AliVParticle *GetParticleWithLabel(Int_t lab) const; |
6504c17f | 29 | AliVParticle *GetAcceptParticleWithLabel(Int_t lab) ; |
ef46ebe5 | 30 | AliVParticle *GetNextAcceptParticle(Int_t i=-1) ; |
31 | AliVParticle *GetNextParticle(Int_t i=-1) ; | |
6421eeb0 | 32 | void GetMomentum(TLorentzVector &mom, Int_t i) const; |
ef46ebe5 | 33 | Int_t GetNParticles() const {return GetNEntries();} |
8612dfc8 | 34 | Int_t GetNAcceptedParticles() ; |
b6f970ad | 35 | void SetClassName(const char *clname); |
37509f02 CL |
36 | void SetMCTrackBitMap(UInt_t m) { fMCTrackBitMap = m ; } |
37 | void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; } | |
f7eb9904 | 38 | void SetMinMCLabelAccept(Int_t s) { fMinMCLabelAccept= s ; } |
37509f02 CL |
39 | void SetParticlePtCut(Double_t cut) { fParticlePtCut = cut ; } |
40 | void SetParticleEtaLimits(Double_t min, Double_t max) { fParticleMaxEta = max ; fParticleMinEta = min ; } | |
41 | void SetParticlePhiLimits(Double_t min, Double_t max) { fParticleMaxPhi = max ; fParticleMinPhi = min ; } | |
dff86c2a | 42 | void SetMinDistanceTPCSectorEdge(Double_t min) { fMinDistanceTPCSectorEdge = min; } |
37509f02 | 43 | void SetTrackBitMap(UInt_t m) { fTrackBitMap = m ; } |
bf9072ca | 44 | void SetMCFlag(UInt_t m) { fMCFlag = m ; } |
45 | void SelectHIJING(Bool_t s) { if (s) fGeneratorIndex = 0; else fGeneratorIndex = -1; } | |
46 | void SetGeneratorIndex(Short_t i) { fGeneratorIndex = i ; } | |
47 | void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ; | |
48 | else fMCFlag &= ~AliAODMCParticle::kPhysicalPrim ; } | |
82aa1543 | 49 | void SetCharge(Short_t c) { fCharge = c ; } |
e58333e0 | 50 | |
51 | protected: | |
52 | Double_t fParticlePtCut; // cut on particle pt | |
53 | Double_t fParticleMinEta; // cut on particle eta | |
54 | Double_t fParticleMaxEta; // cut on particle eta | |
55 | Double_t fParticleMinPhi; // cut on particle phi | |
56 | Double_t fParticleMaxPhi; // cut on particle phi | |
dff86c2a | 57 | Double_t fMinDistanceTPCSectorEdge; // require minimum distance to edge of TPC sector edge |
e58333e0 | 58 | UInt_t fTrackBitMap; // bit map of accepted tracks (non MC) |
59 | UInt_t fMCTrackBitMap; // bit map of accepted MC tracks | |
60 | Int_t fMinMCLabel; // minimum MC label value for the tracks/clusters being considered MC particles | |
f7eb9904 | 61 | Int_t fMinMCLabelAccept; // minimum MC label value to accept particle |
bf9072ca | 62 | UInt_t fMCFlag; // select MC particles with flags |
63 | Short_t fGeneratorIndex; // select MC particles with generator index (default = -1 = switch off selection) | |
82aa1543 | 64 | Short_t fCharge; // select particles with charge=fCharge |
e58333e0 | 65 | |
66 | private: | |
67 | AliParticleContainer(const AliParticleContainer& obj); // copy constructor | |
68 | AliParticleContainer& operator=(const AliParticleContainer& other); // assignment | |
69 | ||
f7eb9904 | 70 | ClassDef(AliParticleContainer,5); |
e58333e0 | 71 | |
72 | }; | |
73 | ||
74 | #endif | |
75 |