]>
Commit | Line | Data |
---|---|---|
bd5dd9f1 | 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 | ||
bd5dd9f1 | 9 | #include "AliAnalysisCuts.h" |
10 | #include "AliLog.h" | |
11 | ||
12 | class TList; | |
13 | class TH2F; | |
95e6f4ec | 14 | class TH1F; |
bd5dd9f1 | 15 | class TCollection; |
16 | ||
b27a54cf | 17 | |
bd5dd9f1 | 18 | class AliBackgroundSelection : public AliAnalysisCuts |
19 | { | |
20 | public: | |
95e6f4ec | 21 | // Inherited methods |
bd5dd9f1 | 22 | AliBackgroundSelection(); |
23 | AliBackgroundSelection(const char* name, const char* title); | |
24 | AliBackgroundSelection(const AliBackgroundSelection& obj); | |
25 | virtual ~AliBackgroundSelection(); | |
b27a54cf | 26 | virtual Bool_t IsSelected(TObject* const obj); |
9eeae5d5 | 27 | virtual Bool_t IsSelected(TList* ) {AliFatal("Not implemented");return 0;} |
bd5dd9f1 | 28 | virtual void Init(); |
29 | virtual TList * GetOutput() {return fOutputHist;} | |
30 | ||
95e6f4ec | 31 | // Helper Methods |
bd5dd9f1 | 32 | void BookClusterVsTrackletsHisto(const char * trigger_name); |
95e6f4ec | 33 | void BookDeltaPhiHisto(const char * trigger_name); |
34 | ||
bd5dd9f1 | 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); | |
95e6f4ec | 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 | ||
b27a54cf | 45 | Long64_t Merge(TCollection* const list); |
95e6f4ec | 46 | // Cuts Setters & Getters |
bd5dd9f1 | 47 | void SetCutParameters(Float_t a,Float_t b) {fACut = a; fBCut =b;} |
95e6f4ec | 48 | void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut;} |
8e58a7b9 | 49 | Float_t GetCutParameterA() const {return fACut;} |
50 | Float_t GetCutParameterB() const {return fBCut;} | |
51 | Float_t GetDeltaPhiCut() const {return fDeltaPhiCut;} | |
bd5dd9f1 | 52 | |
53 | // TODO: implement cut on global vertex DCA? | |
54 | ||
55 | private: | |
95e6f4ec | 56 | TList * fOutputHist; // contains 2 histo Cluster vs Tracklets and delta phiper trigger type (all and accepted) |
bd5dd9f1 | 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 | |
95e6f4ec | 59 | Float_t fDeltaPhiCut; // events with vertex from vertexer Z and DeltaPhi>fDeltaPhiCut are rejected |
60 | ||
bd5dd9f1 | 61 | AliBackgroundSelection& operator=(const AliBackgroundSelection&); |
62 | ||
63 | ClassDef(AliBackgroundSelection, 1); | |
64 | }; | |
65 | ||
66 | #endif |