AliPhysics  de71be2 (de71be2)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AliParticleContainer.h
Go to the documentation of this file.
1 #ifndef ALIPARTICLECONTAINER_H
2 #define ALIPARTICLECONTAINER_H
3 
4 #include <AliVParticle.h>
5 
6 class AliVEvent;
7 class AliTLorentzVector;
8 
9 #include "AliEmcalContainer.h"
10 
12  public:
13 
15  AliParticleContainer(const char *name);
16  virtual ~AliParticleContainer(){;}
17 
18  virtual Bool_t ApplyParticleCuts(const AliVParticle* vp);
19  virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector& mom);
20  virtual Bool_t AcceptObject(Int_t i) { return AcceptParticle(i);}
21  virtual Bool_t AcceptObject(const TObject* obj) { return AcceptParticle(dynamic_cast<const AliVParticle*>(obj));}
22  virtual Bool_t AcceptParticle(const AliVParticle* vp) ;
23  virtual Bool_t AcceptParticle(Int_t i) ;
24  Double_t GetParticlePtCut() const { return GetMinPt() ; }
25  Double_t GetParticleEtaMin() const { return GetMinEta() ; }
26  Double_t GetParticleEtaMax() const { return GetMaxEta() ; }
27  Double_t GetParticlePhiMin() const { return GetMinPhi() ; }
28  Double_t GetParticlePhiMax() const { return GetMaxPhi() ; }
29  void SetParticlePtCut(Double_t cut) { SetMinPt(cut) ; }
30  void SetParticleEtaLimits(Double_t min, Double_t max) { SetEtaLimits(min, max); }
31  void SetParticlePhiLimits(Double_t min, Double_t max) { SetPhiLimits(min, max); }
32  virtual AliVParticle *GetLeadingParticle(const char* opt="") ;
33  virtual AliVParticle *GetParticle(Int_t i=-1) const;
34  virtual AliVParticle *GetAcceptParticle(Int_t i=-1) ;
35  virtual AliVParticle *GetNextAcceptParticle(Int_t i=-1) ;
36  virtual AliVParticle *GetNextParticle(Int_t i=-1) ;
37  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle* part, Double_t mass);
38  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle* part);
39  virtual Bool_t GetMomentum(TLorentzVector &mom, Int_t i);
40  virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i);
41  virtual Bool_t GetNextMomentum(TLorentzVector &mom, Int_t i=-1);
42  virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom, Int_t i=-1);
43  Int_t GetNParticles() const {return GetNEntries();}
44  Int_t GetNAcceptedParticles() ;
45 
46  void SetClassName(const char *clname);
48  void SetCharge(Short_t c) { fCharge = c ; }
49  void SelectHIJING(Bool_t s) { if (s) fGeneratorIndex = 0; else fGeneratorIndex = -1; }
50  void SetGeneratorIndex(Short_t i) { fGeneratorIndex = i ; }
51 
52  const char* GetTitle() const;
53 
54  protected:
55 
56  Double_t fMinDistanceTPCSectorEdge; // require minimum distance to edge of TPC sector edge
57  Short_t fCharge; // select particles with charge=fCharge
58  Short_t fGeneratorIndex; // select MC particles with generator index (default = -1 = switch off selection)
59 
60  private:
61  AliParticleContainer(const AliParticleContainer& obj); // copy constructor
62  AliParticleContainer& operator=(const AliParticleContainer& other); // assignment
63 
65 
66 };
67 
68 #endif
69 
void SetParticlePtCut(Double_t cut)
virtual Bool_t GetNextMomentum(TLorentzVector &mom, Int_t i=-1)
Double_t GetMinPhi() const
const char * GetTitle() const
AliParticleContainer & operator=(const AliParticleContainer &other)
Double_t GetMaxEta() const
void SetClassName(const char *clname)
Double_t mass
Int_t GetNParticles() const
void SetMinPt(Double_t min)
virtual Bool_t ApplyParticleCuts(const AliVParticle *vp)
void SetEtaLimits(Double_t min, Double_t max)
Double_t GetParticleEtaMin() const
Double_t GetMaxPhi() const
virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i)
Double_t GetMinEta() const
Double_t GetMinPt() const
virtual AliVParticle * GetLeadingParticle(const char *opt="")
virtual AliVParticle * GetParticle(Int_t i=-1) const
virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom, Int_t i=-1)
virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle *part, Double_t mass)
virtual AliVParticle * GetNextAcceptParticle(Int_t i=-1)
Double_t GetParticlePtCut() const
virtual AliVParticle * GetNextParticle(Int_t i=-1)
void SetParticleEtaLimits(Double_t min, Double_t max)
virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector &mom)
Double_t GetParticlePhiMax() const
Double_t GetParticleEtaMax() const
void SetGeneratorIndex(Short_t i)
virtual Bool_t AcceptObject(const TObject *obj)
Double_t GetParticlePhiMin() const
ClassDef(AliParticleContainer, 9)
Int_t GetNEntries() const
void SetPhiLimits(Double_t min, Double_t max)
virtual Bool_t AcceptObject(Int_t i)
virtual AliVParticle * GetAcceptParticle(Int_t i=-1)
void SetParticlePhiLimits(Double_t min, Double_t max)
void SetMinDistanceTPCSectorEdge(Double_t min)
virtual Bool_t AcceptParticle(const AliVParticle *vp)