]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // // | |
3 | // AliFemtoShareQualityPairCut - a pair cut which checks for some pair // | |
4 | // qualities that attempt to identify slit/doubly reconstructed tracks // | |
5 | // // | |
6 | ///////////////////////////////////////////////////////////////////////////// | |
7 | /*************************************************************************** | |
8 | * | |
9 | * $Id: AliFemtoShareQualityPairCut.h 24360 2008-03-10 09:48:27Z akisiel $ | |
10 | * | |
11 | * Author: Adam Kisiel, Ohio State University, kisiel@mps.ohio-state.edu | |
12 | *************************************************************************** | |
13 | * | |
14 | * Description: part of STAR HBT Framework: AliFemtoMaker package | |
15 | * a cut to remove "shared" and "split" pairs | |
16 | * | |
17 | *************************************************************************** | |
18 | * | |
19 | * | |
20 | **************************************************************************/ | |
21 | ||
22 | ||
23 | #ifndef ALIFEMTOV0TRACKPAIRCUT_H | |
24 | #define ALIFEMTOV0TRACKPAIRCUT_H | |
25 | ||
26 | // do I need these lines ? | |
27 | //#ifndef StMaker_H | |
28 | //#include "StMaker.h" | |
29 | //#endif | |
30 | ||
31 | #include "AliFemtoPairCut.h" | |
32 | ||
33 | class AliFemtoV0TrackPairCut : public AliFemtoPairCut{ | |
34 | public: | |
35 | enum ParticleType {kLambda=0, kAntiLambda=1, kProton=2, kAntiProton=3}; | |
36 | typedef enum ParticleType AliFemtoParticleType; | |
37 | AliFemtoV0TrackPairCut(); | |
38 | AliFemtoV0TrackPairCut(const AliFemtoV0TrackPairCut& cut); | |
39 | virtual ~AliFemtoV0TrackPairCut(); | |
40 | AliFemtoV0TrackPairCut& operator=(const AliFemtoV0TrackPairCut& cut); | |
41 | ||
42 | virtual bool Pass(const AliFemtoPair* pair); | |
43 | virtual AliFemtoString Report(); | |
44 | virtual TList *ListSettings(); | |
45 | virtual AliFemtoPairCut* Clone(); | |
46 | void SetV0Max(Double_t aAliFemtoV0Max); | |
47 | Double_t GetAliFemtoV0Max() const; | |
48 | void SetRemoveSameLabel(Bool_t aRemove); | |
49 | void SetTPCOnly(Bool_t tpconly); | |
50 | void SetShareQualityMax(Double_t aShareQualityMax); | |
51 | void SetShareFractionMax(Double_t aShareFractionMax); | |
52 | void SetTPCEntranceSepMinimum(double dtpc); | |
53 | void SetTPCExitSepMinimum(double dtpc); | |
54 | void SetDataType(AliFemtoDataType type); | |
55 | void SetKstarCut(double kstar, AliFemtoParticleType firstParticle, AliFemtoParticleType secondParticle); | |
56 | void SetMinAvgSeparation(int type, double minSep); | |
57 | ||
58 | protected: | |
59 | long fNPairsPassed; // Number of pairs consideered that passed the cut | |
60 | long fNPairsFailed; // Number of pairs consideered that failed the cut | |
61 | ||
62 | private: | |
63 | Double_t fV0Max; // Maximum allowed pair quality | |
64 | Double_t fShareQualityMax; | |
65 | Double_t fShareFractionMax; // Maximum allowed share fraction | |
66 | Bool_t fRemoveSameLabel; // If 1 pairs with two tracks with the same label will be removed | |
67 | Bool_t fTrackTPCOnly; | |
68 | ||
69 | AliFemtoDataType fDataType; //Use ESD / AOD / Kinematics. | |
70 | Double_t fDTPCMin; // Minimum allowed pair nominal separation at the entrance to the TPC | |
71 | Double_t fDTPCExitMin; // Minimum allowed pair nominal separation at the exit of the TPC | |
72 | ||
73 | double fKstarCut; //do we want the K star cut, if yes (>0) then it is the minimum value of k* | |
74 | AliFemtoParticleType fFirstParticleType; //for kstar - first particle type (V0 type) | |
75 | AliFemtoParticleType fSecondParticleType; //for kstar - second particle type (primary track) | |
76 | double fMinAvgSepTrackPos; | |
77 | double fMinAvgSepTrackNeg; | |
78 | ||
79 | #ifdef __ROOT__ | |
80 | ClassDef(AliFemtoV0TrackPairCut, 0) | |
81 | #endif | |
82 | }; | |
83 | ||
84 | inline AliFemtoV0TrackPairCut::AliFemtoV0TrackPairCut(const AliFemtoV0TrackPairCut& c) : | |
85 | AliFemtoPairCut(c), | |
86 | fNPairsPassed(0), | |
87 | fNPairsFailed(0), | |
88 | fV0Max(1.0), | |
89 | fShareQualityMax(1.0), | |
90 | fShareFractionMax(1.0), | |
91 | fRemoveSameLabel(0), | |
92 | fTrackTPCOnly(0), | |
93 | fDataType(kAOD), | |
94 | fDTPCMin(0), | |
95 | fDTPCExitMin(0), | |
96 | fKstarCut(0), | |
97 | fFirstParticleType(kLambda), | |
98 | fSecondParticleType(kProton), | |
99 | fMinAvgSepTrackPos(0), | |
100 | fMinAvgSepTrackNeg(0) | |
101 | ||
102 | { /* no-op */ } | |
103 | ||
104 | inline AliFemtoPairCut* AliFemtoV0TrackPairCut::Clone() { AliFemtoV0TrackPairCut* c = new AliFemtoV0TrackPairCut(*this); return c;} | |
105 | ||
106 | #endif |