]>
Commit | Line | Data |
---|---|---|
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 | |
11 | class TParticle;\r | |
12 | class AliESDtrack;\r | |
13 | class AliExternalTrackParam;\r | |
14 | \r | |
15 | #include "AliAnalysisCuts.h"\r | |
16 | \r | |
17 | class AlidNdPtBackgroundCuts : public AliAnalysisCuts\r | |
18 | {\r | |
19 | public:\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 | |
61 | private:\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 |