Fixing coding conventions
[u/mrichter/AliRoot.git] / ANALYSIS / AliBackgroundSelection.h
1 #ifndef ALIBACKGROUNDSELECTION_H
2 #define ALIBACKGROUNDSELECTION_H
3  
4
5 // Select events which are not flagged as backgroud
6 // Author Michele Floris
7 // michele.floris@cern.ch
8
9 #include "AliAnalysisCuts.h"
10 #include "AliLog.h"
11
12 class TList;
13 class TH2F;
14 class TH1F;
15 class TCollection;
16
17
18 class AliBackgroundSelection : public AliAnalysisCuts
19 {
20 public:
21   // Inherited methods
22   AliBackgroundSelection();
23   AliBackgroundSelection(const char* name, const char* title);
24   AliBackgroundSelection(const AliBackgroundSelection& obj);  
25   virtual ~AliBackgroundSelection();
26   virtual Bool_t IsSelected(TObject* const obj);
27   virtual Bool_t IsSelected(TList*  ) {AliFatal("Not implemented");return 0;}
28   virtual void   Init();
29   virtual TList * GetOutput() {return fOutputHist;}
30
31   // Helper Methods
32   void BookClusterVsTrackletsHisto(const char * trigger_name);
33   void BookDeltaPhiHisto(const char * trigger_name);
34
35   TH2F * GetClusterVsTrackletsHisto(const char * trigger_name);
36   TH2F * GetClusterVsTrackletsHistoAccepted(const char * trigger_name);
37   const char *  GetClusterVsTrackletsHistoName(const char * trigger_name);
38   const char *  GetClusterVsTrackletsHistoNameAccepted(const char * trigger_name);
39
40   TH1F * GetDeltaPhiHisto(const char * trigger_name);
41   TH1F * GetDeltaPhiHistoAccepted(const char * trigger_name);
42   const char *  GetDeltaPhiHistoName(const char * trigger_name);
43   const char *  GetDeltaPhiHistoNameAccepted(const char * trigger_name);
44
45   Long64_t Merge(TCollection* const list);
46   // Cuts Setters & Getters
47   void SetCutParameters(Float_t a,Float_t b) {fACut = a; fBCut =b;}
48   void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut;}
49   const Float_t GetCutParameterA() const {return fACut;}
50   const Float_t GetCutParameterB() const {return fBCut;}
51   const Float_t GetDeltaPhiCut()   const {return fDeltaPhiCut;}
52
53   // TODO: implement cut on global vertex DCA?
54
55 private:
56   TList * fOutputHist; // contains 2 histo Cluster vs Tracklets and delta phiper trigger type (all and accepted)
57   Float_t fACut; // Cut on y = ax + b in the Cluster Vs Tracklets correlation. This is the "a" parameter of the cut
58   Float_t fBCut; // Cut on y = ax + b in the Cluster Vs Tracklets correlation. This is the "b" parameter of the cut
59   Float_t fDeltaPhiCut; // events with vertex from vertexer Z and DeltaPhi>fDeltaPhiCut are rejected
60
61   AliBackgroundSelection& operator=(const AliBackgroundSelection&);
62
63   ClassDef(AliBackgroundSelection, 1); 
64 };
65  
66 #endif