AliPhysics  75b74d3 (75b74d3)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AliClusterContainer.h
Go to the documentation of this file.
1 #ifndef AliClusterContainer_H
2 #define AliClusterContainer_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 class TLorentzVector;
7 
8 class AliVEvent;
9 
10 #include <AliVCluster.h>
11 
12 #include "AliEmcalContainer.h"
13 
24  public:
25  typedef enum AliVCluster::VCluUserDefEnergy_t VCluUserDefEnergy_t;
26 
28  AliClusterContainer(const char *name);
29  virtual ~AliClusterContainer(){;}
30 
31  virtual Bool_t AcceptObject(Int_t i) { return AcceptCluster(i);}
32  virtual Bool_t AcceptObject(const TObject* obj) { return AcceptCluster(dynamic_cast<const AliVCluster*>(obj));}
33  virtual Bool_t AcceptCluster(Int_t i) ;
34  virtual Bool_t AcceptCluster(const AliVCluster* vp) ;
35  virtual Bool_t ApplyClusterCuts(const AliVCluster* clus) ;
36  AliVCluster *GetAcceptCluster(Int_t i) ;
37  AliVCluster *GetAcceptClusterWithLabel(Int_t lab) ;
38  void SetClusECut(Double_t cut) { SetMinE(cut) ; }
39  void SetClusPtCut(Double_t cut) { SetMinPt(cut) ; }
40  Double_t GetClusPtCut() const { return GetMinPt(); }
41  AliVCluster *GetCluster(Int_t i) const;
42  AliVCluster *GetClusterWithLabel(Int_t lab) const;
43  AliVCluster *GetLeadingCluster(const char* opt="") ;
44  Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster* vc, Double_t mass);
45  Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster* clus);
46  Bool_t GetMomentum(TLorentzVector &mom, Int_t i);
47  Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i);
48  Bool_t GetNextMomentum(TLorentzVector &mom);
49  Bool_t GetNextAcceptMomentum(TLorentzVector &mom);
50  AliVCluster *GetNextAcceptCluster();
51  AliVCluster *GetNextCluster();
52  Int_t GetNClusters() const { return GetNEntries(); }
53  Int_t GetNAcceptedClusters() ;
54  void SetClassName(const char* clname);
55  void SetClusTimeCut(Double_t min, Double_t max) { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
56  void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
57  void SetMaxMCLabel(Int_t s) { fMaxMCLabel = s ; }
58  void SetMCLabelRange(Int_t min, Int_t max) { SetMinMCLabel(min) ; SetMaxMCLabel(max) ; }
59  void SetExoticCut(Bool_t e) { fExoticCut = e ; }
60 
61  void SetClusUserDefEnergyCut(Int_t t, Double_t cut);
62  Double_t GetClusUserDefEnergyCut(Int_t t) const;
63 
64  void SetClusNonLinCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kNonLinCorr, cut); }
65  void SetClusHadCorrEnergyCut(Double_t cut) { SetClusUserDefEnergyCut(AliVCluster::kHadCorr, cut) ; }
67 
69 
70  const char* GetTitle() const;
71 
72  protected:
73 
74  Double_t fClusTimeCutLow;
75  Double_t fClusTimeCutUp;
76  Bool_t fExoticCut;
77  Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1];
79 
80  private:
81  AliClusterContainer(const AliClusterContainer& obj); // copy constructor
82  AliClusterContainer& operator=(const AliClusterContainer& other); // assignment
83 
85  ClassDef(AliClusterContainer,5);
87 };
88 
89 #endif
90 
Bool_t GetNextAcceptMomentum(TLorentzVector &mom)
const char * GetTitle() const
AliClusterContainer & operator=(const AliClusterContainer &other)
Bool_t GetNextMomentum(TLorentzVector &mom)
void SetMinE(Double_t min)
AliVCluster * GetAcceptClusterWithLabel(Int_t lab)
Double_t mass
void SetMinPt(Double_t min)
Double_t fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]
reject clusters marked as "exotic"
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
enum AliVCluster::VCluUserDefEnergy_t VCluUserDefEnergy_t
Double_t GetClusPtCut() const
AliVCluster * GetAcceptCluster(Int_t i)
Double_t GetMinPt() const
void SetClusNonLinCorrEnergyCut(Double_t cut)
virtual Bool_t ApplyClusterCuts(const AliVCluster *clus)
Base class for container structures within the EMCAL framework.
Int_t GetNClusters() const
Double_t fClusTimeCutUp
low time cut for clusters
AliVCluster * GetCluster(Int_t i) const
Bool_t fExoticCut
up time cut for clusters
AliVCluster * GetNextCluster()
void SetClassName(const char *clname)
Int_t fMinMCLabel
cut on particle phi
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)
Int_t fMaxMCLabel
minimum MC label
virtual Bool_t AcceptCluster(Int_t i)
void SetClusPtCut(Double_t cut)
Int_t GetNEntries() const
Int_t fDefaultClusterEnergy
cut on the energy of the cluster after higher level corrections (see AliVCluster.h) ...
void SetClusECut(Double_t cut)
void SetDefaultClusterEnergy(Int_t d)
void SetClusTimeCut(Double_t min, Double_t max)
Container structure for EMCAL clusters.
AliVCluster * GetNextAcceptCluster()
virtual Bool_t AcceptObject(const TObject *obj)
void SetExoticCut(Bool_t e)
void SetClusHadCorrEnergyCut(Double_t cut)