1 #ifndef ALIDNDPTBACKGROUNDCUTS_H
2 #define ALIDNDPTBACKGROUNDCUTS_H
4 //------------------------------------------------------------------------------
5 // Class to keep selection cuts for
6 // cosmic and kinks and splitted tracks.
8 // Author: J.Otwinowski 25/01/2010
9 //------------------------------------------------------------------------------
13 class AliExternalTrackParam;
15 #include "AliAnalysisCuts.h"
17 class AlidNdPtBackgroundCuts : public AliAnalysisCuts
20 AlidNdPtBackgroundCuts(const Char_t* name ="AlidNdPtBackgroundCuts", const Char_t *title ="");
21 virtual ~AlidNdPtBackgroundCuts();
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;}
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;}
37 Float_t GetMaxFracSharedClust() const {return fMaxFracSharedClust;}
40 THnSparseF *GetControlHisto() const {return fControlHisto;}
46 virtual Bool_t IsSelected(TObject *) {return kTRUE;}
47 virtual Bool_t IsSelected(TList *) {return kTRUE;}
50 Bool_t IsBackgroundTrack(AliESDtrack *track1, AliESDtrack *track2);
51 Bool_t IsCosmicTrack(AliESDtrack *track1, AliESDtrack *track2);
52 Bool_t IsSplittedTrack(AliESDtrack *track1, AliESDtrack *track2);
54 // Merge output objects (needed by PROOF)
55 virtual Long64_t Merge(TCollection* list);
57 // fill control histograms
58 void SetHistogramsOn(Bool_t fill=kTRUE) {fFillControlHisto = fill; }
59 Bool_t IsHistogramsOn() const {return fFillControlHisto; }
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
70 Bool_t fFillControlHisto; // flag to fill control histograms
71 THnSparseF *fControlHisto; //-> etasum:dphi:dpt:pt1:fracSharedClust1:qsum
73 AlidNdPtBackgroundCuts(const AlidNdPtBackgroundCuts&); // not implemented
74 AlidNdPtBackgroundCuts& operator=(const AlidNdPtBackgroundCuts&); // not implemented
76 ClassDef(AlidNdPtBackgroundCuts, 1)