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