]>
Commit | Line | Data |
---|---|---|
973a91f8 | 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: | |
ce7b3d98 | 35 | enum ParticleType {kLambda=0, kAntiLambda=1, kProton=2, kAntiProton=3}; |
36 | typedef enum ParticleType AliFemtoParticleType; | |
973a91f8 | 37 | AliFemtoV0TrackPairCut(); |
38 | AliFemtoV0TrackPairCut(const AliFemtoV0TrackPairCut& cut); | |
39 | virtual ~AliFemtoV0TrackPairCut(); | |
1ae130d9 | 40 | AliFemtoV0TrackPairCut& operator=(const AliFemtoV0TrackPairCut& cut); |
973a91f8 | 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); | |
1ae130d9 | 52 | void SetTPCEntranceSepMinimum(double dtpc); |
53 | void SetTPCExitSepMinimum(double dtpc); | |
54 | void SetDataType(AliFemtoDataType type); | |
ce7b3d98 | 55 | void SetKstarCut(double kstar, AliFemtoParticleType firstParticle, AliFemtoParticleType secondParticle); |
6691ea4f | 56 | void SetMinAvgSeparation(int type, double minSep); |
1ae130d9 | 57 | |
973a91f8 | 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 | ||
1ae130d9 | 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 | ||
ce7b3d98 | 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) | |
6691ea4f | 76 | double fMinAvgSepTrackPos; |
77 | double fMinAvgSepTrackNeg; | |
973a91f8 | 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), | |
1ae130d9 | 92 | fTrackTPCOnly(0), |
93 | fDataType(kAOD), | |
94 | fDTPCMin(0), | |
ce7b3d98 | 95 | fDTPCExitMin(0), |
96 | fKstarCut(0), | |
97 | fFirstParticleType(kLambda), | |
6691ea4f | 98 | fSecondParticleType(kProton), |
99 | fMinAvgSepTrackPos(0), | |
100 | fMinAvgSepTrackNeg(0) | |
101 | ||
973a91f8 | 102 | { /* no-op */ } |
103 | ||
104 | inline AliFemtoPairCut* AliFemtoV0TrackPairCut::Clone() { AliFemtoV0TrackPairCut* c = new AliFemtoV0TrackPairCut(*this); return c;} | |
105 | ||
106 | #endif |