]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtSelector.h
b44660c4437aafe2a52bbf003374deee9a5a2794
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtSelector.h
1 #ifndef ALIANALYSISETSELECTOR_H
2 #define ALIANALYSISETSELECTOR_H
3 #include <Rtypes.h>
4
5 class AliVEvent;
6 class AliESDCaloCluster;
7 class TRefArray;
8 class AliAnalysisEtCuts;
9 class AliAnalysisEtSelector
10 {
11
12 public:
13   
14     // Constructor takes cuts object
15     AliAnalysisEtSelector(AliAnalysisEtCuts *cuts);
16     
17     // Destructor 
18     virtual ~AliAnalysisEtSelector();
19     
20     // Set the current event
21     void SetEvent(const AliVEvent *event) { fEvent = event; }
22     
23     // Init 
24     virtual Int_t Init(Int_t runNumber) { fRunNumber = runNumber; return 0; }
25     
26     // Return CaloClusters for the detector
27     virtual TRefArray* GetClusters() = 0;
28     
29     // Return true if cluster has energy > cut
30     virtual Bool_t CutMinEnergy(const AliESDCaloCluster & /*cluster*/) const { return true; }
31     
32     // Cut on distance to bad channel
33     virtual Bool_t CutDistanceToBadChannel(const AliESDCaloCluster & /*cluster*/) const { return true; }
34     
35     // Cut on track matching
36     virtual Bool_t CutTrackMatching(const AliESDCaloCluster& /*cluster*/, Double_t &/*r*/) const { return true; }
37   
38 protected:
39   
40     const AliVEvent *fEvent; // Pointer to current event
41
42     AliAnalysisEtCuts *fCuts; // Pointer to the cuts object
43     
44     Int_t fRunNumber;
45     
46 private:
47
48     AliAnalysisEtSelector(); // Prohibited
49     AliAnalysisEtSelector(const AliAnalysisEtSelector& other);// Prohibited
50     AliAnalysisEtSelector& operator=(const AliAnalysisEtSelector& other);// Prohibited
51     bool operator==(const AliAnalysisEtSelector& other) const;// Prohibited
52     
53     ClassDef(AliAnalysisEtSelector, 1);
54 };
55
56 #endif // ALIANALYSISETSELECTOR_H