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