AliPhysics  879ce3b (879ce3b)
 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  virtual Bool_t AcceptObject(Int_t i) { return AcceptCluster(i);}
21  virtual Bool_t AcceptObject(const TObject* obj) { return AcceptCluster(dynamic_cast<const AliVCluster*>(obj));}
22  virtual Bool_t AcceptCluster(Int_t i) ;
23  virtual Bool_t AcceptCluster(const AliVCluster* vp) ;
24  virtual Bool_t ApplyClusterCuts(const AliVCluster* clus) ;
25  AliVCluster *GetAcceptCluster(Int_t i) ;
26  AliVCluster *GetAcceptClusterWithLabel(Int_t lab) ;
27  void SetClusECut(Double_t cut) { SetMinE(cut) ; }
28  void SetClusPtCut(Double_t cut) { SetMinPt(cut) ; }
29  Double_t GetClusPtCut() const { return GetMinPt(); }
30  AliVCluster *GetCluster(Int_t i) const;
31  AliVCluster *GetClusterWithLabel(Int_t lab) const;
32  AliVCluster *GetLeadingCluster(const char* opt="") ;
33  Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster* vc, Double_t mass);
34  Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster* clus);
35  Bool_t GetMomentum(TLorentzVector &mom, Int_t i);
36  Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i);
37  Bool_t GetNextMomentum(TLorentzVector &mom, Int_t i=-1);
38  Bool_t GetNextAcceptMomentum(TLorentzVector &mom, Int_t i=-1);
39  AliVCluster *GetNextAcceptCluster(Int_t i=-1) ;
40  AliVCluster *GetNextCluster(Int_t i=-1) ;
41  Int_t GetNClusters() const { return GetNEntries(); }
42  Int_t GetNAcceptedClusters() ;
43  void SetClassName(const char* clname);
44  void SetClusTimeCut(Double_t min, Double_t max) { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
45  void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
46  void SetMaxMCLabel(Int_t s) { fMaxMCLabel = s ; }
47  void SetMCLabelRange(Int_t min, Int_t max) { SetMinMCLabel(min) ; SetMaxMCLabel(max) ; }
48  void SetExoticCut(Bool_t e) { fExoticCut = e ; }
49 
50  void SetClusUserDefEnergyCut(Int_t t, Double_t cut);
51  Double_t GetClusUserDefEnergyCut(Int_t t) const;
52 
53  void SetClusNonLinCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kNonLinCorr, cut); }
54  void SetClusHadCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kHadCorr, cut) ; }
56 
58 
59  const char* GetTitle() const;
60 
61  protected:
62 
63  Double_t fClusTimeCutLow; // low time cut for clusters
64  Double_t fClusTimeCutUp; // up time cut for clusters
65  Bool_t fExoticCut; // reject clusters marked as "exotic"
66  Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]; // cut on the energy of the cluster after higher level corrections (see AliVCluster.h)
67  Int_t fDefaultClusterEnergy; // default cluster energy: -1 for clus->E(); otherwise clus->GetUserDefEnergy(fDefaultClusterEnergy)
68 
69  private:
70  AliClusterContainer(const AliClusterContainer& obj); // copy constructor
71  AliClusterContainer& operator=(const AliClusterContainer& other); // assignment
72 
74 };
75 
76 #endif
77 
const char * GetTitle() const
AliClusterContainer & operator=(const AliClusterContainer &other)
void SetMinE(Double_t min)
AliVCluster * GetAcceptClusterWithLabel(Int_t lab)
Double_t mass
void SetMinPt(Double_t min)
Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]
ClassDef(AliClusterContainer, 5)
AliVCluster * GetNextAcceptCluster(Int_t i=-1)
virtual Bool_t AcceptObject(Int_t i)
void SetClusUserDefEnergyCut(Int_t t, Double_t cut)
AliVCluster * GetLeadingCluster(const char *opt="")
Double_t GetClusUserDefEnergyCut(Int_t t) const
Int_t GetDefaultClusterEnergy() const
Bool_t GetNextAcceptMomentum(TLorentzVector &mom, Int_t i=-1)
enum AliVCluster::VCluUserDefEnergy_t VCluUserDefEnergy_t
Double_t GetClusPtCut() const
AliVCluster * GetAcceptCluster(Int_t i)
Bool_t GetNextMomentum(TLorentzVector &mom, Int_t i=-1)
AliVCluster * GetNextCluster(Int_t i=-1)
Double_t GetMinPt() const
void SetClusNonLinCorrEnergyCut(Double_t cut)
virtual Bool_t ApplyClusterCuts(const AliVCluster *clus)
Int_t GetNClusters() const
AliVCluster * GetCluster(Int_t i) const
void SetClassName(const char *clname)
Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster *vc, Double_t mass)
Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i)
void SetMaxMCLabel(Int_t s)
void SetMinMCLabel(Int_t s)
AliVCluster * GetClusterWithLabel(Int_t lab) const
void SetMCLabelRange(Int_t min, Int_t max)
virtual Bool_t AcceptCluster(Int_t i)
void SetClusPtCut(Double_t cut)
Int_t GetNEntries() const
void SetClusECut(Double_t cut)
void SetDefaultClusterEnergy(Int_t d)
void SetClusTimeCut(Double_t min, Double_t max)
virtual Bool_t AcceptObject(const TObject *obj)
void SetExoticCut(Bool_t e)
void SetClusHadCorrEnergyCut(Double_t cut)