]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliClusterContainer.h
jet framework from Marta/Salvatore
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliClusterContainer.h
1 #ifndef AliClusterContainer_H
2 #define AliClusterContainer_H
3
4 //
5 // container with name, TClonesArray and cuts for particles
6 //
7
8
9 class TClonesArray;
10 class TString;
11 class TList;
12
13 class AliVEvent;
14 class AliVVertex;
15 class AliVCluster;
16
17 #include "Rtypes.h"
18 #include <TArrayS.h>
19 #include "TString.h"
20 #include "AliEmcalContainer.h"
21
22
23 class AliClusterContainer : public AliEmcalContainer {
24  public:
25   AliClusterContainer();
26   AliClusterContainer(const char *name); 
27   virtual ~AliClusterContainer();
28
29   void SetClusterArray(AliVEvent *event);
30
31   void SetClusPtCut(Double_t cut)                  { fClusPtCut      = cut ; }
32   void SetClusTimeCut(Double_t min, Double_t max)  { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
33   void SetClusterBitMap(UInt_t m)                  { fClusterBitMap     = m ; }
34   void SetMCClusterBitMap(UInt_t m)                { fMCClusterBitMap   = m ; }
35   void SetMinMCLabel(Int_t s)                      { fMinMCLabel        = s ; }
36
37   AliVCluster                *GetCluster(Int_t i) const;
38   AliVCluster                *GetAcceptCluster(Int_t i)              const;
39   Bool_t                      AcceptCluster(AliVCluster         *vp) const;
40   Int_t                       GetNClusters()                         const   {return GetNEntries();}
41
42  protected:
43   Double_t                    fClusPtCut;                  // cut on cluster pt
44   Double_t                    fClusTimeCutLow;             // low time cut for clusters
45   Double_t                    fClusTimeCutUp;              // up time cut for clusters
46   UInt_t                      fClusterBitMap;              // bit map of accepted clusters (non MC)
47   UInt_t                      fMCClusterBitMap;            // bit map of accepted MC clusters
48   Int_t                       fMinMCLabel;                 // minimum MC label value for the tracks/clusters being considered MC particles
49   const AliVVertex           *fVVertex;                    //!event vertex object
50   Double_t                    fVertex[3];                  //!event vertex array
51
52  private:
53   AliClusterContainer(const AliClusterContainer& obj); // copy constructor
54   AliClusterContainer& operator=(const AliClusterContainer& other); // assignment
55
56   ClassDef(AliClusterContainer,1);
57
58 };
59
60 #endif
61