1 /////////////////////////////////////////////////////////////////////////////
3 // AliFemtoShareQualityPairCut - a pair cut which checks for some pair //
4 // qualities that attempt to identify slit/doubly reconstructed tracks //
6 /////////////////////////////////////////////////////////////////////////////
7 /***************************************************************************
9 * $Id: AliFemtoShareQualityPairCut.h 24360 2008-03-10 09:48:27Z akisiel $
11 * Author: Adam Kisiel, Ohio State University, kisiel@mps.ohio-state.edu
12 ***************************************************************************
14 * Description: part of STAR HBT Framework: AliFemtoMaker package
15 * a cut to remove "shared" and "split" pairs
17 ***************************************************************************
20 **************************************************************************/
23 #ifndef ALIFEMTOV0TRACKPAIRCUT_H
24 #define ALIFEMTOV0TRACKPAIRCUT_H
26 // do I need these lines ?
28 //#include "StMaker.h"
31 #include "AliFemtoPairCut.h"
33 class AliFemtoV0TrackPairCut : public AliFemtoPairCut{
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);
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);
59 long fNPairsPassed; // Number of pairs consideered that passed the cut
60 long fNPairsFailed; // Number of pairs consideered that failed the cut
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
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
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;
80 ClassDef(AliFemtoV0TrackPairCut, 0)
84 inline AliFemtoV0TrackPairCut::AliFemtoV0TrackPairCut(const AliFemtoV0TrackPairCut& c) :
89 fShareQualityMax(1.0),
90 fShareFractionMax(1.0),
97 fFirstParticleType(kLambda),
98 fSecondParticleType(kProton),
99 fMinAvgSepTrackPos(0),
100 fMinAvgSepTrackNeg(0)
104 inline AliFemtoPairCut* AliFemtoV0TrackPairCut::Clone() { AliFemtoV0TrackPairCut* c = new AliFemtoV0TrackPairCut(*this); return c;}