Transition PWG0 -> PWGUD
[u/mrichter/AliRoot.git] / PWGUD / dNdPt / AlidNdPtBackgroundCuts.h
CommitLineData
7f7dd416 1#ifndef ALIDNDPTBACKGROUNDCUTS_H\r
2#define ALIDNDPTBACKGROUNDCUTS_H\r
3\r
4//------------------------------------------------------------------------------\r
5// Class to keep selection cuts for \r
6// cosmic and kinks and splitted tracks. \r
7// \r
8// Author: J.Otwinowski 25/01/2010\r
9//------------------------------------------------------------------------------\r
10\r
11class TParticle;\r
12class AliESDtrack;\r
13class AliExternalTrackParam;\r
14\r
15#include "AliAnalysisCuts.h"\r
16\r
17class AlidNdPtBackgroundCuts : public AliAnalysisCuts\r
18{\r
19public:\r
20 AlidNdPtBackgroundCuts(const Char_t* name ="AlidNdPtBackgroundCuts", const Char_t *title ="");\r
21 virtual ~AlidNdPtBackgroundCuts(); \r
22 \r
23 // setters \r
24 void SetEtaWindow(const Float_t min=-10., const Float_t max=10.) { fMinEta=min; fMaxEta=max; }\r
25 void SetPhiWindow(const Float_t min=0., const Float_t max=1e99) { fMinPhi=min; fMaxPhi=max;}\r
26 void SetPtWindow(const Float_t min=0., const Float_t max=1e99) { fMinPt=min; fMaxPt=max;}\r
27 void SetMaxFracSharedClust(const Float_t max=1.) {fMaxFracSharedClust=max;}\r
28\r
29 // getters \r
30 Float_t GetMinEta() const {return fMinEta;}\r
31 Float_t GetMaxEta() const {return fMaxEta;}\r
32 Float_t GetMinPhi() const {return fMinPhi;}\r
33 Float_t GetMaxPhi() const {return fMaxPhi;}\r
34 Float_t GetMinPt() const {return fMinPt;}\r
35 Float_t GetMaxPt() const {return fMaxPt;}\r
36\r
37 Float_t GetMaxFracSharedClust() const {return fMaxFracSharedClust;}\r
38\r
39 // Get control histo\r
40 THnSparseF *GetControlHisto() const {return fControlHisto;} \r
41\r
42 // cuts init function\r
43 void Init();\r
44\r
45 // check MC tracks\r
46 virtual Bool_t IsSelected(TObject *) {return kTRUE;}\r
47 virtual Bool_t IsSelected(TList *) {return kTRUE;}\r
48\r
49 //\r
50 Bool_t IsBackgroundTrack(AliESDtrack *track1, AliESDtrack *track2);\r
51 Bool_t IsCosmicTrack(AliESDtrack *track1, AliESDtrack *track2);\r
52 Bool_t IsSplittedTrack(AliESDtrack *track1, AliESDtrack *track2);\r
53 \r
54 // Merge output objects (needed by PROOF) \r
55 virtual Long64_t Merge(TCollection* list);\r
56\r
57 // fill control histograms\r
58 void SetHistogramsOn(Bool_t fill=kTRUE) {fFillControlHisto = fill; }\r
59 Bool_t IsHistogramsOn() const {return fFillControlHisto; }\r
60\r
61private:\r
62 Float_t fMinEta; // min pseudorapidity limit\r
63 Float_t fMaxEta; // max pseudorapidity limit\r
64 Float_t fMinPhi; // min azimuthal angle (rad) limit\r
65 Float_t fMaxPhi; // max azimuthal angle (rad) limit\r
66 Float_t fMinPt; // min pt limit\r
67 Float_t fMaxPt; // max pt limit\r
68 Float_t fMaxFracSharedClust; // max fraction of track shared clusters \r
69\r
70 Bool_t fFillControlHisto; // flag to fill control histograms \r
71 THnSparseF *fControlHisto; //-> etasum:dphi:dpt:pt1:fracSharedClust1:qsum\r
72\r
73 AlidNdPtBackgroundCuts(const AlidNdPtBackgroundCuts&); // not implemented\r
74 AlidNdPtBackgroundCuts& operator=(const AlidNdPtBackgroundCuts&); // not implemented\r
75\r
76 ClassDef(AlidNdPtBackgroundCuts, 1)\r
77};\r
78\r
79#endif // \r