AliPhysics  a0db429 (a0db429)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
AliClusterContainer.h
Go to the documentation of this file.
1 #ifndef AliClusterContainer_H
2 #define AliClusterContainer_H
3 
4 class TLorentzVector;
5 
6 class AliVEvent;
7 
8 #include <AliVCluster.h>
9 
10 #include "AliEmcalContainer.h"
11 
13  public:
14  typedef enum AliVCluster::VCluUserDefEnergy_t VCluUserDefEnergy_t;
15 
17  AliClusterContainer(const char *name);
18  virtual ~AliClusterContainer(){;}
19 
20  Bool_t AcceptCluster(AliVCluster* vp) ;
21  AliVCluster *GetAcceptCluster(Int_t i) ;
22  AliVCluster *GetAcceptClusterWithLabel(Int_t lab) ;
23  AliVCluster *GetCluster(Int_t i) const;
24  AliVCluster *GetClusterWithLabel(Int_t lab) const;
25  AliVCluster *GetLeadingCluster(const char* opt="") ;
26  void GetMomentum(TLorentzVector &mom, Int_t i) const;
27  AliVCluster *GetNextAcceptCluster(Int_t i=-1) ;
28  AliVCluster *GetNextCluster(Int_t i=-1) ;
29  Int_t GetNClusters() const { return GetNEntries(); }
30  Int_t GetNAcceptedClusters() ;
31  void SetClassName(const char* clname);
32  void SetClusECut(Double_t cut) { fClusECut = cut ; }
33  void SetClusPtCut(Double_t cut) { fClusPtCut = cut ; }
34  void SetClusTimeCut(Double_t min, Double_t max) { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
35  void SetClusterBitMap(UInt_t m) { fClusterBitMap = m ; }
36  void SetMCClusterBitMap(UInt_t m) { fMCClusterBitMap = m ; }
37  void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
38  void SetExoticCut(Bool_t e) { fExoticCut = e ; }
39 
40  void SetClusUserDefEnergyCut(VCluUserDefEnergy_t t, Double_t cut) { fUserDefEnergyCut[t] = cut ; }
41  void SetClusNonLinCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kNonLinCorr, cut); }
42  void SetClusHadCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kHadCorr, cut) ; }
43 
44  protected:
45 
46  Double_t fClusPtCut; // cut on cluster pt
47  Double_t fClusECut; // cut on cluster E
48 
49  Double_t fClusTimeCutLow; // low time cut for clusters
50  Double_t fClusTimeCutUp; // up time cut for clusters
51  UInt_t fClusterBitMap; // bit map of accepted clusters (non MC)
52  UInt_t fMCClusterBitMap; // bit map of accepted MC clusters
53  Int_t fMinMCLabel; // minimum MC label value for the tracks/clusters being considered MC particles
54 
55  Bool_t fExoticCut; // reject clusters marked as "exotic"
56  Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]; // cut on the energy of the cluster after higher level corrections (see AliVCluster.h)
57 
58  private:
59  AliClusterContainer(const AliClusterContainer& obj); // copy constructor
60  AliClusterContainer& operator=(const AliClusterContainer& other); // assignment
61 
63 };
64 
65 #endif
66 
Bool_t AcceptCluster(AliVCluster *vp)
AliClusterContainer & operator=(const AliClusterContainer &other)
AliVCluster * GetAcceptClusterWithLabel(Int_t lab)
void GetMomentum(TLorentzVector &mom, Int_t i) const
Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]
AliVCluster * GetNextAcceptCluster(Int_t i=-1)
AliVCluster * GetLeadingCluster(const char *opt="")
enum AliVCluster::VCluUserDefEnergy_t VCluUserDefEnergy_t
AliVCluster * GetAcceptCluster(Int_t i)
AliVCluster * GetNextCluster(Int_t i=-1)
void SetClusNonLinCorrEnergyCut(Double_t cut)
Int_t GetNClusters() const
AliVCluster * GetCluster(Int_t i) const
void SetClassName(const char *clname)
void SetMinMCLabel(Int_t s)
AliVCluster * GetClusterWithLabel(Int_t lab) const
ClassDef(AliClusterContainer, 3)
void SetMCClusterBitMap(UInt_t m)
void SetClusterBitMap(UInt_t m)
void SetClusPtCut(Double_t cut)
Int_t GetNEntries() const
void SetClusECut(Double_t cut)
void SetClusTimeCut(Double_t min, Double_t max)
void SetClusUserDefEnergyCut(VCluUserDefEnergy_t t, Double_t cut)
void SetExoticCut(Bool_t e)
void SetClusHadCorrEnergyCut(Double_t cut)