]>
Commit | Line | Data |
---|---|---|
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 | Float_t GetCutParameterA() const {return fACut;} | |
50 | Float_t GetCutParameterB() const {return fBCut;} | |
51 | 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 |